From gerrit-no-reply at lists.osmocom.org Sat May 1 06:13:15 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Sat, 1 May 2021 06:13:15 +0000 Subject: Change in pysim[master]: transport/AT: Make sure PDU has upper case hex digits References: Message-ID: Falkenber9 has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24023 ) Change subject: transport/AT: Make sure PDU has upper case hex digits ...................................................................... transport/AT: Make sure PDU has upper case hex digits Some modems may reject AT+CSIM if PDU contains lower case hex digits [a-f]. Modem response is "ERROR" without any error code. This patch converts each PDU to upper case. Tested with Sierra Wireless EM7565. Example: AT+CSIM=14,"00a40004023F00" ERROR AT+CSIM=14,"00A40004023F00" +CSIM: 4,"612F" OK Change-Id: I318e36abc7ae975c62d32b7fe0ec949bf5997d13 --- M pySim/transport/modem_atcmd.py 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/23/24023/1 diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py index ecf463c..eef38cb 100644 --- a/pySim/transport/modem_atcmd.py +++ b/pySim/transport/modem_atcmd.py @@ -99,6 +99,9 @@ pass # Nothing to do really ... def _send_apdu_raw(self, pdu): + # Make sure pdu has upper case hex digits [A-F] + pdu = pdu.upper() + # Prepare the command as described in 8.17 cmd = 'AT+CSIM=%d,\"%s\"' % (len(pdu), pdu) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24023 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I318e36abc7ae975c62d32b7fe0ec949bf5997d13 Gerrit-Change-Number: 24023 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 1 17:36:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 1 May 2021 17:36:07 +0000 Subject: Change in osmo-bsc[master]: manual: Include QoS chapter and add osmo-bsc specific example In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24007 ) Change subject: manual: Include QoS chapter and add osmo-bsc specific example ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24007 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3b1d44fc545725172142b903190a3ff5094805dd Gerrit-Change-Number: 24007 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 01 May 2021 17:36:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 1 17:36:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 1 May 2021 17:36:09 +0000 Subject: Change in osmo-bsc[master]: manual: Include QoS chapter and add osmo-bsc specific example In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24007 ) Change subject: manual: Include QoS chapter and add osmo-bsc specific example ...................................................................... manual: Include QoS chapter and add osmo-bsc specific example Change-Id: I3b1d44fc545725172142b903190a3ff5094805dd Requires: osmo-gsm-manuals.git Id344c29eda2a9b3e36376302b425e9db1f6c0f28 Requires: libosmo-abis.git I8991dd6eb406a5b9a70498974fc1ad339452f871 --- A doc/manuals/chapters/qos-example.adoc M doc/manuals/osmobsc-usermanual.adoc 2 files changed, 48 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/doc/manuals/chapters/qos-example.adoc b/doc/manuals/chapters/qos-example.adoc new file mode 100644 index 0000000..2f88b93 --- /dev/null +++ b/doc/manuals/chapters/qos-example.adoc @@ -0,0 +1,46 @@ +==== Full example of QoS for osmo-bsc downlink QoS + +In the below example we will show the full set of configuration required +for both DSCP and PCP differentiation of downlink Abis traffic by osmo-bsc. + +What we want to achieve in this example is the following configuration: + +.DSCP and PCP assignments for osmo-bsc downlink traffic in this example +[options="header",width="30%",cols="2,1,1"] +|=== +|Traffic |DSCP|PCP +|A-bis RSL | 56| 7 +|A-bis RTP | 46| 6 +|A-bis OML | 34| 5 +|=== + +. configure the osmocom program to set the DSCP value +. configure an egrees QoS map to map from priority to PCP + +.Example Step 1: add related VTY configuration to `osmo-bsc.cfg` +---- +... +e1_input + ipa ip-dscp oml 34 + ipa socket-priority oml 5 + ipa ip-dscp rsl 56 + ipa socket-priority rsl 7 +... +---- + +.Example Step 2: egress QoS map to map from socket priority to PCP values +---- +$ sudo ip link set dev eth0.9<1> type vlan egress-qos-map 0:0 5:5 6:6 7:7 <2> +---- +<1> make sure to specify your specific VLAN interface name here instead of `eth0.9`. +<2> create a egress QoS map that maps the priority value 1:1 to the PCP. We also include the + mapping 6:6 from the osmo-mgw example (see <>) here. + +NOTE:: The settings of the `ip` command are volatile and only active until +the next reboot (or the network device or VLAN is removed). Please refer to +the documentation of your specific Linux distribution in order to find out how +to make such settings persistent by means of an `ifup` hook whenever the interface +comes up. For CentOS/RHEL 8 this can e.g. be achieved by means of an `/sbin/ifup-local +script` (when using `network-scripts` and not NetworkManager). For Debian or Ubuntu, +this typically involves adding `up` lines to `/etc/network/interfaces` or a `/etc/network/if-up.d` +script. diff --git a/doc/manuals/osmobsc-usermanual.adoc b/doc/manuals/osmobsc-usermanual.adoc index e66b2be..c7589cc 100644 --- a/doc/manuals/osmobsc-usermanual.adoc +++ b/doc/manuals/osmobsc-usermanual.adoc @@ -34,6 +34,8 @@ include::{srcdir}/chapters/smlc.adoc[] +include::./common/chapters/qos-dscp-pcp.adoc[] + include::./common/chapters/counters-overview.adoc[] include::{srcdir}/chapters/counters.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24007 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3b1d44fc545725172142b903190a3ff5094805dd Gerrit-Change-Number: 24007 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Sat May 1 23:01:51 2021 From: noreply at opensuse.org (OBS Notification) Date: Sat, 01 May 2021 23:01:51 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <608dddf9199be_6ab22aae945685fc131524e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/Raspbian_10/armv7l Package network:osmocom:nightly/osmo-hlr failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 234s] Building latex-based formats --byhyphen language.dat. [ 243s] This may take some time... done. [ 243s] Building e-tex based formats --byhyphen language.def. [ 250s] This may take some time... done. [ 251s] [443/464] installing initscripts-2.93-8 [ 252s] invoke-rc.d: could not determine current runlevel [ 252s] invoke-rc.d: policy-rc.d denied execution of start. [ 252s] Processing triggers for man-db (2.8.5-2) ... [ 252s] [444/464] installing python-apt-1.8.4.3 [ 253s] [445/464] installing graphviz-2.40.1-6 [ 253s] Processing triggers for man-db (2.8.5-2) ... [ 253s] [446/464] installing adwaita-icon-theme-3.30.1-1 [ 257s] update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provi[ 275s] dpkg-deb (subprocess): decompressing archive member: lzma error: compressed data is corrupt [ 275s] dpkg-deb: error: subprocess returned error exit status 2 [ 275s] dpkg: error processing archive .init_b_cache/texlive-extra-utils.deb (--install): [ 275s] cannot copy extracted data for './usr/share/texlive/texmf-dist/scripts/arara/arara.jar' to '/usr/share/texlive/texmf-dist/scripts/arara/arara.jar.dpkg-new': unexpected end of file or stream [ 275s] Processing triggers for man-db (2.8.5-2) ... [ 275s] Processing triggers for tex-common (6.11) ... [ 276s] Running mktexlsr. This may take some time... done. [ 276s] Errors were encountered while processing: [ 276s] .init_b_cache/texlive-extra-utils.deb [ 276s] exit ... [ 276s] ### VM INTERACTION START ### [ 279s] [ 259.052874] sysrq: SysRq : Power Off [ 279s] [ 259.054393] reboot: Power down [ 279s] ### VM INTERACTION END ### [ 279s] [ 279s] armbuild04 failed "build osmo-hlr_1.3.0.2.ed2e3.202105010026.dsc" at Sat May 1 23:01:45 UTC 2021. [ 279s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat May 1 23:18:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 1 May 2021 23:18:24 +0000 Subject: Change in pysim[master]: transport/AT: Make sure PDU has upper case hex digits In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24023 ) Change subject: transport/AT: Make sure PDU has upper case hex digits ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24023 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I318e36abc7ae975c62d32b7fe0ec949bf5997d13 Gerrit-Change-Number: 24023 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 01 May 2021 23:18:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 00:56:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 May 2021 00:56:48 +0000 Subject: Change in pysim[master]: [pylint] fix non-existing 'res' in EF_CNL._encode_record_hex() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24024 ) Change subject: [pylint] fix non-existing 'res' in EF_CNL._encode_record_hex() ...................................................................... [pylint] fix non-existing 'res' in EF_CNL._encode_record_hex() pySim/ts_51_011.py:648:45: E0602: Undefined variable 'res' (undefined-variable) pySim/ts_51_011.py:648:68: E0602: Undefined variable 'res' (undefined-variable) pySim/ts_51_011.py:649:24: E0602: Undefined variable 'res' (undefined-variable) Change-Id: I039e2b271dd3ab44f437108c5e8def43e97098a3 --- M pySim/ts_51_011.py 1 file changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/24/24024/1 diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py index 15a7907..c3f5650 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -649,8 +649,11 @@ return res def _encode_record_hex(self, in_json): plmn = enc_plmn(in_json['mcc'], in_json['mnc']) - return b2h(pack('!3sBBB', h2b(plmn), res['network_subset'], res['service_provider_id'], - res['corporate_id'])) + return b2h(pack('!3sBBB', + h2b(plmn), + in_json['network_subset'], + in_json['service_provider_id'], + in_json['corporate_id'])) # TS 51.011 Section 10.3.31 class EF_NIA(LinFixedEF): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I039e2b271dd3ab44f437108c5e8def43e97098a3 Gerrit-Change-Number: 24024 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 00:56:49 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 May 2021 00:56:49 +0000 Subject: Change in pysim[master]: [pylint] Mark abstract CardKeyProvider.get() method as such References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24025 ) Change subject: [pylint] Mark abstract CardKeyProvider.get() method as such ...................................................................... [pylint] Mark abstract CardKeyProvider.get() method as such pySim/card_key_provider.py:67:2: E1111: Assigning result of a function call, where the function has no return (assignment-from-no-return) Change-Id: I43bab69f53300fbe837944735cd999fab5405d7a --- M pySim/card_key_provider.py 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/25/24025/1 diff --git a/pySim/card_key_provider.py b/pySim/card_key_provider.py index 05de0be..67b0b28 100644 --- a/pySim/card_key_provider.py +++ b/pySim/card_key_provider.py @@ -30,11 +30,12 @@ from typing import List, Dict, Optional +import abc import csv card_key_providers = [] # type: List['CardKeyProvider'] -class CardKeyProvider(object): +class CardKeyProvider(abc.ABC): """Base class, not containing any concrete implementation.""" VALID_FIELD_NAMES = ['ICCID', 'ADM1', 'IMSI', 'PIN1', 'PIN2', 'PUK1', 'PUK2'] @@ -67,6 +68,7 @@ result = self.get(fields, key, value) return result.get(field) + @abc.abstractmethod def get(self, fields:List[str], key:str, value:str) -> Dict[str,str]: """Get multiple card-individual fields for identified card. @@ -77,7 +79,6 @@ Returns: dictionary of {field, value} strings for each requested field from 'fields' """ - pass class CardKeyProviderCsv(CardKeyProvider): """Card key provider implementation that allows to query against a specified CSV file""" -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24025 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I43bab69f53300fbe837944735cd999fab5405d7a Gerrit-Change-Number: 24025 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 00:56:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 May 2021 00:56:50 +0000 Subject: Change in pysim[master]: [pylint] Declare some fields in _MagicSimBase class References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24026 ) Change subject: [pylint] Declare some fields in _MagicSimBase class ...................................................................... [pylint] Declare some fields in _MagicSimBase class Fixes the following pylint's warnings: pySim/cards.py:494:18: E1101: Class '_MagicSimBase' has no '_files' member (no-member) pySim/cards.py:509:6: E1101: Instance of '_MagicSimBase' has no '_files' member (no-member) pySim/cards.py:529:26: E1101: Instance of '_MagicSimBase' has no '_files' member (no-member) pySim/cards.py:537:5: E1101: Instance of '_MagicSimBase' has no '_ki_file' member (no-member) pySim/cards.py:547:5: E1101: Instance of '_MagicSimBase' has no '_ki_file' member (no-member) pySim/cards.py:548:8: E1101: Instance of '_MagicSimBase' has no '_ki_file' member (no-member) pySim/cards.py:559:26: E1101: Instance of '_MagicSimBase' has no '_files' member (no-member) pySim/cards.py:560:11: E1101: Instance of '_MagicSimBase' has no '_files' member (no-member) pySim/cards.py:576:14: E1101: Instance of '_MagicSimBase' has no '_files' member (no-member) Change-Id: I4db9d21258d6e04140962134c540e36631466322 --- M pySim/cards.py 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/26/24026/1 diff --git a/pySim/cards.py b/pySim/cards.py index 719bf0c..ddc0bf4 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -22,6 +22,8 @@ # along with this program. If not, see . # +from typing import Optional, Dict, Tuple + from pySim.ts_51_011 import EF, DF, EF_AD from pySim.ts_31_102 import EF_USIM_ADF_map from pySim.ts_31_103 import EF_ISIM_ADF_map @@ -488,6 +490,9 @@ """ + _files = { } # type: Dict[str, Tuple[str, int, bool]] + _ki_file = None # type: Optional[str] + @classmethod def autodetect(kls, scc): try: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24026 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4db9d21258d6e04140962134c540e36631466322 Gerrit-Change-Number: 24026 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 00:56:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 May 2021 00:56:50 +0000 Subject: Change in pysim[master]: [pylint] Fix calling non-existing iteritems() of dict References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24027 ) Change subject: [pylint] Fix calling non-existing iteritems() of dict ...................................................................... [pylint] Fix calling non-existing iteritems() of dict This method has been removed [1] in Python 3.0: pySim/cards.py:581:14: E1101: Instance of 'dict' has no 'iteritems' member (no-member) pySim/cards.py:591:24: E1101: Instance of 'dict' has no 'iteritems' member (no-member) [1] https://wiki.python.org/moin/Python3.0#Built-In_Changes Change-Id: Iba7ad9ed2a9b197ecedaaed1c6744fe1c721515a --- M pySim/cards.py 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/27/24027/1 diff --git a/pySim/cards.py b/pySim/cards.py index ddc0bf4..3b53654 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -578,7 +578,7 @@ def erase(self): # Dummy df = {} - for k, v in self._files.iteritems(): + for k, v in self._files.items(): ofs = 1 fv = v[1] * 'ff' if k == 'name': @@ -588,7 +588,7 @@ # Write for n in range(0,self._get_count()): - for k, (msg, ofs) in df.iteritems(): + for k, (msg, ofs) in df.items(): self._scc.update_record(['3f00', '7f4d', k], n + ofs, msg) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24027 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iba7ad9ed2a9b197ecedaaed1c6744fe1c721515a Gerrit-Change-Number: 24027 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 00:56:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 May 2021 00:56:50 +0000 Subject: Change in pysim[master]: [pylint] Mark abstract MagicSimBase class as such References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24028 ) Change subject: [pylint] Mark abstract MagicSimBase class as such ...................................................................... [pylint] Mark abstract MagicSimBase class as such Change-Id: I315c646d94a1d3282917f5abb0c93efb918b53d7 --- M pySim/cards.py 1 file changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/28/24028/1 diff --git a/pySim/cards.py b/pySim/cards.py index 3b53654..24e789e 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -23,6 +23,7 @@ # from typing import Optional, Dict, Tuple +import abc from pySim.ts_51_011 import EF, DF, EF_AD from pySim.ts_31_102 import EF_USIM_ADF_map @@ -470,7 +471,7 @@ uiari_recs += "UICC IARI: Can't read, response code = %s\n" % (sw) return uiari_recs -class _MagicSimBase(Card): +class MagicSimBase(abc.ABC, Card): """ Theses cards uses several record based EFs to store the provider infos, each possible provider uses a specific record number in each EF. The @@ -592,7 +593,7 @@ self._scc.update_record(['3f00', '7f4d', k], n + ofs, msg) -class SuperSim(_MagicSimBase): +class SuperSim(MagicSimBase): name = 'supersim' @@ -605,7 +606,7 @@ _ki_file = None -class MagicSim(_MagicSimBase): +class MagicSim(MagicSimBase): name = 'magicsim' -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24028 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I315c646d94a1d3282917f5abb0c93efb918b53d7 Gerrit-Change-Number: 24028 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 00:56:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 May 2021 00:56:51 +0000 Subject: Change in pysim[master]: [pylint] Fix reference to undefined variable 'in_hex' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24029 ) Change subject: [pylint] Fix reference to undefined variable 'in_hex' ...................................................................... [pylint] Fix reference to undefined variable 'in_hex' pySim/ts_31_102.py:384:36: E0602: Undefined variable 'in_hex' (undefined-variable) Change-Id: I094e61c78621f08108f6ad1c71a05bc1e13a895d --- M pySim/ts_31_102.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/29/24029/1 diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py index de729be..ae255f1 100644 --- a/pySim/ts_31_102.py +++ b/pySim/ts_31_102.py @@ -381,7 +381,7 @@ return hnet_pubkey_list def _decode_bin(self, in_bin): - return self._decode_hex(b2h(in_hex)) + return self._decode_hex(b2h(in_bin)) def _decode_hex(self, in_hex): in_bytes = h2b(in_hex) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I094e61c78621f08108f6ad1c71a05bc1e13a895d Gerrit-Change-Number: 24029 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 00:56:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 May 2021 00:56:51 +0000 Subject: Change in pysim[master]: [pylint] Fix float vs integer division in cards.py References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24030 ) Change subject: [pylint] Fix float vs integer division in cards.py ...................................................................... [pylint] Fix float vs integer division in cards.py Change-Id: Ie4ba72b725a56ba9cfe98cc7bd17dd3653194f36 --- M pySim/cards.py 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/30/24030/1 diff --git a/pySim/cards.py b/pySim/cards.py index 24e789e..30857b3 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -517,7 +517,7 @@ r = self._scc.select_path(['3f00', '7f4d', f[0]]) rec_len = int(r[-1][28:30], 16) tlen = int(r[-1][4:8],16) - rec_cnt = (tlen / rec_len) - 1 + rec_cnt = (tlen // rec_len) - 1 if (rec_cnt < 1) or (rec_len != f[1]): raise RuntimeError('Bad card type') @@ -647,7 +647,7 @@ r = self._scc.select_path(['3f00', '000c']) rec_len = int(r[-1][28:30], 16) tlen = int(r[-1][4:8],16) - rec_cnt = (tlen / rec_len) - 1 + rec_cnt = (tlen // rec_len) - 1 if (rec_cnt < 1) or (rec_len != 0x5a): raise RuntimeError('Bad card type') -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie4ba72b725a56ba9cfe98cc7bd17dd3653194f36 Gerrit-Change-Number: 24030 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 00:56:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 May 2021 00:56:51 +0000 Subject: Change in pysim[master]: [pylint] Declare abstract LinkBase._send_apdu_raw() method as such References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24031 ) Change subject: [pylint] Declare abstract LinkBase._send_apdu_raw() method as such ...................................................................... [pylint] Declare abstract LinkBase._send_apdu_raw() method as such pySim/transport/__init__.py:86:15: E1101: Instance of 'LinkBase' has no '_send_apdu_raw' member; maybe 'send_apdu_raw'? (no-member) Change-Id: I14fcdceca5d1e35491b6ad98f96b4276b69b2fc1 --- M pySim/transport/__init__.py 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/31/24031/1 diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py index d4f7f3a..05edc98 100644 --- a/pySim/transport/__init__.py +++ b/pySim/transport/__init__.py @@ -3,8 +3,9 @@ """ pySim: PCSC reader transport link base """ +import abc import argparse -from typing import Optional +from typing import Optional, Tuple from pySim.exceptions import * from pySim.construct import filter_dict @@ -36,13 +37,17 @@ pass -class LinkBase(object): +class LinkBase(abc.ABC): """Base class for link/transport to card.""" def __init__(self, sw_interpreter=None, apdu_tracer=None): self.sw_interpreter = sw_interpreter self.apdu_tracer = apdu_tracer + @abc.abstractmethod + def _send_apdu_raw(self, pdu:str) -> Tuple[str, str]: + """Implementation specific method for sending the PDU.""" + def set_sw_interpreter(self, interp): """Set an (optional) status word interpreter.""" self.sw_interpreter = interp -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24031 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I14fcdceca5d1e35491b6ad98f96b4276b69b2fc1 Gerrit-Change-Number: 24031 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 00:56:52 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 May 2021 00:56:52 +0000 Subject: Change in pysim[master]: [pylint] Fix referencing undefined variable 'shutil' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24032 ) Change subject: [pylint] Fix referencing undefined variable 'shutil' ...................................................................... [pylint] Fix referencing undefined variable 'shutil' Let's just use the scope limited TemporaryDirectory() instead, so the temporary directory will be removed by Python automatically. pySim/filesystem.py:679:16: E0602: Undefined variable 'shutil' (undefined-variable) Change-Id: I4ea833fd79f4342c33899124379be509ba1e35ed --- M pySim/filesystem.py 1 file changed, 1 insertion(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/32/24032/1 diff --git a/pySim/filesystem.py b/pySim/filesystem.py index dec521e..edfe85d 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -659,8 +659,7 @@ def do_edit_record_decoded(self, opts): """Edit the JSON representation of one record in an editor.""" (orig_json, sw) = self._cmd.rs.read_record_dec(opts.record_nr) - dirname = tempfile.mkdtemp(prefix='pysim_') - try: + with tempfile.TemporaryDirectory(prefix='pysim_') as dirname: filename = '%s/file' % dirname # write existing data as JSON to file with open(filename, 'w') as text_file: @@ -675,8 +674,6 @@ (data, sw) = self._cmd.rs.update_record_dec(opts.record_nr, edited_json) if data: self._cmd.poutput_json(data) - finally: - shutil.rmtree(dirname) def __init__(self, fid:str, sfid:str=None, name:str=None, desc:str=None, -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24032 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4ea833fd79f4342c33899124379be509ba1e35ed Gerrit-Change-Number: 24032 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 00:56:53 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 May 2021 00:56:53 +0000 Subject: Change in pysim[master]: contrib/jenkins.sh: run pylint to find potential errors References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24033 ) Change subject: contrib/jenkins.sh: run pylint to find potential errors ...................................................................... contrib/jenkins.sh: run pylint to find potential errors Change-Id: Ib4cdd0fa824329569f973925ba3a46656a8c8296 --- M contrib/jenkins.sh 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/33/24033/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 2d9653a..a631128 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -26,6 +26,14 @@ # Execute automatically discovered unit tests first python -m unittest discover -v -s tests/ +# Run pylint to find potential errors +# Ignore E1102: not-callable +# pySim/filesystem.py: E1102: method is not callable (not-callable) +pip install pylint +python -m pylint --errors-only \ + --disable E1102 \ + pySim *.py + # attempt to build documentation pip install sphinx pip install sphinxcontrib-napoleon -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24033 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib4cdd0fa824329569f973925ba3a46656a8c8296 Gerrit-Change-Number: 24033 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 01:03:49 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 May 2021 01:03:49 +0000 Subject: Change in pysim[master]: [pylint] fix non-existing 'res' in EF_CNL._encode_record_hex() In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24024 to look at the new patch set (#2). Change subject: [pylint] fix non-existing 'res' in EF_CNL._encode_record_hex() ...................................................................... [pylint] fix non-existing 'res' in EF_CNL._encode_record_hex() pySim/ts_51_011.py:648:45: E0602: Undefined variable 'res' (undefined-variable) pySim/ts_51_011.py:648:68: E0602: Undefined variable 'res' (undefined-variable) pySim/ts_51_011.py:649:24: E0602: Undefined variable 'res' (undefined-variable) Change-Id: I039e2b271dd3ab44f437108c5e8def43e97098a3 --- M pySim/ts_51_011.py 1 file changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/24/24024/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I039e2b271dd3ab44f437108c5e8def43e97098a3 Gerrit-Change-Number: 24024 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 01:40:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 May 2021 01:40:37 +0000 Subject: Change in pysim[master]: contrib/jenkins.sh: run pylint to find potential errors In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24033 to look at the new patch set (#3). Change subject: contrib/jenkins.sh: run pylint to find potential errors ...................................................................... contrib/jenkins.sh: run pylint to find potential errors Change-Id: Ib4cdd0fa824329569f973925ba3a46656a8c8296 --- M contrib/jenkins.sh 1 file changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/33/24033/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24033 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib4cdd0fa824329569f973925ba3a46656a8c8296 Gerrit-Change-Number: 24033 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 08:21:39 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Sun, 2 May 2021 08:21:39 +0000 Subject: Change in pysim[master]: Improve performance of AT command interface References: Message-ID: Falkenber9 has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24034 ) Change subject: Improve performance of AT command interface ...................................................................... Improve performance of AT command interface Previous implementation waits 300ms for response after each command issued. But many commands finish earlier. This patch improves the command execution time by frequently checking for the response to complete (i.e. ends with OK or ERROR), or the occurence of a timeout (default 200ms). Timeout can be adapted per command to support long response times of certain commands like AT+COPS=? (network search) Change-Id: I69b1cbc0a20d54791e5800bf27ebafc2c8606d93 --- A benchmark_at.py M pySim/transport/modem_atcmd.py 2 files changed, 105 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/34/24034/1 diff --git a/benchmark_at.py b/benchmark_at.py new file mode 100755 index 0000000..ca6095b --- /dev/null +++ b/benchmark_at.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 + +import logging as log +import time +from pySim.transport.modem_atcmd import ModemATCommandLink + +#log.root.setLevel(log.DEBUG) + +tty = "/dev/ttyUSB2" + +# Use old code +tt = time.time() +tp = time.process_time() +modem = ModemATCommandLink(tty) +for i in range(10): + modem.send_at_cmd_old("ATI") + modem.send_at_cmd_old("AT+CIMI") +print("Old execution time: {:.6f}s (CPU: {:.6f}s)".format(time.time() - tt, time.process_time() - tp)) + +# Use new code +tt = time.time() +tp = time.process_time() +modem = ModemATCommandLink(tty) +for i in range(10): + modem.send_at_cmd("ATI") + modem.send_at_cmd("AT+CIMI") +print("New execution time: {:.6f}s (CPU: {:.6f}s)".format(time.time() - tt, time.process_time() - tp)) + +# Use new code for long-term command (i.e. network search) +# tt = time.time() +# tp = time.process_time() +# modem.send_at_cmd("AT+COPS=?", timeout=60) +# print("Network search: {:.6f}s (CPU: {:.6f}s)".format(time.time() - tt, time.process_time() - tp)) diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py index eef38cb..55f3a00 100644 --- a/pySim/transport/modem_atcmd.py +++ b/pySim/transport/modem_atcmd.py @@ -32,16 +32,64 @@ def __init__(self, device:str='/dev/ttyUSB0', baudrate:int=115200, **kwargs): super().__init__(**kwargs) self._sl = serial.Serial(device, baudrate, timeout=5) + self._echo = False # this will be auto-detected by _check_echo() self._device = device self._atr = None + # Check the AT interface + self._check_echo() + # Trigger initial reset self.reset_card() def __del__(self): self._sl.close() - def send_at_cmd(self, cmd): + def send_at_cmd(self, cmd, timeout=0.2, patience=0.002): + # Convert from string to bytes, if needed + bcmd = cmd if type(cmd) is bytes else cmd.encode() + bcmd += b'\r' + + # Clean input buffer from previous/unexpected data + self._sl.reset_input_buffer() + + # Send command to the modem + log.debug('Sending AT command: {}'.format(cmd)) + try: + wlen = self._sl.write(bcmd) + assert(wlen == len(bcmd)) + except: + raise ReaderError('Failed to send AT command: {}'.format(cmd)) + + rsp = b'' + its = 1 + t_start = time.time() + while True: + rsp = rsp + self._sl.read(self._sl.in_waiting) + if rsp.endswith(b'OK\r\n'): + log.debug('Command finished with result: OK') + break + if rsp.endswith(b'ERROR\r\n'): + log.debug('Command finished with result: ERROR') + break + if time.time() - t_start >= timeout: + log.debug('Command finished with timeout >= {}s'.format(timeout)) + break + else: + time.sleep(patience) + its += 1 + log.debug('Command took {:.6f}s ({} cycles a {}s)'.format(time.time() - t_start, its, patience)) + + if self._echo: + # Skip echo chars + rsp = rsp[wlen:] + rsp = rsp.strip() + rsp = rsp.split(b'\r\n\r\n') + + log.debug('Got response from modem: {}'.format(rsp)) + return rsp + + def send_at_cmd_old(self, cmd): # Convert from string to bytes, if needed bcmd = cmd if type(cmd) is bytes else cmd.encode() bcmd += b'\r' @@ -74,11 +122,29 @@ log.debug('Got response from modem: %s' % rsp) return rsp - def reset_card(self): - # Make sure that we can talk to the modem - if self.send_at_cmd('AT') != [b'OK']: - raise ReaderError('Failed to connect to modem') + def _check_echo(self): + """Verify the correct response to 'AT' command + and detect if inputs are echoed by the device + Although echo of inputs can be enabled/disabled via + ATE1/ATE0, respectively, we rather detect the current + configuration of the modem without any change. + """ + # Next command shall not strip the echo from the response + self._echo = False + result = self.send_at_cmd('AT') + + # Verify the response + if len(result) > 0: + if result[-1] == b'OK': + self._echo = False + return + elif result[-1] == b'AT\r\r\nOK': + self._echo = True + return + raise ReaderError('Interface "{}" does not respond to "AT" command'.format(self._device)) + + def reset_card(self): # Reset the modem, just to be sure if self.send_at_cmd('ATZ') != [b'OK']: raise ReaderError('Failed to reset the modem') @@ -87,7 +153,7 @@ if self.send_at_cmd('AT+CSIM=?') != [b'OK']: raise ReaderError('The modem does not seem to support SIM access') - log.info('Modem at \'%s\' is ready!' % self._device) + log.info('Modem at "{}" is ready!'.format(self._device)) def connect(self): pass # Nothing to do really ... -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69b1cbc0a20d54791e5800bf27ebafc2c8606d93 Gerrit-Change-Number: 24034 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 08:28:52 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Sun, 2 May 2021 08:28:52 +0000 Subject: Change in pysim[master]: Improve performance of AT command interface In-Reply-To: References: Message-ID: Falkenber9 has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24034 ) Change subject: Improve performance of AT command interface ...................................................................... Patch Set 1: Interfacing code is tested with Sierra Wireless EM7565. Please verify on your side with another modem. You can use the snippet "benchmark_at.py" in the root directory. If its ok, I can remove the benchmark and the old function. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69b1cbc0a20d54791e5800bf27ebafc2c8606d93 Gerrit-Change-Number: 24034 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 02 May 2021 08:28:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 13:46:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 May 2021 13:46:24 +0000 Subject: Change in pysim[master]: Improve performance of AT command interface In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24034 ) Change subject: Improve performance of AT command interface ...................................................................... Patch Set 1: Verified+1 I did a quick test with Quectel EC20, works fine! -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69b1cbc0a20d54791e5800bf27ebafc2c8606d93 Gerrit-Change-Number: 24034 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 02 May 2021 13:46:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 19:50:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 19:50:05 +0000 Subject: Change in pysim[master]: utils: Introduce DataObject representation References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24035 ) Change subject: utils: Introduce DataObject representation ...................................................................... utils: Introduce DataObject representation Represents DataObject (DO) in the sense of ISO 7816-4. Contrary to 'normal' TLVs where one simply has any number of different TLVs that may occur in any order at any point, ISO 7816 has the habit of specifying TLV data but with very specific ordering, or specific choices of tags at specific points in a stream. This is represented by DataObjectChoice, DataObjectCollection and DataObjectSequence classes. Change-Id: Iac18e7665481c9323cc7d22a3cd93e3da7869deb --- M pySim/utils.py 1 file changed, 297 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/35/24035/1 diff --git a/pySim/utils.py b/pySim/utils.py index a177c56..de41dfb 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -863,3 +863,300 @@ res += fstr % (heading) res += "#" * width return res + + + +class DataObject: + """A DataObject (DO) in the sense of ISO 7816-4. Contrary to 'normal' TLVs where one + simply has any number of different TLVs that may occur in any order at any point, ISO 7816 + has the habit of specifying TLV data but with very spcific ordering, or specific choices of + tags at specific points in a stream. This class tries to represent this""" + def __init__(self, name, desc = None, tag = None): + """ + Args: + name: A brief, all-lowercase, underscore separated string identifier + desc: A human-readable description of what this DO represents + tag : The tag associated with this DO + """ + self.name = name + self.desc = desc + self.tag = tag + self.encoded = None + self.encoded = None + + def __str__(self): + return self.name + + def __repr__(self): + return '%s(%s)' % (self.__class__, self.name) + + def __or__(self, other): + """OR-ing DataObjects together renders a DataObjectChoice.""" + if isinstance(other, DataObject): + # DataObject | DataObject = DataObjectChoice + return DataObjectChoice(None, members=[self, other]) + else: + raise TypeError + + def __add__(self, other): + """ADD-ing DataObjects together renders a DataObjectCollection.""" + if isinstance(other, DataObject): + # DataObject + DataObject = DataObjectCollectin + return DataObjectCollection(None, members=[self, other]) + + def _compute_tag(self): + """Compute the tag (sometimes the tag encodes part of the value).""" + return self.tag + + def to_dict(self): + """Return a dict in form "name: decoded_value" """ + return {self.name: self.decoded} + + def from_value(self, do:bytes): + """Parse the value part of the DO into the internal state of this instance.""" + raise TypeError("The derived classes must defined a from_value() method") + + def to_value(self): + """Encode the internal state of this instance into the TLV value part.""" + raise TypeError("The derived classes must defined a to_value() method") + + def from_tlv(self, do:bytes): + """Parse binary TLV representation into internal state. The resulting decoded + representation is _not_ returned, but just internalized in the object instance! + Args: + do : input bytes containing TLV-encoded representation + Returns: + bytes remaining at end of 'do' after parsing one TLV/DO. + """ + if do[0] != self.tag: + raise ValueError('%s: Can only decode tag 0x%02x' % (self, self.tag)) + length = do[1] + val = do[2:2+length] + self.from_value(val) + # return remaining bytes + return do[2+length:] + + def to_tlv(self): + """Encode internal representation to binary TLV. + Returns: + bytes encoded in TLV format. + """ + val = self.to_value() + return bytes(self._compute_tag()) + bytes(len(val)) + val + + # 'codec' interface + def decode(self, binary:bytes): + """Decode a single DOs from the input data. + Args: + binary : binary bytes of encoded data + Returns: + tuple of (decoded_result, binary_remainder) + """ + tag = binary[0] + if tag != self.tag: + raise ValueError('%s: Unknown Tag 0x%02x in %s; expected 0x%02x' % + (self, tag, binary, self.tag)) + remainder = self.from_tlv(binary) + return (self.to_dict(), remainder) + + # 'codec' interface + def encode(self): + return self.to_tlv() + +class TL0_DataObject(DataObject): + """Data Object that has Tag, Len=0 and no Value part.""" + def __init__(self, name, desc, tag, val=None): + super().__init__(name, desc, tag) + self.val = val + + def from_value(self, binary:bytes): + if len(binary) != 0: + raise ValueError + self.decoded = self.val + + def to_value(self): + return b'' + + +class DataObjectCollection: + """A DataObjectCollection consits of multiple Data Objects identified by their tags. + A given encoded DO may contain any of them in any order, and may contain multiple instances + of each DO.""" + def __init__(self, name, desc = None, members=[]): + self.name = name + self.desc = desc + self.members = members + self.members_by_tag = {} + self.members_by_name = {} + for m in self.members: + self.members_by_tag[m.tag] = m + self.members_by_name[m.name] = m + + def __str__(self): + member_strs = [str(x) for x in self.members] + return '%s(%s)' % (self.name, ','.join(member_strs)) + + def __repr__(self): + member_strs = [repr(x) for x in self.members] + return '%s(%s)' % (self.__class__, ','.join(member_strs)) + + def __add__(self, other): + """Extending DataCollections with other DataCollections or DataObjects.""" + if isinstance(other, DataObjectCollection): + # adding one collection to another + members = self.members + other.members + return DataObjectCollection(self.name, self.desc, members) + elif isinstance(other, DataObject): + # adding a member to a collection + return DataObjectCollection(self.name, self.desc, self.members + [other]) + else: + raise TypeError + + # 'codec' interface + def decode(self, binary:bytes): + """Decode any number of DOs from the collection until the end of the input data, + or uninitialized memory (0xFF) is found. + Args: + binary : binary bytes of encoded data + Returns: + tuple of (decoded_result, binary_remainder) + """ + res = [] + remainder = binary + # iterate until no binary trailer is left + while len(remainder): + tag = remainder[0] + if tag == 0xff: # uninitialized memory at the end? + return (res, remainder) + if not tag in self.members_by_tag: + raise ValueError('%s: Unknown Tag 0x%02x in %s; expected %s' % + (self, tag, remainder, self.members_by_tag.keys())) + obj = self.members_by_tag[tag] + # DO from_tlv returns remainder of binary + remainder = obj.from_tlv(remainder) + # collect our results + res.append(obj.to_dict()) + return (res, remainder) + + # 'codec' interface + def encode(self, decoded): + res = bytearray() + for i in decoded: + obj = self.members_by_name(i[0]) + res.append(obj.to_tlv()) + return res + +class DataObjectChoice(DataObjectCollection): + """One Data Object from within a choice, identified by its tag. + This means that exactly one member of the choice must occur, and which one occurs depends + on the tag.""" + def __add__(self, other): + """We overload the add operator here to avoid inheriting it from DataObjecCollection.""" + raise TypeError + + def __or__(self, other): + """OR-ing a Choice to another choice extends the choice, as does OR-ing a DataObject.""" + if isinstance(other, DataObjectChoice): + # adding one collection to another + members = self.members + other.members + return DataObjectChoice(self.name, self.desc, members) + elif isinstance(other, DataObject): + # adding a member to a collection + return DataObjectChoice(self.name, self.desc, self.members + [other]) + else: + raise TypeError + + # 'codec' interface + def decode(self, binary:bytes): + """Decode a single DOs from the choice based on the tag. + Args: + binary : binary bytes of encoded data + Returns: + tuple of (decoded_result, binary_remainder) + """ + tag = binary[0] + if tag == 0xff: + return (None, binary) + if not tag in self.members_by_tag: + raise ValueError('%s: Unknown Tag 0x%02x in %s; expected %s' % + (self, tag, binary, self.members_by_tag.keys())) + obj = self.members_by_tag[tag] + remainder = obj.from_tlv(binary) + return (obj.to_dict(), remainder) + + # 'codec' interface + def encode(self, decoded): + obj = self.members_by_name(decoded[0]) + return obj.to_tlv() + +class DataObjectSequence: + """A sequence of DataObjects or DataObjectChoices. This allows us to express a certain + ordered sequence of DOs or choices of DOs that have to appear as per the specification. + By wrapping them into this formal DataObjectSequence, we can offer convenience methods + for encoding or decoding an entire sequence.""" + def __init__(self, name, desc=None, sequence=[]): + self.sequence = sequence + + def __str__(self): + member_strs = [str(x) for x in self.sequence] + return '%s(%s)' % (self.name, ','.join(member_strs)) + + def __repr__(self): + member_strs = [repr(x) for x in self.sequence] + return '%s(%s)' % (self.__class__, ','.join(member_strs)) + + def __add__(self, other): + """Add (append) a DataObject or DataObjectChoice to the sequence.""" + if isinstance(other, 'DataObject'): + return DataObjectSequence(self.name, self.desc, self.sequence + [other]) + elif isinstance(other, 'DataObjectChoice'): + return DataObjectSequence(self.name, self.desc, self.sequence + [other]) + elif isinstance(other, 'DataObjectSequence'): + return DataObjectSeuqence(self.name, self.desc, self.sequence + other.sequence) + + # 'codec' interface + def decode(self, binary:bytes): + """Decode a sequence by calling the decoder of each element in the sequence. + Args: + binary : binary bytes of encoded data + Returns: + tuple of (decoded_result, binary_remainder) + """ + remainder = binary + res = [] + for e in self.sequence: + (r, remainder) = e.decode(remainder) + if r: + res.append(r) + return (res, remainder) + + # 'codec' interface + def decode_multi(self, do:bytes): + """Decode multiple occurrences of the sequence from the binary input data. + Args: + do : binary input data to be decoded + Returns: + list of results of the decoder of this sequences + """ + remainder = do + res = [] + while len(remainder): + (r, remainder2) = self.decode(remainder) + if r: + res.append(r) + if len(remainder2) < len(remainder): + remainder = remainder2 + else: + remainder = remainder2 + break + return (res, remainder) + + # 'codec' interface + def encode(self, decoded): + """Encode a sequence by calling the encoder of each element in the sequence.""" + encoded = bytearray() + i = 0 + for e in self.sequence: + encoded += e.encode(decoded[i]) + i += 1 + return encoded -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iac18e7665481c9323cc7d22a3cd93e3da7869deb Gerrit-Change-Number: 24035 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 19:50:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 19:50:06 +0000 Subject: Change in pysim[master]: utils: Introduce CommandSet abstraction References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24036 ) Change subject: utils: Introduce CommandSet abstraction ...................................................................... utils: Introduce CommandSet abstraction This will allow us to match INS -> name and add more related bits in the future (e.g. for decoding APDU traces) Change-Id: I314ff15186dc05778ea12363cac0a310b6c7713c --- M pySim/utils.py 1 file changed, 67 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/36/24036/1 diff --git a/pySim/utils.py b/pySim/utils.py index de41dfb..f0e1b40 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -1160,3 +1160,70 @@ encoded += e.encode(decoded[i]) i += 1 return encoded + +class CardCommand: + """A single card command / instruction.""" + def __init__(self, name, ins, cla_list=None, desc=None): + self.name = name + self.ins = ins + self.cla_list = [x.lower() for x in cla_list] + self.desc = desc + + def __str__(self): + return self.name + + def __repr__(self): + return '%s(INS=%02x,CLA=%s)' % (self.name, self.ins, self.cla_list) + + def match_cla(self, cla): + """Does the given CLA match the CLA list of the command?.""" + if not isinstance(cla, str): + cla = '%02u' % cla + cla = cla.lower() + for cla_match in self.cla_list: + cla_masked = "" + for i in range(0, 2): + if cla_match[i] == 'x': + cla_masked += 'x' + else: + cla_masked += cla[i] + if cla_masked == cla_match: + return True + return False + + +class CardCommandSet: + """A set of card instructions, typically specified within one spec.""" + def __init__(self, name, cmds=[]): + self.name = name + self.cmds = {} + for c in cmds: + self.cmds[c.ins] = c + + def __str__(self): + return self.name + + def __getitem__(self, idx): + return self.cmds[idx] + + def __add__(self, other): + if isinstance(other, CardCommand): + if other.ins in self.cmds: + raise ValueError('%s: INS 0x%02x already defined: %s' % + (self, other.ins, self.cmds[other.ins])) + self.cmds[other.ins] = other + elif isinstance(other, CardCommandSet): + for c in other.cmds.keys(): + self.cmds[c] = other.cmds[c] + else: + raise ValueError('%s: Unsupported type to add operator: %s' % (self, other)) + + def lookup(self, ins, cla=None): + """look-up the command within the CommandSet.""" + ins = int(ins) + if not ins in self.cmds: + return None + cmd = self.cmds[ins] + if cla and not cmd.match_cla(cla): + return None + return cmd -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I314ff15186dc05778ea12363cac0a310b6c7713c Gerrit-Change-Number: 24036 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 19:50:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 19:50:06 +0000 Subject: Change in pysim[master]: Implement EF.ARR (Access Rule Reference) decoding References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24037 ) Change subject: Implement EF.ARR (Access Rule Reference) decoding ...................................................................... Implement EF.ARR (Access Rule Reference) decoding The Access Mode (AM) and Security Condition (SC) DOs are incredibly convoluted, so we need a lot of code to properly decode them. Change-Id: If4f0725a849d41fd93de327ed00996d8179f2b0e --- M README.md M pySim/ts_102_221.py M requirements.txt M setup.py 4 files changed, 385 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/37/24037/1 diff --git a/README.md b/README.md index db294c6..274ab11 100644 --- a/README.md +++ b/README.md @@ -39,11 +39,12 @@ - pytlv - cmd2 - jsonpath-ng +- bidict Example for Debian: apt-get install python3-pyscard python3-serial python3-cmd2 python3-pip python3-yaml - pip3 install pytlv + pip3 install pytlv bidict Alternatively, everything can be installed using pip: diff --git a/pySim/ts_102_221.py b/pySim/ts_102_221.py index 88a36a1..82818b7 100644 --- a/pySim/ts_102_221.py +++ b/pySim/ts_102_221.py @@ -21,6 +21,52 @@ from struct import pack, unpack from pySim.utils import * from pySim.filesystem import * +from bidict import bidict + +ts_102_22x_cmdset = CardCommandSet('TS 102 22x', [ + # TS 102 221 Section 10.1.2 Table 10.5 "Coding of Instruction Byte" + CardCommand('SELECT', 0xA4, ['0X', '4X', '6X']), + CardCommand('STATUS', 0xF2, ['8X', 'CX', 'EX']), + CardCommand('READ BINARY', 0xB0, ['0X', '4X', '6X']), + CardCommand('UPDATE BINARY', 0xD6, ['0X', '4X', '6X']), + CardCommand('READ RECORD', 0xB2, ['0X', '4X', '6X']), + CardCommand('UPDATE RECORD', 0xDC, ['0X', '4X', '6X']), + CardCommand('SEARCH RECORD', 0xA2, ['0X', '4X', '6X']), + CardCommand('INCREASE', 0x32, ['8X', 'CX', 'EX']), + CardCommand('RETRIEVE DATA', 0xCB, ['8X', 'CX', 'EX']), + CardCommand('SET DATA', 0xDB, ['8X', 'CX', 'EX']), + CardCommand('VERIFY PIN', 0x20, ['0X', '4X', '6X']), + CardCommand('CHANGE PIN', 0x24, ['0X', '4X', '6X']), + CardCommand('DISABLE PIN', 0x26, ['0X', '4X', '6X']), + CardCommand('ENABLE PIN', 0x28, ['0X', '4X', '6X']), + CardCommand('UNBLOCK PIN', 0x2C, ['0X', '4X', '6X']), + CardCommand('DEACTIVATE FILE', 0x04, ['0X', '4X', '6X']), + CardCommand('ACTIVATE FILE', 0x44, ['0X', '4X', '6X']), + CardCommand('AUTHENTICATE', 0x88, ['0X', '4X', '6X']), + CardCommand('AUTHENTICATE', 0x89, ['0X', '4X', '6X']), + CardCommand('GET CHALLENGE', 0x84, ['0X', '4X', '6X']), + CardCommand('TERMINAL CAPABILITY', 0xAA, ['8X', 'CX', 'EX']), + CardCommand('TERMINAL PROFILE', 0x10, ['80']), + CardCommand('ENVELOPE', 0xC2, ['80']), + CardCommand('FETCH', 0x12, ['80']), + CardCommand('TERMINAL RESPONSE', 0x14, ['80']), + CardCommand('MANAGE CHANNEL', 0x70, ['0X', '4X', '6X']), + CardCommand('MANAGE SECURE CHANNEL', 0x73, ['0X', '4X', '6X']), + CardCommand('TRANSACT DATA', 0x75, ['0X', '4X', '6X']), + CardCommand('SUSPEND UICC', 0x76, ['80']), + CardCommand('GET IDENTITY', 0x78, ['8X', 'CX', 'EX']), + CardCommand('EXCHANGE CAPABILITIES', 0x7A, ['80']), + CardCommand('GET RESPONSE', 0xC0, ['0X', '4X', '6X']), + # TS 102 222 Section 6.1 Table 1 "Coding of the commands" + CardCommand('CREATE FILE', 0xE0, ['0X', '4X']), + CardCommand('DELETE FILE', 0xE4, ['0X', '4X']), + CardCommand('DEACTIVATE FILE', 0x04, ['0X', '4X']), + CardCommand('ACTIVATE FILE', 0x44, ['0X', '4X']), + CardCommand('TERMINATE DF', 0xE6, ['0X', '4X']), + CardCommand('TERMINATE EF', 0xE8, ['0X', '4X']), + CardCommand('TERMINATE CARD USAGE', 0xFE, ['0X', '4X']), + CardCommand('RESIZE FILE', 0xD4, ['8X', 'CX']), + ]) FCP_TLV_MAP = { @@ -150,6 +196,269 @@ return val return {d[0]: newval(inmap, d[0], d[1]) for d in indata.items()} +# ETSI TS 102 221 Section 9.2.7 + ISO7816-4 9.3.3/9.3.4 + +class _AM_DO_DF(DataObject): + def __init__(self): + super().__init__('access_mode', 'Access Mode', tag=0x80) + + def from_value(self, do:bytes): + res = [] + if len(do) != 1: + raise ValueError("We only support single-byte AMF inside AM-DO") + amf = do[0] + # tables 17..29 and 41..44 of 7816-4 + if amf & 0x80 == 0: + if amf & 0x40: + res.append('delete_file') + if amf & 0x20: + res.append('terminate_df') + if amf & 0x10: + res.append('activate_file') + if amf & 0x08: + res.append('deactivate_file') + if amf & 0x04: + res.append('create_file_df') + if amf & 0x02: + res.append('create_file_ef') + if amf & 0x01: + res.append('delete_file_child') + self.decoded = res + + def to_value(self): + val = 0 + if 'delete_file' in self.decoded: + val |= 0x40 + if 'terminate_df' in self.decoded: + val |= 0x20 + if 'activate_file' in self.decoded: + val |= 0x10 + if 'deactivate_file' in self.decoded: + val |= 0x08 + if 'create_file_df' in self.decoded: + val |= 0x04 + if 'create_file_ef' in self.decoded: + val |= 0x02 + if 'delete_file_child' in self.decoded: + val |= 0x01 + return val.to_bytes(1, 'big') + + +class _AM_DO_EF(DataObject): + """ISO7816-4 9.3.2 Table 18 + 9.3.3.1 Table 31""" + def __init__(self): + super().__init__('access_mode', 'Access Mode', tag=0x80) + + def from_value(self, do:bytes): + res = [] + if len(do) != 1: + raise ValueError("We only support single-byte AMF inside AM-DO") + amf = do[0] + # tables 17..29 and 41..44 of 7816-4 + if amf & 0x80 == 0: + if amf & 0x40: + res.append('delete_file') + if amf & 0x20: + res.append('terminate_ef') + if amf & 0x10: + res.append('activate_file_or_record') + if amf & 0x08: + res.append('deactivate_file_or_record') + if amf & 0x04: + res.append('write_append') + if amf & 0x02: + res.append('update_erase') + if amf & 0x01: + res.append('read_search_compare') + self.decoded = res + + def to_value(self): + val = 0 + if 'delete_file' in self.decoded: + val |= 0x40 + if 'terminate_ef' in self.decoded: + val |= 0x20 + if 'activate_file_or_record' in self.decoded: + val |= 0x10 + if 'deactivate_file_or_record' in self.decoded: + val |= 0x08 + if 'write_append' in self.decoded: + val |= 0x04 + if 'update_erase' in self.decoded: + val |= 0x02 + if 'read_search_compare' in self.decoded: + val |= 0x01 + return val.to_bytes(1, 'big') + +class _AM_DO_CHDR(DataObject): + """Command Header Access Mode DO according to ISO 7816-4 Table 32.""" + def __init__(self, tag): + super().__init__('command_header', 'Command Header Description', tag=tag) + + def from_value(self, do:bytes): + res = {} + i = 0 + if self.tag & 0x08: + res['CLA'] = do[i] + i += 1 + if self.tag & 0x04: + res['INS'] = do[i] + i += 1 + if self.tag & 0x02: + res['P1'] = do[i] + i += 1 + if self.tag & 0x01: + res['P2'] = do[i] + i += 1 + self.decoded = res + + def _compute_tag(self): + """Override to encode the tag, as it depends on the value.""" + tag = 0x80 + if 'CLA' in self.decoded: + tag |= 0x08 + if 'INS' in self.decoded: + tag |= 0x04 + if 'P1' in self.decoded: + tag |= 0x02 + if 'P2' in self.decoded: + tag |= 0x01 + return tag + + def to_value(self): + res = bytearray() + if 'CLA' in self.decoded: + res.append(self.decoded['CLA']) + if 'INS' in self.decoded: + res.append(self.decoded['INS']) + if 'P1' in self.decoded: + res.append(self.decoded['P1']) + if 'P2' in self.decoded: + res.append(self.decoded['P2']) + return res + +AM_DO_CHDR = DataObjectChoice('am_do_chdr', members=[ + _AM_DO_CHDR(0x81), _AM_DO_CHDR(0x82), _AM_DO_CHDR(0x83), _AM_DO_CHDR(0x84), + _AM_DO_CHDR(0x85), _AM_DO_CHDR(0x86), _AM_DO_CHDR(0x87), _AM_DO_CHDR(0x88), + _AM_DO_CHDR(0x89), _AM_DO_CHDR(0x8a), _AM_DO_CHDR(0x8b), _AM_DO_CHDR(0x8c), + _AM_DO_CHDR(0x8d), _AM_DO_CHDR(0x8e), _AM_DO_CHDR(0x8f)]) + +AM_DO_DF = AM_DO_CHDR | _AM_DO_DF() +AM_DO_EF = AM_DO_CHDR | _AM_DO_EF() + + +# TS 102 221 Section 9.5.1 / Table 9.3 +pin_names = bidict({ + 0x01: 'PIN1', + 0x02: 'PIN2', + 0x03: 'PIN3', + 0x04: 'PIN4', + 0x05: 'PIN5', + 0x06: 'PIN6', + 0x07: 'PIN7', + 0x08: 'PIN8', + 0x0a: 'ADM1', + 0x0b: 'ADM2', + 0x0c: 'ADM3', + 0x0d: 'ADM4', + 0x0e: 'ADM5', + + 0x11: 'UNIVERSAL_PIN', + 0x81: '2PIN1', + 0x82: '2PIN2', + 0x83: '2PIN3', + 0x84: '2PIN4', + 0x85: '2PIN5', + 0x86: '2PIN6', + 0x87: '2PIN7', + 0x88: '2PIN8', + 0x8a: 'ADM6', + 0x8b: 'ADM7', + 0x8c: 'ADM8', + 0x8d: 'ADM9', + 0x8e: 'ADM10', + }) + +class CRT_DO(DataObject): + """Control Reference Template as per TS 102 221 9.5.1""" + def __init__(self): + super().__init__('control_reference_template', 'Control Reference Template', tag=0xA4) + + def from_value(self, do: bytes): + """Decode a Control Reference Template DO.""" + if len(do) != 6: + raise ValueError('Unsupported CRT DO length: %s', do) + if do[0] != 0x83 or do[1] != 0x01: + raise ValueError('Unsupported Key Ref Tag or Len in CRT DO %s', do) + if do[3:] != b'\x95\x01\x08': + raise ValueError('Unsupported Usage Qualifier Tag or Len in CRT DO %s', do) + self.encoded = do[0:6] + self.decoded = pin_names[do[2]] + return do[6:] + + def to_value(self): + pin = pin_names.inverse[self.decoded] + return b'\x83\x01' + pin.to_bytes(1, 'big') + b'\x95\x01\x08' + +# ISO7816-4 9.3.3 Table 33 +class SecCondByte_DO(DataObject): + def __init__(self, tag=0x9d): + super().__init__('security_condition_byte', tag=tag) + + def from_value(self, binary:bytes): + if len(binary) != 1: + raise ValueError + inb = binary[0] + if inb == 0: + cond = 'always' + if inb == 0xff: + cond = 'never' + res = [] + if inb & 0x80: + cond = 'and' + else: + cond = 'or' + if inb & 0x40: + res.append('secure_messaging') + if inb & 0x20: + res.append('external_auth') + if inb & 0x10: + res.append('user_auth') + rd = {'mode': cond } + if len(res): + rd['conditions'] = res + self.decoded = rd + + def to_value(self): + mode = self.decoded['mode'] + if mode == 'always': + res = 0 + elif mode == 'never': + res = 0xff + else: + res = 0 + if mode == 'and': + res |= 0x80 + elif mode == 'or': + pass + else: + raise ValueError('Unknown mode %s' % mode) + for c in self.decoded['conditions']: + if c == 'secure_messaging': + res |= 0x40 + elif c == 'external_auth': + res |= 0x20 + elif c == 'user_auth': + res |= 0x10 + else: + raise ValueError('Unknown condition %s' % c) + return res.to_bytes(1, 'big') + +Always_DO = TL0_DataObject('always', 'Always', 0x90) +Never_DO = TL0_DataObject('never', 'Never', 0x97) +SC_DO = DataObjectChoice('security_condition', 'Security Condition', + members=[Always_DO, Never_DO, SecCondByte_DO(), SecCondByte_DO(0x9e), CRT_DO()]) + # ETSI TS 102 221 Section 11.1.1.3 def decode_select_response(resp_hex): @@ -207,6 +516,78 @@ class EF_ARR(LinFixedEF): def __init__(self, fid='2f06', sfid=0x06, name='EF.ARR', desc='Access Rule Reference'): super().__init__(fid, sfid=sfid, name=name, desc=desc) + # add those commands to the general commands of a TransparentEF + self.shell_commands += [self.AddlShellCommands()] + + @staticmethod + def flatten(inp:list): + """Flatten the somewhat deep/complex/nested data returned from decoder.""" + def sc_abbreviate(sc): + if 'always' in sc: + return 'always' + elif 'never' in sc: + return 'never' + elif 'control_reference_template' in sc: + return sc['control_reference_template'] + else: + return sc + + by_mode = {} + for t in inp: + am = t[0] + sc = t[1] + sc_abbr = sc_abbreviate(sc) + if 'access_mode' in am: + for m in am['access_mode']: + by_mode[m] = sc_abbr + elif 'command_header' in am: + ins = am['command_header']['INS'] + if 'CLA' in am['command_header']: + cla = am['command_header']['CLA'] + else: + cla = None + cmd = ts_102_22x_cmdset.lookup(ins, cla) + if cmd: + name = cmd.name.lower().replace(' ','_') + by_mode[name] = sc_abbr + else: + raise ValueError + else: + raise ValueError + return by_mode + + def _decode_record_bin(self, raw_bin_data): + # we can only guess if we should decode for EF or DF here :( + arr_seq = DataObjectSequence('arr', sequence = [AM_DO_EF, SC_DO]) + dec = arr_seq.decode_multi(raw_bin_data) + # we cannot pass the result through flatten() here, as we don't have a related + # 'un-flattening' decoder, and hence would be unable to encode :( + return dec[0] + + @with_default_category('File-Specific Commands') + class AddlShellCommands(CommandSet): + def __init__(self): + super().__init__() + + @cmd2.with_argparser(LinFixedEF.ShellCommands.read_rec_dec_parser) + def do_read_arr_record(self, opts): + """Read one EF.ARR record in flattened, human-friendly form.""" + (data, sw) = self._cmd.rs.read_record_dec(opts.record_nr) + data = self._cmd.rs.selected_file.flatten(data) + self._cmd.poutput_json(data, opts.oneline) + + @cmd2.with_argparser(LinFixedEF.ShellCommands.read_recs_dec_parser) + def do_read_arr_records(self, opts): + """Read + decode all EF.ARR records in flattened, human-friendly form.""" + num_of_rec = self._cmd.rs.selected_file_fcp['file_descriptor']['num_of_rec'] + # collect all results in list so they are rendered as JSON list when printing + data_list = [] + for recnr in range(1, 1 + num_of_rec): + (data, sw) = self._cmd.rs.read_record_dec(recnr) + data = self._cmd.rs.selected_file.flatten(data) + data_list.append(data) + self._cmd.poutput_json(data_list, opts.oneline) + # TS 102 221 Section 13.6 class EF_UMPC(TransparentEF): diff --git a/requirements.txt b/requirements.txt index 6da27cc..6e8336c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,3 +4,4 @@ cmd2 jsonpath-ng construct +bidict diff --git a/setup.py b/setup.py index 75d7d20..08608dc 100644 --- a/setup.py +++ b/setup.py @@ -15,6 +15,7 @@ "cmd2 >= 1.3.0", "jsonpath-ng", "construct >= 2.9", + "bidict", ], scripts=[ 'pySim-prog.py', -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If4f0725a849d41fd93de327ed00996d8179f2b0e Gerrit-Change-Number: 24037 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 19:50:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 19:50:07 +0000 Subject: Change in pysim[master]: ts_31_103: Use EF_ARR decoder from TS 102 221 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24038 ) Change subject: ts_31_103: Use EF_ARR decoder from TS 102 221 ...................................................................... ts_31_103: Use EF_ARR decoder from TS 102 221 We already used that decoder also in ts_31_102 Change-Id: Iaab9f038544b5914405568b072731d3847c9d017 --- M pySim/ts_31_103.py 1 file changed, 2 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/38/24038/1 diff --git a/pySim/ts_31_103.py b/pySim/ts_31_103.py index d5641b3..6224bc8 100644 --- a/pySim/ts_31_103.py +++ b/pySim/ts_31_103.py @@ -27,6 +27,7 @@ from pySim.ts_51_011 import EF_AD, EF_SMS, EF_SMSS, EF_SMSR, EF_SMSP from pySim.ts_31_102 import ADF_USIM, EF_FromPreferred import pySim.ts_102_221 +from pySim.ts_102_221 import EF_ARR # Mapping between ISIM Service Number and its description EF_IST_map = { @@ -90,11 +91,6 @@ def __init__(self, fid='6f04', sfid=0x04, name='EF.IMPU', desc='IMS public user identity'): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) -# TS 31.103 Section 4.2.6 -class EF_ARR(LinFixedEF): - def __init__(self, fid='6f06', sfid=0x06, name='EF.ARR', desc='Access Rule Reference'): - super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) - # TS 31.103 Section 4.2.7 class EF_IST(TransparentEF): def __init__(self, fid='6f07', sfid=0x07, name='EF.IST', desc='ISIM Service Table'): @@ -177,7 +173,7 @@ EF_DOMAIN(), EF_IMPU(), EF_AD(), - EF_ARR(), + EF_ARR('6f06', 0x06), EF_IST(), EF_PCSCF(), EF_GBABP(), -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24038 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iaab9f038544b5914405568b072731d3847c9d017 Gerrit-Change-Number: 24038 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:09:26 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Sun, 2 May 2021 20:09:26 +0000 Subject: Change in pysim[master]: Improve speed of AT command interface (x134) In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24034 to look at the new patch set (#2). Change subject: Improve speed of AT command interface (x134) ...................................................................... Improve speed of AT command interface (x134) Previous implementation waits 300ms for response after each command issued. But many commands finish earlier. This patch improves the command execution time by frequently checking for the response to complete (i.e. ends with OK or ERROR), or the occurence of a timeout (default 200ms). Timeout can be adapted per command to support long response times of certain commands like AT+COPS=? (network search) Execution time benchmark (20 AT commands/responses): Previous: 6.010s (100.0%) New code: 0.045s ( 0.7%) Change-Id: I69b1cbc0a20d54791e5800bf27ebafc2c8606d93 --- M pySim/transport/modem_atcmd.py 1 file changed, 57 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/34/24034/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69b1cbc0a20d54791e5800bf27ebafc2c8606d93 Gerrit-Change-Number: 24034 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:11:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:11:13 +0000 Subject: Change in pysim[master]: Improve speed of AT command interface (x134) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24034 ) Change subject: Improve speed of AT command interface (x134) ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69b1cbc0a20d54791e5800bf27ebafc2c8606d93 Gerrit-Change-Number: 24034 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 May 2021 20:11:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:11:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:11:30 +0000 Subject: Change in pysim[master]: transport/AT: Make sure PDU has upper case hex digits In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24023 ) Change subject: transport/AT: Make sure PDU has upper case hex digits ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24023 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I318e36abc7ae975c62d32b7fe0ec949bf5997d13 Gerrit-Change-Number: 24023 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 May 2021 20:11:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:11:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:11:32 +0000 Subject: Change in pysim[master]: transport/AT: Make sure PDU has upper case hex digits In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24023 ) Change subject: transport/AT: Make sure PDU has upper case hex digits ...................................................................... transport/AT: Make sure PDU has upper case hex digits Some modems may reject AT+CSIM if PDU contains lower case hex digits [a-f]. Modem response is "ERROR" without any error code. This patch converts each PDU to upper case. Tested with Sierra Wireless EM7565. Example: AT+CSIM=14,"00a40004023F00" ERROR AT+CSIM=14,"00A40004023F00" +CSIM: 4,"612F" OK Change-Id: I318e36abc7ae975c62d32b7fe0ec949bf5997d13 --- M pySim/transport/modem_atcmd.py 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py index ecf463c..eef38cb 100644 --- a/pySim/transport/modem_atcmd.py +++ b/pySim/transport/modem_atcmd.py @@ -99,6 +99,9 @@ pass # Nothing to do really ... def _send_apdu_raw(self, pdu): + # Make sure pdu has upper case hex digits [A-F] + pdu = pdu.upper() + # Prepare the command as described in 8.17 cmd = 'AT+CSIM=%d,\"%s\"' % (len(pdu), pdu) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24023 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I318e36abc7ae975c62d32b7fe0ec949bf5997d13 Gerrit-Change-Number: 24023 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:13:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:13:00 +0000 Subject: Change in pysim[master]: Implement EF.ARR (Access Rule Reference) decoding In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24037 to look at the new patch set (#2). Change subject: Implement EF.ARR (Access Rule Reference) decoding ...................................................................... Implement EF.ARR (Access Rule Reference) decoding The Access Mode (AM) and Security Condition (SC) DOs are incredibly convoluted, so we need a lot of code to properly decode them. Change-Id: If4f0725a849d41fd93de327ed00996d8179f2b0e --- M README.md M contrib/jenkins.sh M pySim/ts_102_221.py M requirements.txt M setup.py 5 files changed, 386 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/37/24037/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If4f0725a849d41fd93de327ed00996d8179f2b0e Gerrit-Change-Number: 24037 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:18:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:18:30 +0000 Subject: Change in pysim[master]: [pylint] Declare some fields in _MagicSimBase class In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24026 ) Change subject: [pylint] Declare some fields in _MagicSimBase class ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24026 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4db9d21258d6e04140962134c540e36631466322 Gerrit-Change-Number: 24026 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 May 2021 20:18:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:18:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:18:50 +0000 Subject: Change in pysim[master]: [pylint] fix non-existing 'res' in EF_CNL._encode_record_hex() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24024 ) Change subject: [pylint] fix non-existing 'res' in EF_CNL._encode_record_hex() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I039e2b271dd3ab44f437108c5e8def43e97098a3 Gerrit-Change-Number: 24024 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 May 2021 20:18:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:19:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:19:13 +0000 Subject: Change in pysim[master]: [pylint] Mark abstract CardKeyProvider.get() method as such In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24025 ) Change subject: [pylint] Mark abstract CardKeyProvider.get() method as such ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24025 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I43bab69f53300fbe837944735cd999fab5405d7a Gerrit-Change-Number: 24025 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 May 2021 20:19:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:20:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:20:01 +0000 Subject: Change in pysim[master]: [pylint] Fix calling non-existing iteritems() of dict In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24027 ) Change subject: [pylint] Fix calling non-existing iteritems() of dict ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24027 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iba7ad9ed2a9b197ecedaaed1c6744fe1c721515a Gerrit-Change-Number: 24027 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 May 2021 20:20:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:20:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:20:25 +0000 Subject: Change in pysim[master]: [pylint] Mark abstract MagicSimBase class as such In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24028 ) Change subject: [pylint] Mark abstract MagicSimBase class as such ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24028 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I315c646d94a1d3282917f5abb0c93efb918b53d7 Gerrit-Change-Number: 24028 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 May 2021 20:20:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:20:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:20:43 +0000 Subject: Change in pysim[master]: [pylint] Fix reference to undefined variable 'in_hex' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24029 ) Change subject: [pylint] Fix reference to undefined variable 'in_hex' ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I094e61c78621f08108f6ad1c71a05bc1e13a895d Gerrit-Change-Number: 24029 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 May 2021 20:20:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:21:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:21:00 +0000 Subject: Change in pysim[master]: [pylint] Fix float vs integer division in cards.py In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24030 ) Change subject: [pylint] Fix float vs integer division in cards.py ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie4ba72b725a56ba9cfe98cc7bd17dd3653194f36 Gerrit-Change-Number: 24030 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 May 2021 20:21:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:21:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:21:15 +0000 Subject: Change in pysim[master]: [pylint] Declare abstract LinkBase._send_apdu_raw() method as such In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24031 ) Change subject: [pylint] Declare abstract LinkBase._send_apdu_raw() method as such ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24031 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I14fcdceca5d1e35491b6ad98f96b4276b69b2fc1 Gerrit-Change-Number: 24031 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 May 2021 20:21:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:22:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:22:12 +0000 Subject: Change in pysim[master]: [pylint] Fix referencing undefined variable 'shutil' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24032 ) Change subject: [pylint] Fix referencing undefined variable 'shutil' ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24032 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4ea833fd79f4342c33899124379be509ba1e35ed Gerrit-Change-Number: 24032 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 May 2021 20:22:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:22:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:22:15 +0000 Subject: Change in pysim[master]: [pylint] fix non-existing 'res' in EF_CNL._encode_record_hex() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24024 ) Change subject: [pylint] fix non-existing 'res' in EF_CNL._encode_record_hex() ...................................................................... [pylint] fix non-existing 'res' in EF_CNL._encode_record_hex() pySim/ts_51_011.py:648:45: E0602: Undefined variable 'res' (undefined-variable) pySim/ts_51_011.py:648:68: E0602: Undefined variable 'res' (undefined-variable) pySim/ts_51_011.py:649:24: E0602: Undefined variable 'res' (undefined-variable) Change-Id: I039e2b271dd3ab44f437108c5e8def43e97098a3 --- M pySim/ts_51_011.py 1 file changed, 5 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py index 15a7907..7e8e627 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -649,8 +649,11 @@ return res def _encode_record_hex(self, in_json): plmn = enc_plmn(in_json['mcc'], in_json['mnc']) - return b2h(pack('!3sBBB', h2b(plmn), res['network_subset'], res['service_provider_id'], - res['corporate_id'])) + return b2h(pack('!3sBBB', + h2b(plmn), + in_json['network_subset'], + in_json['service_provider_id'], + in_json['corporate_id'])) # TS 51.011 Section 10.3.31 class EF_NIA(LinFixedEF): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I039e2b271dd3ab44f437108c5e8def43e97098a3 Gerrit-Change-Number: 24024 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:22:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:22:16 +0000 Subject: Change in pysim[master]: [pylint] Mark abstract CardKeyProvider.get() method as such In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24025 ) Change subject: [pylint] Mark abstract CardKeyProvider.get() method as such ...................................................................... [pylint] Mark abstract CardKeyProvider.get() method as such pySim/card_key_provider.py:67:2: E1111: Assigning result of a function call, where the function has no return (assignment-from-no-return) Change-Id: I43bab69f53300fbe837944735cd999fab5405d7a --- M pySim/card_key_provider.py 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/card_key_provider.py b/pySim/card_key_provider.py index 05de0be..67b0b28 100644 --- a/pySim/card_key_provider.py +++ b/pySim/card_key_provider.py @@ -30,11 +30,12 @@ from typing import List, Dict, Optional +import abc import csv card_key_providers = [] # type: List['CardKeyProvider'] -class CardKeyProvider(object): +class CardKeyProvider(abc.ABC): """Base class, not containing any concrete implementation.""" VALID_FIELD_NAMES = ['ICCID', 'ADM1', 'IMSI', 'PIN1', 'PIN2', 'PUK1', 'PUK2'] @@ -67,6 +68,7 @@ result = self.get(fields, key, value) return result.get(field) + @abc.abstractmethod def get(self, fields:List[str], key:str, value:str) -> Dict[str,str]: """Get multiple card-individual fields for identified card. @@ -77,7 +79,6 @@ Returns: dictionary of {field, value} strings for each requested field from 'fields' """ - pass class CardKeyProviderCsv(CardKeyProvider): """Card key provider implementation that allows to query against a specified CSV file""" -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24025 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I43bab69f53300fbe837944735cd999fab5405d7a Gerrit-Change-Number: 24025 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:22:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:22:16 +0000 Subject: Change in pysim[master]: [pylint] Declare some fields in _MagicSimBase class In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24026 ) Change subject: [pylint] Declare some fields in _MagicSimBase class ...................................................................... [pylint] Declare some fields in _MagicSimBase class Fixes the following pylint's warnings: pySim/cards.py:494:18: E1101: Class '_MagicSimBase' has no '_files' member (no-member) pySim/cards.py:509:6: E1101: Instance of '_MagicSimBase' has no '_files' member (no-member) pySim/cards.py:529:26: E1101: Instance of '_MagicSimBase' has no '_files' member (no-member) pySim/cards.py:537:5: E1101: Instance of '_MagicSimBase' has no '_ki_file' member (no-member) pySim/cards.py:547:5: E1101: Instance of '_MagicSimBase' has no '_ki_file' member (no-member) pySim/cards.py:548:8: E1101: Instance of '_MagicSimBase' has no '_ki_file' member (no-member) pySim/cards.py:559:26: E1101: Instance of '_MagicSimBase' has no '_files' member (no-member) pySim/cards.py:560:11: E1101: Instance of '_MagicSimBase' has no '_files' member (no-member) pySim/cards.py:576:14: E1101: Instance of '_MagicSimBase' has no '_files' member (no-member) Change-Id: I4db9d21258d6e04140962134c540e36631466322 --- M pySim/cards.py 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/cards.py b/pySim/cards.py index 719bf0c..ddc0bf4 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -22,6 +22,8 @@ # along with this program. If not, see . # +from typing import Optional, Dict, Tuple + from pySim.ts_51_011 import EF, DF, EF_AD from pySim.ts_31_102 import EF_USIM_ADF_map from pySim.ts_31_103 import EF_ISIM_ADF_map @@ -488,6 +490,9 @@ """ + _files = { } # type: Dict[str, Tuple[str, int, bool]] + _ki_file = None # type: Optional[str] + @classmethod def autodetect(kls, scc): try: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24026 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4db9d21258d6e04140962134c540e36631466322 Gerrit-Change-Number: 24026 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:22:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:22:17 +0000 Subject: Change in pysim[master]: [pylint] Fix calling non-existing iteritems() of dict In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24027 ) Change subject: [pylint] Fix calling non-existing iteritems() of dict ...................................................................... [pylint] Fix calling non-existing iteritems() of dict This method has been removed [1] in Python 3.0: pySim/cards.py:581:14: E1101: Instance of 'dict' has no 'iteritems' member (no-member) pySim/cards.py:591:24: E1101: Instance of 'dict' has no 'iteritems' member (no-member) [1] https://wiki.python.org/moin/Python3.0#Built-In_Changes Change-Id: Iba7ad9ed2a9b197ecedaaed1c6744fe1c721515a --- M pySim/cards.py 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/cards.py b/pySim/cards.py index ddc0bf4..3b53654 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -578,7 +578,7 @@ def erase(self): # Dummy df = {} - for k, v in self._files.iteritems(): + for k, v in self._files.items(): ofs = 1 fv = v[1] * 'ff' if k == 'name': @@ -588,7 +588,7 @@ # Write for n in range(0,self._get_count()): - for k, (msg, ofs) in df.iteritems(): + for k, (msg, ofs) in df.items(): self._scc.update_record(['3f00', '7f4d', k], n + ofs, msg) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24027 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iba7ad9ed2a9b197ecedaaed1c6744fe1c721515a Gerrit-Change-Number: 24027 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:22:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:22:17 +0000 Subject: Change in pysim[master]: [pylint] Mark abstract MagicSimBase class as such In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24028 ) Change subject: [pylint] Mark abstract MagicSimBase class as such ...................................................................... [pylint] Mark abstract MagicSimBase class as such Change-Id: I315c646d94a1d3282917f5abb0c93efb918b53d7 --- M pySim/cards.py 1 file changed, 4 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/cards.py b/pySim/cards.py index 3b53654..24e789e 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -23,6 +23,7 @@ # from typing import Optional, Dict, Tuple +import abc from pySim.ts_51_011 import EF, DF, EF_AD from pySim.ts_31_102 import EF_USIM_ADF_map @@ -470,7 +471,7 @@ uiari_recs += "UICC IARI: Can't read, response code = %s\n" % (sw) return uiari_recs -class _MagicSimBase(Card): +class MagicSimBase(abc.ABC, Card): """ Theses cards uses several record based EFs to store the provider infos, each possible provider uses a specific record number in each EF. The @@ -592,7 +593,7 @@ self._scc.update_record(['3f00', '7f4d', k], n + ofs, msg) -class SuperSim(_MagicSimBase): +class SuperSim(MagicSimBase): name = 'supersim' @@ -605,7 +606,7 @@ _ki_file = None -class MagicSim(_MagicSimBase): +class MagicSim(MagicSimBase): name = 'magicsim' -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24028 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I315c646d94a1d3282917f5abb0c93efb918b53d7 Gerrit-Change-Number: 24028 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:22:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:22:18 +0000 Subject: Change in pysim[master]: [pylint] Fix reference to undefined variable 'in_hex' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24029 ) Change subject: [pylint] Fix reference to undefined variable 'in_hex' ...................................................................... [pylint] Fix reference to undefined variable 'in_hex' pySim/ts_31_102.py:384:36: E0602: Undefined variable 'in_hex' (undefined-variable) Change-Id: I094e61c78621f08108f6ad1c71a05bc1e13a895d --- M pySim/ts_31_102.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py index de729be..ae255f1 100644 --- a/pySim/ts_31_102.py +++ b/pySim/ts_31_102.py @@ -381,7 +381,7 @@ return hnet_pubkey_list def _decode_bin(self, in_bin): - return self._decode_hex(b2h(in_hex)) + return self._decode_hex(b2h(in_bin)) def _decode_hex(self, in_hex): in_bytes = h2b(in_hex) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I094e61c78621f08108f6ad1c71a05bc1e13a895d Gerrit-Change-Number: 24029 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:22:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:22:18 +0000 Subject: Change in pysim[master]: [pylint] Fix float vs integer division in cards.py In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24030 ) Change subject: [pylint] Fix float vs integer division in cards.py ...................................................................... [pylint] Fix float vs integer division in cards.py Change-Id: Ie4ba72b725a56ba9cfe98cc7bd17dd3653194f36 --- M pySim/cards.py 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/cards.py b/pySim/cards.py index 24e789e..30857b3 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -517,7 +517,7 @@ r = self._scc.select_path(['3f00', '7f4d', f[0]]) rec_len = int(r[-1][28:30], 16) tlen = int(r[-1][4:8],16) - rec_cnt = (tlen / rec_len) - 1 + rec_cnt = (tlen // rec_len) - 1 if (rec_cnt < 1) or (rec_len != f[1]): raise RuntimeError('Bad card type') @@ -647,7 +647,7 @@ r = self._scc.select_path(['3f00', '000c']) rec_len = int(r[-1][28:30], 16) tlen = int(r[-1][4:8],16) - rec_cnt = (tlen / rec_len) - 1 + rec_cnt = (tlen // rec_len) - 1 if (rec_cnt < 1) or (rec_len != 0x5a): raise RuntimeError('Bad card type') -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie4ba72b725a56ba9cfe98cc7bd17dd3653194f36 Gerrit-Change-Number: 24030 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:22:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:22:18 +0000 Subject: Change in pysim[master]: [pylint] Declare abstract LinkBase._send_apdu_raw() method as such In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24031 ) Change subject: [pylint] Declare abstract LinkBase._send_apdu_raw() method as such ...................................................................... [pylint] Declare abstract LinkBase._send_apdu_raw() method as such pySim/transport/__init__.py:86:15: E1101: Instance of 'LinkBase' has no '_send_apdu_raw' member; maybe 'send_apdu_raw'? (no-member) Change-Id: I14fcdceca5d1e35491b6ad98f96b4276b69b2fc1 --- M pySim/transport/__init__.py 1 file changed, 7 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py index d4f7f3a..05edc98 100644 --- a/pySim/transport/__init__.py +++ b/pySim/transport/__init__.py @@ -3,8 +3,9 @@ """ pySim: PCSC reader transport link base """ +import abc import argparse -from typing import Optional +from typing import Optional, Tuple from pySim.exceptions import * from pySim.construct import filter_dict @@ -36,13 +37,17 @@ pass -class LinkBase(object): +class LinkBase(abc.ABC): """Base class for link/transport to card.""" def __init__(self, sw_interpreter=None, apdu_tracer=None): self.sw_interpreter = sw_interpreter self.apdu_tracer = apdu_tracer + @abc.abstractmethod + def _send_apdu_raw(self, pdu:str) -> Tuple[str, str]: + """Implementation specific method for sending the PDU.""" + def set_sw_interpreter(self, interp): """Set an (optional) status word interpreter.""" self.sw_interpreter = interp -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24031 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I14fcdceca5d1e35491b6ad98f96b4276b69b2fc1 Gerrit-Change-Number: 24031 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:22:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:22:19 +0000 Subject: Change in pysim[master]: [pylint] Fix referencing undefined variable 'shutil' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24032 ) Change subject: [pylint] Fix referencing undefined variable 'shutil' ...................................................................... [pylint] Fix referencing undefined variable 'shutil' Let's just use the scope limited TemporaryDirectory() instead, so the temporary directory will be removed by Python automatically. pySim/filesystem.py:679:16: E0602: Undefined variable 'shutil' (undefined-variable) Change-Id: I4ea833fd79f4342c33899124379be509ba1e35ed --- M pySim/filesystem.py 1 file changed, 1 insertion(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/filesystem.py b/pySim/filesystem.py index dec521e..edfe85d 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -659,8 +659,7 @@ def do_edit_record_decoded(self, opts): """Edit the JSON representation of one record in an editor.""" (orig_json, sw) = self._cmd.rs.read_record_dec(opts.record_nr) - dirname = tempfile.mkdtemp(prefix='pysim_') - try: + with tempfile.TemporaryDirectory(prefix='pysim_') as dirname: filename = '%s/file' % dirname # write existing data as JSON to file with open(filename, 'w') as text_file: @@ -675,8 +674,6 @@ (data, sw) = self._cmd.rs.update_record_dec(opts.record_nr, edited_json) if data: self._cmd.poutput_json(data) - finally: - shutil.rmtree(dirname) def __init__(self, fid:str, sfid:str=None, name:str=None, desc:str=None, -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24032 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4ea833fd79f4342c33899124379be509ba1e35ed Gerrit-Change-Number: 24032 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:22:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:22:45 +0000 Subject: Change in pysim[master]: contrib/jenkins.sh: run pylint to find potential errors In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24033 ) Change subject: contrib/jenkins.sh: run pylint to find potential errors ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24033 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib4cdd0fa824329569f973925ba3a46656a8c8296 Gerrit-Change-Number: 24033 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 May 2021 20:22:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:22:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 May 2021 20:22:49 +0000 Subject: Change in pysim[master]: contrib/jenkins.sh: run pylint to find potential errors In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24033 ) Change subject: contrib/jenkins.sh: run pylint to find potential errors ...................................................................... contrib/jenkins.sh: run pylint to find potential errors Change-Id: Ib4cdd0fa824329569f973925ba3a46656a8c8296 --- M contrib/jenkins.sh 1 file changed, 12 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 2d9653a..cd9629c 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -26,6 +26,18 @@ # Execute automatically discovered unit tests first python -m unittest discover -v -s tests/ +# Run pylint to find potential errors +# Ignore E1102: not-callable +# pySim/filesystem.py: E1102: method is not callable (not-callable) +# Ignore E0401: import-error +# pySim/utils.py:276: E0401: Unable to import 'Crypto.Cipher' (import-error) +# pySim/utils.py:277: E0401: Unable to import 'Crypto.Util.strxor' (import-error) +pip install pylint +python -m pylint --errors-only \ + --disable E1102 \ + --disable E0401 \ + pySim *.py + # attempt to build documentation pip install sphinx pip install sphinxcontrib-napoleon -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24033 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib4cdd0fa824329569f973925ba3a46656a8c8296 Gerrit-Change-Number: 24033 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:53:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 May 2021 20:53:34 +0000 Subject: Change in pysim[master]: utils: Introduce DataObject representation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24035 ) Change subject: utils: Introduce DataObject representation ...................................................................... Patch Set 2: (10 comments) https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 869 PS2, Line 869: DataObject Is this an abstract class? https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 873 PS2, Line 873: this cosmetic: missing dot https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 884 PS2, Line 884: self.encoded = None One of these should be 'decoded' I guess, and this is why pylint complains. https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 917 PS2, Line 917: raise TypeError("The derived classes must defined a from_value() method") Let's please use @abc.abstractmethod for that. https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 921 PS2, Line 921: raise TypeError("The derived classes must defined a to_value() method") Let's please use @abc.abstractmethod for that. https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 972 PS2, Line 972: from_value Sounds more like from_bytes() given that it accepts 'bytes'? https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 985 PS2, Line 985: members=[] Using objects, lists, and tuples as a default argument value is dangerous because all instances of this class will basically share the same object/list/tuple. This causes weird bugs sometimes, so I would definitely avoid it. https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 991 PS2, Line 991: for m in self.members: This could be done using the comprehension: self.members_by_tag = { m for m in members } self.members_by_name = { m for m in members } https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 1097 PS2, Line 1097: desc Unused? https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 1097 PS2, Line 1097: sequence=[]) Same here. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iac18e7665481c9323cc7d22a3cd93e3da7869deb Gerrit-Change-Number: 24035 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 02 May 2021 20:53:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 20:59:16 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 May 2021 20:59:16 +0000 Subject: Change in pysim[master]: Improve speed of AT command interface (x134) In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24034 ) Change subject: Improve speed of AT command interface (x134) ...................................................................... Patch Set 2: Code-Review+2 (1 comment) Giving CR+2, feel free to re-apply if you will upload a new version addressing my comment. https://gerrit.osmocom.org/c/pysim/+/24034/2/pySim/transport/modem_atcmd.py File pySim/transport/modem_atcmd.py: https://gerrit.osmocom.org/c/pysim/+/24034/2/pySim/transport/modem_atcmd.py at 123 PS2, Line 123: log.info('Modem at "{}" is ready!'.format(self._device)) This change looks unrelated. I would keep this line as it is or rather use lazy format-string evaluation (was not aware of it back then) for logging statements. Can be done in a separate patch :) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69b1cbc0a20d54791e5800bf27ebafc2c8606d93 Gerrit-Change-Number: 24034 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 May 2021 20:59:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 2 21:08:44 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 May 2021 21:08:44 +0000 Subject: Change in pysim[master]: ModemATCommandLink: fix AttributeError exception in __del__() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24039 ) Change subject: ModemATCommandLink: fix AttributeError exception in __del__() ...................................................................... ModemATCommandLink: fix AttributeError exception in __del__() self._sl will not be assigned if serial.Serial() fails. Change-Id: I179a7efd92eaa3469a17b6ef252b3949c44ea6ea --- M pySim/transport/modem_atcmd.py 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/39/24039/1 diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py index eef38cb..70af86c 100644 --- a/pySim/transport/modem_atcmd.py +++ b/pySim/transport/modem_atcmd.py @@ -39,7 +39,8 @@ self.reset_card() def __del__(self): - self._sl.close() + if hasattr(self, '_sl'): + self._sl.close() def send_at_cmd(self, cmd): # Convert from string to bytes, if needed -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24039 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I179a7efd92eaa3469a17b6ef252b3949c44ea6ea Gerrit-Change-Number: 24039 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 00:16:17 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 00:16:17 +0000 Subject: Change in docker-playground[master]: arm-none-eabi-gcc-4.8.2: install missing packages References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24040 ) Change subject: arm-none-eabi-gcc-4.8.2: install missing packages ...................................................................... arm-none-eabi-gcc-4.8.2: install missing packages These are needed for building osmocom-bb and its libosmocore. Change-Id: I1cee58985225bd1c6600b0025d0417d66f441449 --- M arm-none-eabi-gcc-4.8.2/Dockerfile 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/40/24040/1 diff --git a/arm-none-eabi-gcc-4.8.2/Dockerfile b/arm-none-eabi-gcc-4.8.2/Dockerfile index 8794a95..6c1373c 100644 --- a/arm-none-eabi-gcc-4.8.2/Dockerfile +++ b/arm-none-eabi-gcc-4.8.2/Dockerfile @@ -20,7 +20,11 @@ flex \ curl \ patch \ - file + file \ + python2.7-minimal \ + autoconf \ + libtool \ + git # Stage 0: Download and patch the source code RUN curl -SL ${BINUTILS_SRC} | tar -xj -C /usr/src && \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24040 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1cee58985225bd1c6600b0025d0417d66f441449 Gerrit-Change-Number: 24040 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 08:06:33 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Mon, 3 May 2021 08:06:33 +0000 Subject: Change in pysim[master]: Speed up AT command interface (~130 times faster) In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24034 to look at the new patch set (#3). Change subject: Speed up AT command interface (~130 times faster) ...................................................................... Speed up AT command interface (~130 times faster) Previous implementation waits 300ms for response after each command issued. But many commands finish earlier. This patch improves the command execution time by frequently checking for the response to complete (i.e. ends with OK or ERROR), or the occurence of a timeout (default 200ms). Timeout can be adapted per command to support long response times of certain commands like AT+COPS=? (network search) Execution time benchmark (20 AT commands/responses): Previous: 6.010s (100.0%) New code: 0.045s ( 0.7%) Change-Id: I69b1cbc0a20d54791e5800bf27ebafc2c8606d93 --- M pySim/transport/modem_atcmd.py 1 file changed, 54 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/34/24034/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69b1cbc0a20d54791e5800bf27ebafc2c8606d93 Gerrit-Change-Number: 24034 Gerrit-PatchSet: 3 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 08:08:39 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Mon, 3 May 2021 08:08:39 +0000 Subject: Change in pysim[master]: Speed up AT command interface (~130 times faster) In-Reply-To: References: Message-ID: Falkenber9 has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24034 ) Change subject: Speed up AT command interface (~130 times faster) ...................................................................... Patch Set 3: (1 comment) > Patch Set 2: Code-Review+2 > > (1 comment) > > Giving CR+2, feel free to re-apply if you will upload a new version addressing my comment. Thanks for that feedback. Hope its OK now. https://gerrit.osmocom.org/c/pysim/+/24034/2/pySim/transport/modem_atcmd.py File pySim/transport/modem_atcmd.py: https://gerrit.osmocom.org/c/pysim/+/24034/2/pySim/transport/modem_atcmd.py at 123 PS2, Line 123: log.info('Modem at "{}" is ready!'.format(self._device)) > This change looks unrelated. [?] Thanks for that feedback. Hope its OK now. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69b1cbc0a20d54791e5800bf27ebafc2c8606d93 Gerrit-Change-Number: 24034 Gerrit-PatchSet: 3 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 03 May 2021 08:08:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:11:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 09:11:54 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement TRXDv2 protocol support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23833 ) Change subject: osmo-bts-trx: implement TRXDv2 protocol support ...................................................................... Patch Set 8: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/23833/7/src/osmo-bts-trx/trx_if.c File src/osmo-bts-trx/trx_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/23833/7/src/osmo-bts-trx/trx_if.c at 987 PS7, Line 987: loop: > Done. [?] I DON'T consider "goto" the evil. I do think, though, that there's no good reason to use goto here, where a higher level construct can be used just fine. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3532a6693bb335043ec390049138308991083e66 Gerrit-Change-Number: 23833 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 09:11:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:15:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 09:15:11 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement TRXDv2 protocol support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23833 ) Change subject: osmo-bts-trx: implement TRXDv2 protocol support ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3532a6693bb335043ec390049138308991083e66 Gerrit-Change-Number: 23833 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 09:15:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:22:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 09:22:38 +0000 Subject: Change in osmo-bts[master]: scheduler: drop Uplink loss detection from Downlink path In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/20674 ) Change subject: scheduler: drop Uplink loss detection from Downlink path ...................................................................... Patch Set 4: Code-Review-1 The situation is still the same, some proprietary implementations we want to support didn't yet move to TRXDv1. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/20674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic292d180ba64206fb4d88adb284f9f9d058b4587 Gerrit-Change-Number: 20674 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 09:22:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:25:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 09:25:36 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trxd_proto.py: fix missing field name for codec.Spare In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24014 ) Change subject: trx_toolkit/trxd_proto.py: fix missing field name for codec.Spare ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24014 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I110dbcebf86cf978f2de7275a91c48b999fade32 Gerrit-Change-Number: 24014 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 09:25:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:29:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 09:29:33 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trxd_proto.py: fix encoding of TRXDv0 Tx PDUs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24013 ) Change subject: trx_toolkit/trxd_proto.py: fix encoding of TRXDv0 Tx PDUs ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24013 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9da59f7e7c47dd1cac833839165ba05de6b18144 Gerrit-Change-Number: 24013 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 09:29:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:30:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 09:30:54 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/gsm_shared.py: s/GSM_BURST_LEN/GMSK_BURST_LEN/g In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24015 ) Change subject: trx_toolkit/gsm_shared.py: s/GSM_BURST_LEN/GMSK_BURST_LEN/g ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24015 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I7268196eb9fd822f0e7b65899e4c83c48a20ba5b Gerrit-Change-Number: 24015 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 09:30:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:06 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:06 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add resource scheme to configure fixed DL and UL freq In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346 to look at the new patch set (#6). Change subject: ms_srs: add resource scheme to configure fixed DL and UL freq ...................................................................... ms_srs: add resource scheme to configure fixed DL and UL freq this config option overwrites the EARFCN config that is typically used to tell the UE the bands to scan for cells. When custom frequencies are used, this option allows to set them explicitly. Change-Id: Ice070ea6755e273d916db2dc941068d33bbe206a --- M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/46/23346/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ice070ea6755e273d916db2dc941068d33bbe206a Gerrit-Change-Number: 23346 Gerrit-PatchSet: 6 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:07 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:07 +0000 Subject: Change in osmo-gsm-tester[master]: enb_srs: add support for eNB traces References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24041 ) Change subject: enb_srs: add support for eNB traces ...................................................................... enb_srs: add support for eNB traces this patch adds support for srsENB event tracing. it provides a cfg scenario to enable it. Change-Id: Icb2342acac5db87a0889cbf1b6c7bb1ad26c16fa --- M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M sysmocom/defaults.conf A sysmocom/scenarios/cfg-enb-tracing.conf 4 files changed, 59 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/41/24041/1 diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 83df5ed..05488af 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -31,6 +31,7 @@ def on_register_schemas(): config_schema = { 'enable_pcap': schema.BOOL_STR, + 'enable_tracing': schema.BOOL_STR, 'enable_ul_qam64': schema.BOOL_STR, 'log_all_level': schema.STR, } @@ -49,6 +50,8 @@ CFGFILE_DRB = 'srsenb_drb.conf' LOGFILE = 'srsenb.log' PCAPFILE = 'srsenb.pcap' + TRACINGFILE = 'srsenb_tracing.log' + METRICSFILE = 'srsenb_metrics.csv' def __init__(self, testenv, conf): super().__init__(testenv, conf, srsENB.BINFILE) @@ -60,6 +63,7 @@ self.config_sib_file = None self.config_rr_file = None self.config_drb_file = None + self.tracing_file = None self.log_file = None self.pcap_file = None self.process = None @@ -71,9 +75,13 @@ self.remote_config_drb_file = None self.remote_log_file = None self.remote_pcap_file = None + self.remote_tracing_file = None + self.remote_metrics_file = None self.enable_pcap = False self.enable_ul_qam64 = False + self.enable_tracing = False self.metrics_file = None + self.have_metrics_file = False self.stop_sleep_time = 6 # We require at most 5s to stop self.testenv = testenv self._additional_args = [] @@ -90,6 +98,9 @@ self.sleep_after_stop() # copy back files (may not exist, for instance if there was an early error of process): + self.scp_back_metrics(raiseException=False) + + # copy back files (may not exist, for instance if there was an early error of process): try: self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file) except Exception as e: @@ -99,12 +110,40 @@ self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file) except Exception as e: self.log(repr(e)) + if self.enable_tracing: + try: + self.rem_host.scpfrom('scp-back-tracing', self.remote_tracing_file, self.tracing_file) + except Exception as e: + self.log(repr(e)) # Collect KPIs for each TC self.testenv.test().set_kpis(self.get_kpi_tree()) # Clean up for parent class: super().cleanup() + def scp_back_metrics(self, raiseException=True): + ''' Copy back metrics only if they have not been copied back yet ''' + if not self.have_metrics_file: + # file is not properly flushed until the process has stopped. + if self.running(): + self.stop() + + # only SCP back if not running locally + if not self._run_node.is_local(): + try: + self.rem_host.scpfrom('scp-back-metrics', self.remote_metrics_file, self.metrics_file) + except Exception as e: + if raiseException: + self.err('Failed copying back metrics file from remote host') + raise e + else: + # only log error + self.log(repr(e)) + # make sure to only call it once + self.have_metrics_file = True + else: + self.dbg('Metrics have already been copied back') + def start(self, epc): self.log('Starting srsENB') self._epc = epc @@ -165,6 +204,8 @@ self.config_drb_file = self.run_dir.child(srsENB.CFGFILE_DRB) self.log_file = self.run_dir.child(srsENB.LOGFILE) self.pcap_file = self.run_dir.child(srsENB.PCAPFILE) + self.metrics_file = self.run_dir.child(srsENB.METRICSFILE) + self.tracing_file = self.run_dir.child(srsENB.TRACINGFILE) if not self._run_node.is_local(): self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) @@ -178,15 +219,21 @@ self.remote_config_drb_file = self.remote_run_dir.child(srsENB.CFGFILE_DRB) self.remote_log_file = self.remote_run_dir.child(srsENB.LOGFILE) self.remote_pcap_file = self.remote_run_dir.child(srsENB.PCAPFILE) + self.remote_metrics_file = self.remote_run_dir.child(srsENB.METRICSFILE) + self.remote_tracing_file = self.remote_run_dir.child(srsENB.TRACINGFILE) values = super().configure(['srsenb']) + metricsfile = self.metrics_file if self._run_node.is_local() else self.remote_metrics_file + tracingfile = self.tracing_file if self._run_node.is_local() else self.remote_tracing_file sibfile = self.config_sib_file if self._run_node.is_local() else self.remote_config_sib_file rrfile = self.config_rr_file if self._run_node.is_local() else self.remote_config_rr_file drbfile = self.config_drb_file if self._run_node.is_local() else self.remote_config_drb_file logfile = self.log_file if self._run_node.is_local() else self.remote_log_file pcapfile = self.pcap_file if self._run_node.is_local() else self.remote_pcap_file - config.overlay(values, dict(enb=dict(sib_filename=sibfile, + config.overlay(values, dict(enb=dict(metrics_filename=metricsfile, + tracing_filename=tracingfile, + sib_filename=sibfile, rr_filename=rrfile, drb_filename=drbfile, log_filename=logfile, @@ -197,6 +244,9 @@ self.enable_pcap = util.str2bool(values['enb'].get('enable_pcap', 'false')) config.overlay(values, dict(enb={'enable_pcap': self.enable_pcap})) + self.enable_tracing = util.str2bool(values['enb'].get('enable_tracing', 'false')) + config.overlay(values, dict(enb={'enable_tracing': self.enable_tracing})) + self.enable_ul_qam64 = util.str2bool(values['enb'].get('enable_ul_qam64', 'false')) config.overlay(values, dict(enb={'enable_ul_qam64': self.enable_ul_qam64})) diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index 794edea..4ae176e 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -278,8 +278,10 @@ #pusch_8bit_decoder = false #nof_phy_threads = 3 #metrics_period_secs = 1 -#metrics_csv_enable = false -#metrics_csv_filename = /tmp/enb_metrics.csv +metrics_csv_enable = true +metrics_csv_filename = ${enb.metrics_filename} +tracing_enable = ${enb.enable_tracing} +tracing_filename = ${enb.tracing_filename} #pregenerate_signals = false #tx_amplitude = 0.6 #link_failure_nof_err = 50 diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index eeb2b83..39b81a8 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -158,6 +158,7 @@ srsenb: num_prb: 100 enable_pcap: false + enable_tracing: false tx_gain: 80 rx_gain: 40 log_all_level: warning diff --git a/sysmocom/scenarios/cfg-enb-tracing.conf b/sysmocom/scenarios/cfg-enb-tracing.conf new file mode 100644 index 0000000..d8b373b --- /dev/null +++ b/sysmocom/scenarios/cfg-enb-tracing.conf @@ -0,0 +1,3 @@ +config: + enb: + enable_tracing: true \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icb2342acac5db87a0889cbf1b6c7bb1ad26c16fa Gerrit-Change-Number: 24041 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:07 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:07 +0000 Subject: Change in osmo-gsm-tester[master]: ms_amarisoft: extend AmariUE to support custom frequency bands References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24042 ) Change subject: ms_amarisoft: extend AmariUE to support custom frequency bands ...................................................................... ms_amarisoft: extend AmariUE to support custom frequency bands this patch adds generic support for custom frequency bands to the ms class. it then extends the config template for AmariUE to use them. we set the default values for EARFCNs for DL/UL to the old values. Change-Id: I7b2250e13fc1161be1a1d73a4348f07b31c0f724 --- M src/osmo_gsm_tester/obj/ms.py M src/osmo_gsm_tester/obj/ms_amarisoft.py M src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl M sysmocom/defaults.conf 4 files changed, 35 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/42/24042/1 diff --git a/src/osmo_gsm_tester/obj/ms.py b/src/osmo_gsm_tester/obj/ms.py index cd4a8a1..93226a8 100644 --- a/src/osmo_gsm_tester/obj/ms.py +++ b/src/osmo_gsm_tester/obj/ms.py @@ -32,7 +32,16 @@ 'auth_algo': schema.AUTH_ALGO, 'apn_ipaddr': schema.IPV4, 'ciphers[]': schema.CIPHER_2G, - 'features[]': schema.MODEM_FEATURE + 'features[]': schema.MODEM_FEATURE, + 'dl_earfcn': schema.UINT, + 'ul_earfcn': schema.UINT, + 'custom_band_list[].number': schema.UINT, + 'custom_band_list[].dl_earfcn_min': schema.UINT, + 'custom_band_list[].dl_earfcn_max': schema.UINT, + 'custom_band_list[].dl_freq_min': schema.UINT, + 'custom_band_list[].ul_freq_min': schema.UINT, + 'custom_band_list[].ul_earfcn_min': schema.UINT, + 'custom_band_list[].ul_earfcn_max': schema.UINT, } schema.register_resource_schema('modem', resource_schema) diff --git a/src/osmo_gsm_tester/obj/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py index 9b6d64a..601d539 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -27,7 +27,9 @@ from .ms import MS def on_register_schemas(): - resource_schema = {} + resource_schema = { + 'use_custom_band255': schema.BOOL_STR + } for key, val in RunNode.schema().items(): resource_schema['run_node.%s' % key] = val schema.register_resource_schema('modem', resource_schema) @@ -245,6 +247,9 @@ config.overlay(values, dict(ue=dict(log_filename=logfile, ifup_filename=ifupfile))) + # Convert to Python bool and overlay config + config.overlay(values, dict(ue={'use_custom_band255': util.str2bool(values['ue'].get('use_custom_band255', 'false'))})) + # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': base_srate = num_prb2base_srate(self.enb.num_prb()) diff --git a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl index 6f38491..f9b2933 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl @@ -30,9 +30,24 @@ allow dynamic UE creation from remote API */ multi_ue: true, + custom_freq_band: [ +%for band in ue.custom_band_list: + { + band: ${band.number}, + dl_earfcn_min: ${band.dl_earfcn_min}, + dl_earfcn_max: ${band.dl_earfcn_max}, + dl_freq_min: ${band.dl_freq_min}, + ul_freq_min: ${band.ul_freq_min}, + ul_earfcn_min: ${band.ul_earfcn_min}, + ul_earfcn_max: ${band.ul_earfcn_max}, + }, +%endfor + ], + cells: [ { - dl_earfcn: 2850, + dl_earfcn: ${ue.dl_earfcn}, + ul_earfcn: ${ue.ul_earfcn}, n_antenna_dl: 1, n_antenna_ul: 1, diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index 39b81a8..8bbae42 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -192,6 +192,9 @@ tx_gain: 89 rx_gain: 60 rf_dev_sync: none + custom_band_list: [] + dl_earfcn: 2850 + ul_earfcn: 20850 iperf3cli: time: 60 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I7b2250e13fc1161be1a1d73a4348f07b31c0f724 Gerrit-Change-Number: 24042 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:07 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:07 +0000 Subject: Change in osmo-gsm-tester[master]: ping.py: add stricter pass/fail check References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24043 ) Change subject: ping.py: add stricter pass/fail check ...................................................................... ping.py: add stricter pass/fail check the ping test should only pass if not a single ping is lost Change-Id: If089f77df1ffe991f26f1546558d51aac242df83 --- M sysmocom/suites/4g/ping.py 1 file changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/43/24043/1 diff --git a/sysmocom/suites/4g/ping.py b/sysmocom/suites/4g/ping.py index 0297317..a78b8d6 100755 --- a/sysmocom/suites/4g/ping.py +++ b/sysmocom/suites/4g/ping.py @@ -20,6 +20,13 @@ print('UE is attached') proc = ue.run_netns_wait('ping', ('ping', '-c', '10', epc.tun_addr())) + +# Check zero lost pings +num_sent = int([x for x in proc.get_stdout().split('\n') if x.find('packets transmitted') != -1][0].split(' ')[0]) +num_received = int([x for x in proc.get_stdout().split('\n') if x.find('packets transmitted, ') != -1][0].split('packets transmitted, ')[1].split(' received')[0]) +if num_received != num_sent: + raise Exception("{}\n\nError: Detected {} lost pings".format(proc.get_stdout(), num_sent - num_received)) + output = proc.get_stdout() print(output) -test.set_report_stdout(output) +test.set_report_stdout(output) \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24043 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If089f77df1ffe991f26f1546558d51aac242df83 Gerrit-Change-Number: 24043 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:08 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:08 +0000 Subject: Change in osmo-gsm-tester[master]: schema: add 5G as UE feature References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24044 ) Change subject: schema: add 5G as UE feature ...................................................................... schema: add 5G as UE feature Change-Id: I851e95fb0b763f2a838b161be4938715770eaa83 --- M src/osmo_gsm_tester/core/schema.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/44/24044/1 diff --git a/src/osmo_gsm_tester/core/schema.py b/src/osmo_gsm_tester/core/schema.py index 4064c20..735662d 100644 --- a/src/osmo_gsm_tester/core/schema.py +++ b/src/osmo_gsm_tester/core/schema.py @@ -122,7 +122,7 @@ raise ValueError('Unknown 4G integrity value %r' % val) def modem_feature(val): - if val in ('sms', 'gprs', 'voice', 'ussd', 'sim', '2g', '3g', '4g', 'dl_qam256', 'ul_qam64', 'qc_diag'): + if val in ('sms', 'gprs', 'voice', 'ussd', 'sim', '2g', '3g', '4g', '5g', 'dl_qam256', 'ul_qam64', 'qc_diag'): return True raise ValueError('Unknown Modem Feature: %r' % val) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24044 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I851e95fb0b763f2a838b161be4938715770eaa83 Gerrit-Change-Number: 24044 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:08 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:08 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-amarisoft: adjusting lib name to srsran and update vers... References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24045 ) Change subject: jenkins-build-amarisoft: adjusting lib name to srsran and update versions ...................................................................... jenkins-build-amarisoft: adjusting lib name to srsran and update versions fix rename of srslte to srsran libs and also update Amarisoft versions. Change-Id: I2174aec3c7ded8c966877a87f4cc6a39ce1325c2 --- M contrib/jenkins-build-amarisoft.sh 1 file changed, 26 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/45/24045/1 diff --git a/contrib/jenkins-build-amarisoft.sh b/contrib/jenkins-build-amarisoft.sh index 1ed7d7d..fec77fd 100755 --- a/contrib/jenkins-build-amarisoft.sh +++ b/contrib/jenkins-build-amarisoft.sh @@ -36,23 +36,29 @@ rm -rf inst-tmp && mkdir inst-tmp rm -rf inst-tmp-uhd && mkdir inst-tmp-uhd tar -zxf $amarisoft_tgz -C inst-tmp/ -tar -zxf inst-tmp/*/trx_uhd*.tar.gz -C inst-tmp/ +for file in inst-tmp/*/trx_uhd*.tar.gz; do tar -zxf "$file" -C inst-tmp/; done # Build trx_uhd.so: -cd ${base}/inst-tmp/trx_uhd-linux*/ -make -cd ${base} +for path in ${base}/inst-tmp/trx_uhd-linux*/; do (cd "$path"; make; cd ${base}); done # Create amarisoftenb inst: rm -rf inst-amarisoftenb && mkdir inst-amarisoftenb || exit 1 tar --strip-components=1 -zxf inst-tmp/*/lteenb-linux*.tar.gz -C inst-amarisoftenb/ if [ "x${BUILD_AMARISOFT_TRX_ZMQ}" = "x1" ]; then - cp ${base}/${project_name_srslte}/build/lib/src/phy/rf/libsrslte_rf.so inst-amarisoftenb/ - cp ${base}/${project_name_zmq}/build/libtrx_zmq-linux-2018-10-18.so inst-amarisoftenb/trx_zmq.so + cp ${base}/${project_name_srslte}/build/lib/src/phy/rf/libsrsran_rf.so inst-amarisoftenb/ + cp ${base}/${project_name_zmq}/build/libtrx_zmq-linux-2021-03-15.so inst-amarisoftenb/trx_zmq.so patchelf --set-rpath '$ORIGIN/' inst-amarisoftenb/trx_zmq.so - cd inst-amarisoftenb && ln -s libsrslte_rf.so libsrslte_rf.so.0 && cd .. + cd inst-amarisoftenb && ln -s libsrsran_rf.so libsrsran_rf.so.0 && cd .. fi -cp ${base}/inst-tmp/trx_uhd-linux*/trx_uhd.so inst-amarisoftenb/ + +# Untar trx_sdr and copy the libraries to enb. +tar -xzf inst-tmp/*/trx_sdr*.tar.gz -C inst-tmp/ +cp ${base}/inst-tmp/trx_sdr-linux-2021-03-15/trx_sdr.so inst-amarisoftenb/ +cp ${base}/inst-tmp/trx_sdr-linux-2021-03-15/libsdr.so inst-amarisoftenb/ +cp ${base}/inst-tmp/trx_sdr-linux-2021-03-15/libc_wrapper_sdr.so inst-amarisoftenb/ + +# Copy the uhd library and create the tarball. +cp ${base}/inst-tmp/trx_uhd-linux-2021-03-15/trx_uhd.so inst-amarisoftenb/ this="amarisoftenb.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" tar="${this}.tgz" tar -czf "$tar" -C inst-amarisoftenb/ . @@ -61,14 +67,14 @@ # Create amarisoftue inst: if [ "x${HAVE_AMARISOFT_LTEUE}" = "x1" ]; then rm -rf inst-amarisoftue && mkdir inst-amarisoftue || exit 1 - tar --strip-components=1 -zxf inst-tmp/*/lteue-linux*.tar.gz -C inst-amarisoftue/ + tar --strip-components=1 -zxf inst-tmp/*/lteue-linux-2018-10-18.tar.gz -C inst-amarisoftue/ if [ "x${BUILD_AMARISOFT_TRX_ZMQ}" = "x1" ]; then - cp ${base}/${project_name_srslte}/build/lib/src/phy/rf/libsrslte_rf.so inst-amarisoftue/ + cp ${base}/${project_name_srslte}/build/lib/src/phy/rf/libsrsran_rf.so inst-amarisoftue/ cp ${base}/${project_name_zmq}/build/libtrx_zmq-linux-2018-10-18.so inst-amarisoftue/trx_zmq.so patchelf --set-rpath '$ORIGIN/' inst-amarisoftue/trx_zmq.so - cd inst-amarisoftue && ln -s libsrslte_rf.so libsrslte_rf.so.0 && cd .. + cd inst-amarisoftue && ln -s libsrsran_rf.so libsrsran_rf.so.0 && cd .. fi - cp ${base}/inst-tmp/trx_uhd-linux*/trx_uhd.so inst-amarisoftue/ + cp ${base}/inst-tmp/trx_uhd-linux-2018-10-18/trx_uhd.so inst-amarisoftue/ this="amarisoftue.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" tar="${this}.tgz" tar -czf "$tar" -C inst-amarisoftue/ . @@ -78,8 +84,16 @@ # Create amarisoftepc inst: rm -rf inst-amarisoftepc && mkdir inst-amarisoftepc || exit 1 tar --strip-components=1 -zxf inst-tmp/*/ltemme-linux*.tar.gz -C inst-amarisoftepc/ + +# place newer libssl-1.1 and libcrypto-1.1 for older OS distributions inside the EPC folder +cp inst-tmp/*/libs/libssl* inst-amarisoftepc/ +cp inst-tmp/*/libs/libcrypto* inst-amarisoftepc/ + # Copy ltesim_server from UE package if available if [ "x${HAVE_AMARISOFT_LTEUE}" = "x1" ]; then + # Untar newer lteue version for fresh ltesim_server (2018 uses libssl-1.0.0) + rm -rf inst-amarisoftue && mkdir inst-amarisoftue || exit 1 + tar --strip-components=1 -zxf inst-tmp/*/lteue-linux-2021-03-15.tar.gz -C inst-amarisoftue/ cp inst-amarisoftue/ltesim_server inst-amarisoftepc/ fi this="amarisoftepc.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24045 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2174aec3c7ded8c966877a87f4cc6a39ce1325c2 Gerrit-Change-Number: 24045 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:08 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:08 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_ltemme.cfg.tmpl: add gbr to the template References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24046 ) Change subject: amarisoft_ltemme.cfg.tmpl: add gbr to the template ...................................................................... amarisoft_ltemme.cfg.tmpl: add gbr to the template newer version of the amarisoft mme requires the GBR to be set Change-Id: Ib0b046ea9fcc26b6bbe03461ca6308acc35175d1 --- M src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/46/24046/1 diff --git a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl index b2df9ca..debe382 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl @@ -74,6 +74,13 @@ pre_emption_capability: "shall_not_trigger_pre_emption", pre_emption_vulnerability: "not_pre_emptable", setup_type: "on_demand", + gbr: + { + maximum_bitrate_dl: 2000000, + maximum_bitrate_ul: 2000000, + guaranteed_bitrate_dl: 1000000, + guaranteed_bitrate_ul: 1000000 + }, filters: [ { direction: "both", @@ -99,6 +106,13 @@ pre_emption_capability: "shall_not_trigger_pre_emption", pre_emption_vulnerability: "not_pre_emptable", setup_type: "on_demand", + gbr: + { + maximum_bitrate_dl: 2000000, + maximum_bitrate_ul: 2000000, + guaranteed_bitrate_dl: 1000000, + guaranteed_bitrate_ul: 1000000 + }, filters: [ { direction: "both", -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24046 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib0b046ea9fcc26b6bbe03461ca6308acc35175d1 Gerrit-Change-Number: 24046 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:09 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:09 +0000 Subject: Change in osmo-gsm-tester[master]: epc_amarisoft: increase sleep before starting ltesim_server References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24047 ) Change subject: epc_amarisoft: increase sleep before starting ltesim_server ...................................................................... epc_amarisoft: increase sleep before starting ltesim_server Change-Id: I5208035320b70579e870233fa0c4e4059031917d --- M src/osmo_gsm_tester/obj/epc_amarisoft.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/47/24047/1 diff --git a/src/osmo_gsm_tester/obj/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py index d7e49d8..fb49b8d 100644 --- a/src/osmo_gsm_tester/obj/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -120,7 +120,7 @@ def start_ltesim_remotely(self): # Sleep for a moment to give MME time to start up create TUN device import time - time.sleep(2) + time.sleep(5) remote_binary = self.remote_inst.child('', AmarisoftEPC.LTESIM_BINFILE) args = (remote_binary, "-a " + self.tun_addr()) self.log('Launching ltesim_server') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24047 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5208035320b70579e870233fa0c4e4059031917d Gerrit-Change-Number: 24047 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:09 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:09 +0000 Subject: Change in osmo-gsm-tester[master]: rfemu_srsenb_stdin: catch exception in rfemu and log error References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24048 ) Change subject: rfemu_srsenb_stdin: catch exception in rfemu and log error ...................................................................... rfemu_srsenb_stdin: catch exception in rfemu and log error not handling the exception causes all following tests to fail. Change-Id: I496313ef8412c8cb18a3c2cb32c52a3b5a672853 --- M src/osmo_gsm_tester/obj/rfemu_srsenb_stdin.py 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/48/24048/1 diff --git a/src/osmo_gsm_tester/obj/rfemu_srsenb_stdin.py b/src/osmo_gsm_tester/obj/rfemu_srsenb_stdin.py index e4aec19..3f96b8b 100644 --- a/src/osmo_gsm_tester/obj/rfemu_srsenb_stdin.py +++ b/src/osmo_gsm_tester/obj/rfemu_srsenb_stdin.py @@ -44,7 +44,10 @@ def set_attenuation(self, db): msg_str = 'cell_gain %d %f' % (self.cell_id, -db) self.dbg('sending stdin msg: "%s"' % msg_str) - self.enb.process.stdin_write(msg_str + '\n') + try: + self.enb.process.stdin_write(msg_str + '\n') + except Exception as e: + self.log(repr(e)) def get_max_attenuation(self): return 200 # maximum cell_gain value in srs. Is this correct value? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24048 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I496313ef8412c8cb18a3c2cb32c52a3b5a672853 Gerrit-Change-Number: 24048 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:10 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:10 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_drb.conf.tmpl: decrease pollPDU for QCI9 References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24049 ) Change subject: srsenb_drb.conf.tmpl: decrease pollPDU for QCI9 ...................................................................... srsenb_drb.conf.tmpl: decrease pollPDU for QCI9 due to internal PDU buffering between PDCP/RLC the poll frequency needs to be increase to get quicker feedback. Change-Id: I4114fb36e675b3f91c471558f716276ab24f1db5 --- M src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/49/24049/1 diff --git a/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl index b1c69b7..0fce9cb 100644 --- a/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl @@ -78,7 +78,7 @@ rlc_config = { ul_am = { t_poll_retx = 120; - poll_pdu = 64; + poll_pdu = 8; poll_byte = 750; max_retx_thresh = 16; }; -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4114fb36e675b3f91c471558f716276ab24f1db5 Gerrit-Change-Number: 24049 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:11 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:11 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add rx_ant param References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24050 ) Change subject: enb: add rx_ant param ...................................................................... enb: add rx_ant param Change-Id: Iada98fce3608808914562d9f7e2af2c230e03cae --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/50/24050/1 diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 80f7b6e..252fa14 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -34,6 +34,7 @@ 'tdd_uldl_config': schema.UINT, 'tdd_special_subframe_pattern': schema.UINT, 'transmission_mode': schema.LTE_TRANSMISSION_MODE, + 'rx_ant': schema.STR, 'tx_gain': schema.UINT, 'rx_gain': schema.UINT, 'rf_dev_type': schema.STR, diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index 01aed18..65c94dd 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -227,6 +227,7 @@ rf_dev_sync=values['enb'].get('rf_dev_sync', None), rx_gain=values['enb'].get('rx_gain', None), tx_gain=values['enb'].get('tx_gain', None), + rx_ant=values['enb'].get('rx_ant', None), ))) self.gen_conf = values -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iada98fce3608808914562d9f7e2af2c230e03cae Gerrit-Change-Number: 24050 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:11 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:11 +0000 Subject: Change in osmo-gsm-tester[master]: 4g: add overlay template path for all suites References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24051 ) Change subject: 4g: add overlay template path for all suites ...................................................................... 4g: add overlay template path for all suites this allows, without changing the test case, to use a custom template, which is useful for development. By default, nothing changes and the OGT template is used Change-Id: Ifc43ac41b16813116f2559da5223a6fecc186125 --- M sysmocom/suites/4g/iperf3_bidir.py M sysmocom/suites/4g/iperf3_dl.py M sysmocom/suites/4g/iperf3_ul.py M sysmocom/suites/4g/ping.py M sysmocom/suites/4g/rrc_idle_mo_ping.py M sysmocom/suites/4g/rrc_idle_mt_ping.py 6 files changed, 30 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/51/24051/1 diff --git a/sysmocom/suites/4g/iperf3_bidir.py b/sysmocom/suites/4g/iperf3_bidir.py index bb1d73a..3c94a88 100755 --- a/sysmocom/suites/4g/iperf3_bidir.py +++ b/sysmocom/suites/4g/iperf3_bidir.py @@ -1,5 +1,10 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * +import os + +# Overlay suite-specific templates folder if it exists +if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')): + tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates')) epc = tenv.epc() enb = tenv.enb() diff --git a/sysmocom/suites/4g/iperf3_dl.py b/sysmocom/suites/4g/iperf3_dl.py index bf5b1f0..9e172c4 100755 --- a/sysmocom/suites/4g/iperf3_dl.py +++ b/sysmocom/suites/4g/iperf3_dl.py @@ -1,5 +1,10 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * +import os + +# Overlay suite-specific templates folder if it exists +if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')): + tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates')) epc = tenv.epc() enb = tenv.enb() diff --git a/sysmocom/suites/4g/iperf3_ul.py b/sysmocom/suites/4g/iperf3_ul.py index 6c0d25d..e243774 100755 --- a/sysmocom/suites/4g/iperf3_ul.py +++ b/sysmocom/suites/4g/iperf3_ul.py @@ -1,5 +1,10 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * +import os + +# Overlay suite-specific templates folder if it exists +if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')): + tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates')) epc = tenv.epc() enb = tenv.enb() diff --git a/sysmocom/suites/4g/ping.py b/sysmocom/suites/4g/ping.py index a78b8d6..9b9993c 100755 --- a/sysmocom/suites/4g/ping.py +++ b/sysmocom/suites/4g/ping.py @@ -1,5 +1,10 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * +import os + +# Overlay suite-specific templates folder if it exists +if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')): + tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates')) epc = tenv.epc() enb = tenv.enb() diff --git a/sysmocom/suites/4g/rrc_idle_mo_ping.py b/sysmocom/suites/4g/rrc_idle_mo_ping.py index 389e5a2..1fc55d7 100755 --- a/sysmocom/suites/4g/rrc_idle_mo_ping.py +++ b/sysmocom/suites/4g/rrc_idle_mo_ping.py @@ -1,5 +1,10 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * +import os + +# Overlay suite-specific templates folder if it exists +if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')): + tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates')) epc = tenv.epc() enb = tenv.enb() diff --git a/sysmocom/suites/4g/rrc_idle_mt_ping.py b/sysmocom/suites/4g/rrc_idle_mt_ping.py index 3360dba..21650e7 100755 --- a/sysmocom/suites/4g/rrc_idle_mt_ping.py +++ b/sysmocom/suites/4g/rrc_idle_mt_ping.py @@ -1,5 +1,10 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * +import os + +# Overlay suite-specific templates folder if it exists +if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')): + tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates')) epc = tenv.epc() enb = tenv.enb() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24051 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifc43ac41b16813116f2559da5223a6fecc186125 Gerrit-Change-Number: 24051 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:11 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:11 +0000 Subject: Change in osmo-gsm-tester[master]: ping: add a short delay after UE is attached before starting ping References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052 ) Change subject: ping: add a short delay after UE is attached before starting ping ...................................................................... ping: add a short delay after UE is attached before starting ping this is mainly to avoid ping losses in 5G NSA during NR attach. No impact on 4G though. Change-Id: Ic507dc4a24e8576b0ec3b301ee8e340ed553b300 --- M sysmocom/suites/4g/ping.py 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/52/24052/1 diff --git a/sysmocom/suites/4g/ping.py b/sysmocom/suites/4g/ping.py index 9b9993c..b4537d6 100755 --- a/sysmocom/suites/4g/ping.py +++ b/sysmocom/suites/4g/ping.py @@ -24,6 +24,9 @@ wait(ue.is_registered) print('UE is attached') +# Wait a bit +sleep(5) + proc = ue.run_netns_wait('ping', ('ping', '-c', '10', epc.tun_addr())) # Check zero lost pings -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic507dc4a24e8576b0ec3b301ee8e340ed553b300 Gerrit-Change-Number: 24052 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:12 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:12 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: extend prach_sent counter with NR version References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24053 ) Change subject: ms_srs: extend prach_sent counter with NR version ...................................................................... ms_srs: extend prach_sent counter with NR version make LTE version more explicit and add another counter for NR Change-Id: I8192dc3b4dae27417c93b68d33a686bca4783f4d --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/53/24053/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 041fd91..1cc17df 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -390,7 +390,9 @@ if counter_name == 'handover_success': return self.process.get_counter_stdout('HO successful') if counter_name == 'prach_sent': - return self.process.get_counter_stdout('Random Access Transmission') + return self.process.get_counter_stdout('Random Access Transmission: seq=') + if counter_name == 'prach_sent_nr': + return self.process.get_counter_stdout('Random Access Transmission: prach_occasion=') if counter_name == 'paging_received': return self.process.get_counter_stdout('S-TMSI match in paging message') if counter_name == 'reestablishment_attempts': -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24053 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8192dc3b4dae27417c93b68d33a686bca4783f4d Gerrit-Change-Number: 24053 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:12 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:12 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: update args for 21.04 changes to include NSA References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24054 ) Change subject: srsue.conf.tmpl: update args for 21.04 changes to include NSA ...................................................................... srsue.conf.tmpl: update args for 21.04 changes to include NSA this also removes the entire help text around arguments (that were very outdated already) and only leaves the actual values with changes. Change-Id: Icb9e8e7b1c68cf024db3a7273af791f017c32003 --- M src/osmo_gsm_tester/templates/srsue.conf.tmpl 1 file changed, 21 insertions(+), 323 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/54/24054/1 diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 135fa06..8a0e2b7 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -2,35 +2,22 @@ # srsUE configuration file ##################################################################### -##################################################################### -# RF configuration -# -# dl_earfcn: Downlink EARFCN code. -# freq_offset: Uplink and Downlink optional frequency offset (in Hz) -# tx_gain: Transmit gain (dB). -# rx_gain: Optional receive gain (dB). If disabled, AGC if enabled -# -# Optional parameters: -# dl_freq: Override DL frequency corresponding to dl_earfcn -# ul_freq: Override UL frequency corresponding to dl_earfcn -# nof_radios: Number of available RF devices -# nof_rf_channels: Number of RF channels per radio -# nof_rx_ant: Number of RX antennas per channel -# device_name: Device driver family. Supported options: "auto" (uses first found), "UHD" or "bladeRF" -# device_args: Arguments for the device driver. Options are "auto" or any string. -# Default for UHD: "recv_frame_size=9232,send_frame_size=9232" -# Default for bladeRF: "" -# device_args_2: Arguments for the RF device driver 2. -# device_args_3: Arguments for the RF device driver 3. -# time_adv_nsamples: Transmission time advance (in number of samples) to compensate for RF delay -# from antenna to timestamp insertion. -# Default "auto". B210 USRP: 100 samples, bladeRF: 27. -# burst_preamble_us: Preamble length to transmit before start of burst. -# Default "auto". B210 USRP: 400 us, bladeRF: 0 us. -# continuous_tx: Transmit samples continuously to the radio or on bursts (auto/yes/no). -# Default is auto (yes for UHD, no for rest) -##################################################################### [rf] +% if int(ue.tx_gain) > 0: +tx_gain = ${ue.tx_gain} +% endif +% if int(ue.rx_gain) > 0: +rx_gain = ${ue.rx_gain} +% endif + +freq_offset = ${ue.freq_offset} + +nof_antennas = ${ue.num_antennas} + +device_name = ${ue.rf_dev_type} +device_args = ${ue.rf_dev_args},${ue.rf_dev_sync} + +[rat.eutra] % if int(ue.num_carriers) == 4: dl_earfcn = 2850,3050,3250,3350 % elif int(ue.num_carriers) == 2: @@ -44,75 +31,17 @@ % if ue.ul_freq != "-1": ul_freq = ${ue.ul_freq} % endif -freq_offset = ${ue.freq_offset} -% if int(ue.tx_gain) > 0: -tx_gain = ${ue.tx_gain} -% endif -% if int(ue.rx_gain) > 0: -rx_gain = ${ue.rx_gain} -% endif -#nof_radios = 1 -nof_antennas = ${ue.num_antennas} nof_carriers = ${ue.num_carriers} -device_name = ${ue.rf_dev_type} -# For best performance in 2x2 MIMO and >= 15 MHz use the following device_args settings: -# USRP B210: num_recv_frames=64,num_send_frames=64 - -# For best performance when BW<5 MHz (25 PRB), use the following device_args settings: -# USRP B210: send_frame_size=512,recv_frame_size=512 - -device_args = ${ue.rf_dev_args},${ue.rf_dev_sync} -#time_adv_nsamples = auto -#burst_preamble_us = auto -#continuous_tx = auto - - -##################################################################### -# Packet capture configuration -# -# Packet capture is supported at both MAC and NAS layers. -# MAC-layer packets are captured to file in the compact format -# decoded by the Wireshark mac-lte-framed dissector. -# To use this dissector, edit the preferences for DLT_USER to -# add an entry with DLT=147, Payload Protocol=mac-lte-framed. -# For more information see: https://wiki.wireshark.org/MAC-LTE -# NAS-layer packets are dissected with DLT=148, and -# Payload Protocol = nas-eps. -# -# enable: Enable MAC layer packet captures (true/false) -# filename: File path to use for MAC packet captures -# nas_enable: Enable NAS layer packet captures (true/false) -# nas_filename: File path to use for NAS packet captures -##################################################################### [pcap] enable = ${'mac' if ue.enable_pcap else 'none'} mac_filename = ${ue.pcap_filename} mac_nr_filename = /tmp/ue_mac_nr.pcap nas_filename = /tmp/ue_nas.pcap -##################################################################### -# Log configuration -# -# Log levels can be set for individual layers. "all_level" sets log -# level for all layers unless otherwise configured. -# Format: e.g. phy_level = info -# -# In the same way, packet hex dumps can be limited for each level. -# "all_hex_limit" sets the hex limit for all layers unless otherwise -# configured. -# Format: e.g. phy_hex_limit = 32 -# -# Logging layers: rf, phy, mac, rlc, pdcp, rrc, nas, gw, usim, all -# Logging levels: debug, info, warning, error, none -# -# filename: File path to use for log output. Can be set to stdout -# to print logs to standard output -# file_max_size: Maximum file size (in kilobytes). When passed, multiple files are created. -# If set to negative, a single log file will be created. -##################################################################### + [log] all_level = ${ue.log_all_level} phy_lib_level = none @@ -121,19 +50,7 @@ file_max_size = -1 nas_level = ${ue.log_nas_level} -##################################################################### -# USIM configuration -# -# mode: USIM mode (soft/pcsc) -# algo: Authentication algorithm (xor/milenage) -# op/opc: 128-bit Operator Variant Algorithm Configuration Field (hex) -# - Specify either op or opc (only used in milenage) -# k: 128-bit subscriber key (hex) -# imsi: 15 digit International Mobile Subscriber Identity -# imei: 15 digit International Mobile Station Equipment Identity -# pin: PIN in case real SIM card is used -# reader: Specify card reader by it's name as listed by 'pcsc_scan'. If empty, try all available readers. -##################################################################### + [usim] mode = soft algo = ${ue.auth_algo} @@ -143,20 +60,8 @@ k = ${ue.ki} imsi = ${ue.imsi} imei = 353490069873319 -#reader = -#pin = 1234 -##################################################################### -# RRC configuration -# -# ue_category: Sets UE category (range 1-5). Default: 4 -# release: UE Release (8 to 10) -# feature_group: Hex value of the featureGroupIndicators field in the -# UECapabilityInformation message. Default 0xe6041000 -# mbms_service_id: MBMS service id for autostarting MBMS reception -# (default -1 means disabled) -# mbms_service_port: Port of the MBMS service -##################################################################### + [rrc] % if "dl_qam256" in ue.features or "ul_qam64" in ue.features: ue_category = 8 @@ -170,234 +75,27 @@ #ue_category = 4 #release = 8 % endif -#feature_group = 0xe6041000 -#mbms_service_id = -1 -#mbms_service_port = 4321 -##################################################################### -# NAS configuration -# -# apn: Set Access Point Name (APN) -# apn_protocol: Set APN protocol (IPv4, IPv6 or IPv4v6.) -# user: Username for CHAP authentication -# pass: Password for CHAP authentication -# force_imsi_attach: Whether to always perform an IMSI attach -# eia: List of integrity algorithms included in UE capabilities -# Supported: 1 - Snow3G, 2 - AES -# eea: List of ciphering algorithms included in UE capabilities -# Supported: 0 - NULL, 1 - Snow3G, 2 - AES -##################################################################### -[nas] -#apn = internetinternet -#apn_protocol = ipv4 -#user = srsuser -#pass = srspass -#force_imsi_attach = false -#eia = 1,2 -#eea = 0,1,2 -##################################################################### -# GW configuration -# -# netns: Network namespace to create TUN device. Default: empty -# ip_devname: Name of the tun_srsue device. Default: tun_srsue -# ip_netmask: Netmask of the tun_srsue device. Default: 255.255.255.0 -##################################################################### -[gw] -#netns = -#ip_devname = tun_srsue -#ip_netmask = 255.255.255.0 - -##################################################################### -# GUI configuration -# -# Simple GUI displaying PDSCH constellation and channel freq response. -# (Requires building with srsGUI) -# enable: Enable the graphical interface (true/false) -##################################################################### -[gui] -enable = false - -##################################################################### -# Channel emulator options: -# enable: Enable/Disable internal Downlink/Uplink channel emulator -# -# -- Fading emulator -# fading.enable: Enable/disable fading simulator -# fading.model: Fading model + maximum doppler (E.g. none, epa5, eva70, etu300, etc) -# -# -- Delay Emulator delay(t) = delay_min + (delay_max - delay_min) * (1 + sin(2pi*t/period)) / 2 -# Maximum speed [m/s]: (delay_max - delay_min) * pi * 300 / period -# delay.enable: Enable/disable delay simulator -# delay.period_s: Delay period in seconds. -# delay.init_time_s: Delay initial time in seconds. -# delay.maximum_us: Maximum delay in microseconds -# delay.minumum_us: Minimum delay in microseconds -# -# -- Radio-Link Failure (RLF) Emulator -# rlf.enable: Enable/disable RLF simulator -# rlf.t_on_ms: Time for On state of the channel (ms) -# rlf.t_off_ms: Time for Off state of the channel (ms) -# -# -- High Speed Train Doppler model simulator -# hst.enable: Enable/Disable HST simulator -# hst.period_s: HST simulation period in seconds -# hst.fd_hz: Doppler frequency in Hz -# hst.init_time_s: Initial time in seconds -##################################################################### -[channel.dl] -#enable = false - -[channel.dl.fading] -#enable = false -#model = none - -[channel.dl.delay] -#enable = false -#period_s = 3600 -#init_time_s = 0 -#maximum_us = 100 -#minimum_us = 10 - -[channel.dl.rlf] -#enable = false -#t_on_ms = 10000 -#t_off_ms = 2000 - -[channel.dl.hst] -#enable = false -#period_s = 7.2 -#fd_hz = 750.0 -#init_time_s = 0.0 - -[channel.ul] -#enable = false - -[channel.ul.fading] -#enable = false -#model = none - -[channel.ul.delay] -#enable = false -#period_s = 3600 -#init_time_s = 0 -#maximum_us = 100 -#minimum_us = 10 - -[channel.ul.rlf] -#enable = false -#t_on_ms = 10000 -#t_off_ms = 2000 - -[channel.ul.hst] -#enable = false -#period_s = 7.2 -#fd_hz = -750.0 -#init_time_s = 0.0 - -##################################################################### -# PHY configuration options -# -# rx_gain_offset: RX Gain offset to add to rx_gain to calibrate RSRP readings -# prach_gain: PRACH gain (dB). If defined, forces a gain for the tranmsission of PRACH only., -# Default is to use tx_gain in [rf] section. -# cqi_max: Upper bound on the maximum CQI to be reported. Default 15. -# cqi_fixed: Fixes the reported CQI to a constant value. Default disabled. -# snr_ema_coeff: Sets the SNR exponential moving average coefficient (Default 0.1) -# snr_estim_alg: Sets the noise estimation algorithm. (Default refs) -# Options: pss: use difference between received and known pss signal, -# refs: use difference between noise references and noiseless (after filtering) -# empty: use empty subcarriers in the boarder of pss/sss signal -# pdsch_max_its: Maximum number of turbo decoder iterations (Default 4) -# nof_phy_threads: Selects the number of PHY threads (maximum 4, minimum 1, default 3) -# equalizer_mode: Selects equalizer mode. Valid modes are: "mmse", "zf" or any -# non-negative real number to indicate a regularized zf coefficient. -# Default is MMSE. -# sfo_ema: EMA coefficient to average sample offsets used to compute SFO -# sfo_correct_period: Period in ms to correct sample time to adjust for SFO -# sss_algorithm: Selects the SSS estimation algorithm. Can choose between -# {full, partial, diff}. -# estimator_fil_auto: The channel estimator smooths the channel estimate with an adaptative filter. -# estimator_fil_stddev: Sets the channel estimator smooth gaussian filter standard deviation. -# estimator_fil_order: Sets the channel estimator smooth gaussian filter order (even values perform better). -# The taps are [w, 1-2w, w] -# -# snr_to_cqi_offset: Sets an offset in the SNR to CQI table. This is used to adjust the reported CQI. -# -# pregenerate_signals: Pregenerate uplink signals after attach. Improves CPU performance. -# -# interpolate_subframe_enabled: Interpolates in the time domain the channel estimates within 1 subframe. Default is to average. -# -# sic_pss_enabled: Applies Successive Interference Cancellation to PSS signals when searching for neighbour cells. -# Must be disabled if cells have identical channel and timing, for instance if generated from -# the same source. -# -# pdsch_csi_enabled: Stores the Channel State Information and uses it for weightening the softbits. It is only -# used in TM1. It is True by default. -# -# pdsch_8bit_decoder: Use 8-bit for LLR representation and turbo decoder trellis computation (Experimental) -# force_ul_amplitude: Forces the peak amplitude in the PUCCH, PUSCH and SRS (set 0.0 to 1.0, set to 0 or negative for disabling) -# -##################################################################### [phy] -#rx_gain_offset = 62 -#prach_gain = 30 -#cqi_max = 15 -#cqi_fixed = 10 -#snr_ema_coeff = 0.1 -#snr_estim_alg = refs -#pdsch_max_its = 8 # These are half iterations % if ue.rf_dev_type == 'zmq': nof_phy_threads = 2 % endif -#equalizer_mode = mmse -#sfo_ema = 0.1 -#sfo_correct_period = 10 -#sss_algorithm = full -#estimator_fil_auto = false -#estimator_fil_stddev = 1.0 -#estimator_fil_order = 4 -#snr_to_cqi_offset = 0.0 -#interpolate_subframe_enabled = false -#sic_pss_enabled = true -#pregenerate_signals = false -#pdsch_csi_enabled = true -#pdsch_8bit_decoder = false % if float(ue.force_ul_amplitude) > 0: force_ul_amplitude = ${ue.force_ul_amplitude} % endif -##################################################################### -# Simulation configuration options -# -# The UE simulation supports turning on and off airplane mode in the UE. -# The actions are carried periodically until the UE is stopped. -# -# airplane_t_on_ms: Time to leave airplane mode turned on (in ms) -# -# airplane_t_off_ms: Time to leave airplane mode turned off (in ms) -# -##################################################################### + [sim] airplane_t_on_ms = ${ue.airplane_t_on_ms} airplane_t_off_ms = ${ue.airplane_t_off_ms} -##################################################################### -# General configuration options -# -# metrics_csv_enable: Write UE metrics to CSV file. -# -# metrics_period_secs: Sets the period at which metrics are requested from the UE. -# -# metrics_csv_filename: File path to use for CSV metrics. -# -##################################################################### + [general] metrics_csv_enable = true -#metrics_period_secs = 1 metrics_csv_filename = ${ue.metrics_filename} % if ue.rf_dev_type == 'zmq': [stack] have_tti_time_stats = false -% endif +% endif \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24054 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icb9e8e7b1c68cf024db3a7273af791f017c32003 Gerrit-Change-Number: 24054 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:12 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:12 +0000 Subject: Change in osmo-gsm-tester[master]: enb_amarisoft: add "sdr" as rf_dev_type and rx_ant parameter References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24055 ) Change subject: enb_amarisoft: add "sdr" as rf_dev_type and rx_ant parameter ...................................................................... enb_amarisoft: add "sdr" as rf_dev_type and rx_ant parameter this allows to use the Amarisoft PCIe cards with OGT Change-Id: Ia373a78f59538d6dfca390431f85a7af26c9d914 --- M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl 2 files changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/55/24055/1 diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index 65c94dd..405ed68 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -37,7 +37,7 @@ schema.register_config_schema('amarisoftenb', config_schema) def rf_type_valid(rf_type_str): - return rf_type_str in ('uhd', 'zmq') + return rf_type_str in ('uhd', 'zmq', 'sdr') class AmarisoftENB(enb.eNodeB): diff --git a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl index 05689c7..5854967 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -2,6 +2,7 @@ name: "${trx.rf_dev_type}", args: "${trx.rf_dev_args}", sync: "${trx.rf_dev_sync}", + rx_antenna: "${trx.rx_ant}", % if trx.rf_dev_type == 'zmq': dl_sample_bits: 16, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24055 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia373a78f59538d6dfca390431f85a7af26c9d914 Gerrit-Change-Number: 24055 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:12 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:12 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add short_sn as config option for srsUE References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24056 ) Change subject: ms_srs: add short_sn as config option for srsUE ...................................................................... ms_srs: add short_sn as config option for srsUE this allows to change the announced support for PDCP short sequence number lengths Change-Id: Ibcf72dbb424ae3b6a87b60febb4dadf716407612 --- M src/osmo_gsm_tester/obj/ms_srs.py M sysmocom/defaults.conf 2 files changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/56/24056/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 1cc17df..54dc5de 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -53,7 +53,8 @@ config_schema = { 'enable_pcap': schema.BOOL_STR, 'log_all_level': schema.STR, - 'log_nas_level': schema.STR + 'log_nas_level': schema.STR, + 'nr_short_sn_support': schema.BOOL_STR } schema.register_config_schema('modem', config_schema) diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index 8bbae42..8740d62 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -187,6 +187,7 @@ log_all_level: warning log_nas_level: warning force_ul_amplitude: 0 + nr_short_sn_support: true amarisoftue: tx_gain: 89 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ibcf72dbb424ae3b6a87b60febb4dadf716407612 Gerrit-Change-Number: 24056 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:13 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:13 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_rf_driver.cfg.tmpl: only set trx offset for B210 References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24057 ) Change subject: amarisoft_rf_driver.cfg.tmpl: only set trx offset for B210 ...................................................................... amarisoft_rf_driver.cfg.tmpl: only set trx offset for B210 all other RF devices do not required any offset Change-Id: Id4c5f0bede5b09d59237cdd6a959a3663f1a1b37 --- M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl 1 file changed, 6 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/57/24057/1 diff --git a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl index 5854967..4674297 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -12,8 +12,10 @@ tx_gain: ${trx.tx_gain}, /* TX gain (in dB) B2x0: 0 to 89.8 dB */ rx_gain: ${trx.rx_gain}, /* RX gain (in dB) B2x0: 0 to 73 dB */ -% if trx.rf_dev_type == 'zmq': -tx_time_offset: 0, -% else: + +// only the B210 requires a sample offset +% if "b200" in trx.rf_dev_args: tx_time_offset: -150, -% endif +% else: +tx_time_offset: 0, +% endif \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Id4c5f0bede5b09d59237cdd6a959a3663f1a1b37 Gerrit-Change-Number: 24057 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:13 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:13 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: set srate param with the X310 References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24058 ) Change subject: srsue.conf.tmpl: set srate param with the X310 ...................................................................... srsue.conf.tmpl: set srate param with the X310 Change-Id: Icb04ed51ace97d4467558639aeb3f556dbe8678a --- M src/osmo_gsm_tester/templates/srsue.conf.tmpl 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/58/24058/1 diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 8a0e2b7..91e4a9a 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -14,6 +14,10 @@ nof_antennas = ${ue.num_antennas} +% if "x300" in ue.rf_dev_args: +srate = 23.04e6 +% endif + device_name = ${ue.rf_dev_type} device_args = ${ue.rf_dev_args},${ue.rf_dev_sync} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24058 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icb04ed51ace97d4467558639aeb3f556dbe8678a Gerrit-Change-Number: 24058 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:32:13 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:32:13 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb.conf.tmpl: use LTE sample rates when Lime is found in rf args References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24059 ) Change subject: srsenb.conf.tmpl: use LTE sample rates when Lime is found in rf args ...................................................................... srsenb.conf.tmpl: use LTE sample rates when Lime is found in rf args the lime doesn't work well with the shorter sample rates the eNB uses by default. Change-Id: I2d3dbdf5ff62980854ef67b20469f072ce31612e --- M src/osmo_gsm_tester/templates/srsenb.conf.tmpl 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/59/24059/1 diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index 4ae176e..ea18af7 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -289,3 +289,6 @@ #max_prach_offset_us = 30 eea_pref_list = ${', '.join(list(dict.fromkeys(enb.cipher_list))).upper()} eia_pref_list = ${', '.join(list(dict.fromkeys(enb.integrity_list))).upper()} +% if "lime" in enb.rf_dev_args: +lte_sample_rates = true +% endif \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24059 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d3dbdf5ff62980854ef67b20469f072ce31612e Gerrit-Change-Number: 24059 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:45:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 09:45:50 +0000 Subject: Change in docker-playground[master]: arm-none-eabi-gcc-4.8.2: install missing packages In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24040 ) Change subject: arm-none-eabi-gcc-4.8.2: install missing packages ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24040 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1cee58985225bd1c6600b0025d0417d66f441449 Gerrit-Change-Number: 24040 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 09:45:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:47:33 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 09:47:33 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_mme: use/expose count paramter from MS config for MME In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/22599 ) Change subject: amarisoft_mme: use/expose count paramter from MS config for MME ...................................................................... Patch Set 6: > Patch Set 3: Code-Review-1 > > Yes please, let's name it "subscriber_count". The reason I don't think subscriber is a good name is that those "virtual" UEs don't get added to the subscriber database. So there is just one subscriber entry and all those "$count" UEs use the same credentials. I would therefore leave that name because this is also the default one that Amarisoft uses in the config and so it is also easy to spot and link it to their docs. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/22599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I29885791f716c204d0b6f18ba134885bae853b6f Gerrit-Change-Number: 22599 Gerrit-PatchSet: 6 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 09:47:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 09:54:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 09:54:40 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_mme: use/expose count paramter from MS config for MME In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/22599 ) Change subject: amarisoft_mme: use/expose count paramter from MS config for MME ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/22599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I29885791f716c204d0b6f18ba134885bae853b6f Gerrit-Change-Number: 22599 Gerrit-PatchSet: 6 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 09:54:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:04:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:04:26 +0000 Subject: Change in osmo-gsm-tester[master]: epc_amarisoft: launch ltesim server when starting In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342 ) Change subject: epc_amarisoft: launch ltesim server when starting ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342/4/src/osmo_gsm_tester/obj/epc_amarisoft.py File src/osmo_gsm_tester/obj/epc_amarisoft.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342/4/src/osmo_gsm_tester/obj/epc_amarisoft.py at 123 PS4, Line 123: time.sleep(2) I would add a function in util.py to check if a give interface exists, and use it here in a wait() The function can be easily implemented by checking: fd = open('/sys/class/net/$iface_name/operstate') return read(fd) == "up" Feel free to submit this in a follow-up patch. In any case, let's move the "import time" module to the top of the file, that module is basic/generic enough to have it always loaded. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iad081e57e2fd9d3cbc3e59e4f729a4721ad778c9 Gerrit-Change-Number: 23342 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:04:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:08:36 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 3 May 2021 10:08:36 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/gsm_shared.py: s/GSM_BURST_LEN/GMSK_BURST_LEN/g In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24015 ) Change subject: trx_toolkit/gsm_shared.py: s/GSM_BURST_LEN/GMSK_BURST_LEN/g ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24015 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I7268196eb9fd822f0e7b65899e4c83c48a20ba5b Gerrit-Change-Number: 24015 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:08:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:09:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:09:46 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add resource scheme to configure fixed DL and UL freq In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346 ) Change subject: ms_srs: add resource scheme to configure fixed DL and UL freq ...................................................................... Patch Set 6: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346/6/src/osmo_gsm_tester/templates/srsue.conf.tmpl File src/osmo_gsm_tester/templates/srsue.conf.tmpl: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346/6/src/osmo_gsm_tester/templates/srsue.conf.tmpl at 41 PS6, Line 41: % if ue.dl_freq!= "-1": spacing. Since I don't see anything being put in defaults.conf, and this is set conditionally, this field also needs to be checked conditionally here: if ue.get('dl_freq', -1) != -1: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ice070ea6755e273d916db2dc941068d33bbe206a Gerrit-Change-Number: 23346 Gerrit-PatchSet: 6 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:09:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:11:40 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 3 May 2021 10:11:40 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trxd_proto.py: fix missing field name for codec.Spare In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24014 ) Change subject: trx_toolkit/trxd_proto.py: fix missing field name for codec.Spare ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24014 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I110dbcebf86cf978f2de7275a91c48b999fade32 Gerrit-Change-Number: 24014 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:11:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:12:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:12:19 +0000 Subject: Change in osmo-gsm-tester[master]: enb_srs: add support for eNB traces In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24041 ) Change subject: enb_srs: add support for eNB traces ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icb2342acac5db87a0889cbf1b6c7bb1ad26c16fa Gerrit-Change-Number: 24041 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 03 May 2021 10:12:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:15:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:15:24 +0000 Subject: Change in osmo-gsm-tester[master]: ms_amarisoft: extend AmariUE to support custom frequency bands In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24042 ) Change subject: ms_amarisoft: extend AmariUE to support custom frequency bands ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24042/1/src/osmo_gsm_tester/obj/ms.py File src/osmo_gsm_tester/obj/ms.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24042/1/src/osmo_gsm_tester/obj/ms.py at 38 PS1, Line 38: 'custom_band_list[].number': schema.UINT, do you plan to use all this with something else than Amarisoft? If only to be used by Amarisfot, then it makes sense to move it there probably. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24042/1/sysmocom/defaults.conf File sysmocom/defaults.conf: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24042/1/sysmocom/defaults.conf at 197 PS1, Line 197: ul_earfcn: 20850 is this number here correct? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I7b2250e13fc1161be1a1d73a4348f07b31c0f724 Gerrit-Change-Number: 24042 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 03 May 2021 10:15:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:18:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:18:08 +0000 Subject: Change in osmo-gsm-tester[master]: ping.py: add stricter pass/fail check In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24043 ) Change subject: ping.py: add stricter pass/fail check ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24043 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If089f77df1ffe991f26f1546558d51aac242df83 Gerrit-Change-Number: 24043 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:18:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:18:28 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 10:18:28 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: return 0 if iperf results can't be read back In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/22037 to look at the new patch set (#15). Change subject: iperf3: return 0 if iperf results can't be read back ...................................................................... iperf3: return 0 if iperf results can't be read back usually the calling code, i.e. the test, will use the result of the iperf run to check against a threshold. for that to work the return value can't be None. Change-Id: I5a8fe32f0a2bb676dbb80dad500bc6c63c176485 --- M src/osmo_gsm_tester/obj/iperf3.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/37/22037/15 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/22037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5a8fe32f0a2bb676dbb80dad500bc6c63c176485 Gerrit-Change-Number: 22037 Gerrit-PatchSet: 15 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:19:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:19:17 +0000 Subject: Change in osmo-gsm-tester[master]: schema: add 5G as UE feature In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24044 ) Change subject: schema: add 5G as UE feature ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24044 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I851e95fb0b763f2a838b161be4938715770eaa83 Gerrit-Change-Number: 24044 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:19:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:20:30 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 3 May 2021 10:20:30 +0000 Subject: Change in pysim[master]: Speed up AT command interface (~130 times faster) In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24034 ) Change subject: Speed up AT command interface (~130 times faster) ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69b1cbc0a20d54791e5800bf27ebafc2c8606d93 Gerrit-Change-Number: 24034 Gerrit-PatchSet: 3 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 03 May 2021 10:20:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:22:22 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 3 May 2021 10:22:22 +0000 Subject: Change in pysim[master]: ModemATCommandLink: fix AttributeError exception in __del__() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24039 ) Change subject: ModemATCommandLink: fix AttributeError exception in __del__() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24039 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I179a7efd92eaa3469a17b6ef252b3949c44ea6ea Gerrit-Change-Number: 24039 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Mon, 03 May 2021 10:22:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:37 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:37 +0000 Subject: Change in gr-gsm[master]: GNU Radio 3.8 support References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24060 to review the following change. Change subject: GNU Radio 3.8 support ...................................................................... GNU Radio 3.8 support https://wiki.gnuradio.org/index.php/GNU_Radio_3.8_OOT_Module_Porting_Guide Change-Id: I23dd638c8c48ed0a4b50559ce33fbd5e60b7dcbc --- M CMakeLists.txt M apps/CMakeLists.txt M apps/helpers/CMakeLists.txt D cmake/Modules/CreateSymlink.cmake D cmake/Modules/FindGnuradioRuntime.cmake D cmake/Modules/FindSWIG.cmake D cmake/Modules/FindVolk.cmake D cmake/Modules/GrMiscUtils.cmake D cmake/Modules/GrPlatform.cmake D cmake/Modules/GrPython.cmake D cmake/Modules/GrSwig.cmake D cmake/Modules/GrTest.cmake D cmake/Modules/GrVersion.cmake M cmake/Modules/GrccCompile.cmake D cmake/Modules/GrccCompileWrapper.sh D cmake/Modules/UseSWIG.cmake A cmake/Modules/targetConfig.cmake.in M docs/CMakeLists.txt M docs/doxygen/CMakeLists.txt M docs/doxygen/Doxyfile.in M docs/doxygen/Doxyfile.swig_doc.in M docs/doxygen/doxyxml/__init__.py M docs/doxygen/doxyxml/base.py M docs/doxygen/doxyxml/doxyindex.py M docs/doxygen/doxyxml/generated/__init__.py M docs/doxygen/doxyxml/generated/compound.py M docs/doxygen/doxyxml/generated/compoundsuper.py M docs/doxygen/doxyxml/generated/index.py M docs/doxygen/doxyxml/generated/indexsuper.py M docs/doxygen/doxyxml/text.py M docs/doxygen/swig_doc.py M lib/CMakeLists.txt M python/CMakeLists.txt M python/__init__.py M python/misc_utils/fn_time.py M python/qa_burst_printer.py M python/qa_message_printer.py M python/receiver/fcch_burst_tagger.py M python/receiver/sch_detector.py M swig/CMakeLists.txt 40 files changed, 1,602 insertions(+), 2,436 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/60/24060/1 diff --git a/CMakeLists.txt b/CMakeLists.txt index 27a3df7..f73bfbe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,7 @@ -# Copyright 2011,2012 Free Software Foundation, Inc. +# Copyright 2011,2012,2014,2016,2018 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,225 +18,136 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. - ######################################################################## # Project setup ######################################################################## -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.8) project(gr-gsm CXX C) enable_testing() -#set(CMAKE_BUILD_TYPE "Debug") -#select the release build type by default to get optimization flags +# Install to PyBOMBS target prefix if defined +if(DEFINED ENV{PYBOMBS_PREFIX}) + set(CMAKE_INSTALL_PREFIX $ENV{PYBOMBS_PREFIX}) + message(STATUS "PyBOMBS installed GNU Radio. Setting CMAKE_INSTALL_PREFIX to $ENV{PYBOMBS_PREFIX}") +endif() + +# Select the release build type by default to get optimization flags if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Release") message(STATUS "Build type not specified: defaulting to release.") endif(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "") -list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules) - -######################################################################## -# Set cmake policies. -######################################################################## -# This will suppress developer warnings during the cmake process that can occur -# if a newer cmake version than the minimum is used. - -if(POLICY CMP0026) - cmake_policy(SET CMP0026 OLD) -endif() -if(POLICY CMP0043) - cmake_policy(SET CMP0043 OLD) -endif() -if(POLICY CMP0045) - cmake_policy(SET CMP0045 OLD) -endif() -if(POLICY CMP0046) - cmake_policy(SET CMP0046 OLD) -endif() - -######################################################################## -# Set version variables ( -######################################################################## +# Make sure our local CMake Modules path comes first +list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/Modules) # Set the version information here -set(VERSION_INFO_MAJOR_VERSION 0) -set(VERSION_INFO_API_COMPAT 42) -set(VERSION_INFO_MINOR_VERSION 2) -set(VERSION_INFO_MAINT_VERSION ) -include(GrVersion) #setup version info +set(VERSION_MAJOR 1) +set(VERSION_API 0) +set(VERSION_ABI 0) +set(VERSION_PATCH git) + +cmake_policy(SET CMP0011 NEW) + +# Enable generation of compile_commands.json for code completion engines +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) ######################################################################## # Compiler specific setup ######################################################################## -if(CMAKE_COMPILER_IS_GNUCXX AND NOT WIN32) +if((CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR + CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + AND NOT WIN32) #http://gcc.gnu.org/wiki/Visibility add_definitions(-fvisibility=hidden) endif() -######################################################################## -# Find boost -######################################################################## -if(UNIX AND EXISTS "/usr/lib64") - list(APPEND BOOST_LIBRARYDIR "/usr/lib64") #fedora 64-bit fix -endif(UNIX AND EXISTS "/usr/lib64") -set(Boost_ADDITIONAL_VERSIONS - "1.35.0" "1.35" "1.36.0" "1.36" "1.37.0" "1.37" "1.38.0" "1.38" "1.39.0" "1.39" - "1.40.0" "1.40" "1.41.0" "1.41" "1.42.0" "1.42" "1.43.0" "1.43" "1.44.0" "1.44" - "1.45.0" "1.45" "1.46.0" "1.46" "1.47.0" "1.47" "1.48.0" "1.48" "1.49.0" "1.49" - "1.50.0" "1.50" "1.51.0" "1.51" "1.52.0" "1.52" "1.53.0" "1.53" "1.54.0" "1.54" - "1.55.0" "1.55" "1.56.0" "1.56" "1.57.0" "1.57" "1.58.0" "1.58" "1.59.0" "1.59" - "1.60.0" "1.60" "1.61.0" "1.61" "1.62.0" "1.62" "1.63.0" "1.63" "1.64.0" "1.64" - "1.65.0" "1.65" "1.66.0" "1.66" "1.67.0" "1.67" "1.68.0" "1.68" "1.69.0" "1.69" -) -find_package(Boost "1.35" COMPONENTS filesystem system thread) +IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + SET(CMAKE_CXX_STANDARD 11) +ELSEIF(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + SET(CMAKE_CXX_STANDARD 11) +ELSEIF(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + SET(CMAKE_CXX_STANDARD 11) +ELSE() + message(WARNING "C++ standard could not be set because compiler is not GNU, Clang or MSVC.") +ENDIF() -if(NOT Boost_FOUND) - message(FATAL_ERROR "Boost required to compile gr-gsm") -endif() - -find_package(SWIG) - -if(SWIG_FOUND) - # Minimum SWIG version required is 1.3.31 - set(SWIG_VERSION_CHECK FALSE) - if("${SWIG_VERSION}" VERSION_GREATER "1.3.30") - set(SWIG_VERSION_CHECK TRUE) - endif() -else() - message(FATAL_ERROR "SWIG required to compile gr-gsm") -endif(SWIG_FOUND) - +IF(CMAKE_C_COMPILER_ID STREQUAL "GNU") + SET(CMAKE_C_STANDARD 11) +ELSEIF(CMAKE_C_COMPILER_ID MATCHES "Clang") + SET(CMAKE_C_STANDARD 11) +ELSEIF(CMAKE_C_COMPILER_ID STREQUAL "MSVC") + SET(CMAKE_C_STANDARD 11) +ELSE() + message(WARNING "C standard could not be set because compiler is not GNU, Clang or MSVC.") +ENDIF() ######################################################################## # Install directories ######################################################################## +find_package(Gnuradio "3.8" REQUIRED COMPONENTS blocks filter fft CONFIG) +include(GrVersion) + include(GrPlatform) #define LIB_SUFFIX -set(GR_RUNTIME_DIR bin) -set(GR_LIBRARY_DIR lib${LIB_SUFFIX}) + +if(NOT CMAKE_MODULES_DIR) + set(CMAKE_MODULES_DIR lib${LIB_SUFFIX}/cmake) +endif(NOT CMAKE_MODULES_DIR) + set(GR_INCLUDE_DIR include/grgsm) -set(GR_INCLUDE_DIR include/grgsm/misc_utils) -set(GR_INCLUDE_DIR include/grgsm/receiver) -set(GR_INCLUDE_DIR include/grgsm/demapping) -set(GR_INCLUDE_DIR include/grgsm/decoding) -set(GR_DATA_DIR share) +set(GR_CMAKE_DIR ${CMAKE_MODULES_DIR}/gsm) set(GR_PKG_DATA_DIR ${GR_DATA_DIR}/${CMAKE_PROJECT_NAME}) -set(GR_DOC_DIR ${GR_DATA_DIR}/doc) set(GR_PKG_DOC_DIR ${GR_DOC_DIR}/${CMAKE_PROJECT_NAME}) -set(GR_CONF_DIR etc) set(GR_PKG_CONF_DIR ${GR_CONF_DIR}/${CMAKE_PROJECT_NAME}/conf.d) -set(GR_LIBEXEC_DIR libexec) set(GR_PKG_LIBEXEC_DIR ${GR_LIBEXEC_DIR}/${CMAKE_PROJECT_NAME}) -set(GRC_BLOCKS_DIR ${GR_PKG_DATA_DIR}/grc/blocks) - -######################################################################## -# Find gnuradio build dependencies -######################################################################## -set(GR_REQUIRED_COMPONENTS RUNTIME FILTER PMT) -find_package(Gnuradio) -find_package(Volk) -find_package(CppUnit) -#find_package(Doxygen) - -option(LOCAL_OSMOCOM "Build with local osmocom libraries" OFF) -find_package(Libosmocore) -find_package(Libosmocodec) -find_package(Libosmocoding) -find_package(Libosmogsm) - -if(NOT PKG_CONFIG_FOUND) - message(FATAL_ERROR "pkg-config is required to compile gr-gsm") -endif() -if(NOT GNURADIO_RUNTIME_FOUND) - message(FATAL_ERROR "GnuRadio Runtime required to compile gr-gsm") -endif() -if(NOT VOLK_FOUND) - message(FATAL_ERROR "Volk library required to compile gr-gsm") -endif() -if(NOT CPPUNIT_FOUND) - message(FATAL_ERROR "CppUnit required to compile gr-gsm") -endif() - -if(NOT LIBOSMOCORE_FOUND OR NOT LIBOSMOCODEC_FOUND OR NOT LIBOSMOGSM_FOUND) - set(LOCAL_OSMOCOM ON) -endif() - -if(LOCAL_OSMOCOM) - message(STATUS "Compiling with local osmocom libraries") -elseif(NOT LIBOSMOCODING_FOUND) - message(STATUS "Compiling local version of libosmocoding") -endif() - -######################################################################## -# Setup doxygen option -######################################################################## -#if(DOXYGEN_FOUND) -# option(ENABLE_DOXYGEN "Build docs using Doxygen" ON) -#else(DOXYGEN_FOUND) - option(ENABLE_DOXYGEN "Build docs using Doxygen" OFF) #TODO: write doxygen docs -#endif(DOXYGEN_FOUND) - -######################################################################## -# Setup the include and linker paths -######################################################################## - -list (APPEND grgsm_include_directories - ${CMAKE_SOURCE_DIR}/lib - ${CMAKE_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/lib - ${CMAKE_BINARY_DIR}/include - ${Boost_INCLUDE_DIRS} - ${CPPUNIT_INCLUDE_DIRS} - ${GNURADIO_ALL_INCLUDE_DIRS} - ${CMAKE_SOURCE_DIR}/lib/decoding -) - -if(LIBOSMOCORE_FOUND) - list (APPEND grgsm_include_directories - ${LIBOSMOCORE_INCLUDE_DIR} - ) -endif() - -include_directories( - ${grgsm_include_directories} -) - -list (APPEND grgsm_link_directories - ${Boost_LIBRARY_DIRS} - ${CPPUNIT_LIBRARY_DIRS} - ${GNURADIO_ALL_LIBRARY_DIRS} -) - -if(LIBOSMOCORE_FOUND) - list (APPEND grgsm_link_directories - ${LIBOSMOCORE_LIBRARY_DIRS} - ) -endif() - -link_directories( - ${grgsm_link_directories} -) - -# Set component parameters -set(GR_GSM_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include CACHE INTERNAL "" FORCE) -set(GR_GSM_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/swig CACHE INTERNAL "" FORCE) ######################################################################## # On Apple only, set install name and use rpath correctly, if not already set ######################################################################## if(APPLE) if(NOT CMAKE_INSTALL_NAME_DIR) - set(CMAKE_INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/${GR_LIBRARY_DIR} CACHE PATH "Library Install Name Destination Directory" FORCE) + set(CMAKE_INSTALL_NAME_DIR + ${CMAKE_INSTALL_PREFIX}/${GR_LIBRARY_DIR} CACHE + PATH "Library Install Name Destination Directory" FORCE) endif(NOT CMAKE_INSTALL_NAME_DIR) if(NOT CMAKE_INSTALL_RPATH) - set(cmakE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${GR_LIBRARY_DIR} CACHE PATH "Library Install RPath" FORCE) + set(CMAKE_INSTALL_RPATH + ${CMAKE_INSTALL_PREFIX}/${GR_LIBRARY_DIR} CACHE + PATH "Library Install RPath" FORCE) endif(NOT CMAKE_INSTALL_RPATH) if(NOT CMAKE_BUILD_WITH_INSTALL_RPATH) - set(CMAKE_BUILD_WITH_INSTALL_RPATH ON CACHE BOOL "Do Build Using Library Install RPath" FORCE) + set(CMAKE_BUILD_WITH_INSTALL_RPATH ON CACHE + BOOL "Do Build Using Library Install RPath" FORCE) endif(NOT CMAKE_BUILD_WITH_INSTALL_RPATH) endif(APPLE) ######################################################################## +# Find gnuradio build dependencies +######################################################################## +find_package(Doxygen) + +######################################################################## +# Find osmocom build dependencies +######################################################################## +option(LOCAL_OSMOCOM "Build with local osmocom libraries" OFF) +find_package(Libosmocore) +find_package(Libosmocodec) +find_package(Libosmocoding) +find_package(Libosmogsm) +if(NOT LIBOSMOCORE_FOUND OR NOT LIBOSMOCODEC_FOUND OR NOT LIBOSMOGSM_FOUND) + set(LOCAL_OSMOCOM ON) +endif() + +######################################################################## +# Setup doxygen option +######################################################################## +if(DOXYGEN_FOUND) + option(ENABLE_DOXYGEN "Build docs using Doxygen" ON) +else(DOXYGEN_FOUND) + option(ENABLE_DOXYGEN "Build docs using Doxygen" OFF) +endif(DOXYGEN_FOUND) + +######################################################################## # Create uninstall target ######################################################################## configure_file( @@ -245,28 +157,24 @@ add_custom_target(uninstall ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake -) + ) + ######################################################################## # Add subdirectories ######################################################################## add_subdirectory(include/grgsm) add_subdirectory(lib) +add_subdirectory(apps) +add_subdirectory(docs) add_subdirectory(swig) add_subdirectory(python) add_subdirectory(grc) -add_subdirectory(apps) -add_subdirectory(docs) ######################################################################## # Install cmake search helper for this library ######################################################################## -install(FILES cmake/Modules/gr-gsmConfig.cmake - DESTINATION lib${LIB_SUFFIX}/cmake/grgsm -) -######################################################################## -# Print summary -######################################################################## -message(STATUS "Using install prefix: ${CMAKE_INSTALL_PREFIX}") -message(STATUS "Building for version: ${VERSION} / ${LIBVER}") +install(FILES cmake/Modules/gr-gsmConfig.cmake + DESTINATION ${CMAKE_MODULES_DIR}/gsm +) diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt index 85e78d7..54a7774 100644 --- a/apps/CMakeLists.txt +++ b/apps/CMakeLists.txt @@ -1,6 +1,7 @@ -# Copyright 2011 Free Software Foundation, Inc. +# Copyright 2011,2012,2014,2016,2018 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -20,7 +21,6 @@ include(GrPython) include(GrccCompile) add_subdirectory(helpers) -#add_subdirectory(apps_data) GRCC_COMPILE(grgsm_livemon) GRCC_COMPILE(grgsm_livemon_headless) @@ -30,13 +30,13 @@ OPTION(ENABLE_GRGSM_LIVEMON "Compile grgsm_livemon" ON) OPTION(ENABLE_GRGSM_LIVEMON_HEADLESS "Compile grgsm_livemon_headless" ON) -if(ENABLE_GRCC AND ENABLE_GRGSM_LIVEMON) +if(ENABLE_GRC AND ENABLE_GRCC AND ENABLE_GRGSM_LIVEMON) list (APPEND grgsm_flowgraphs ${CMAKE_CURRENT_BINARY_DIR}/grgsm_livemon) -endif(ENABLE_GRCC AND ENABLE_GRGSM_LIVEMON) +endif() -if(ENABLE_GRCC AND ENABLE_GRGSM_LIVEMON_HEADLESS) +if(ENABLE_GRC AND ENABLE_GRCC AND ENABLE_GRGSM_LIVEMON_HEADLESS) list (APPEND grgsm_flowgraphs ${CMAKE_CURRENT_BINARY_DIR}/grgsm_livemon_headless) -endif(ENABLE_GRCC AND ENABLE_GRGSM_LIVEMON_HEADLESS) +endif() GR_PYTHON_INSTALL( PROGRAMS @@ -50,9 +50,4 @@ # The add_dependencies(...) is very important for the parallel build `make -j $(nproc)` # The `pygen_apps` target is generated in GR_PYTHON_INSTALL function which calls # GR_UNIQUE_TARGET that we redefine in GrccCompile. -add_dependencies(pygen_apps _grgsm_swig) - -install( - PROGRAMS - DESTINATION bin -) +add_dependencies(pygen_apps grgsm_swig) diff --git a/apps/helpers/CMakeLists.txt b/apps/helpers/CMakeLists.txt index a85319d..1eef9fe 100644 --- a/apps/helpers/CMakeLists.txt +++ b/apps/helpers/CMakeLists.txt @@ -1,6 +1,7 @@ -# Copyright 2011 Free Software Foundation, Inc. +# Copyright 2011,2012,2014,2016,2018 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/cmake/Modules/CreateSymlink.cmake b/cmake/Modules/CreateSymlink.cmake deleted file mode 100644 index 574c443..0000000 --- a/cmake/Modules/CreateSymlink.cmake +++ /dev/null @@ -1,10 +0,0 @@ -#create logical links in order to keep legacy names of apps -macro(CREATE_SYMLINK _source _dest) - set(source ${CMAKE_CURRENT_SOURCE_DIR}/${_source}) - set(dest ${CMAKE_CURRENT_BINARY_DIR}/${_dest}) - list(APPEND symlinks ${dest}) - add_custom_command( - DEPENDS ${source} OUTPUT ${dest} - COMMAND ln -sf ${_source} ${_dest} - ) -endmacro(CREATE_SYMLINK) diff --git a/cmake/Modules/FindGnuradioRuntime.cmake b/cmake/Modules/FindGnuradioRuntime.cmake deleted file mode 100644 index afed684..0000000 --- a/cmake/Modules/FindGnuradioRuntime.cmake +++ /dev/null @@ -1,36 +0,0 @@ -INCLUDE(FindPkgConfig) -PKG_CHECK_MODULES(PC_GNURADIO_RUNTIME gnuradio-runtime) - -if(PC_GNURADIO_RUNTIME_FOUND) - # look for include files - FIND_PATH( - GNURADIO_RUNTIME_INCLUDE_DIRS - NAMES gnuradio/top_block.h - HINTS $ENV{GNURADIO_RUNTIME_DIR}/include - ${PC_GNURADIO_RUNTIME_INCLUDE_DIRS} - ${CMAKE_INSTALL_PREFIX}/include - PATHS /usr/local/include - /usr/include - ) - - # look for libs - FIND_LIBRARY( - GNURADIO_RUNTIME_LIBRARIES - NAMES gnuradio-runtime - HINTS $ENV{GNURADIO_RUNTIME_DIR}/lib - ${PC_GNURADIO_RUNTIME_LIBDIR} - ${CMAKE_INSTALL_PREFIX}/lib/ - ${CMAKE_INSTALL_PREFIX}/lib64/ - PATHS /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 - ) - - set(GNURADIO_RUNTIME_FOUND ${PC_GNURADIO_RUNTIME_FOUND}) -endif(PC_GNURADIO_RUNTIME_FOUND) - -INCLUDE(FindPackageHandleStandardArgs) -# do not check GNURADIO_RUNTIME_INCLUDE_DIRS, is not set when default include path us used. -FIND_PACKAGE_HANDLE_STANDARD_ARGS(GNURADIO_RUNTIME DEFAULT_MSG GNURADIO_RUNTIME_LIBRARIES) -MARK_AS_ADVANCED(GNURADIO_RUNTIME_LIBRARIES GNURADIO_RUNTIME_INCLUDE_DIRS) diff --git a/cmake/Modules/FindSWIG.cmake b/cmake/Modules/FindSWIG.cmake deleted file mode 100644 index e10080d..0000000 --- a/cmake/Modules/FindSWIG.cmake +++ /dev/null @@ -1,142 +0,0 @@ -####################################################################### -# Find the library for SWIG -# -# The goal here is to intercept calls to "FIND_PACKAGE(SWIG)" in order -# to do a global version check locally after passing on the "find" to -# SWIG-provided scripts. -######################################################################## - -# make this file non-reentrant within the current context - -if(__INCLUDED_FIND_SWIG_CMAKE) - return() -endif() -set(__INCLUDED_FIND_SWIG_CMAKE TRUE) - -# some status messages - -message(STATUS "") -message(STATUS "Checking for module SWIG") - -# -# First check to see if SWIG installed its own CMake file, or if the -# one provided by CMake finds SWIG. -# - -# save the current MODULE path - -set(SAVED_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}) - -# clear the current MODULE path; uses system paths only - -unset(CMAKE_MODULE_PATH) - -# try to find SWIG via the provided parameters, -# handle REQUIRED internally later - -unset(SWIG_FOUND) - -# was the version specified? - -unset(LOCAL_SWIG_FIND_VERSION) -if(SWIG_FIND_VERSION) - set(LOCAL_SWIG_FIND_VERSION ${SWIG_FIND_VERSION}) -endif(SWIG_FIND_VERSION) - -# was EXACT specified? - -unset(LOCAL_SWIG_FIND_VERSION_EXACT) -if(SWIG_FIND_VERSION_EXACT) - set(LOCAL_SWIG_FIND_VERSION_EXACT "EXACT") -endif(SWIG_FIND_VERSION_EXACT) - -# was REQUIRED specified? - -unset(LOCAL_SWIG_FIND_REQUIRED) -if(SWIG_FIND_REQUIRED) - set(LOCAL_SWIG_FIND_REQUIRED "REQUIRED") -endif(SWIG_FIND_REQUIRED) - -# try to find SWIG using the provided parameters, quietly; -# -# this call will error out internally (and not quietly) if: -# 1: EXACT is specified and the version found does not match the requested version; -# 2: REQUIRED is set and SWIG was not found; -# -# this call will return SWIG_FOUND == FALSE if REQUIRED is not set, and: -# 1: SWIG was not found; -# 2: The version found is less than the requested version. - -find_package( - SWIG - ${LOCAL_SWIG_FIND_VERSION} - ${LOCAL_SWIG_FIND_VERSION_EXACT} - ${LOCAL_SWIG_FIND_REQUIRED} - QUIET -) - -# restore CMAKE_MODULE_PATH - -set(CMAKE_MODULE_PATH ${SAVED_CMAKE_MODULE_PATH}) - -# specific version checks - -set(SWIG_VERSION_CHECK FALSE) -if(SWIG_FOUND) - - # SWIG was found; make sure the version meets GR's needs - message(STATUS "Found SWIG version ${SWIG_VERSION}.") - if("${SWIG_VERSION}" VERSION_GREATER "1.3.30") - if(NOT "${SWIG_VERSION}" VERSION_EQUAL "3.0.3" AND - NOT "${SWIG_VERSION}" VERSION_EQUAL "3.0.4") - set(SWIG_VERSION_CHECK TRUE) - else() - message(STATUS "SWIG versions 3.0.3 and 3.0.4 fail to work with GNU Radio.") - endif() - else() - message(STATUS "Minimum SWIG version required is 1.3.31 for GNU Radio.") - endif() - -else() - - # SWIG was either not found, or is less than the requested version - if(SWIG_VERSION) - # SWIG_VERSION is set, but SWIG_FOUND is false; probably a version mismatch - message(STATUS "Found SWIG version ${SWIG_VERSION}.") - message(STATUS "Requested SWIG version is at least ${SWIG_FIND_VERSION}.") - endif() -endif() - -# did the version check fail? - -if(NOT SWIG_VERSION_CHECK) - - # yes: clear various variables and set FOUND to FALSE - message(STATUS "Disabling SWIG because version check failed.") - unset(SWIG_VERSION CACHE) - unset(SWIG_DIR CACHE) - unset(SWIG_EXECUTABLE CACHE) - set(SWIG_FOUND FALSE CACHE BOOL "Set to TRUE if a compatible version of SWIG is found" FORCE) - -endif() - -# check to see if SWIG variables were set - -if(SWIG_FOUND AND SWIG_DIR AND SWIG_EXECUTABLE) - - # yes: even if set SWIG_FOUND==TRUE, then these have already been - # done, but done quietly. It does not hurt to redo them here. - - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(SWIG DEFAULT_MSG SWIG_EXECUTABLE SWIG_DIR) - mark_as_advanced(SWIG_EXECUTABLE SWIG_DIR) - -elseif(SWIG_FIND_REQUIRED) - - if(SWIG_FIND_VERSION) - message(FATAL_ERROR "The found SWIG version (${SWIG_VERSION}) is not compatible with the version required (${SWIG_FIND_VERSION}).") - else() - message(FATAL_ERROR "SWIG is required, but was not found.") - endif() -endif() - diff --git a/cmake/Modules/FindVolk.cmake b/cmake/Modules/FindVolk.cmake deleted file mode 100644 index 425eb01..0000000 --- a/cmake/Modules/FindVolk.cmake +++ /dev/null @@ -1,26 +0,0 @@ -INCLUDE(FindPkgConfig) -PKG_CHECK_MODULES(PC_VOLK volk) - -FIND_PATH( - VOLK_INCLUDE_DIRS - NAMES volk/volk.h - HINTS $ENV{VOLK_DIR}/include - ${PC_VOLK_INCLUDEDIR} - PATHS /usr/local/include - /usr/include -) - -FIND_LIBRARY( - VOLK_LIBRARIES - NAMES volk - HINTS $ENV{VOLK_DIR}/lib - ${PC_VOLK_LIBDIR} - PATHS /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 -) - -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(VOLK DEFAULT_MSG VOLK_LIBRARIES VOLK_INCLUDE_DIRS) -MARK_AS_ADVANCED(VOLK_LIBRARIES VOLK_INCLUDE_DIRS) diff --git a/cmake/Modules/GrMiscUtils.cmake b/cmake/Modules/GrMiscUtils.cmake deleted file mode 100644 index 04efa9e..0000000 --- a/cmake/Modules/GrMiscUtils.cmake +++ /dev/null @@ -1,459 +0,0 @@ -# Copyright 2010-2011,2014 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -if(DEFINED __INCLUDED_GR_MISC_UTILS_CMAKE) - return() -endif() -set(__INCLUDED_GR_MISC_UTILS_CMAKE TRUE) - -######################################################################## -# Set global variable macro. -# Used for subdirectories to export settings. -# Example: include and library paths. -######################################################################## -function(GR_SET_GLOBAL var) - set(${var} ${ARGN} CACHE INTERNAL "" FORCE) -endfunction(GR_SET_GLOBAL) - -######################################################################## -# Set the pre-processor definition if the condition is true. -# - def the pre-processor definition to set and condition name -######################################################################## -function(GR_ADD_COND_DEF def) - if(${def}) - add_definitions(-D${def}) - endif(${def}) -endfunction(GR_ADD_COND_DEF) - -######################################################################## -# Check for a header and conditionally set a compile define. -# - hdr the relative path to the header file -# - def the pre-processor definition to set -######################################################################## -function(GR_CHECK_HDR_N_DEF hdr def) - include(CheckIncludeFileCXX) - CHECK_INCLUDE_FILE_CXX(${hdr} ${def}) - GR_ADD_COND_DEF(${def}) -endfunction(GR_CHECK_HDR_N_DEF) - -######################################################################## -# Include subdirectory macro. -# Sets the CMake directory variables, -# includes the subdirectory CMakeLists.txt, -# resets the CMake directory variables. -# -# This macro includes subdirectories rather than adding them -# so that the subdirectory can affect variables in the level above. -# This provides a work-around for the lack of convenience libraries. -# This way a subdirectory can append to the list of library sources. -######################################################################## -macro(GR_INCLUDE_SUBDIRECTORY subdir) - #insert the current directories on the front of the list - list(INSERT _cmake_source_dirs 0 ${CMAKE_CURRENT_SOURCE_DIR}) - list(INSERT _cmake_binary_dirs 0 ${CMAKE_CURRENT_BINARY_DIR}) - - #set the current directories to the names of the subdirs - set(CMAKE_CURRENT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${subdir}) - set(CMAKE_CURRENT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${subdir}) - - #include the subdirectory CMakeLists to run it - file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - include(${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt) - - #reset the value of the current directories - list(GET _cmake_source_dirs 0 CMAKE_CURRENT_SOURCE_DIR) - list(GET _cmake_binary_dirs 0 CMAKE_CURRENT_BINARY_DIR) - - #pop the subdir names of the front of the list - list(REMOVE_AT _cmake_source_dirs 0) - list(REMOVE_AT _cmake_binary_dirs 0) -endmacro(GR_INCLUDE_SUBDIRECTORY) - -######################################################################## -# Check if a compiler flag works and conditionally set a compile define. -# - flag the compiler flag to check for -# - have the variable to set with result -######################################################################## -macro(GR_ADD_CXX_COMPILER_FLAG_IF_AVAILABLE flag have) - include(CheckCXXCompilerFlag) - CHECK_CXX_COMPILER_FLAG(${flag} ${have}) - if(${have}) - if(${CMAKE_VERSION} VERSION_GREATER "2.8.4") - STRING(FIND "${CMAKE_CXX_FLAGS}" "${flag}" flag_dup) - if(${flag_dup} EQUAL -1) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}") - endif(${flag_dup} EQUAL -1) - endif(${CMAKE_VERSION} VERSION_GREATER "2.8.4") - endif(${have}) -endmacro(GR_ADD_CXX_COMPILER_FLAG_IF_AVAILABLE) - -######################################################################## -# Generates the .la libtool file -# This appears to generate libtool files that cannot be used by auto*. -# Usage GR_LIBTOOL(TARGET [target] DESTINATION [dest]) -# Notice: there is not COMPONENT option, these will not get distributed. -######################################################################## -function(GR_LIBTOOL) - if(NOT DEFINED GENERATE_LIBTOOL) - set(GENERATE_LIBTOOL OFF) #disabled by default - endif() - - if(GENERATE_LIBTOOL) - include(CMakeParseArgumentsCopy) - CMAKE_PARSE_ARGUMENTS(GR_LIBTOOL "" "TARGET;DESTINATION" "" ${ARGN}) - - find_program(LIBTOOL libtool) - if(LIBTOOL) - include(CMakeMacroLibtoolFile) - CREATE_LIBTOOL_FILE(${GR_LIBTOOL_TARGET} /${GR_LIBTOOL_DESTINATION}) - endif(LIBTOOL) - endif(GENERATE_LIBTOOL) - -endfunction(GR_LIBTOOL) - -######################################################################## -# Do standard things to the library target -# - set target properties -# - make install rules -# Also handle gnuradio custom naming conventions w/ extras mode. -######################################################################## -function(GR_LIBRARY_FOO target) - #parse the arguments for component names - include(CMakeParseArgumentsCopy) - CMAKE_PARSE_ARGUMENTS(GR_LIBRARY "" "RUNTIME_COMPONENT;DEVEL_COMPONENT" "" ${ARGN}) - - #set additional target properties - set_target_properties(${target} PROPERTIES SOVERSION ${LIBVER}) - - #install the generated files like so... - install(TARGETS ${target} - LIBRARY DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT} # .so/.dylib file - ARCHIVE DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_DEVEL_COMPONENT} # .lib file - RUNTIME DESTINATION ${GR_RUNTIME_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT} # .dll file - ) - - #extras mode enabled automatically on linux - if(NOT DEFINED LIBRARY_EXTRAS) - set(LIBRARY_EXTRAS ${LINUX}) - endif() - - #special extras mode to enable alternative naming conventions - if(LIBRARY_EXTRAS) - - #create .la file before changing props - GR_LIBTOOL(TARGET ${target} DESTINATION ${GR_LIBRARY_DIR}) - - #give the library a special name with ultra-zero soversion - set_target_properties(${target} PROPERTIES OUTPUT_NAME ${target}-${LIBVER} SOVERSION "0.0.0") - set(target_name lib${target}-${LIBVER}.so.0.0.0) - - #custom command to generate symlinks - add_custom_command( - TARGET ${target} - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E create_symlink ${target_name} ${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so - COMMAND ${CMAKE_COMMAND} -E create_symlink ${target_name} ${CMAKE_CURRENT_BINARY_DIR}/lib${target}-${LIBVER}.so.0 - COMMAND ${CMAKE_COMMAND} -E touch ${target_name} #so the symlinks point to something valid so cmake 2.6 will install - ) - - #and install the extra symlinks - install( - FILES - ${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so - ${CMAKE_CURRENT_BINARY_DIR}/lib${target}-${LIBVER}.so.0 - DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT} - ) - - endif(LIBRARY_EXTRAS) -endfunction(GR_LIBRARY_FOO) - -######################################################################## -# Create a dummy custom command that depends on other targets. -# Usage: -# GR_GEN_TARGET_DEPS(unique_name target_deps ...) -# ADD_CUSTOM_COMMAND( ${target_deps}) -# -# Custom command cant depend on targets, but can depend on executables, -# and executables can depend on targets. So this is the process: -######################################################################## -function(GR_GEN_TARGET_DEPS name var) - file( - WRITE ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp.in - "int main(void){return 0;}\n" - ) - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp.in - ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp - ) - add_executable(${name} ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp) - if(ARGN) - add_dependencies(${name} ${ARGN}) - endif(ARGN) - - if(CMAKE_CROSSCOMPILING) - set(${var} "DEPENDS;${name}" PARENT_SCOPE) #cant call command when cross - else() - set(${var} "DEPENDS;${name};COMMAND;${name}" PARENT_SCOPE) - endif() -endfunction(GR_GEN_TARGET_DEPS) - -######################################################################## -# Control use of gr_logger -# Usage: -# GR_LOGGING() -# -# Will set ENABLE_GR_LOG to 1 by default. -# Can manually set with -DENABLE_GR_LOG=0|1 -######################################################################## -function(GR_LOGGING) - find_package(Log4cpp) - - OPTION(ENABLE_GR_LOG "Use gr_logger" ON) - if(ENABLE_GR_LOG) - # If gr_logger is enabled, make it usable - add_definitions( -DENABLE_GR_LOG ) - - # also test LOG4CPP; if we have it, use this version of the logger - # otherwise, default to the stdout/stderr model. - if(LOG4CPP_FOUND) - SET(HAVE_LOG4CPP True CACHE INTERNAL "" FORCE) - add_definitions( -DHAVE_LOG4CPP ) - else(not LOG4CPP_FOUND) - SET(HAVE_LOG4CPP False CACHE INTERNAL "" FORCE) - SET(LOG4CPP_INCLUDE_DIRS "" CACHE INTERNAL "" FORCE) - SET(LOG4CPP_LIBRARY_DIRS "" CACHE INTERNAL "" FORCE) - SET(LOG4CPP_LIBRARIES "" CACHE INTERNAL "" FORCE) - endif(LOG4CPP_FOUND) - - SET(ENABLE_GR_LOG ${ENABLE_GR_LOG} CACHE INTERNAL "" FORCE) - - else(ENABLE_GR_LOG) - SET(HAVE_LOG4CPP False CACHE INTERNAL "" FORCE) - SET(LOG4CPP_INCLUDE_DIRS "" CACHE INTERNAL "" FORCE) - SET(LOG4CPP_LIBRARY_DIRS "" CACHE INTERNAL "" FORCE) - SET(LOG4CPP_LIBRARIES "" CACHE INTERNAL "" FORCE) - endif(ENABLE_GR_LOG) - - message(STATUS "ENABLE_GR_LOG set to ${ENABLE_GR_LOG}.") - message(STATUS "HAVE_LOG4CPP set to ${HAVE_LOG4CPP}.") - message(STATUS "LOG4CPP_LIBRARIES set to ${LOG4CPP_LIBRARIES}.") - -endfunction(GR_LOGGING) - -######################################################################## -# Check if HAVE_PTHREAD_SETSCHEDPARAM and HAVE_SCHED_SETSCHEDULER -# should be defined -######################################################################## -macro(GR_CHECK_LINUX_SCHED_AVAIL) -set(CMAKE_REQUIRED_LIBRARIES -lpthread) - CHECK_CXX_SOURCE_COMPILES(" - #include - int main(){ - pthread_t pthread; - pthread_setschedparam(pthread, 0, 0); - return 0; - } " HAVE_PTHREAD_SETSCHEDPARAM - ) - GR_ADD_COND_DEF(HAVE_PTHREAD_SETSCHEDPARAM) - - CHECK_CXX_SOURCE_COMPILES(" - #include - int main(){ - pid_t pid; - sched_setscheduler(pid, 0, 0); - return 0; - } " HAVE_SCHED_SETSCHEDULER - ) - GR_ADD_COND_DEF(HAVE_SCHED_SETSCHEDULER) -endmacro(GR_CHECK_LINUX_SCHED_AVAIL) - -######################################################################## -# Macros to generate source and header files from template -######################################################################## -macro(GR_EXPAND_X_H component root) - - include(GrPython) - - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py -"#!${PYTHON_EXECUTABLE} - -import sys, os, re -sys.path.append('${GR_RUNTIME_PYTHONPATH}') -os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' -os.chdir('${CMAKE_CURRENT_BINARY_DIR}') - -if __name__ == '__main__': - import build_utils - root, inp = sys.argv[1:3] - for sig in sys.argv[3:]: - name = re.sub ('X+', sig, root) - d = build_utils.standard_dict2(name, sig, '${component}') - build_utils.expand_template(d, inp) -") - - #make a list of all the generated headers - unset(expanded_files_h) - foreach(sig ${ARGN}) - string(REGEX REPLACE "X+" ${sig} name ${root}) - list(APPEND expanded_files_h ${CMAKE_CURRENT_BINARY_DIR}/${name}.h) - endforeach(sig) - unset(name) - - #create a command to generate the headers - add_custom_command( - OUTPUT ${expanded_files_h} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}.h.t - COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} - ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py - ${root} ${root}.h.t ${ARGN} - ) - - #install rules for the generated headers - list(APPEND generated_includes ${expanded_files_h}) - -endmacro(GR_EXPAND_X_H) - -macro(GR_EXPAND_X_CC_H component root) - - include(GrPython) - - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py -"#!${PYTHON_EXECUTABLE} - -import sys, os, re -sys.path.append('${GR_RUNTIME_PYTHONPATH}') -os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' -os.chdir('${CMAKE_CURRENT_BINARY_DIR}') - -if __name__ == '__main__': - import build_utils - root, inp = sys.argv[1:3] - for sig in sys.argv[3:]: - name = re.sub ('X+', sig, root) - d = build_utils.standard_impl_dict2(name, sig, '${component}') - build_utils.expand_template(d, inp) -") - - #make a list of all the generated files - unset(expanded_files_cc) - unset(expanded_files_h) - foreach(sig ${ARGN}) - string(REGEX REPLACE "X+" ${sig} name ${root}) - list(APPEND expanded_files_cc ${CMAKE_CURRENT_BINARY_DIR}/${name}.cc) - list(APPEND expanded_files_h ${CMAKE_CURRENT_BINARY_DIR}/${name}.h) - endforeach(sig) - unset(name) - - #create a command to generate the source files - add_custom_command( - OUTPUT ${expanded_files_cc} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}.cc.t - COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} - ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py - ${root} ${root}.cc.t ${ARGN} - ) - - #create a command to generate the header files - add_custom_command( - OUTPUT ${expanded_files_h} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}.h.t - COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} - ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py - ${root} ${root}.h.t ${ARGN} - ) - - #make source files depends on headers to force generation - set_source_files_properties(${expanded_files_cc} - PROPERTIES OBJECT_DEPENDS "${expanded_files_h}" - ) - - #install rules for the generated files - list(APPEND generated_sources ${expanded_files_cc}) - list(APPEND generated_headers ${expanded_files_h}) - -endmacro(GR_EXPAND_X_CC_H) - -macro(GR_EXPAND_X_CC_H_IMPL component root) - - include(GrPython) - - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py -"#!${PYTHON_EXECUTABLE} - -import sys, os, re -sys.path.append('${GR_RUNTIME_PYTHONPATH}') -os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' -os.chdir('${CMAKE_CURRENT_BINARY_DIR}') - -if __name__ == '__main__': - import build_utils - root, inp = sys.argv[1:3] - for sig in sys.argv[3:]: - name = re.sub ('X+', sig, root) - d = build_utils.standard_dict(name, sig, '${component}') - build_utils.expand_template(d, inp, '_impl') -") - - #make a list of all the generated files - unset(expanded_files_cc_impl) - unset(expanded_files_h_impl) - unset(expanded_files_h) - foreach(sig ${ARGN}) - string(REGEX REPLACE "X+" ${sig} name ${root}) - list(APPEND expanded_files_cc_impl ${CMAKE_CURRENT_BINARY_DIR}/${name}_impl.cc) - list(APPEND expanded_files_h_impl ${CMAKE_CURRENT_BINARY_DIR}/${name}_impl.h) - list(APPEND expanded_files_h ${CMAKE_CURRENT_BINARY_DIR}/../include/gnuradio/${component}/${name}.h) - endforeach(sig) - unset(name) - - #create a command to generate the _impl.cc files - add_custom_command( - OUTPUT ${expanded_files_cc_impl} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}_impl.cc.t - COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} - ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py - ${root} ${root}_impl.cc.t ${ARGN} - ) - - #create a command to generate the _impl.h files - add_custom_command( - OUTPUT ${expanded_files_h_impl} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}_impl.h.t - COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} - ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py - ${root} ${root}_impl.h.t ${ARGN} - ) - - #make _impl.cc source files depend on _impl.h to force generation - set_source_files_properties(${expanded_files_cc_impl} - PROPERTIES OBJECT_DEPENDS "${expanded_files_h_impl}" - ) - - #make _impl.h source files depend on headers to force generation - set_source_files_properties(${expanded_files_h_impl} - PROPERTIES OBJECT_DEPENDS "${expanded_files_h}" - ) - - #install rules for the generated files - list(APPEND generated_sources ${expanded_files_cc_impl}) - list(APPEND generated_headers ${expanded_files_h_impl}) - -endmacro(GR_EXPAND_X_CC_H_IMPL) diff --git a/cmake/Modules/GrPlatform.cmake b/cmake/Modules/GrPlatform.cmake deleted file mode 100644 index a2e4f3b..0000000 --- a/cmake/Modules/GrPlatform.cmake +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -if(DEFINED __INCLUDED_GR_PLATFORM_CMAKE) - return() -endif() -set(__INCLUDED_GR_PLATFORM_CMAKE TRUE) - -######################################################################## -# Setup additional defines for OS types -######################################################################## -if(CMAKE_SYSTEM_NAME STREQUAL "Linux") - set(LINUX TRUE) -endif() - -if(LINUX AND EXISTS "/etc/debian_version") - set(DEBIAN TRUE) -endif() - -if(LINUX AND EXISTS "/etc/redhat-release") - set(REDHAT TRUE) -endif() - -######################################################################## -# when the library suffix should be 64 (applies to redhat linux family) -######################################################################## -if(NOT DEFINED LIB_SUFFIX AND REDHAT AND CMAKE_SYSTEM_PROCESSOR MATCHES "64$") - set(LIB_SUFFIX 64) -endif() -set(LIB_SUFFIX ${LIB_SUFFIX} CACHE STRING "lib directory suffix") diff --git a/cmake/Modules/GrPython.cmake b/cmake/Modules/GrPython.cmake deleted file mode 100644 index 68ca58e..0000000 --- a/cmake/Modules/GrPython.cmake +++ /dev/null @@ -1,227 +0,0 @@ -# Copyright 2010-2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -if(DEFINED __INCLUDED_GR_PYTHON_CMAKE) - return() -endif() -set(__INCLUDED_GR_PYTHON_CMAKE TRUE) - -######################################################################## -# Setup the python interpreter: -# This allows the user to specify a specific interpreter, -# or finds the interpreter via the built-in cmake module. -######################################################################## -#this allows the user to override PYTHON_EXECUTABLE -if(PYTHON_EXECUTABLE) - - set(PYTHONINTERP_FOUND TRUE) - -#otherwise if not set, try to automatically find it -else(PYTHON_EXECUTABLE) - - #use the built-in find script - find_package(PythonInterp 2) - - #and if that fails use the find program routine - if(NOT PYTHONINTERP_FOUND) - find_program(PYTHON_EXECUTABLE NAMES python python2 python2.7 python2.6 python2.5) - if(PYTHON_EXECUTABLE) - set(PYTHONINTERP_FOUND TRUE) - endif(PYTHON_EXECUTABLE) - endif(NOT PYTHONINTERP_FOUND) - -endif(PYTHON_EXECUTABLE) - -#make the path to the executable appear in the cmake gui -set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE} CACHE FILEPATH "python interpreter") - -#make sure we can use -B with python (introduced in 2.6) -if(PYTHON_EXECUTABLE) - execute_process( - COMMAND ${PYTHON_EXECUTABLE} -B -c "" - OUTPUT_QUIET ERROR_QUIET - RESULT_VARIABLE PYTHON_HAS_DASH_B_RESULT - ) - if(PYTHON_HAS_DASH_B_RESULT EQUAL 0) - set(PYTHON_DASH_B "-B") - endif() -endif(PYTHON_EXECUTABLE) - -######################################################################## -# Check for the existence of a python module: -# - desc a string description of the check -# - mod the name of the module to import -# - cmd an additional command to run -# - have the result variable to set -######################################################################## -macro(GR_PYTHON_CHECK_MODULE desc mod cmd have) - message(STATUS "") - message(STATUS "Python checking for ${desc}") - execute_process( - COMMAND ${PYTHON_EXECUTABLE} -c " -######################################### -try: import ${mod} -except: exit(-1) -try: assert ${cmd} -except: exit(-1) -#########################################" - RESULT_VARIABLE ${have} - ) - if(${have} EQUAL 0) - message(STATUS "Python checking for ${desc} - found") - set(${have} TRUE) - else(${have} EQUAL 0) - message(STATUS "Python checking for ${desc} - not found") - set(${have} FALSE) - endif(${have} EQUAL 0) -endmacro(GR_PYTHON_CHECK_MODULE) - -######################################################################## -# Sets the python installation directory GR_PYTHON_DIR -######################################################################## -execute_process(COMMAND ${PYTHON_EXECUTABLE} -c " -from distutils import sysconfig -print sysconfig.get_python_lib(plat_specific=True, prefix='') -" OUTPUT_VARIABLE GR_PYTHON_DIR OUTPUT_STRIP_TRAILING_WHITESPACE -) -file(TO_CMAKE_PATH ${GR_PYTHON_DIR} GR_PYTHON_DIR) - -######################################################################## -# Create an always-built target with a unique name -# Usage: GR_UNIQUE_TARGET( ) -######################################################################## -function(GR_UNIQUE_TARGET desc) - file(RELATIVE_PATH reldir ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}) - execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import re, hashlib -unique = hashlib.md5('${reldir}${ARGN}').hexdigest()[:5] -print(re.sub('\\W', '_', '${desc} ${reldir} ' + unique))" - OUTPUT_VARIABLE _target OUTPUT_STRIP_TRAILING_WHITESPACE) - add_custom_target(${_target} ALL DEPENDS ${ARGN}) -endfunction(GR_UNIQUE_TARGET) - -######################################################################## -# Install python sources (also builds and installs byte-compiled python) -######################################################################## -function(GR_PYTHON_INSTALL) - include(CMakeParseArgumentsCopy) - CMAKE_PARSE_ARGUMENTS(GR_PYTHON_INSTALL "" "DESTINATION;COMPONENT" "FILES;PROGRAMS" ${ARGN}) - - #################################################################### - if(GR_PYTHON_INSTALL_FILES) - #################################################################### - install(${ARGN}) #installs regular python files - - #create a list of all generated files - unset(pysrcfiles) - unset(pycfiles) - unset(pyofiles) - foreach(pyfile ${GR_PYTHON_INSTALL_FILES}) - get_filename_component(pyfile ${pyfile} ABSOLUTE) - list(APPEND pysrcfiles ${pyfile}) - - #determine if this file is in the source or binary directory - file(RELATIVE_PATH source_rel_path ${CMAKE_CURRENT_SOURCE_DIR} ${pyfile}) - string(LENGTH "${source_rel_path}" source_rel_path_len) - file(RELATIVE_PATH binary_rel_path ${CMAKE_CURRENT_BINARY_DIR} ${pyfile}) - string(LENGTH "${binary_rel_path}" binary_rel_path_len) - - #and set the generated path appropriately - if(${source_rel_path_len} GREATER ${binary_rel_path_len}) - set(pygenfile ${CMAKE_CURRENT_BINARY_DIR}/${binary_rel_path}) - else() - set(pygenfile ${CMAKE_CURRENT_BINARY_DIR}/${source_rel_path}) - endif() - list(APPEND pycfiles ${pygenfile}c) - list(APPEND pyofiles ${pygenfile}o) - - #ensure generation path exists - get_filename_component(pygen_path ${pygenfile} PATH) - file(MAKE_DIRECTORY ${pygen_path}) - - endforeach(pyfile) - - #the command to generate the pyc files - add_custom_command( - DEPENDS ${pysrcfiles} OUTPUT ${pycfiles} - COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_BINARY_DIR}/python_compile_helper.py ${pysrcfiles} ${pycfiles} - ) - - #the command to generate the pyo files - add_custom_command( - DEPENDS ${pysrcfiles} OUTPUT ${pyofiles} - COMMAND ${PYTHON_EXECUTABLE} -O ${CMAKE_BINARY_DIR}/python_compile_helper.py ${pysrcfiles} ${pyofiles} - ) - - #create install rule and add generated files to target list - set(python_install_gen_targets ${pycfiles} ${pyofiles}) - install(FILES ${python_install_gen_targets} - DESTINATION ${GR_PYTHON_INSTALL_DESTINATION} - COMPONENT ${GR_PYTHON_INSTALL_COMPONENT} - ) - - - #################################################################### - elseif(GR_PYTHON_INSTALL_PROGRAMS) - #################################################################### - file(TO_NATIVE_PATH ${PYTHON_EXECUTABLE} pyexe_native) - - foreach(pyfile ${GR_PYTHON_INSTALL_PROGRAMS}) - get_filename_component(pyfile_name ${pyfile} NAME) - get_filename_component(pyfile ${pyfile} ABSOLUTE) - string(REPLACE "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" pyexefile "${pyfile}.exe") - list(APPEND python_install_gen_targets ${pyexefile}) - - get_filename_component(pyexefile_path ${pyexefile} PATH) - file(MAKE_DIRECTORY ${pyexefile_path}) - - add_custom_command( - OUTPUT ${pyexefile} DEPENDS ${pyfile} - COMMAND ${PYTHON_EXECUTABLE} -c - \"open('${pyexefile}', 'w').write('\#!${pyexe_native}\\n'+open('${pyfile}').read())\" - COMMENT "Shebangin ${pyfile_name}" - ) - - #on windows, python files need an extension to execute - get_filename_component(pyfile_ext ${pyfile} EXT) - if(WIN32 AND NOT pyfile_ext) - set(pyfile_name "${pyfile_name}.py") - endif() - - install(PROGRAMS ${pyexefile} RENAME ${pyfile_name} - DESTINATION ${GR_PYTHON_INSTALL_DESTINATION} - COMPONENT ${GR_PYTHON_INSTALL_COMPONENT} - ) - endforeach(pyfile) - - endif() - - GR_UNIQUE_TARGET("pygen" ${python_install_gen_targets}) - -endfunction(GR_PYTHON_INSTALL) - -######################################################################## -# Write the python helper script that generates byte code files -######################################################################## -file(WRITE ${CMAKE_BINARY_DIR}/python_compile_helper.py " -import sys, py_compile -files = sys.argv[1:] -srcs, gens = files[:len(files)/2], files[len(files)/2:] -for src, gen in zip(srcs, gens): - py_compile.compile(file=src, cfile=gen, doraise=True) -") diff --git a/cmake/Modules/GrSwig.cmake b/cmake/Modules/GrSwig.cmake deleted file mode 100644 index 569667b..0000000 --- a/cmake/Modules/GrSwig.cmake +++ /dev/null @@ -1,229 +0,0 @@ -# Copyright 2010-2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -if(DEFINED __INCLUDED_GR_SWIG_CMAKE) - return() -endif() -set(__INCLUDED_GR_SWIG_CMAKE TRUE) - -include(GrPython) - -######################################################################## -# Builds a swig documentation file to be generated into python docstrings -# Usage: GR_SWIG_MAKE_DOCS(output_file input_path input_path....) -# -# Set the following variable to specify extra dependent targets: -# - GR_SWIG_DOCS_SOURCE_DEPS -# - GR_SWIG_DOCS_TARGET_DEPS -######################################################################## -function(GR_SWIG_MAKE_DOCS output_file) - find_package(Doxygen) - if(DOXYGEN_FOUND) - - #setup the input files variable list, quote formated - set(input_files) - unset(INPUT_PATHS) - foreach(input_path ${ARGN}) - if (IS_DIRECTORY ${input_path}) #when input path is a directory - file(GLOB input_path_h_files ${input_path}/*.h) - else() #otherwise its just a file, no glob - set(input_path_h_files ${input_path}) - endif() - list(APPEND input_files ${input_path_h_files}) - set(INPUT_PATHS "${INPUT_PATHS} \"${input_path}\"") - endforeach(input_path) - - #determine the output directory - get_filename_component(name ${output_file} NAME_WE) - get_filename_component(OUTPUT_DIRECTORY ${output_file} PATH) - set(OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY}/${name}_swig_docs) - make_directory(${OUTPUT_DIRECTORY}) - - #generate the Doxyfile used by doxygen - configure_file( - ${CMAKE_SOURCE_DIR}/docs/doxygen/Doxyfile.swig_doc.in - ${OUTPUT_DIRECTORY}/Doxyfile - @ONLY) - - #Create a dummy custom command that depends on other targets - include(GrMiscUtils) - GR_GEN_TARGET_DEPS(_${name}_tag tag_deps ${GR_SWIG_DOCS_TARGET_DEPS}) - - #call doxygen on the Doxyfile + input headers - add_custom_command( - OUTPUT ${OUTPUT_DIRECTORY}/xml/index.xml - DEPENDS ${input_files} ${GR_SWIG_DOCS_SOURCE_DEPS} ${tag_deps} - COMMAND ${DOXYGEN_EXECUTABLE} ${OUTPUT_DIRECTORY}/Doxyfile - COMMENT "Generating doxygen xml for ${name} docs" - ) - - #call the swig_doc script on the xml files - add_custom_command( - OUTPUT ${output_file} - DEPENDS ${input_files} ${OUTPUT_DIRECTORY}/xml/index.xml - COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} - ${CMAKE_SOURCE_DIR}/docs/doxygen/swig_doc.py - ${OUTPUT_DIRECTORY}/xml - ${output_file} - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docs/doxygen - ) - - else(DOXYGEN_FOUND) - file(WRITE ${output_file} "\n") #no doxygen -> empty file - endif(DOXYGEN_FOUND) -endfunction(GR_SWIG_MAKE_DOCS) - -######################################################################## -# Build a swig target for the common gnuradio use case. Usage: -# GR_SWIG_MAKE(target ifile ifile ifile...) -# -# Set the following variables before calling: -# - GR_SWIG_FLAGS -# - GR_SWIG_INCLUDE_DIRS -# - GR_SWIG_LIBRARIES -# - GR_SWIG_SOURCE_DEPS -# - GR_SWIG_TARGET_DEPS -# - GR_SWIG_DOC_FILE -# - GR_SWIG_DOC_DIRS -######################################################################## -macro(GR_SWIG_MAKE name) - set(ifiles ${ARGN}) - - #do swig doc generation if specified - if (GR_SWIG_DOC_FILE) - set(GR_SWIG_DOCS_SOURCE_DEPS ${GR_SWIG_SOURCE_DEPS}) - set(GR_SWIG_DOCS_TAREGT_DEPS ${GR_SWIG_TARGET_DEPS}) - GR_SWIG_MAKE_DOCS(${GR_SWIG_DOC_FILE} ${GR_SWIG_DOC_DIRS}) - list(APPEND GR_SWIG_SOURCE_DEPS ${GR_SWIG_DOC_FILE}) - endif() - - #append additional include directories - find_package(PythonLibs 2) - list(APPEND GR_SWIG_INCLUDE_DIRS ${PYTHON_INCLUDE_PATH}) #deprecated name (now dirs) - list(APPEND GR_SWIG_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS}) - list(APPEND GR_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}) - list(APPEND GR_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}) - - #determine include dependencies for swig file - execute_process( - COMMAND ${PYTHON_EXECUTABLE} - ${CMAKE_BINARY_DIR}/get_swig_deps.py - "${ifiles}" "${GR_SWIG_INCLUDE_DIRS}" - OUTPUT_STRIP_TRAILING_WHITESPACE - OUTPUT_VARIABLE SWIG_MODULE_${name}_EXTRA_DEPS - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - ) - - #Create a dummy custom command that depends on other targets - include(GrMiscUtils) - GR_GEN_TARGET_DEPS(_${name}_swig_tag tag_deps ${GR_SWIG_TARGET_DEPS}) - set(tag_file ${CMAKE_CURRENT_BINARY_DIR}/${name}.tag) - add_custom_command( - OUTPUT ${tag_file} - DEPENDS ${GR_SWIG_SOURCE_DEPS} ${tag_deps} - COMMAND ${CMAKE_COMMAND} -E touch ${tag_file} - ) - - #append the specified include directories - include_directories(${GR_SWIG_INCLUDE_DIRS}) - list(APPEND SWIG_MODULE_${name}_EXTRA_DEPS ${tag_file}) - - #setup the swig flags with flags and include directories - set(CMAKE_SWIG_FLAGS -fvirtual -modern -keyword -w511 -module ${name} ${GR_SWIG_FLAGS}) - foreach(dir ${GR_SWIG_INCLUDE_DIRS}) - list(APPEND CMAKE_SWIG_FLAGS "-I${dir}") - endforeach(dir) - - #set the C++ property on the swig .i file so it builds - set_source_files_properties(${ifiles} PROPERTIES CPLUSPLUS ON) - - #setup the actual swig library target to be built - include(UseSWIG) - SWIG_ADD_MODULE(${name} python ${ifiles}) - SWIG_LINK_LIBRARIES(${name} ${PYTHON_LIBRARIES} ${GR_SWIG_LIBRARIES}) - -endmacro(GR_SWIG_MAKE) - -######################################################################## -# Install swig targets generated by GR_SWIG_MAKE. Usage: -# GR_SWIG_INSTALL( -# TARGETS target target target... -# [DESTINATION destination] -# [COMPONENT component] -# ) -######################################################################## -macro(GR_SWIG_INSTALL) - - include(CMakeParseArgumentsCopy) - CMAKE_PARSE_ARGUMENTS(GR_SWIG_INSTALL "" "DESTINATION;COMPONENT" "TARGETS" ${ARGN}) - - foreach(name ${GR_SWIG_INSTALL_TARGETS}) - install(TARGETS ${SWIG_MODULE_${name}_REAL_NAME} - DESTINATION ${GR_SWIG_INSTALL_DESTINATION} - COMPONENT ${GR_SWIG_INSTALL_COMPONENT} - ) - - include(GrPython) - GR_PYTHON_INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}.py - DESTINATION ${GR_SWIG_INSTALL_DESTINATION} - COMPONENT ${GR_SWIG_INSTALL_COMPONENT} - ) - - GR_LIBTOOL( - TARGET ${SWIG_MODULE_${name}_REAL_NAME} - DESTINATION ${GR_SWIG_INSTALL_DESTINATION} - ) - - endforeach(name) - -endmacro(GR_SWIG_INSTALL) - -######################################################################## -# Generate a python file that can determine swig dependencies. -# Used by the make macro above to determine extra dependencies. -# When you build C++, CMake figures out the header dependencies. -# This code essentially performs that logic for swig includes. -######################################################################## -file(WRITE ${CMAKE_BINARY_DIR}/get_swig_deps.py " - -import os, sys, re - -include_matcher = re.compile('[#|%]include\\s*[<|\"](.*)[>|\"]') -include_dirs = sys.argv[2].split(';') - -def get_swig_incs(file_path): - file_contents = open(file_path, 'r').read() - return include_matcher.findall(file_contents, re.MULTILINE) - -def get_swig_deps(file_path, level): - deps = [file_path] - if level == 0: return deps - for inc_file in get_swig_incs(file_path): - for inc_dir in include_dirs: - inc_path = os.path.join(inc_dir, inc_file) - if not os.path.exists(inc_path): continue - deps.extend(get_swig_deps(inc_path, level-1)) - return deps - -if __name__ == '__main__': - ifiles = sys.argv[1].split(';') - deps = sum([get_swig_deps(ifile, 3) for ifile in ifiles], []) - #sys.stderr.write(';'.join(set(deps)) + '\\n\\n') - print(';'.join(set(deps))) -") diff --git a/cmake/Modules/GrTest.cmake b/cmake/Modules/GrTest.cmake deleted file mode 100644 index 6174c03..0000000 --- a/cmake/Modules/GrTest.cmake +++ /dev/null @@ -1,133 +0,0 @@ -# Copyright 2010-2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -if(DEFINED __INCLUDED_GR_TEST_CMAKE) - return() -endif() -set(__INCLUDED_GR_TEST_CMAKE TRUE) - -######################################################################## -# Add a unit test and setup the environment for a unit test. -# Takes the same arguments as the ADD_TEST function. -# -# Before calling set the following variables: -# GR_TEST_TARGET_DEPS - built targets for the library path -# GR_TEST_LIBRARY_DIRS - directories for the library path -# GR_TEST_PYTHON_DIRS - directories for the python path -######################################################################## -function(GR_ADD_TEST test_name) - - if(WIN32) - #Ensure that the build exe also appears in the PATH. - list(APPEND GR_TEST_TARGET_DEPS ${ARGN}) - - #In the land of windows, all libraries must be in the PATH. - #Since the dependent libraries are not yet installed, - #we must manually set them in the PATH to run tests. - #The following appends the path of a target dependency. - foreach(target ${GR_TEST_TARGET_DEPS}) - get_target_property(location ${target} LOCATION) - if(location) - get_filename_component(path ${location} PATH) - string(REGEX REPLACE "\\$\\(.*\\)" ${CMAKE_BUILD_TYPE} path ${path}) - list(APPEND GR_TEST_LIBRARY_DIRS ${path}) - endif(location) - endforeach(target) - - #SWIG generates the python library files into a subdirectory. - #Therefore, we must append this subdirectory into PYTHONPATH. - #Only do this for the python directories matching the following: - foreach(pydir ${GR_TEST_PYTHON_DIRS}) - get_filename_component(name ${pydir} NAME) - if(name MATCHES "^(swig|lib|src)$") - list(APPEND GR_TEST_PYTHON_DIRS ${pydir}/${CMAKE_BUILD_TYPE}) - endif() - endforeach(pydir) - endif(WIN32) - - file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR} srcdir) - file(TO_NATIVE_PATH "${GR_TEST_LIBRARY_DIRS}" libpath) #ok to use on dir list? - file(TO_NATIVE_PATH "${GR_TEST_PYTHON_DIRS}" pypath) #ok to use on dir list? - - set(environs "GR_DONT_LOAD_PREFS=1" "srcdir=${srcdir}") - - #http://www.cmake.org/pipermail/cmake/2009-May/029464.html - #Replaced this add test + set environs code with the shell script generation. - #Its nicer to be able to manually run the shell script to diagnose problems. - #ADD_TEST(${ARGV}) - #SET_TESTS_PROPERTIES(${test_name} PROPERTIES ENVIRONMENT "${environs}") - - if(UNIX) - set(binpath "${CMAKE_CURRENT_BINARY_DIR}:$PATH") - #set both LD and DYLD paths to cover multiple UNIX OS library paths - list(APPEND libpath "$LD_LIBRARY_PATH" "$DYLD_LIBRARY_PATH") - list(APPEND pypath "$PYTHONPATH") - - #replace list separator with the path separator - string(REPLACE ";" ":" libpath "${libpath}") - string(REPLACE ";" ":" pypath "${pypath}") - list(APPEND environs "PATH=${binpath}" "LD_LIBRARY_PATH=${libpath}" "DYLD_LIBRARY_PATH=${libpath}" "PYTHONPATH=${pypath}") - - #generate a bat file that sets the environment and runs the test - find_program(SHELL sh) - set(sh_file ${CMAKE_CURRENT_BINARY_DIR}/${test_name}_test.sh) - file(WRITE ${sh_file} "#!${SHELL}\n") - #each line sets an environment variable - foreach(environ ${environs}) - file(APPEND ${sh_file} "export ${environ}\n") - endforeach(environ) - #load the command to run with its arguments - foreach(arg ${ARGN}) - file(APPEND ${sh_file} "${arg} ") - endforeach(arg) - file(APPEND ${sh_file} "\n") - - #make the shell file executable - execute_process(COMMAND chmod +x ${sh_file}) - - add_test(${test_name} ${SHELL} ${sh_file}) - - endif(UNIX) - - if(WIN32) - list(APPEND libpath ${DLL_PATHS} "%PATH%") - list(APPEND pypath "%PYTHONPATH%") - - #replace list separator with the path separator (escaped) - string(REPLACE ";" "\\;" libpath "${libpath}") - string(REPLACE ";" "\\;" pypath "${pypath}") - list(APPEND environs "PATH=${libpath}" "PYTHONPATH=${pypath}") - - #generate a bat file that sets the environment and runs the test - set(bat_file ${CMAKE_CURRENT_BINARY_DIR}/${test_name}_test.bat) - file(WRITE ${bat_file} "@echo off\n") - #each line sets an environment variable - foreach(environ ${environs}) - file(APPEND ${bat_file} "SET ${environ}\n") - endforeach(environ) - #load the command to run with its arguments - foreach(arg ${ARGN}) - file(APPEND ${bat_file} "${arg} ") - endforeach(arg) - file(APPEND ${bat_file} "\n") - - add_test(${test_name} ${bat_file}) - endif(WIN32) - -endfunction(GR_ADD_TEST) diff --git a/cmake/Modules/GrVersion.cmake b/cmake/Modules/GrVersion.cmake deleted file mode 100644 index bafd0a7..0000000 --- a/cmake/Modules/GrVersion.cmake +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 2011,2013 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -if(DEFINED __INCLUDED_GR_VERSION_CMAKE) - return() -endif() -set(__INCLUDED_GR_VERSION_CMAKE TRUE) - -#eventually, replace version.sh and fill in the variables below -set(MAJOR_VERSION ${VERSION_INFO_MAJOR_VERSION}) -set(API_COMPAT ${VERSION_INFO_API_COMPAT}) -set(MINOR_VERSION ${VERSION_INFO_MINOR_VERSION}) -set(MAINT_VERSION ${VERSION_INFO_MAINT_VERSION}) - -######################################################################## -# Extract the version string from git describe. -######################################################################## -find_package(Git) - -if(GIT_FOUND AND EXISTS ${CMAKE_SOURCE_DIR}/.git) - message(STATUS "Extracting version information from git describe...") - execute_process( - COMMAND ${GIT_EXECUTABLE} describe --always --abbrev=8 --long - OUTPUT_VARIABLE GIT_DESCRIBE OUTPUT_STRIP_TRAILING_WHITESPACE - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - ) -else() - set(GIT_DESCRIBE "v${MAJOR_VERSION}.${API_COMPAT}.x-xxx-xunknown") -endif() - -######################################################################## -# Use the logic below to set the version constants -######################################################################## -if("${MINOR_VERSION}" STREQUAL "git") - # VERSION: 3.3git-xxx-gxxxxxxxx - # DOCVER: 3.3git - # LIBVER: 3.3git - set(VERSION "${GIT_DESCRIBE}") - set(DOCVER "${MAJOR_VERSION}.${API_COMPAT}${MINOR_VERSION}") - set(LIBVER "${MAJOR_VERSION}.${API_COMPAT}${MINOR_VERSION}") - set(RC_MINOR_VERSION "0") - set(RC_MAINT_VERSION "0") -elseif("${MAINT_VERSION}" STREQUAL "git") - # VERSION: 3.3.1git-xxx-gxxxxxxxx - # DOCVER: 3.3.1git - # LIBVER: 3.3.1git - set(VERSION "${GIT_DESCRIBE}") - set(DOCVER "${MAJOR_VERSION}.${API_COMPAT}.${MINOR_VERSION}${MAINT_VERSION}") - set(LIBVER "${MAJOR_VERSION}.${API_COMPAT}.${MINOR_VERSION}${MAINT_VERSION}") - math(EXPR RC_MINOR_VERSION "${MINOR_VERSION} - 1") - set(RC_MAINT_VERSION "0") -else() - # This is a numbered release. - # VERSION: 3.3.1{.x} - # DOCVER: 3.3.1{.x} - # LIBVER: 3.3.1{.x} - if("${MAINT_VERSION}" STREQUAL "0") - set(VERSION "${MAJOR_VERSION}.${API_COMPAT}.${MINOR_VERSION}") - else() - set(VERSION "${MAJOR_VERSION}.${API_COMPAT}.${MINOR_VERSION}.${MAINT_VERSION}") - endif() - set(DOCVER "${VERSION}") - set(LIBVER "${VERSION}") - set(RC_MINOR_VERSION ${MINOR_VERSION}) - set(RC_MAINT_VERSION ${MAINT_VERSION}) -endif() diff --git a/cmake/Modules/GrccCompile.cmake b/cmake/Modules/GrccCompile.cmake index 4a917c5..4589fd4 100644 --- a/cmake/Modules/GrccCompile.cmake +++ b/cmake/Modules/GrccCompile.cmake @@ -30,25 +30,20 @@ ) string(REPLACE ";" ":" PYTHONPATH "${PYTHONPATH}") +find_program(GRCC grcc + PATHS ${CMAKE_INSTALL_PREFIX}/${GR_RUNTIME_DIR} + ) + macro(GRCC_COMPILE file_name) - if(${CMAKE_VERSION} VERSION_LESS "3.2.0") #use wrapper script to set the environment on systems without cmake 3.2 - ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${file_name} - COMMAND /bin/sh ${CMAKE_SOURCE_DIR}/cmake/Modules/GrccCompileWrapper.sh "${PYTHONPATH}" "${CMAKE_SOURCE_DIR}/grc" "${PC_GNURADIO_RUNTIME_PREFIX}/${GR_RUNTIME_DIR}/grcc -d ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/${file_name}.grc" - COMMAND "${CMAKE_COMMAND}" -E rename ${CMAKE_CURRENT_BINARY_DIR}/${file_name}.py ${CMAKE_CURRENT_BINARY_DIR}/${file_name} - DEPENDS ${file_name}.grc + ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${file_name} + COMMAND "${CMAKE_COMMAND}" + -E env PYTHONPATH="${PYTHONPATH}" GRC_BLOCKS_PATH=${CMAKE_SOURCE_DIR}/grc + ${GRCC} -o ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/${file_name}.grc + COMMAND "${CMAKE_COMMAND}" -E rename ${CMAKE_CURRENT_BINARY_DIR}/${file_name}.py ${CMAKE_CURRENT_BINARY_DIR}/${file_name} + DEPENDS ${file_name}.grc ) - else() #for the rest use new/more portable way - ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${file_name} - COMMAND "${CMAKE_COMMAND}" - -E env PYTHONPATH="${PYTHONPATH}" GRC_BLOCKS_PATH=${CMAKE_SOURCE_DIR}/grc - ${PC_GNURADIO_RUNTIME_PREFIX}/${GR_RUNTIME_DIR}/grcc -d ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/${file_name}.grc - COMMAND "${CMAKE_COMMAND}" -E rename ${CMAKE_CURRENT_BINARY_DIR}/${file_name}.py ${CMAKE_CURRENT_BINARY_DIR}/${file_name} - DEPENDS ${file_name}.grc - ) - endif() endmacro(GRCC_COMPILE) ######################################################################## diff --git a/cmake/Modules/GrccCompileWrapper.sh b/cmake/Modules/GrccCompileWrapper.sh deleted file mode 100644 index 6c7f60f..0000000 --- a/cmake/Modules/GrccCompileWrapper.sh +++ /dev/null @@ -1,3 +0,0 @@ -export PYTHONPATH="$1" -export GRC_BLOCKS_PATH="$2" -eval "$3" diff --git a/cmake/Modules/UseSWIG.cmake b/cmake/Modules/UseSWIG.cmake deleted file mode 100644 index e555435..0000000 --- a/cmake/Modules/UseSWIG.cmake +++ /dev/null @@ -1,305 +0,0 @@ -# - SWIG module for CMake -# Defines the following macros: -# SWIG_ADD_MODULE(name language [ files ]) -# - Define swig module with given name and specified language -# SWIG_LINK_LIBRARIES(name [ libraries ]) -# - Link libraries to swig module -# All other macros are for internal use only. -# To get the actual name of the swig module, -# use: ${SWIG_MODULE_${name}_REAL_NAME}. -# Set Source files properties such as CPLUSPLUS and SWIG_FLAGS to specify -# special behavior of SWIG. Also global CMAKE_SWIG_FLAGS can be used to add -# special flags to all swig calls. -# Another special variable is CMAKE_SWIG_OUTDIR, it allows one to specify -# where to write all the swig generated module (swig -outdir option) -# The name-specific variable SWIG_MODULE__EXTRA_DEPS may be used -# to specify extra dependencies for the generated modules. -# If the source file generated by swig need some special flag you can use -# set_source_files_properties( ${swig_generated_file_fullname} -# PROPERTIES COMPILE_FLAGS "-bla") - - -#============================================================================= -# Copyright 2004-2009 Kitware, Inc. -# Copyright 2009 Mathieu Malaterre -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -set(SWIG_CXX_EXTENSION "cxx") -set(SWIG_EXTRA_LIBRARIES "") - -set(SWIG_PYTHON_EXTRA_FILE_EXTENSION "py") - -# -# For given swig module initialize variables associated with it -# -macro(SWIG_MODULE_INITIALIZE name language) - string(TOUPPER "${language}" swig_uppercase_language) - string(TOLOWER "${language}" swig_lowercase_language) - set(SWIG_MODULE_${name}_LANGUAGE "${swig_uppercase_language}") - set(SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG "${swig_lowercase_language}") - - set(SWIG_MODULE_${name}_REAL_NAME "${name}") - if("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "UNKNOWN") - message(FATAL_ERROR "SWIG Error: Language \"${language}\" not found") - elseif("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "PYTHON") - # when swig is used without the -interface it will produce in the module.py - # a 'import _modulename' statement, which implies having a corresponding - # _modulename.so (*NIX), _modulename.pyd (Win32). - set(SWIG_MODULE_${name}_REAL_NAME "_${name}") - elseif("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "PERL") - set(SWIG_MODULE_${name}_EXTRA_FLAGS "-shadow") - endif() -endmacro() - -# -# For a given language, input file, and output file, determine extra files that -# will be generated. This is internal swig macro. -# - -macro(SWIG_GET_EXTRA_OUTPUT_FILES language outfiles generatedpath infile) - set(${outfiles} "") - get_source_file_property(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename - ${infile} SWIG_MODULE_NAME) - if(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename STREQUAL "NOTFOUND") - get_filename_component(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename "${infile}" NAME_WE) - endif() - foreach(it ${SWIG_${language}_EXTRA_FILE_EXTENSION}) - set(${outfiles} ${${outfiles}} - "${generatedpath}/${SWIG_GET_EXTRA_OUTPUT_FILES_module_basename}.${it}") - endforeach() -endmacro() - -# -# Take swig (*.i) file and add proper custom commands for it -# -macro(SWIG_ADD_SOURCE_TO_MODULE name outfiles infile) - set(swig_full_infile ${infile}) - get_filename_component(swig_source_file_path "${infile}" PATH) - get_filename_component(swig_source_file_name_we "${infile}" NAME_WE) - get_source_file_property(swig_source_file_generated ${infile} GENERATED) - get_source_file_property(swig_source_file_cplusplus ${infile} CPLUSPLUS) - get_source_file_property(swig_source_file_flags ${infile} SWIG_FLAGS) - if("${swig_source_file_flags}" STREQUAL "NOTFOUND") - set(swig_source_file_flags "") - endif() - set(swig_source_file_fullname "${infile}") - if(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_SOURCE_DIR}") - string(REGEX REPLACE - "^${CMAKE_CURRENT_SOURCE_DIR}" "" - swig_source_file_relative_path - "${swig_source_file_path}") - else() - if(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_BINARY_DIR}") - string(REGEX REPLACE - "^${CMAKE_CURRENT_BINARY_DIR}" "" - swig_source_file_relative_path - "${swig_source_file_path}") - set(swig_source_file_generated 1) - else() - set(swig_source_file_relative_path "${swig_source_file_path}") - if(swig_source_file_generated) - set(swig_source_file_fullname "${CMAKE_CURRENT_BINARY_DIR}/${infile}") - else() - set(swig_source_file_fullname "${CMAKE_CURRENT_SOURCE_DIR}/${infile}") - endif() - endif() - endif() - - set(swig_generated_file_fullname - "${CMAKE_CURRENT_BINARY_DIR}") - if(swig_source_file_relative_path) - set(swig_generated_file_fullname - "${swig_generated_file_fullname}/${swig_source_file_relative_path}") - endif() - # If CMAKE_SWIG_OUTDIR was specified then pass it to -outdir - if(CMAKE_SWIG_OUTDIR) - set(swig_outdir ${CMAKE_SWIG_OUTDIR}) - else() - set(swig_outdir ${CMAKE_CURRENT_BINARY_DIR}) - endif() - SWIG_GET_EXTRA_OUTPUT_FILES(${SWIG_MODULE_${name}_LANGUAGE} - swig_extra_generated_files - "${swig_outdir}" - "${infile}") - set(swig_generated_file_fullname - "${swig_generated_file_fullname}/${swig_source_file_name_we}") - # add the language into the name of the file (i.e. TCL_wrap) - # this allows for the same .i file to be wrapped into different languages - set(swig_generated_file_fullname - "${swig_generated_file_fullname}${SWIG_MODULE_${name}_LANGUAGE}_wrap") - - if(swig_source_file_cplusplus) - set(swig_generated_file_fullname - "${swig_generated_file_fullname}.${SWIG_CXX_EXTENSION}") - else() - set(swig_generated_file_fullname - "${swig_generated_file_fullname}.c") - endif() - - # Shut up some warnings from poor SWIG code generation that we - # can do nothing about, when this flag is available - include(CheckCXXCompilerFlag) - check_cxx_compiler_flag("-Wno-unused-but-set-variable" HAVE_WNO_UNUSED_BUT_SET_VARIABLE) - if(HAVE_WNO_UNUSED_BUT_SET_VARIABLE) - set_source_files_properties(${swig_generated_file_fullname} - PROPERTIES COMPILE_FLAGS "-Wno-unused-but-set-variable") - endif(HAVE_WNO_UNUSED_BUT_SET_VARIABLE) - - get_directory_property(cmake_include_directories INCLUDE_DIRECTORIES) - list(REMOVE_DUPLICATES cmake_include_directories) - set(swig_include_dirs) - foreach(it ${cmake_include_directories}) - set(swig_include_dirs ${swig_include_dirs} "-I${it}") - endforeach() - - set(swig_special_flags) - # default is c, so add c++ flag if it is c++ - if(swig_source_file_cplusplus) - set(swig_special_flags ${swig_special_flags} "-c++") - endif() - set(swig_extra_flags) - if(SWIG_MODULE_${name}_EXTRA_FLAGS) - set(swig_extra_flags ${swig_extra_flags} ${SWIG_MODULE_${name}_EXTRA_FLAGS}) - endif() - - # hack to work around CMake bug in add_custom_command with multiple OUTPUT files - - file(RELATIVE_PATH reldir ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}) - execute_process( - COMMAND ${PYTHON_EXECUTABLE} -c "import re, hashlib -unique = hashlib.md5('${reldir}${ARGN}').hexdigest()[:5] -print(re.sub('\\W', '_', '${name} ${reldir} ' + unique))" - OUTPUT_VARIABLE _target OUTPUT_STRIP_TRAILING_WHITESPACE - ) - - file( - WRITE ${CMAKE_CURRENT_BINARY_DIR}/${_target}.cpp.in - "int main(void){return 0;}\n" - ) - - # create dummy dependencies - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_target}.cpp - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_BINARY_DIR}/${_target}.cpp.in - ${CMAKE_CURRENT_BINARY_DIR}/${_target}.cpp - DEPENDS "${swig_source_file_fullname}" ${SWIG_MODULE_${name}_EXTRA_DEPS} - COMMENT "" - ) - - # create the dummy target - add_executable(${_target} ${CMAKE_CURRENT_BINARY_DIR}/${_target}.cpp) - - # add a custom command to the dummy target - add_custom_command( - TARGET ${_target} - # Let's create the ${swig_outdir} at execution time, in case dir contains $(OutDir) - COMMAND ${CMAKE_COMMAND} -E make_directory ${swig_outdir} - COMMAND "${SWIG_EXECUTABLE}" - ARGS "-${SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG}" - ${swig_source_file_flags} - ${CMAKE_SWIG_FLAGS} - -outdir ${swig_outdir} - ${swig_special_flags} - ${swig_extra_flags} - ${swig_include_dirs} - -o "${swig_generated_file_fullname}" - "${swig_source_file_fullname}" - COMMENT "Swig source" - ) - - #add dummy independent dependencies from the _target to each file - #that will be generated by the SWIG command above - - set(${outfiles} "${swig_generated_file_fullname}" ${swig_extra_generated_files}) - - foreach(swig_gen_file ${${outfiles}}) - add_custom_command( - OUTPUT ${swig_gen_file} - COMMAND "${CMAKE_COMMAND}" -E touch_nocreate "${swig_gen_file}" - DEPENDS ${_target} - COMMENT "dummy command to show ${_target} dependency of ${swig_gen_file}" - ) - endforeach() - - set_source_files_properties( - ${outfiles} PROPERTIES GENERATED 1 - ) - -endmacro() - -# -# Create Swig module -# -macro(SWIG_ADD_MODULE name language) - SWIG_MODULE_INITIALIZE(${name} ${language}) - set(swig_dot_i_sources) - set(swig_other_sources) - foreach(it ${ARGN}) - if(${it} MATCHES ".*\\.i$") - set(swig_dot_i_sources ${swig_dot_i_sources} "${it}") - else() - set(swig_other_sources ${swig_other_sources} "${it}") - endif() - endforeach() - - set(swig_generated_sources) - foreach(it ${swig_dot_i_sources}) - SWIG_ADD_SOURCE_TO_MODULE(${name} swig_generated_source ${it}) - set(swig_generated_sources ${swig_generated_sources} "${swig_generated_source}") - endforeach() - get_directory_property(swig_extra_clean_files ADDITIONAL_MAKE_CLEAN_FILES) - set_directory_properties(PROPERTIES - ADDITIONAL_MAKE_CLEAN_FILES "${swig_extra_clean_files};${swig_generated_sources}") - add_library(${SWIG_MODULE_${name}_REAL_NAME} - MODULE - ${swig_generated_sources} - ${swig_other_sources}) - string(TOLOWER "${language}" swig_lowercase_language) - if ("${swig_lowercase_language}" STREQUAL "java") - if (APPLE) - # In java you want: - # System.loadLibrary("LIBRARY"); - # then JNI will look for a library whose name is platform dependent, namely - # MacOS : libLIBRARY.jnilib - # Windows: LIBRARY.dll - # Linux : libLIBRARY.so - set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".jnilib") - endif () - endif () - if ("${swig_lowercase_language}" STREQUAL "python") - # this is only needed for the python case where a _modulename.so is generated - set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "") - # Python extension modules on Windows must have the extension ".pyd" - # instead of ".dll" as of Python 2.5. Older python versions do support - # this suffix. - # http://docs.python.org/whatsnew/ports.html#SECTION0001510000000000000000 - # - # Windows: .dll is no longer supported as a filename extension for extension modules. - # .pyd is now the only filename extension that will be searched for. - # - if(WIN32 AND NOT CYGWIN) - set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".pyd") - endif() - endif () -endmacro() - -# -# Like TARGET_LINK_LIBRARIES but for swig modules -# -macro(SWIG_LINK_LIBRARIES name) - if(SWIG_MODULE_${name}_REAL_NAME) - target_link_libraries(${SWIG_MODULE_${name}_REAL_NAME} ${ARGN}) - else() - message(SEND_ERROR "Cannot find Swig library \"${name}\".") - endif() -endmacro() diff --git a/cmake/Modules/targetConfig.cmake.in b/cmake/Modules/targetConfig.cmake.in new file mode 100644 index 0000000..79e4a28 --- /dev/null +++ b/cmake/Modules/targetConfig.cmake.in @@ -0,0 +1,26 @@ +# Copyright 2018 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. + +include(CMakeFindDependencyMacro) + +set(target_deps "@TARGET_DEPENDENCIES@") +foreach(dep IN LISTS target_deps) + find_dependency(${dep}) +endforeach() +include("${CMAKE_CURRENT_LIST_DIR}/@TARGET at Targets.cmake") diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index ed0fe3d..f9b8b40 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -53,7 +53,7 @@ if(NOT RST2MAN_EXECUTABLE) message(WARNING "rst2man from python-docutils is required to build man pages") else() - build_man_page(MAN1_OUTPUT grgsm_livemon.rst grgsm_livemon.1) + #build_man_page(MAN1_OUTPUT grgsm_livemon.rst grgsm_livemon.1) install(FILES ${MAN1_OUTPUT} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1) endif() diff --git a/docs/doxygen/CMakeLists.txt b/docs/doxygen/CMakeLists.txt index 1b44799..6ade92c 100644 --- a/docs/doxygen/CMakeLists.txt +++ b/docs/doxygen/CMakeLists.txt @@ -1,6 +1,7 @@ # Copyright 2011 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/docs/doxygen/Doxyfile.in b/docs/doxygen/Doxyfile.in index 17badbc..0b4cb7e 100644 --- a/docs/doxygen/Doxyfile.in +++ b/docs/doxygen/Doxyfile.in @@ -1,14 +1,16 @@ -# Doxyfile 1.5.7.1 +# Doxyfile 1.8.4 # This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project +# doxygen (www.doxygen.org) for a project. # -# All text after a hash (#) is considered a comment and will be ignored +# All text after a double hash (##) is considered a comment and is placed +# in front of the TAG it is preceding . +# All text after a hash (#) is considered a comment and will be ignored. # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") +# Values that contain spaces should be placed between quotes (" "). #--------------------------------------------------------------------------- # Project related configuration options @@ -22,8 +24,9 @@ DOXYFILE_ENCODING = UTF-8 -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. +# The PROJECT_NAME tag is a single word (or sequence of words) that should +# identify the project. Note that if you do not use Doxywizard you need +# to put quotes around the project name if it contains spaces. PROJECT_NAME = "GNU Radio's GSM Package" @@ -33,6 +36,19 @@ PROJECT_NUMBER = +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer +# a quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify an logo or icon that is +# included in the documentation. The maximum height of the logo should not +# exceed 55 pixels and the maximum width should not exceed 200 pixels. +# Doxygen will copy the logo to the output directory. + +PROJECT_LOGO = + # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location @@ -54,11 +70,11 @@ # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, -# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, -# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, -# Spanish, Swedish, and Ukrainian. +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Latvian, Lithuanian, Norwegian, Macedonian, +# Persian, Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, +# Slovak, Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. OUTPUT_LANGUAGE = English @@ -112,7 +128,9 @@ # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the -# path to strip. +# path to strip. Note that you specify absolute paths here, but also +# relative paths, which will be relative from the directory where doxygen is +# started. STRIP_FROM_PATH = @@ -126,7 +144,7 @@ STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems +# (but less readable) file names. This can be useful if your file system # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO @@ -181,6 +199,13 @@ ALIASES = +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding +# "class=itcl::class" will allow you to use the command class in the +# itcl::class meaning. + +TCL_SUBST = + # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list @@ -207,11 +232,40 @@ OPTIMIZE_OUTPUT_VHDL = NO +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, +# and language is one of the parsers supported by doxygen: IDL, Java, +# Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, +# C++. For instance to make doxygen treat .inc files as Fortran files (default +# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note +# that for custom extensions you also need to set FILE_PATTERNS otherwise the +# files are not read by doxygen. + +EXTENSION_MAPPING = + +# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all +# comments according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you +# can mix doxygen, HTML, and XML commands with Markdown formatting. +# Disable only in case of backward compatibilities issues. + +MARKDOWN_SUPPORT = YES + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by by putting a % sign in front of the word +# or globally by setting AUTOLINK_SUPPORT to NO. + +AUTOLINK_SUPPORT = YES + # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration +# func(std::string) {}). This also makes the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = YES @@ -227,10 +281,10 @@ SIP_SUPPORT = NO -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES (the +# default) will make doxygen replace the get and set methods by a property in +# the documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. @@ -251,6 +305,22 @@ SUBGROUPING = YES +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and +# unions are shown inside the group in which they are included (e.g. using +# @ingroup) instead of on a separate page (for HTML and Man pages) or +# section (for LaTeX and RTF). + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and +# unions with only public data fields or simple typedef fields will be shown +# inline in the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO (the default), structs, classes, and unions are shown on a separate +# page (for HTML and Man pages) or section (for LaTeX and RTF). + +INLINE_SIMPLE_STRUCTS = NO + # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct @@ -261,21 +331,16 @@ TYPEDEF_HIDES_STRUCT = NO -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can +# be an expensive process and often the same symbol appear multiple times in +# the code, doxygen keeps a cache of pre-resolved symbols. If the cache is too +# small doxygen will become slower. If the cache is too large, memory is wasted. +# The cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid +# range is 0..9, the default is 0, corresponding to a cache size of 2^16 = 65536 +# symbols. -SYMBOL_CACHE_SIZE = 4 +LOOKUP_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options @@ -284,7 +349,7 @@ # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES +# the EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES @@ -293,6 +358,11 @@ EXTRACT_PRIVATE = NO +# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal +# scope will be included in the documentation. + +EXTRACT_PACKAGE = NO + # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. @@ -315,7 +385,7 @@ # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. +# anonymous namespaces are hidden. EXTRACT_ANON_NSPACES = NO @@ -375,6 +445,12 @@ SHOW_INCLUDE_FILES = YES +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. @@ -394,6 +470,16 @@ SORT_BRIEF_DOCS = NO +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. @@ -410,6 +496,15 @@ SORT_BY_SCOPE_NAME = NO +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to +# do proper type resolution of all parameters of a function it will reject a +# match between the prototype and the implementation of a member function even +# if there is only one candidate or it is obvious which candidate to choose +# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen +# will still accept a match between prototype and implementation in such cases. + +STRICT_PROTO_MATCHING = NO + # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. @@ -435,15 +530,16 @@ GENERATE_DEPRECATEDLIST= NO # The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. +# documentation sections, marked by \if section-label ... \endif +# and \cond section-label ... \endcond blocks. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in +# the initial value of a variable or macro consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the +# The appearance of the initializer of individual variables and macros in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. @@ -455,12 +551,6 @@ SHOW_USED_FILES = YES -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. @@ -468,7 +558,8 @@ SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. This will remove the Namespaces entry from the Quick Index +# Namespaces page. +# This will remove the Namespaces entry from the Quick Index # and from the Folder Tree View (if specified). The default is YES. SHOW_NAMESPACES = NO @@ -483,15 +574,26 @@ FILE_VERSION_FILTER = -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. LAYOUT_FILE = +# The CITE_BIB_FILES tag can be used to specify one or more bib files +# containing the references data. This must be a list of .bib files. The +# .bib extension is automatically appended if omitted. Using this command +# requires the bibtex tool to be installed. See also +# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style +# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this +# feature you need bibtex and perl available in the search path. Do not use +# file names with spaces, bibtex cannot handle them. + +CITE_BIB_FILES = + #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- @@ -520,7 +622,7 @@ WARN_IF_DOC_ERROR = YES -# This WARN_NO_PARAMDOC option can be abled to get warnings for +# The WARN_NO_PARAMDOC option can be enabled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of @@ -552,7 +654,8 @@ # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = @top_srcdir@ @top_builddir@ +INPUT = "@top_srcdir@" \ + "@top_builddir@" # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -566,8 +669,9 @@ # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 +# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh +# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py +# *.f90 *.f *.for *.vhd *.vhdl FILE_PATTERNS = *.h \ *.dox @@ -578,18 +682,20 @@ RECURSIVE = YES -# The EXCLUDE tag can be used to specify files and/or directories that should +# The EXCLUDE tag can be used to specify files and/or directories that should be # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. +# Note that relative paths are relative to the directory from which doxygen is +# run. EXCLUDE = @abs_top_builddir@/docs/doxygen/html \ - @abs_top_builddir@/docs/doxygen/xml \ + @abs_top_builddir@/docs/doxygen/xml \ @abs_top_builddir@/docs/doxygen/other/doxypy.py \ - @abs_top_builddir@/_CPack_Packages \ + @abs_top_builddir@/_CPack_Packages \ @abs_top_srcdir@/cmake -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO @@ -667,19 +773,24 @@ # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. +# to standard output. +# If FILTER_PATTERNS is specified, this tag will be ignored. +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: +# basis. +# Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. +# The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. +# info on how filters are used. If FILTER_PATTERNS is empty or if +# non of the patterns match the file name, INPUT_FILTER is applied. -FILTER_PATTERNS = *.py=@top_srcdir@/doc/doxygen/other/doxypy.py +FILTER_PATTERNS = *.py="@top_srcdir@"/doc/doxygen/other/doxypy.py # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source @@ -687,6 +798,21 @@ FILTER_SOURCE_FILES = NO +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) +# and it is also possible to disable source filtering for a specific pattern +# using *.ext= (so without naming a filter). This option only has effect when +# FILTER_SOURCE_FILES is enabled. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- @@ -705,7 +831,7 @@ # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. +# fragments. Normal C, C++ and Fortran comments will always remain visible. STRIP_CODE_COMMENTS = NO @@ -724,7 +850,8 @@ # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentstion. +# link to the source code. +# Otherwise they will link to the documentation. REFERENCES_LINK_SOURCE = YES @@ -788,7 +915,14 @@ # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a -# standard header. +# standard header. Note that when using a custom header you are responsible +# for the proper inclusion of any scripts and style sheets that doxygen +# needs, which is dependent on the configuration options used. +# It is advised to generate a default header using "doxygen -w html +# header.html footer.html stylesheet.css YourConfigFile" and then modify +# that header. Note that the header is subject to change so you typically +# have to redo this when upgrading to a newer version of doxygen or when +# changing the value of configuration settings such as GENERATE_TREEVIEW! HTML_HEADER = @@ -800,27 +934,80 @@ # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! +# fine-tune the look of the HTML output. If left blank doxygen will +# generate a default style sheet. Note that it is recommended to use +# HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this +# tag will in the future become obsolete. HTML_STYLESHEET = -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. +# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional +# user-defined cascading style sheet that is included after the standard +# style sheets created by doxygen. Using this option one can overrule +# certain style aspects. This is preferred over using HTML_STYLESHEET +# since it does not replace the standard style sheet and is therefore more +# robust against future updates. Doxygen will copy the style sheet file to +# the output directory. -HTML_ALIGN_MEMBERS = YES +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that +# the files will be copied as-is; there are no commands or markers available. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the style sheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = NO # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). +# page has loaded. HTML_DYNAMIC_SECTIONS = NO +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of +# entries shown in the various tree structured indices initially; the user +# can expand and collapse entries dynamically later on. Doxygen will expand +# the tree to such a level that at most the specified number of entries are +# visible (unless a fully collapsed tree already exceeds this amount). +# So setting the number of entries 1 will produce a full collapsed tree by +# default. 0 is a special value representing an infinite number of entries +# and will result in a full expanded tree by default. + +HTML_INDEX_NUM_ENTRIES = 100 + # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). @@ -829,7 +1016,8 @@ # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. GENERATE_DOCSET = NO @@ -847,6 +1035,16 @@ DOCSET_BUNDLE_ID = org.doxygen.Project +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely +# identify the documentation publisher. This should be a reverse domain-name +# style string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) @@ -891,10 +1089,10 @@ TOC_EXPAND = YES -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. GENERATE_QHP = NO @@ -906,57 +1104,99 @@ # The QHP_NAMESPACE tag specifies the namespace to use when generating # Qt Help Project output. For more information please see -# Qt Help Project / Namespace. +# http://doc.trolltech.com/qthelpproject.html#namespace QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating # Qt Help Project output. For more information please see -# Qt Help Project / Virtual Folders. +# http://doc.trolltech.com/qthelpproject.html#virtual-folders QHP_VIRTUAL_FOLDER = doc +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# +# Qt Help Project / Custom Filters. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's +# filter section matches. +# +# Qt Help Project / Filter Attributes. + +QHP_SECT_FILTER_ATTRS = + # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can # be used to specify the location of Qt's qhelpgenerator. # If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file . +# .qhp file. QHG_LOCATION = -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) +# at top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. Since the tabs have the same information as the +# navigation tree you can set this option to NO if you already set +# GENERATE_TREEVIEW to YES. DISABLE_INDEX = YES -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. -# If the tag value is set to FRAME, a side panel will be generated +# If the tag value is set to YES, a side panel will be generated # containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. Other possible values -# for this tag are: HIERARCHIES, which will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list; -# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which -# disables this behavior completely. For backwards compatibility with previous -# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE -# respectively. +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. +# Since the tree basically has the same information as the tab index you +# could consider to set DISABLE_INDEX to NO when enabling this option. GENERATE_TREEVIEW = YES +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values +# (range [0,1..20]) that doxygen will group on one line in the generated HTML +# documentation. Note that a value of 0 will completely suppress the enum +# values from appearing in the overview section. + +ENUM_VALUES_PER_LINE = 4 + # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 180 +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need @@ -965,6 +1205,112 @@ FORMULA_FONTSIZE = 10 +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax +# (see http://www.mathjax.org) which uses client side Javascript for the +# rendering instead of using prerendered bitmaps. Use this if you do not +# have LaTeX installed or if you want to formulas look prettier in the HTML +# output. When enabled you may also need to install MathJax separately and +# configure the path to it using the MATHJAX_RELPATH option. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and +# SVG. The default value is HTML-CSS, which is slower, but has the best +# compatibility. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the +# HTML output directory using the MATHJAX_RELPATH option. The destination +# directory should contain the MathJax.js script. For instance, if the mathjax +# directory is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to +# the MathJax Content Delivery Network so you can quickly see the result without +# installing MathJax. +# However, it is strongly recommended to install a local +# copy of MathJax from http://www.mathjax.org before deployment. + +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + +# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension +# names that should be enabled during MathJax rendering. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript +# pieces of code that will be used on startup of the MathJax code. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = NO + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a web server instead of a web client using Javascript. +# There are two flavours of web server based search depending on the +# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for +# searching and an index file used by the script. When EXTERNAL_SEARCH is +# enabled the indexing and searching needs to be provided by external tools. +# See the manual for details. + +SERVER_BASED_SEARCH = NO + +# When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP +# script for searching. Instead the search results are written to an XML file +# which needs to be processed by an external indexer. Doxygen will invoke an +# external search engine pointed to by the SEARCHENGINE_URL option to obtain +# the search results. Doxygen ships with an example indexer (doxyindexer) and +# search engine (doxysearch.cgi) which are based on the open source search +# engine library Xapian. See the manual for configuration details. + +EXTERNAL_SEARCH = NO + +# The SEARCHENGINE_URL should point to a search engine hosted by a web server +# which will returned the search results when EXTERNAL_SEARCH is enabled. +# Doxygen ships with an example search engine (doxysearch) which is based on +# the open source search engine library Xapian. See the manual for configuration +# details. + +SEARCHENGINE_URL = + +# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed +# search data is written to a file for indexing by an external tool. With the +# SEARCHDATA_FILE tag the name of this file can be specified. + +SEARCHDATA_FILE = searchdata.xml + +# When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the +# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is +# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple +# projects and redirect the results back to the right project. + +EXTERNAL_SEARCH_ID = + +# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen +# projects other than the one defined by this configuration file, but that are +# all added to the same external search index. Each project needs to have a +# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id +# of to a relative location where the documentation can be found. +# The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ... + +EXTRA_SEARCH_MAPPINGS = + #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- @@ -982,6 +1328,9 @@ # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. LATEX_CMD_NAME = latex @@ -998,8 +1347,8 @@ COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. +# by the printer. Possible values are: a4, letter, legal and +# executive. If left blank a4 will be used. PAPER_TYPE = letter @@ -1015,6 +1364,20 @@ LATEX_HEADER = +# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for +# the generated latex document. The footer should contain everything after +# the last chapter. If it is left blank doxygen will generate a +# standard footer. Notice: only use this tag if you know what you are doing! + +LATEX_FOOTER = + +# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images +# or other source files which should be copied to the LaTeX output directory. +# Note that the files will be copied as-is; there are no commands or markers +# available. + +LATEX_EXTRA_FILES = + # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references @@ -1041,6 +1404,19 @@ LATEX_HIDE_INDICES = NO +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + +# The LATEX_BIB_STYLE tag can be used to specify the style to use for the +# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See +# http://en.wikipedia.org/wiki/BibTeX for more info. + +LATEX_BIB_STYLE = plain + #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- @@ -1072,7 +1448,7 @@ RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's +# Load style sheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. @@ -1127,18 +1503,6 @@ XML_OUTPUT = xml -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that @@ -1147,6 +1511,21 @@ XML_PROGRAMLISTING = NO #--------------------------------------------------------------------------- +# configuration options related to the DOCBOOK output +#--------------------------------------------------------------------------- + +# If the GENERATE_DOCBOOK tag is set to YES Doxygen will generate DOCBOOK files +# that can be used to generate PDF. + +GENERATE_DOCBOOK = NO + +# The DOCBOOK_OUTPUT tag is used to specify where the DOCBOOK pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in +# front of it. If left blank docbook will be used as the default path. + +DOCBOOK_OUTPUT = docbook + +#--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- @@ -1177,8 +1556,10 @@ PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this +# nicely formatted so it can be parsed by a human reader. +# This is useful +# if you want to understand what is going on. +# On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. @@ -1215,7 +1596,7 @@ EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. +# pointed to by INCLUDE_PATH will be searched when a #include is found. SEARCH_INCLUDES = YES @@ -1245,15 +1626,15 @@ # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. +# Use the PREDEFINED tag if you want to use a different macro definition that +# overrules the definition found in the source code. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. +# doxygen's preprocessor will remove all references to function-like macros +# that are alone on a line, have an all uppercase name, and do not end with a +# semicolon, because these will confuse the parser if not removed. SKIP_FUNCTION_MACROS = YES @@ -1261,20 +1642,18 @@ # Configuration::additions related to external references #--------------------------------------------------------------------------- -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... +# The TAGFILES option can be used to specify one or more tagfiles. For each +# tag file the location of the external documentation should be added. The +# format of a tag file without this location is as follows: +# +# TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. +# +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths +# or URLs. Note that each tag file must have a unique name (where the name does +# NOT include the path). If a tag file is not located in the directory in which +# doxygen is run, you must also specify the path to the tagfile here. TAGFILES = @@ -1295,6 +1674,12 @@ EXTERNAL_GROUPS = YES +# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed +# in the related pages index. If set to NO, only the current project's +# pages will be listed. + +EXTERNAL_PAGES = YES + # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). @@ -1307,9 +1692,8 @@ # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. +# this option also works with HAVE_DOT disabled, but it is recommended to +# install and use dot, since it yields more powerful graphs. CLASS_DIAGRAMS = YES @@ -1335,33 +1719,38 @@ HAVE_DOT = @HAVE_DOT@ -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. -DOT_FONTNAME = FreeSans +DOT_NUM_THREADS = 0 + +# By default doxygen will use the Helvetica font for all dot files that +# doxygen generates. When you want a differently looking font you can specify +# the font name using DOT_FONTNAME. You need to make sure dot is able to find +# the font, which can be done by putting it in a standard location or by setting +# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the +# directory containing the font. + +DOT_FONTNAME = Helvetica # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 10 -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. +# By default doxygen will tell dot to use the Helvetica font. +# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to +# set the path where dot can find it. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. +# CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES @@ -1383,6 +1772,15 @@ UML_LOOK = NO +# If the UML_LOOK tag is enabled, the fields and methods are shown inside +# the class node. If there are many fields or methods and many nodes the +# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS +# threshold limits the number of items for each type to make the size more +# manageable. Set this to 0 for no limit. Note that the threshold may be +# exceeded by 50% before the limit is enforced. + +UML_LIMIT_NUM_FIELDS = 10 + # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. @@ -1419,11 +1817,11 @@ CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. +# will generate a graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. @@ -1431,11 +1829,22 @@ DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. +# generated by dot. Possible values are svg, png, jpg, or gif. +# If left blank png will be used. If you choose svg you need to set +# HTML_FILE_EXTENSION to xhtml in order to make the SVG files +# visible in IE 9+ (other browsers do not have this requirement). DOT_IMAGE_FORMAT = png +# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to +# enable generation of interactive SVG images that allow zooming and panning. +# Note that this requires a modern browser other than Internet Explorer. +# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you +# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files +# visible. Older versions of IE do not have SVG support. + +INTERACTIVE_SVG = NO + # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. @@ -1447,6 +1856,12 @@ DOTFILE_DIRS = +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the +# \mscfile command). + +MSCFILE_DIRS = + # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is @@ -1493,12 +1908,3 @@ # the various graphs. DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO diff --git a/docs/doxygen/Doxyfile.swig_doc.in b/docs/doxygen/Doxyfile.swig_doc.in index 50b8aa8..cbe06d6 100644 --- a/docs/doxygen/Doxyfile.swig_doc.in +++ b/docs/doxygen/Doxyfile.swig_doc.in @@ -1,14 +1,16 @@ -# Doxyfile 1.6.1 +# Doxyfile 1.8.4 # This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project +# doxygen (www.doxygen.org) for a project. # -# All text after a hash (#) is considered a comment and will be ignored +# All text after a double hash (##) is considered a comment and is placed +# in front of the TAG it is preceding . +# All text after a hash (#) is considered a comment and will be ignored. # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") +# Values that contain spaces should be placed between quotes (" "). #--------------------------------------------------------------------------- # Project related configuration options @@ -22,8 +24,9 @@ DOXYFILE_ENCODING = UTF-8 -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. +# The PROJECT_NAME tag is a single word (or sequence of words) that should +# identify the project. Note that if you do not use Doxywizard you need +# to put quotes around the project name if it contains spaces. PROJECT_NAME = @CPACK_PACKAGE_NAME@ @@ -33,12 +36,25 @@ PROJECT_NUMBER = @CPACK_PACKAGE_VERSION@ +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer +# a quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify an logo or icon that is +# included in the documentation. The maximum height of the logo should not +# exceed 55 pixels and the maximum width should not exceed 200 pixels. +# Doxygen will copy the logo to the output directory. + +PROJECT_LOGO = + # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. -OUTPUT_DIRECTORY = @OUTPUT_DIRECTORY@ +OUTPUT_DIRECTORY = "@OUTPUT_DIRECTORY@" # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output @@ -56,9 +72,9 @@ # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, # Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, # Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. +# messages), Korean, Korean-en, Latvian, Lithuanian, Norwegian, Macedonian, +# Persian, Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, +# Slovak, Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. OUTPUT_LANGUAGE = English @@ -105,14 +121,16 @@ # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. -FULL_PATH_NAMES = YES +FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the -# path to strip. +# path to strip. Note that you specify absolute paths here, but also +# relative paths, which will be relative from the directory where doxygen is +# started. STRIP_FROM_PATH = @@ -126,7 +144,7 @@ STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems +# (but less readable) file names. This can be useful if your file system # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO @@ -181,6 +199,13 @@ ALIASES = +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding +# "class=itcl::class" will allow you to use the command class in the +# itcl::class meaning. + +TCL_SUBST = + # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list @@ -207,22 +232,40 @@ OPTIMIZE_OUTPUT_VHDL = NO -# Doxygen selects the parser to use depending on the extension of the files it parses. -# With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this tag. -# The format is ext=language, where ext is a file extension, and language is one of -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, +# and language is one of the parsers supported by doxygen: IDL, Java, +# Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, +# C++. For instance to make doxygen treat .inc files as Fortran files (default +# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note +# that for custom extensions you also need to set FILE_PATTERNS otherwise the +# files are not read by doxygen. EXTENSION_MAPPING = +# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all +# comments according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you +# can mix doxygen, HTML, and XML commands with Markdown formatting. +# Disable only in case of backward compatibilities issues. + +MARKDOWN_SUPPORT = YES + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by by putting a % sign in front of the word +# or globally by setting AUTOLINK_SUPPORT to NO. + +AUTOLINK_SUPPORT = YES + # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration +# func(std::string) {}). This also makes the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = YES @@ -238,10 +281,10 @@ SIP_SUPPORT = NO -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES (the +# default) will make doxygen replace the get and set methods by a property in +# the documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. @@ -262,6 +305,22 @@ SUBGROUPING = YES +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and +# unions are shown inside the group in which they are included (e.g. using +# @ingroup) instead of on a separate page (for HTML and Man pages) or +# section (for LaTeX and RTF). + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and +# unions with only public data fields or simple typedef fields will be shown +# inline in the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO (the default), structs, classes, and unions are shown on a separate +# page (for HTML and Man pages) or section (for LaTeX and RTF). + +INLINE_SIMPLE_STRUCTS = NO + # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct @@ -272,21 +331,16 @@ TYPEDEF_HIDES_STRUCT = NO -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can +# be an expensive process and often the same symbol appear multiple times in +# the code, doxygen keeps a cache of pre-resolved symbols. If the cache is too +# small doxygen will become slower. If the cache is too large, memory is wasted. +# The cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid +# range is 0..9, the default is 0, corresponding to a cache size of 2^16 = 65536 +# symbols. -SYMBOL_CACHE_SIZE = 0 +LOOKUP_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options @@ -295,7 +349,7 @@ # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES +# the EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES @@ -304,6 +358,11 @@ EXTRACT_PRIVATE = NO +# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal +# scope will be included in the documentation. + +EXTRACT_PACKAGE = NO + # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. @@ -326,7 +385,7 @@ # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. +# anonymous namespaces are hidden. EXTRACT_ANON_NSPACES = NO @@ -386,6 +445,12 @@ SHOW_INCLUDE_FILES = YES +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. @@ -405,7 +470,13 @@ SORT_BRIEF_DOCS = NO -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. SORT_MEMBERS_CTORS_1ST = NO @@ -425,6 +496,15 @@ SORT_BY_SCOPE_NAME = NO +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to +# do proper type resolution of all parameters of a function it will reject a +# match between the prototype and the implementation of a member function even +# if there is only one candidate or it is obvious which candidate to choose +# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen +# will still accept a match between prototype and implementation in such cases. + +STRICT_PROTO_MATCHING = NO + # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. @@ -450,15 +530,16 @@ GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. +# documentation sections, marked by \if section-label ... \endif +# and \cond section-label ... \endcond blocks. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in +# the initial value of a variable or macro consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the +# The appearance of the initializer of individual variables and macros in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. @@ -470,12 +551,6 @@ SHOW_USED_FILES = YES -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. @@ -499,15 +574,26 @@ FILE_VERSION_FILTER = -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. LAYOUT_FILE = +# The CITE_BIB_FILES tag can be used to specify one or more bib files +# containing the references data. This must be a list of .bib files. The +# .bib extension is automatically appended if omitted. Using this command +# requires the bibtex tool to be installed. See also +# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style +# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this +# feature you need bibtex and perl available in the search path. Do not use +# file names with spaces, bibtex cannot handle them. + +CITE_BIB_FILES = + #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- @@ -536,7 +622,7 @@ WARN_IF_DOC_ERROR = YES -# This WARN_NO_PARAMDOC option can be abled to get warnings for +# The WARN_NO_PARAMDOC option can be enabled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of @@ -582,8 +668,9 @@ # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 +# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh +# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py +# *.f90 *.f *.for *.vhd *.vhdl FILE_PATTERNS = *.h @@ -593,14 +680,16 @@ RECURSIVE = YES -# The EXCLUDE tag can be used to specify files and/or directories that should +# The EXCLUDE tag can be used to specify files and/or directories that should be # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. +# Note that relative paths are relative to the directory from which doxygen is +# run. EXCLUDE = -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO @@ -653,8 +742,10 @@ # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. +# If FILTER_PATTERNS is specified, this tag will be ignored. +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. INPUT_FILTER = @@ -664,8 +755,8 @@ # filter if there is a match. # The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. +# info on how filters are used. If FILTER_PATTERNS is empty or if +# non of the patterns match the file name, INPUT_FILTER is applied. FILTER_PATTERNS = @@ -675,6 +766,21 @@ FILTER_SOURCE_FILES = NO +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) +# and it is also possible to disable source filtering for a specific pattern +# using *.ext= (so without naming a filter). This option only has effect when +# FILTER_SOURCE_FILES is enabled. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- @@ -693,7 +799,7 @@ # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. +# fragments. Normal C, C++ and Fortran comments will always remain visible. STRIP_CODE_COMMENTS = YES @@ -777,7 +883,14 @@ # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a -# standard header. +# standard header. Note that when using a custom header you are responsible +# for the proper inclusion of any scripts and style sheets that doxygen +# needs, which is dependent on the configuration options used. +# It is advised to generate a default header using "doxygen -w html +# header.html footer.html stylesheet.css YourConfigFile" and then modify +# that header. Note that the header is subject to change so you typically +# have to redo this when upgrading to a newer version of doxygen or when +# changing the value of configuration settings such as GENERATE_TREEVIEW! HTML_HEADER = @@ -789,27 +902,80 @@ # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! +# fine-tune the look of the HTML output. If left blank doxygen will +# generate a default style sheet. Note that it is recommended to use +# HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this +# tag will in the future become obsolete. HTML_STYLESHEET = -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. +# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional +# user-defined cascading style sheet that is included after the standard +# style sheets created by doxygen. Using this option one can overrule +# certain style aspects. This is preferred over using HTML_STYLESHEET +# since it does not replace the standard style sheet and is therefore more +# robust against future updates. Doxygen will copy the style sheet file to +# the output directory. -HTML_ALIGN_MEMBERS = YES +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that +# the files will be copied as-is; there are no commands or markers available. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the style sheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = NO # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). +# page has loaded. HTML_DYNAMIC_SECTIONS = NO +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of +# entries shown in the various tree structured indices initially; the user +# can expand and collapse entries dynamically later on. Doxygen will expand +# the tree to such a level that at most the specified number of entries are +# visible (unless a fully collapsed tree already exceeds this amount). +# So setting the number of entries 1 will produce a full collapsed tree by +# default. 0 is a special value representing an infinite number of entries +# and will result in a full expanded tree by default. + +HTML_INDEX_NUM_ENTRIES = 100 + # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). @@ -818,7 +984,8 @@ # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. GENERATE_DOCSET = NO @@ -836,6 +1003,16 @@ DOCSET_BUNDLE_ID = org.doxygen.Project +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely +# identify the documentation publisher. This should be a reverse domain-name +# style string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) @@ -880,10 +1057,10 @@ TOC_EXPAND = NO -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. GENERATE_QHP = NO @@ -905,20 +1082,24 @@ QHP_VIRTUAL_FOLDER = doc -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. -# For more information please see +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters QHP_CUST_FILTER_NAME = -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see -# Qt Help Project / Custom Filters. +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# +# Qt Help Project / Custom Filters. QHP_CUST_FILTER_ATTRS = -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's # filter section matches. -# Qt Help Project / Filter Attributes. +# +# Qt Help Project / Filter Attributes. QHP_SECT_FILTER_ATTRS = @@ -929,17 +1110,31 @@ QHG_LOCATION = -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) +# at top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. Since the tabs have the same information as the +# navigation tree you can set this option to NO if you already set +# GENERATE_TREEVIEW to YES. DISABLE_INDEX = NO -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. # If the tag value is set to YES, a side panel will be generated @@ -947,13 +1142,17 @@ # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). # Windows users are probably better off using the HTML help feature. +# Since the tree basically has the same information as the tab index you +# could consider to set DISABLE_INDEX to NO when enabling this option. GENERATE_TREEVIEW = NO -# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list. +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values +# (range [0,1..20]) that doxygen will group on one line in the generated HTML +# documentation. Note that a value of 0 will completely suppress the enum +# values from appearing in the overview section. -USE_INLINE_TREES = NO +ENUM_VALUES_PER_LINE = 4 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree @@ -961,6 +1160,11 @@ TREEVIEW_WIDTH = 250 +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need @@ -969,13 +1173,112 @@ FORMULA_FONTSIZE = 10 -# When the SEARCHENGINE tag is enable doxygen will generate a search box for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP) or Qt help (GENERATE_QHP) -# there is already a search function so this one should typically -# be disabled. +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax +# (see http://www.mathjax.org) which uses client side Javascript for the +# rendering instead of using prerendered bitmaps. Use this if you do not +# have LaTeX installed or if you want to formulas look prettier in the HTML +# output. When enabled you may also need to install MathJax separately and +# configure the path to it using the MATHJAX_RELPATH option. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and +# SVG. The default value is HTML-CSS, which is slower, but has the best +# compatibility. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the +# HTML output directory using the MATHJAX_RELPATH option. The destination +# directory should contain the MathJax.js script. For instance, if the mathjax +# directory is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to +# the MathJax Content Delivery Network so you can quickly see the result without +# installing MathJax. +# However, it is strongly recommended to install a local +# copy of MathJax from http://www.mathjax.org before deployment. + +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + +# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension +# names that should be enabled during MathJax rendering. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript +# pieces of code that will be used on startup of the MathJax code. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. SEARCHENGINE = YES +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a web server instead of a web client using Javascript. +# There are two flavours of web server based search depending on the +# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for +# searching and an index file used by the script. When EXTERNAL_SEARCH is +# enabled the indexing and searching needs to be provided by external tools. +# See the manual for details. + +SERVER_BASED_SEARCH = NO + +# When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP +# script for searching. Instead the search results are written to an XML file +# which needs to be processed by an external indexer. Doxygen will invoke an +# external search engine pointed to by the SEARCHENGINE_URL option to obtain +# the search results. Doxygen ships with an example indexer (doxyindexer) and +# search engine (doxysearch.cgi) which are based on the open source search +# engine library Xapian. See the manual for configuration details. + +EXTERNAL_SEARCH = NO + +# The SEARCHENGINE_URL should point to a search engine hosted by a web server +# which will returned the search results when EXTERNAL_SEARCH is enabled. +# Doxygen ships with an example search engine (doxysearch) which is based on +# the open source search engine library Xapian. See the manual for configuration +# details. + +SEARCHENGINE_URL = + +# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed +# search data is written to a file for indexing by an external tool. With the +# SEARCHDATA_FILE tag the name of this file can be specified. + +SEARCHDATA_FILE = searchdata.xml + +# When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the +# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is +# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple +# projects and redirect the results back to the right project. + +EXTERNAL_SEARCH_ID = + +# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen +# projects other than the one defined by this configuration file, but that are +# all added to the same external search index. Each project needs to have a +# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id +# of to a relative location where the documentation can be found. +# The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ... + +EXTRA_SEARCH_MAPPINGS = + #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- @@ -993,6 +1296,9 @@ # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. LATEX_CMD_NAME = latex @@ -1009,8 +1315,8 @@ COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. +# by the printer. Possible values are: a4, letter, legal and +# executive. If left blank a4 will be used. PAPER_TYPE = a4wide @@ -1026,6 +1332,20 @@ LATEX_HEADER = +# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for +# the generated latex document. The footer should contain everything after +# the last chapter. If it is left blank doxygen will generate a +# standard footer. Notice: only use this tag if you know what you are doing! + +LATEX_FOOTER = + +# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images +# or other source files which should be copied to the LaTeX output directory. +# Note that the files will be copied as-is; there are no commands or markers +# available. + +LATEX_EXTRA_FILES = + # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references @@ -1052,10 +1372,19 @@ LATEX_HIDE_INDICES = NO -# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER. +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. LATEX_SOURCE_CODE = NO +# The LATEX_BIB_STYLE tag can be used to specify the style to use for the +# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See +# http://en.wikipedia.org/wiki/BibTeX for more info. + +LATEX_BIB_STYLE = plain + #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- @@ -1087,7 +1416,7 @@ RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's +# Load style sheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. @@ -1142,18 +1471,6 @@ XML_OUTPUT = xml -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that @@ -1162,6 +1479,21 @@ XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- +# configuration options related to the DOCBOOK output +#--------------------------------------------------------------------------- + +# If the GENERATE_DOCBOOK tag is set to YES Doxygen will generate DOCBOOK files +# that can be used to generate PDF. + +GENERATE_DOCBOOK = NO + +# The DOCBOOK_OUTPUT tag is used to specify where the DOCBOOK pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in +# front of it. If left blank docbook will be used as the default path. + +DOCBOOK_OUTPUT = docbook + +#--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- @@ -1232,7 +1564,7 @@ EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. +# pointed to by INCLUDE_PATH will be searched when a #include is found. SEARCH_INCLUDES = YES @@ -1262,15 +1594,15 @@ # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. +# Use the PREDEFINED tag if you want to use a different macro definition that +# overrules the definition found in the source code. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. +# doxygen's preprocessor will remove all references to function-like macros +# that are alone on a line, have an all uppercase name, and do not end with a +# semicolon, because these will confuse the parser if not removed. SKIP_FUNCTION_MACROS = YES @@ -1278,22 +1610,18 @@ # Configuration::additions related to external references #--------------------------------------------------------------------------- -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: +# The TAGFILES option can be used to specify one or more tagfiles. For each +# tag file the location of the external documentation should be added. The +# format of a tag file without this location is as follows: # # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # # TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. +# where "loc1" and "loc2" can be relative or absolute paths +# or URLs. Note that each tag file must have a unique name (where the name does +# NOT include the path). If a tag file is not located in the directory in which +# doxygen is run, you must also specify the path to the tagfile here. TAGFILES = @@ -1314,6 +1642,12 @@ EXTERNAL_GROUPS = YES +# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed +# in the related pages index. If set to NO, only the current project's +# pages will be listed. + +EXTERNAL_PAGES = YES + # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). @@ -1326,9 +1660,8 @@ # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. +# this option also works with HAVE_DOT disabled, but it is recommended to +# install and use dot, since it yields more powerful graphs. CLASS_DIAGRAMS = YES @@ -1354,33 +1687,38 @@ HAVE_DOT = NO -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. -DOT_FONTNAME = FreeSans +DOT_NUM_THREADS = 0 + +# By default doxygen will use the Helvetica font for all dot files that +# doxygen generates. When you want a differently looking font you can specify +# the font name using DOT_FONTNAME. You need to make sure dot is able to find +# the font, which can be done by putting it in a standard location or by setting +# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the +# directory containing the font. + +DOT_FONTNAME = Helvetica # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 10 -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. +# By default doxygen will tell dot to use the Helvetica font. +# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to +# set the path where dot can find it. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. +# CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES @@ -1402,6 +1740,15 @@ UML_LOOK = NO +# If the UML_LOOK tag is enabled, the fields and methods are shown inside +# the class node. If there are many fields or methods and many nodes the +# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS +# threshold limits the number of items for each type to make the size more +# manageable. Set this to 0 for no limit. Note that the threshold may be +# exceeded by 50% before the limit is enforced. + +UML_LIMIT_NUM_FIELDS = 10 + # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. @@ -1438,11 +1785,11 @@ CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. +# will generate a graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. @@ -1450,11 +1797,22 @@ DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. +# generated by dot. Possible values are svg, png, jpg, or gif. +# If left blank png will be used. If you choose svg you need to set +# HTML_FILE_EXTENSION to xhtml in order to make the SVG files +# visible in IE 9+ (other browsers do not have this requirement). DOT_IMAGE_FORMAT = png +# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to +# enable generation of interactive SVG images that allow zooming and panning. +# Note that this requires a modern browser other than Internet Explorer. +# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you +# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files +# visible. Older versions of IE do not have SVG support. + +INTERACTIVE_SVG = NO + # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. @@ -1466,6 +1824,12 @@ DOTFILE_DIRS = +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the +# \mscfile command). + +MSCFILE_DIRS = + # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is diff --git a/docs/doxygen/doxyxml/__init__.py b/docs/doxygen/doxyxml/__init__.py index 5cd0b3c..3b0a580 100644 --- a/docs/doxygen/doxyxml/__init__.py +++ b/docs/doxygen/doxyxml/__init__.py @@ -1,7 +1,8 @@ # # Copyright 2010 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -63,8 +64,9 @@ u'Outputs the vital aadvark statistics.' """ +from __future__ import unicode_literals -from doxyindex import DoxyIndex, DoxyFunction, DoxyParam, DoxyClass, DoxyFile, DoxyNamespace, DoxyGroup, DoxyFriend, DoxyOther +from .doxyindex import DoxyIndex, DoxyFunction, DoxyParam, DoxyClass, DoxyFile, DoxyNamespace, DoxyGroup, DoxyFriend, DoxyOther def _test(): import os diff --git a/docs/doxygen/doxyxml/base.py b/docs/doxygen/doxyxml/base.py index e8f026a..071d8f1 100644 --- a/docs/doxygen/doxyxml/base.py +++ b/docs/doxygen/doxyxml/base.py @@ -1,7 +1,8 @@ # # Copyright 2010 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,24 +25,26 @@ Classes based upon this are used to make more user-friendly interfaces to the doxygen xml docs than the generated classes provide. """ +from __future__ import print_function +from __future__ import unicode_literals import os import pdb from xml.parsers.expat import ExpatError -from generated import compound +from .generated import compound class Base(object): - class Duplicate(StandardError): + class Duplicate(Exception): pass - class NoSuchMember(StandardError): + class NoSuchMember(Exception): pass - class ParsingError(StandardError): + class ParsingError(Exception): pass def __init__(self, parse_data, top=None): @@ -94,7 +97,7 @@ for cls in self.mem_classes: if cls.can_parse(mem): return cls - raise StandardError(("Did not find a class for object '%s'." \ + raise Exception(("Did not find a class for object '%s'." \ % (mem.get_name()))) def convert_mem(self, mem): @@ -102,11 +105,11 @@ cls = self.get_cls(mem) converted = cls.from_parse_data(mem, self.top) if converted is None: - raise StandardError('No class matched this object.') + raise Exception('No class matched this object.') self.add_ref(converted) return converted - except StandardError, e: - print e + except Exception as e: + print(e) @classmethod def includes(cls, inst): diff --git a/docs/doxygen/doxyxml/doxyindex.py b/docs/doxygen/doxyxml/doxyindex.py index 0132ab8..e00729e 100644 --- a/docs/doxygen/doxyxml/doxyindex.py +++ b/docs/doxygen/doxyxml/doxyindex.py @@ -1,7 +1,8 @@ # # Copyright 2010 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -22,12 +23,14 @@ Classes providing more user-friendly interfaces to the doxygen xml docs than the generated classes provide. """ +from __future__ import absolute_import +from __future__ import unicode_literals import os -from generated import index -from base import Base -from text import description +from .generated import index +from .base import Base +from .text import description class DoxyIndex(Base): """ @@ -43,13 +46,16 @@ self._root = index.parse(os.path.join(self._xml_path, 'index.xml')) for mem in self._root.compound: converted = self.convert_mem(mem) - # For files we want the contents to be accessible directly - # from the parent rather than having to go through the file - # object. + # For files and namespaces we want the contents to be + # accessible directly from the parent rather than having + # to go through the file object. if self.get_cls(mem) == DoxyFile: if mem.name.endswith('.h'): self._members += converted.members() self._members.append(converted) + elif self.get_cls(mem) == DoxyNamespace: + self._members += converted.members() + self._members.append(converted) else: self._members.append(converted) @@ -80,13 +86,29 @@ self._data['brief_description'] = bd self._data['detailed_description'] = dd + def set_parameters(self, data): + vs = [ddc.value for ddc in data.detaileddescription.content_] + pls = [] + for v in vs: + if hasattr(v, 'parameterlist'): + pls += v.parameterlist + pis = [] + for pl in pls: + pis += pl.parameteritem + dpis = [] + for pi in pis: + dpi = DoxyParameterItem(pi) + dpi._parse() + dpis.append(dpi) + self._data['params'] = dpis + + class DoxyCompound(DoxyCompMem): pass class DoxyMember(DoxyCompMem): pass - class DoxyFunction(DoxyMember): __module__ = "gnuradio.utils.doxyxml" @@ -98,10 +120,13 @@ return super(DoxyFunction, self)._parse() self.set_descriptions(self._parse_data) - self._data['params'] = [] - prms = self._parse_data.param - for prm in prms: - self._data['params'].append(DoxyParam(prm)) + self.set_parameters(self._parse_data) + if not self._data['params']: + # If the params weren't set by a comment then just grab the names. + self._data['params'] = [] + prms = self._parse_data.param + for prm in prms: + self._data['params'].append(DoxyParam(prm)) brief_description = property(lambda self: self.data()['brief_description']) detailed_description = property(lambda self: self.data()['detailed_description']) @@ -121,9 +146,39 @@ self.set_descriptions(self._parse_data) self._data['declname'] = self._parse_data.declname + @property + def description(self): + descriptions = [] + if self.brief_description: + descriptions.append(self.brief_description) + if self.detailed_description: + descriptions.append(self.detailed_description) + return '\n\n'.join(descriptions) + brief_description = property(lambda self: self.data()['brief_description']) detailed_description = property(lambda self: self.data()['detailed_description']) - declname = property(lambda self: self.data()['declname']) + name = property(lambda self: self.data()['declname']) + +class DoxyParameterItem(DoxyMember): + """A different representation of a parameter in Doxygen.""" + + def _parse(self): + if self._parsed: + return + super(DoxyParameterItem, self)._parse() + names = [] + for nl in self._parse_data.parameternamelist: + for pn in nl.parametername: + names.append(description(pn)) + # Just take first name + self._data['name'] = names[0] + # Get description + pd = description(self._parse_data.get_parameterdescription()) + self._data['description'] = pd + + description = property(lambda self: self.data()['description']) + name = property(lambda self: self.data()['name']) + class DoxyClass(DoxyCompound): @@ -139,12 +194,14 @@ if self._error: return self.set_descriptions(self._retrieved_data.compounddef) + self.set_parameters(self._retrieved_data.compounddef) # Sectiondef.kind tells about whether private or public. # We just ignore this for now. self.process_memberdefs() brief_description = property(lambda self: self.data()['brief_description']) detailed_description = property(lambda self: self.data()['detailed_description']) + params = property(lambda self: self.data()['params']) Base.mem_classes.append(DoxyClass) @@ -177,6 +234,16 @@ kind = 'namespace' + def _parse(self): + if self._parsed: + return + super(DoxyNamespace, self)._parse() + self.retrieve_data() + self.set_descriptions(self._retrieved_data.compounddef) + if self._error: + return + self.process_memberdefs() + Base.mem_classes.append(DoxyNamespace) @@ -227,11 +294,11 @@ __module__ = "gnuradio.utils.doxyxml" - kinds = set(['variable', 'struct', 'union', 'define', 'typedef', 'enum', 'dir', 'page']) + kinds = set(['variable', 'struct', 'union', 'define', 'typedef', 'enum', + 'dir', 'page', 'signal', 'slot', 'property']) @classmethod def can_parse(cls, obj): return obj.kind in cls.kinds Base.mem_classes.append(DoxyOther) - diff --git a/docs/doxygen/doxyxml/generated/__init__.py b/docs/doxygen/doxyxml/generated/__init__.py index 3982397..23095c1 100644 --- a/docs/doxygen/doxyxml/generated/__init__.py +++ b/docs/doxygen/doxyxml/generated/__init__.py @@ -5,3 +5,4 @@ resultant classes are not very friendly to navigate so the rest of the doxyxml module processes them further. """ +from __future__ import unicode_literals diff --git a/docs/doxygen/doxyxml/generated/compound.py b/docs/doxygen/doxyxml/generated/compound.py index 1522ac2..de4f506 100644 --- a/docs/doxygen/doxyxml/generated/compound.py +++ b/docs/doxygen/doxyxml/generated/compound.py @@ -1,17 +1,19 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ Generated Mon Feb 9 19:08:05 2009 by generateDS.py. """ +from __future__ import absolute_import +from __future__ import unicode_literals -from string import lower as str_lower + from xml.dom import minidom from xml.dom import Node import sys -import compoundsuper as supermod -from compoundsuper import MixedContainer +from . import compoundsuper as supermod +from .compoundsuper import MixedContainer class DoxygenTypeSub(supermod.DoxygenType): diff --git a/docs/doxygen/doxyxml/generated/compoundsuper.py b/docs/doxygen/doxyxml/generated/compoundsuper.py index 6255dda..b68978f 100644 --- a/docs/doxygen/doxyxml/generated/compoundsuper.py +++ b/docs/doxygen/doxyxml/generated/compoundsuper.py @@ -1,15 +1,20 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # # Generated Thu Jun 11 18:44:25 2009 by generateDS.py. # +from __future__ import print_function +from __future__ import unicode_literals + import sys -import getopt -from string import lower as str_lower + from xml.dom import minidom from xml.dom import Node +import six + + # # User methods # @@ -19,9 +24,9 @@ try: from generatedssuper import GeneratedsSuper -except ImportError, exp: +except ImportError as exp: - class GeneratedsSuper: + class GeneratedsSuper(object): def format_string(self, input_data, input_name=''): return input_data def format_integer(self, input_data, input_name=''): @@ -64,7 +69,7 @@ outfile.write(' ') def quote_xml(inStr): - s1 = (isinstance(inStr, basestring) and inStr or + s1 = (isinstance(inStr, six.string_types) and inStr or '%s' % inStr) s1 = s1.replace('&', '&') s1 = s1.replace('<', '<') @@ -72,7 +77,7 @@ return s1 def quote_attrib(inStr): - s1 = (isinstance(inStr, basestring) and inStr or + s1 = (isinstance(inStr, six.string_types) and inStr or '%s' % inStr) s1 = s1.replace('&', '&') s1 = s1.replace('<', '<') @@ -102,7 +107,7 @@ return '"""%s"""' % s1 -class MixedContainer: +class MixedContainer(object): # Constants for category: CategoryNone = 0 CategoryText = 1 @@ -4221,7 +4226,7 @@ if attrs.get('lineno'): try: self.lineno = int(attrs.get('lineno').value) - except ValueError, exp: + except ValueError as exp: raise ValueError('Bad integer attribute (lineno): %s' % exp) if attrs.get('refkind'): self.refkind = attrs.get('refkind').value @@ -4504,12 +4509,12 @@ if attrs.get('endline'): try: self.endline = int(attrs.get('endline').value) - except ValueError, exp: + except ValueError as exp: raise ValueError('Bad integer attribute (endline): %s' % exp) if attrs.get('startline'): try: self.startline = int(attrs.get('startline').value) - except ValueError, exp: + except ValueError as exp: raise ValueError('Bad integer attribute (startline): %s' % exp) if attrs.get('refid'): self.refid = attrs.get('refid').value @@ -4627,17 +4632,17 @@ if attrs.get('bodystart'): try: self.bodystart = int(attrs.get('bodystart').value) - except ValueError, exp: + except ValueError as exp: raise ValueError('Bad integer attribute (bodystart): %s' % exp) if attrs.get('line'): try: self.line = int(attrs.get('line').value) - except ValueError, exp: + except ValueError as exp: raise ValueError('Bad integer attribute (line): %s' % exp) if attrs.get('bodyend'): try: self.bodyend = int(attrs.get('bodyend').value) - except ValueError, exp: + except ValueError as exp: raise ValueError('Bad integer attribute (bodyend): %s' % exp) if attrs.get('bodyfile'): self.bodyfile = attrs.get('bodyfile').value @@ -6778,12 +6783,12 @@ if attrs.get('rows'): try: self.rows = int(attrs.get('rows').value) - except ValueError, exp: + except ValueError as exp: raise ValueError('Bad integer attribute (rows): %s' % exp) if attrs.get('cols'): try: self.cols = int(attrs.get('cols').value) - except ValueError, exp: + except ValueError as exp: raise ValueError('Bad integer attribute (cols): %s' % exp) def buildChildren(self, child_, nodeName_): if child_.nodeType == Node.ELEMENT_NODE and \ @@ -7108,7 +7113,7 @@ if attrs.get('level'): try: self.level = int(attrs.get('level').value) - except ValueError, exp: + except ValueError as exp: raise ValueError('Bad integer attribute (level): %s' % exp) def buildChildren(self, child_, nodeName_): if child_.nodeType == Node.TEXT_NODE: @@ -8283,7 +8288,7 @@ """ def usage(): - print USAGE_TEXT + print(USAGE_TEXT) sys.exit(1) @@ -8339,4 +8344,3 @@ main() #import pdb #pdb.run('main()') - diff --git a/docs/doxygen/doxyxml/generated/index.py b/docs/doxygen/doxyxml/generated/index.py index 7a70e14..5b54c66 100644 --- a/docs/doxygen/doxyxml/generated/index.py +++ b/docs/doxygen/doxyxml/generated/index.py @@ -1,16 +1,18 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ Generated Mon Feb 9 19:08:05 2009 by generateDS.py. """ +from __future__ import absolute_import +from __future__ import unicode_literals from xml.dom import minidom import os import sys -import compound +from . import compound -import indexsuper as supermod +from . import indexsuper as supermod class DoxygenTypeSub(supermod.DoxygenType): def __init__(self, version=None, compound=None): diff --git a/docs/doxygen/doxyxml/generated/indexsuper.py b/docs/doxygen/doxyxml/generated/indexsuper.py index a991530..2400d81 100644 --- a/docs/doxygen/doxyxml/generated/indexsuper.py +++ b/docs/doxygen/doxyxml/generated/indexsuper.py @@ -1,15 +1,19 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # # Generated Thu Jun 11 18:43:54 2009 by generateDS.py. # +from __future__ import print_function +from __future__ import unicode_literals + import sys -import getopt -from string import lower as str_lower + from xml.dom import minidom from xml.dom import Node +import six + # # User methods # @@ -19,9 +23,9 @@ try: from generatedssuper import GeneratedsSuper -except ImportError, exp: +except ImportError as exp: - class GeneratedsSuper: + class GeneratedsSuper(object): def format_string(self, input_data, input_name=''): return input_data def format_integer(self, input_data, input_name=''): @@ -64,7 +68,7 @@ outfile.write(' ') def quote_xml(inStr): - s1 = (isinstance(inStr, basestring) and inStr or + s1 = (isinstance(inStr, six.string_types) and inStr or '%s' % inStr) s1 = s1.replace('&', '&') s1 = s1.replace('<', '<') @@ -72,7 +76,7 @@ return s1 def quote_attrib(inStr): - s1 = (isinstance(inStr, basestring) and inStr or + s1 = (isinstance(inStr, six.string_types) and inStr or '%s' % inStr) s1 = s1.replace('&', '&') s1 = s1.replace('<', '<') @@ -102,7 +106,7 @@ return '"""%s"""' % s1 -class MixedContainer: +class MixedContainer(object): # Constants for category: CategoryNone = 0 CategoryText = 1 @@ -462,7 +466,7 @@ """ def usage(): - print USAGE_TEXT + print(USAGE_TEXT) sys.exit(1) @@ -520,4 +524,3 @@ main() #import pdb #pdb.run('main()') - diff --git a/docs/doxygen/doxyxml/text.py b/docs/doxygen/doxyxml/text.py index 629edd1..9cb7b4d 100644 --- a/docs/doxygen/doxyxml/text.py +++ b/docs/doxygen/doxyxml/text.py @@ -1,7 +1,8 @@ # # Copyright 2010 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -21,12 +22,13 @@ """ Utilities for extracting text from generated classes. """ +from __future__ import unicode_literals def is_string(txt): if isinstance(txt, str): return True try: - if isinstance(txt, unicode): + if isinstance(txt, str): return True except NameError: pass @@ -49,7 +51,7 @@ elif is_string(obj): return obj else: - raise StandardError('Expecting a string or something with content, content_ or value attribute') + raise Exception('Expecting a string or something with content, content_ or value attribute') # If this bit is a paragraph then add one some line breaks. if hasattr(obj, 'name') and obj.name == 'para': result += "\n\n" diff --git a/docs/doxygen/swig_doc.py b/docs/doxygen/swig_doc.py index 4e1ce2e..b9f4e6e 100644 --- a/docs/doxygen/swig_doc.py +++ b/docs/doxygen/swig_doc.py @@ -1,7 +1,8 @@ # -# Copyright 2010,2011 Free Software Foundation, Inc. +# Copyright 2010-2012 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -26,14 +27,12 @@ python docstrings. """ +from __future__ import unicode_literals -import sys +import sys, time -try: - from doxyxml import DoxyIndex, DoxyClass, DoxyFriend, DoxyFunction, DoxyFile, base -except ImportError: - from gnuradio.doxyxml import DoxyIndex, DoxyClass, DoxyFriend, DoxyFunction, DoxyFile, base - +from doxyxml import DoxyIndex, DoxyClass, DoxyFriend, DoxyFunction, DoxyFile +from doxyxml import DoxyOther, base def py_name(name): bits = name.split('_') @@ -56,18 +55,41 @@ # Check for a parsing error. if item.error(): return False - return item.has_member(make_name(item.name()), DoxyFriend) + friendname = make_name(item.name()) + is_a_block = item.has_member(friendname, DoxyFriend) + # But now sometimes the make function isn't a friend so check again. + if not is_a_block: + is_a_block = di.has_member(friendname, DoxyFunction) + return is_a_block + +class Block2(object): + """ + Checks if doxyxml produced objects correspond to a new style + gnuradio block. + """ + + @classmethod + def includes(cls, item): + if not isinstance(item, DoxyClass): + return False + # Check for a parsing error. + if item.error(): + return False + is_a_block2 = item.has_member('make', DoxyFunction) and item.has_member('sptr', DoxyOther) + return is_a_block2 def utoascii(text): """ - Convert unicode text into ascii and escape quotes. + Convert unicode text into ascii and escape quotes and backslashes. """ if text is None: return '' out = text.encode('ascii', 'replace') - out = out.replace('"', '\\"') - return out + # swig will require us to replace blackslash with 4 backslashes + out = out.replace(b'\\', b'\\\\\\\\') + out = out.replace(b'"', b'\\"').decode('ascii') + return str(out) def combine_descriptions(obj): @@ -83,9 +105,15 @@ description.append(dd) return utoascii('\n\n'.join(description)).strip() +def format_params(parameteritems): + output = ['Args:'] + template = ' {0} : {1}' + for pi in parameteritems: + output.append(template.format(pi.name, pi.description)) + return '\n'.join(output) entry_templ = '%feature("docstring") {name} "{docstring}"' -def make_entry(obj, name=None, templ="{description}", description=None): +def make_entry(obj, name=None, templ="{description}", description=None, params=[]): """ Create a docstring entry for a swig interface file. @@ -102,6 +130,9 @@ return '' if description is None: description = combine_descriptions(obj) + if params: + description += '\n\n' + description += utoascii(format_params(params)) docstring = templ.format(description=description) if not docstring: return '' @@ -121,27 +152,31 @@ used as the description instead of extracting it from func. params - a parameter list that overrides using func.params. """ - if params is None: - params = func.params - params = [prm.declname for prm in params] - if params: - sig = "Params: (%s)" % ", ".join(params) - else: - sig = "Params: (NONE)" - templ = "{description}\n\n" + sig - return make_entry(func, name=name, templ=utoascii(templ), - description=description) + #if params is None: + # params = func.params + #params = [prm.declname for prm in params] + #if params: + # sig = "Params: (%s)" % ", ".join(params) + #else: + # sig = "Params: (NONE)" + #templ = "{description}\n\n" + sig + #return make_entry(func, name=name, templ=utoascii(templ), + # description=description) + return make_entry(func, name=name, description=description, params=params) -def make_class_entry(klass, description=None): +def make_class_entry(klass, description=None, ignored_methods=[], params=None): """ Create a class docstring for a swig interface file. """ + if params is None: + params = klass.params output = [] - output.append(make_entry(klass, description=description)) + output.append(make_entry(klass, description=description, params=params)) for func in klass.in_category(DoxyFunction): - name = klass.name() + '::' + func.name() - output.append(make_func_entry(func, name=name)) + if func.name() not in ignored_methods: + name = klass.name() + '::' + func.name() + output.append(make_func_entry(func, name=name)) return "\n\n".join(output) @@ -175,11 +210,33 @@ # the make function. output = [] output.append(make_class_entry(block, description=super_description)) - creator = block.get_member(block.name(), DoxyFunction) output.append(make_func_entry(make_func, description=super_description, - params=creator.params)) + params=block.params)) return "\n\n".join(output) +def make_block2_entry(di, block): + """ + Create class and function docstrings of a new style gnuradio block for a + swig interface file. + """ + descriptions = [] + # For new style blocks all the relevant documentation should be + # associated with the 'make' method. + class_description = combine_descriptions(block) + make_func = block.get_member('make', DoxyFunction) + make_description = combine_descriptions(make_func) + description = class_description + "\n\nConstructor Specific Documentation:\n\n" + make_description + # Associate the combined description with the class and + # the make function. + output = [] + output.append(make_class_entry( + block, description=description, + ignored_methods=['make'], params=make_func.params)) + makename = block.name() + '::make' + output.append(make_func_entry( + make_func, name=makename, description=description, + params=make_func.params)) + return "\n\n".join(output) def make_swig_interface_file(di, swigdocfilename, custom_output=None): @@ -196,39 +253,59 @@ # Create docstrings for the blocks. blocks = di.in_category(Block) + blocks2 = di.in_category(Block2) + make_funcs = set([]) for block in blocks: try: make_func = di.get_member(make_name(block.name()), DoxyFunction) - make_funcs.add(make_func.name()) - output.append(make_block_entry(di, block)) + # Don't want to risk writing to output twice. + if make_func.name() not in make_funcs: + make_funcs.add(make_func.name()) + output.append(make_block_entry(di, block)) except block.ParsingError: - print('Parsing error for block %s' % block.name()) + sys.stderr.write('Parsing error for block {0}\n'.format(block.name())) + raise + + for block in blocks2: + try: + make_func = block.get_member('make', DoxyFunction) + make_func_name = block.name() +'::make' + # Don't want to risk writing to output twice. + if make_func_name not in make_funcs: + make_funcs.add(make_func_name) + output.append(make_block2_entry(di, block)) + except block.ParsingError: + sys.stderr.write('Parsing error for block {0}\n'.format(block.name())) + raise # Create docstrings for functions # Don't include the make functions since they have already been dealt with. - funcs = [f for f in di.in_category(DoxyFunction) if f.name() not in make_funcs] + funcs = [f for f in di.in_category(DoxyFunction) + if f.name() not in make_funcs and not f.name().startswith('std::')] for f in funcs: try: output.append(make_func_entry(f)) except f.ParsingError: - print('Parsing error for function %s' % f.name()) + sys.stderr.write('Parsing error for function {0}\n'.format(f.name())) # Create docstrings for classes block_names = [block.name() for block in blocks] - klasses = [k for k in di.in_category(DoxyClass) if k.name() not in block_names] + block_names += [block.name() for block in blocks2] + klasses = [k for k in di.in_category(DoxyClass) + if k.name() not in block_names and not k.name().startswith('std::')] for k in klasses: try: output.append(make_class_entry(k)) except k.ParsingError: - print('Parsing error for class %s' % k.name()) + sys.stderr.write('Parsing error for class {0}\n'.format(k.name())) # Docstrings are not created for anything that is not a function or a class. # If this excludes anything important please add it here. output = "\n\n".join(output) - swig_doc = file(swigdocfilename, 'w') + swig_doc = open(swigdocfilename, 'w') swig_doc.write(output) swig_doc.close() @@ -236,7 +313,7 @@ # Parse command line options and set up doxyxml. err_msg = "Execute using: python swig_doc.py xml_path outputfilename" if len(sys.argv) != 3: - raise StandardError(err_msg) + raise Exception(err_msg) xml_path = sys.argv[1] swigdocfilename = sys.argv[2] di = DoxyIndex(xml_path) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 0f2c629..e7dae14 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -1,6 +1,7 @@ -# Copyright 2011,2012 Free Software Foundation, Inc. +# Copyright 2011,2012,2016,2018,2019 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,8 +18,10 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. +######################################################################## +# Setup library +######################################################################## include(GrPlatform) #define LIB_SUFFIX -include(GrMiscUtils) ######################################################################## # Add sources macro @@ -44,7 +47,7 @@ # Handle the generated constants ######################################################################## execute_process(COMMAND ${PYTHON_EXECUTABLE} -c - "import time;print time.strftime('%a, %d %b %Y %H:%M:%S', time.gmtime())" + "import time;print(time.strftime('%a, %d %b %Y %H:%M:%S', time.gmtime()))" OUTPUT_VARIABLE BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE ) message(STATUS "Loading build date ${BUILD_DATE} into constants...") @@ -73,69 +76,68 @@ add_subdirectory(transmitter) add_subdirectory(trx) -######################################################################## -# Setup library -######################################################################## -include_directories(${Boost_INCLUDE_DIR} receiver) -link_directories(${Boost_LIBRARY_DIRS}) - -set(grgsm_link_libraries "") -list (APPEND grgsm_link_libraries ${Boost_LIBRARIES}) -list (APPEND grgsm_link_libraries ${GNURADIO_ALL_LIBRARIES}) -list (APPEND grgsm_link_libraries ${VOLK_LIBRARIES}) -if(WIN32) - list (APPEND grgsm_link_libraries wsock32) - list (APPEND grgsm_link_libraries ws2_32) -endif() - if(NOT LOCAL_OSMOCOM) list (APPEND grgsm_link_libraries ${LIBOSMOCORE_LIBRARIES} ${LIBOSMOCODEC_LIBRARIES} ${LIBOSMOGSM_LIBRARY}) if(LIBOSMOCODING_FOUND) - list (APPEND grgsm_link_libraries ${LIBOSMOCODING_LIBRARIES}) + list (APPEND grgsm_link_libraries + ${LIBOSMOCODING_LIBRARIES} + ) + list (APPEND grgsm_include_directories + ${LIBOSMOCORE_INCLUDE_DIR} + ) endif() endif() add_library(grgsm SHARED ${grgsm_sources}) -target_link_libraries(grgsm ${grgsm_link_libraries} -# libraries required by plotting.h - have troubles to be installed by pybombs -# boost_iostreams -# boost_system -# boost_filesystem -) - +target_link_libraries(grgsm gnuradio::gnuradio-runtime gnuradio::gnuradio-filter volk osmocoding) +target_include_directories(grgsm + PUBLIC $ + PUBLIC $ + PUBLIC $ + PUBLIC $ + ) set_target_properties(grgsm PROPERTIES DEFINE_SYMBOL "grgsm_EXPORTS") -GR_LIBRARY_FOO(grgsm) + +if(APPLE) + set_target_properties(grgsm PROPERTIES + INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib" + ) +endif(APPLE) ######################################################################## # Install built library files ######################################################################## -install(TARGETS grgsm - LIBRARY DESTINATION lib${LIB_SUFFIX} # .so/.dylib file - ARCHIVE DESTINATION lib${LIB_SUFFIX} # .lib file - RUNTIME DESTINATION bin # .dll file -) +include(GrMiscUtils) +GR_LIBRARY_FOO(grgsm) + +######################################################################## +# Print summary +######################################################################## +message(STATUS "Using install prefix: ${CMAKE_INSTALL_PREFIX}") +message(STATUS "Building for version: ${VERSION} / ${LIBVER}") + +set (grgsm_sources ${grgsm_sources} PARENT_SCOPE) ######################################################################## # Build and register unit test ######################################################################## -#include(GrTest) +include(GrTest) -#include_directories(${CPPUNIT_INCLUDE_DIRS}) +# If your unit tests require special include paths, add them here +#include_directories() +# List all files that contain Boost.UTF unit tests here +list(APPEND test_gsm_sources +) +# Anything we need to link to for the unit tests go here +list(APPEND GR_TEST_TARGET_DEPS grgsm) -#list(APPEND test_grgsm_sources -# ${CMAKE_CURRENT_SOURCE_DIR}/test_gsm.cc -# ${CMAKE_CURRENT_SOURCE_DIR}/qa_gsm.cc -# ${CMAKE_CURRENT_SOURCE_DIR}/qa_receiver.cc -#) +if(NOT test_gsm_sources) + MESSAGE(STATUS "No C++ unit tests... skipping") + return() +endif(NOT test_gsm_sources) -#add_executable(test-gsm ${test_grgsm_sources}) - -#target_link_libraries( -# test-gsm -# ${GNURADIO_RUNTIME_LIBRARIES} -# ${Boost_LIBRARIES} -# ${CPPUNIT_LIBRARIES} -# grgsm -#) - -#GR_ADD_TEST(test_gsm test-gsm) +foreach(qa_file ${test_gsm_sources}) + GR_ADD_CPP_TEST("gsm_${qa_file}" + ${CMAKE_CURRENT_SOURCE_DIR}/${qa_file} + ) +endforeach(qa_file) diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 97cb0a3..f0c984d 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -1,6 +1,7 @@ # Copyright 2011 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -36,7 +37,8 @@ GR_PYTHON_INSTALL( FILES - __init__.py DESTINATION ${GR_PYTHON_DIR}/grgsm + __init__.py + DESTINATION ${GR_PYTHON_DIR}/grgsm ) ######################################################################## diff --git a/python/__init__.py b/python/__init__.py index e2905e8..8241b01 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -31,9 +31,9 @@ from dl import RTLD_GLOBAL as _RTLD_GLOBAL except ImportError: try: - from DLFCN import RTLD_GLOBAL as _RTLD_GLOBAL + from DLFCN import RTLD_GLOBAL as _RTLD_GLOBAL except ImportError: - pass + pass if _RTLD_GLOBAL != 0: _dlopenflags = sys.getdlopenflags() diff --git a/python/misc_utils/fn_time.py b/python/misc_utils/fn_time.py index 96314b8..17c6295 100644 --- a/python/misc_utils/fn_time.py +++ b/python/misc_utils/fn_time.py @@ -83,10 +83,10 @@ fn_delta, time2_precise = fn_time_delta(fn1, time1, fn2, time2_err, ts_x, ts_ref) time2_precise_cpp = fn_time_delta_cpp(fn1, (int(time1),time1-int(time1)), fn2, (int(time2_err),time2_err-int(time2_err)), ts_x, ts_ref) if fn_delta != fn2-fn1: - print "bad fn:", fn2, error#, 'fn_delta:'+str(fn_delta), time2, error, frames_diff_h4, (time2-time1)/(__hyper_frame*__frame_period), time_diff_hint_h4_prev, time_diff_hint + print("bad fn:", fn2, error)#, 'fn_delta:'+str(fn_delta), time2, error, frames_diff_h4, (time2-time1)/(__hyper_frame*__frame_period), time_diff_hint_h4_prev, time_diff_hint # time_diff_hint = time2 - time2_precise time_diff_hint = time2_precise_cpp[0]+time2_precise_cpp[1] - time2_precise if abs(time_diff_hint) > 0.0001: - print "time2_precise_cpp",time2_precise_cpp," time2_precise",time2_precise," time_ref",time1," time_hint",time2_err - print "" + print("time2_precise_cpp",time2_precise_cpp," time2_precise",time2_precise," time_ref",time1," time_hint",time2_err) + print("") diff --git a/python/qa_burst_printer.py b/python/qa_burst_printer.py index a3d50d5..c1fdfaf 100755 --- a/python/qa_burst_printer.py +++ b/python/qa_burst_printer.py @@ -52,7 +52,7 @@ out = "" for l in expected_lines: out = out + l + "\n" - return out + return out.encode('utf-8') def test_001_complete_bursts_prefix (self): """ diff --git a/python/qa_message_printer.py b/python/qa_message_printer.py index 6bc9a20..21e6852 100755 --- a/python/qa_message_printer.py +++ b/python/qa_message_printer.py @@ -52,7 +52,7 @@ out = "" for l in expected_lines: out = out + l + "\n" - return out + return out.encode('utf-8') def test_001_no_prefix_no_header (self): """ diff --git a/python/receiver/fcch_burst_tagger.py b/python/receiver/fcch_burst_tagger.py index fc427a7..a460740 100644 --- a/python/receiver/fcch_burst_tagger.py +++ b/python/receiver/fcch_burst_tagger.py @@ -81,9 +81,9 @@ # measured_freq = mean(inst_freq[precise_idx:precise_idx+self.processed_block_size]) expected_freq = self.symbol_rate/4 - print "input_items:",len(in0) - print "coarse_idx",coarse_idx - print "coarse_idx+precise_idx",coarse_idx+precise_idx + print("input_items:",len(in0)) + print("coarse_idx",coarse_idx) + print("coarse_idx+precise_idx",coarse_idx+precise_idx) zoomed_spectrum = abs(self.zoomfft(in0[coarse_idx+precise_idx:coarse_idx+precise_idx+self.processed_block_size])) measured_freq = self.f_axis[argmax(zoomed_spectrum)] @@ -97,9 +97,9 @@ # Some additional plots and prints for debugging # print "coarse_idx+precise_idx",coarse_idx+precise_idx # print "offset-self.nitems_written(0):",offset-self.nitems_written(0) - print offset-self.prev_offset + print(offset-self.prev_offset) self.prev_offset=offset - print "freq offset", freq_offset + print("freq offset", freq_offset) # freq_offset = measured_freq - expected_freq # plot(self.f_axis, zoomed_spectrum) # show() diff --git a/python/receiver/sch_detector.py b/python/receiver/sch_detector.py index d3587d1..626e37d 100644 --- a/python/receiver/sch_detector.py +++ b/python/receiver/sch_detector.py @@ -57,10 +57,10 @@ correlation_bl = correlation_bl/len(self.sync_seq_msk) power_bl_mov_avg = uniform_filter1d(abs(correlation_bl)**2,self.L+1,mode='constant',axis=0) - print "correlation_bl.argmax()",argmax(abs(correlation_bl)) - print "power_bl_mov_avg.argmax()",(power_bl_mov_avg).argmax() - print 'unravel_index(correlation_bl.argmax(), correlation_bl.shape)',unravel_index(argmax(abs(correlation_bl)), correlation_bl.shape) - print 'unravel_index(power_bl_mov_avg.argmax(), power_bl_mov_avg.shape)',unravel_index(power_bl_mov_avg.argmax(), power_bl_mov_avg.shape) + print("correlation_bl.argmax()",argmax(abs(correlation_bl))) + print("power_bl_mov_avg.argmax()",(power_bl_mov_avg).argmax()) + print('unravel_index(correlation_bl.argmax(), correlation_bl.shape)',unravel_index(argmax(abs(correlation_bl)), correlation_bl.shape)) + print('unravel_index(power_bl_mov_avg.argmax(), power_bl_mov_avg.shape)',unravel_index(power_bl_mov_avg.argmax(), power_bl_mov_avg.shape)) (r_corrmax, c_corrmax)=unravel_index(argmax(abs(correlation_bl)), correlation_bl.shape) (r_powmax, c_powmax)=unravel_index(power_bl_mov_avg.argmax(), power_bl_mov_avg.shape) @@ -79,7 +79,7 @@ # plot(range(ii,len(correlation_bl[:,0])*self.OSR,self.OSR),power_bl_mov_avg[:,ii]*5e6,'r.') # show() # figure() - print 'r_powmax: ',r_powmax + print('r_powmax: ',r_powmax) # plot(abs(correlation_bl[range(r_powmax-(self.L+1)/2+1,r_powmax+(self.L+1)/2+1), c_powmax]),'g') # hold(True) # plot(abs(correlation_bl[range(r_corrmax-(self.L+1)/2+1,r_corrmax+(self.L+1)/2+1), c_corrmax]),'r') diff --git a/swig/CMakeLists.txt b/swig/CMakeLists.txt index 4766220..5f1e020 100644 --- a/swig/CMakeLists.txt +++ b/swig/CMakeLists.txt @@ -1,6 +1,7 @@ # Copyright 2011 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,31 +19,32 @@ # Boston, MA 02110-1301, USA. ######################################################################## +# Check if there is C++ code at all +######################################################################## +if(NOT grgsm_sources) + MESSAGE(STATUS "No C++ sources... skipping swig/") + return() +endif(NOT grgsm_sources) + +######################################################################## # Include swig generation macros ######################################################################## find_package(SWIG) -find_package(PythonLibs 2) +find_package(PythonLibs) if(NOT SWIG_FOUND OR NOT PYTHONLIBS_FOUND) return() endif() include(GrSwig) include(GrPython) -IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - # Mac OS X specific code - # Without this flag it does not find some of the libraries - SET(CMAKE_MODULE_LINKER_FLAGS "-undefined dynamic_lookup") -ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - ######################################################################## # Setup swig generation ######################################################################## -foreach(incdir ${GNURADIO_RUNTIME_INCLUDE_DIRS}) - list(APPEND GR_SWIG_INCLUDE_DIRS ${incdir}/gnuradio/swig) -endforeach(incdir) -list(APPEND GR_SWIG_INCLUDE_DIRS ${FFTW3F_INCLUDE_DIRS}) +set(GR_SWIG_INCLUDE_DIRS $) +set(GR_SWIG_TARGET_DEPS gnuradio::runtime_swig) set(GR_SWIG_LIBRARIES grgsm) + set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/grgsm_swig_doc.i) set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include) @@ -59,7 +61,6 @@ install( FILES grgsm_swig.i - constants.i ${CMAKE_CURRENT_BINARY_DIR}/grgsm_swig_doc.i DESTINATION ${GR_INCLUDE_DIR}/grgsm/swig ) -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24060 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I23dd638c8c48ed0a4b50559ce33fbd5e60b7dcbc Gerrit-Change-Number: 24060 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:37 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:37 +0000 Subject: Change in gr-gsm[master]: Migrate grc blocks from xml to yaml References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24061 to review the following change. Change subject: Migrate grc blocks from xml to yaml ...................................................................... Migrate grc blocks from xml to yaml Convert the blocks using cmdline_converter.py script from https://gist.githubusercontent.com/haakov/4228ff6a14486641add538483093e86b/raw/c861a840e31182ace2e74f5425e356cb4f8b183a/cmdline_converter.py Change-Id: Iee5c611a2e100bd2fdf487611a867dc937d8c292 --- M grc/CMakeLists.txt M grc/decoding/CMakeLists.txt A grc/decoding/gsm_control_channels_decoder.block.yml D grc/decoding/gsm_control_channels_decoder.xml A grc/decoding/gsm_tch_f_decoder.block.yml D grc/decoding/gsm_tch_f_decoder.xml A grc/decoding/gsm_tch_h_decoder.block.yml D grc/decoding/gsm_tch_h_decoder.xml M grc/decryption/CMakeLists.txt A grc/decryption/gsm_decryption.block.yml D grc/decryption/gsm_decryption.xml M grc/demapping/CMakeLists.txt A grc/demapping/gsm_bcch_ccch_demapper.block.yml D grc/demapping/gsm_bcch_ccch_demapper.xml A grc/demapping/gsm_bcch_ccch_sdcch4_demapper.block.yml D grc/demapping/gsm_bcch_ccch_sdcch4_demapper.xml A grc/demapping/gsm_sdcch8_demapper.block.yml D grc/demapping/gsm_sdcch8_demapper.xml A grc/demapping/gsm_tch_f_chans_demapper.block.yml D grc/demapping/gsm_tch_f_chans_demapper.xml A grc/demapping/gsm_tch_h_chans_demapper.block.yml D grc/demapping/gsm_tch_h_chans_demapper.xml A grc/demapping/gsm_universal_ctrl_chans_demapper.block.yml D grc/demapping/gsm_universal_ctrl_chans_demapper.xml M grc/flow_control/CMakeLists.txt A grc/flow_control/gsm_burst_fnr_filter.block.yml D grc/flow_control/gsm_burst_fnr_filter.xml A grc/flow_control/gsm_burst_sdcch_subslot_filter.block.yml D grc/flow_control/gsm_burst_sdcch_subslot_filter.xml A grc/flow_control/gsm_burst_sdcch_subslot_splitter.block.yml D grc/flow_control/gsm_burst_sdcch_subslot_splitter.xml A grc/flow_control/gsm_burst_timeslot_filter.block.yml D grc/flow_control/gsm_burst_timeslot_filter.xml A grc/flow_control/gsm_burst_timeslot_splitter.block.yml D grc/flow_control/gsm_burst_timeslot_splitter.xml A grc/flow_control/gsm_burst_type_filter.block.yml D grc/flow_control/gsm_burst_type_filter.xml A grc/flow_control/gsm_dummy_burst_filter.block.yml D grc/flow_control/gsm_dummy_burst_filter.xml A grc/flow_control/gsm_uplink_downlink_splitter.block.yml D grc/flow_control/gsm_uplink_downlink_splitter.xml A grc/gsm.tree.yml D grc/gsm_block_tree.xml M grc/misc_utils/CMakeLists.txt A grc/misc_utils/gsm_burst_file_sink.block.yml D grc/misc_utils/gsm_burst_file_sink.xml A grc/misc_utils/gsm_burst_file_source.block.yml D grc/misc_utils/gsm_burst_file_source.xml A grc/misc_utils/gsm_burst_to_fn_time.block.yml D grc/misc_utils/gsm_burst_to_fn_time.xml A grc/misc_utils/gsm_bursts_printer.block.yml D grc/misc_utils/gsm_bursts_printer.xml A grc/misc_utils/gsm_clock_offset_corrector_tagged.block.yml D grc/misc_utils/gsm_clock_offset_corrector_tagged.xml A grc/misc_utils/gsm_collect_system_info.block.yml D grc/misc_utils/gsm_collect_system_info.xml A grc/misc_utils/gsm_controlled_fractional_resampler_cc.block.yml D grc/misc_utils/gsm_controlled_fractional_resampler_cc.xml A grc/misc_utils/gsm_controlled_rotator_cc.block.yml D grc/misc_utils/gsm_controlled_rotator_cc.xml A grc/misc_utils/gsm_extract_assignment_cmd.block.yml D grc/misc_utils/gsm_extract_assignment_cmd.xml A grc/misc_utils/gsm_extract_cmc.block.yml D grc/misc_utils/gsm_extract_cmc.xml A grc/misc_utils/gsm_extract_immediate_assignment.block.yml D grc/misc_utils/gsm_extract_immediate_assignment.xml A grc/misc_utils/gsm_extract_system_info.block.yml D grc/misc_utils/gsm_extract_system_info.xml A grc/misc_utils/gsm_message_file_sink.block.yml D grc/misc_utils/gsm_message_file_sink.xml A grc/misc_utils/gsm_message_file_source.block.yml D grc/misc_utils/gsm_message_file_source.xml A grc/misc_utils/gsm_message_printer.block.yml D grc/misc_utils/gsm_message_printer.xml A grc/misc_utils/gsm_msg_to_tag.block.yml D grc/misc_utils/gsm_msg_to_tag.xml A grc/misc_utils/gsm_tmsi_dumper.block.yml D grc/misc_utils/gsm_tmsi_dumper.xml M grc/qa_utils/CMakeLists.txt A grc/qa_utils/gsm_burst_sink.block.yml D grc/qa_utils/gsm_burst_sink.xml A grc/qa_utils/gsm_burst_source.block.yml D grc/qa_utils/gsm_burst_source.xml A grc/qa_utils/gsm_message_sink.block.yml D grc/qa_utils/gsm_message_sink.xml A grc/qa_utils/gsm_message_source.block.yml D grc/qa_utils/gsm_message_source.xml M grc/receiver/CMakeLists.txt A grc/receiver/gsm_clock_offset_control.block.yml D grc/receiver/gsm_clock_offset_control.xml A grc/receiver/gsm_cx_channel_hopper.block.yml D grc/receiver/gsm_cx_channel_hopper.xml A grc/receiver/gsm_fcch_burst_tagger.block.yml D grc/receiver/gsm_fcch_burst_tagger.xml A grc/receiver/gsm_fcch_detector.block.yml D grc/receiver/gsm_fcch_detector.xml A grc/receiver/gsm_input.block.yml D grc/receiver/gsm_input.xml A grc/receiver/gsm_receiver.block.yml D grc/receiver/gsm_receiver.xml A grc/receiver/gsm_receiver_with_uplink.block.yml D grc/receiver/gsm_receiver_with_uplink.xml A grc/receiver/gsm_sch_detector.block.yml D grc/receiver/gsm_sch_detector.xml M grc/transmitter/CMakeLists.txt A grc/transmitter/gsm_gen_test_ab.block.yml D grc/transmitter/gsm_gen_test_ab.xml A grc/transmitter/gsm_gmsk_mod.block.yml D grc/transmitter/gsm_gmsk_mod.xml A grc/transmitter/gsm_preprocess_tx_burst.block.yml D grc/transmitter/gsm_preprocess_tx_burst.xml A grc/transmitter/gsm_txtime_bursts_tagger.block.yml D grc/transmitter/gsm_txtime_bursts_tagger.xml A grc/transmitter/gsm_txtime_setter.block.yml D grc/transmitter/gsm_txtime_setter.xml M grc/trx/CMakeLists.txt A grc/trx/gsm_trx_burst_if.block.yml D grc/trx/gsm_trx_burst_if.xml 118 files changed, 1,888 insertions(+), 2,154 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/61/24061/1 diff --git a/grc/CMakeLists.txt b/grc/CMakeLists.txt index ae06065..deee6e0 100644 --- a/grc/CMakeLists.txt +++ b/grc/CMakeLists.txt @@ -26,5 +26,5 @@ add_subdirectory(transmitter) add_subdirectory(trx) install(FILES - gsm_block_tree.xml DESTINATION share/gnuradio/grc/blocks + gsm.tree.yml DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/decoding/CMakeLists.txt b/grc/decoding/CMakeLists.txt index d488f21..63a2ee6 100644 --- a/grc/decoding/CMakeLists.txt +++ b/grc/decoding/CMakeLists.txt @@ -18,8 +18,8 @@ # Boston, MA 02110-1301, USA. install(FILES - gsm_control_channels_decoder.xml - gsm_tch_f_decoder.xml - gsm_tch_h_decoder.xml + gsm_control_channels_decoder.block.yml + gsm_tch_f_decoder.block.yml + gsm_tch_h_decoder.block.yml DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/decoding/gsm_control_channels_decoder.block.yml b/grc/decoding/gsm_control_channels_decoder.block.yml new file mode 100644 index 0000000..df287a3 --- /dev/null +++ b/grc/decoding/gsm_control_channels_decoder.block.yml @@ -0,0 +1,19 @@ +# auto-generated by grc.converter + +id: gsm_control_channels_decoder +label: Control channels decoder + +inputs: +- domain: message + id: bursts + +outputs: +- domain: message + id: msgs + optional: true + +templates: + imports: import grgsm + make: grgsm.control_channels_decoder() + +file_format: 1 diff --git a/grc/decoding/gsm_control_channels_decoder.xml b/grc/decoding/gsm_control_channels_decoder.xml deleted file mode 100644 index 5884393..0000000 --- a/grc/decoding/gsm_control_channels_decoder.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - Control channels decoder - gsm_control_channels_decoder - import grgsm - grgsm.control_channels_decoder() - - bursts - message - - - msgs - message - 1 - - diff --git a/grc/decoding/gsm_tch_f_decoder.block.yml b/grc/decoding/gsm_tch_f_decoder.block.yml new file mode 100644 index 0000000..1205448 --- /dev/null +++ b/grc/decoding/gsm_tch_f_decoder.block.yml @@ -0,0 +1,41 @@ +# auto-generated by grc.converter + +id: gsm_tch_f_decoder +label: TCH/F decoder + +parameters: +- id: mode + label: TCH coding mode + dtype: enum + options: [grgsm.TCH_FS, grgsm.TCH_EFR, grgsm.TCH_AFS12_2, grgsm.TCH_AFS10_2, grgsm.TCH_AFS7_95, + grgsm.TCH_AFS7_4, grgsm.TCH_AFS6_7, grgsm.TCH_AFS5_9, grgsm.TCH_AFS5_15, grgsm.TCH_AFS4_75] + option_labels: [GSM-FR, GSM-EFR, GSM-AMR 12.2, GSM-AMR 10.2, GSM-AMR 7.95, GSM-AMR + 7.4, GSM-AMR 6.7, GSM-AMR 5.9, GSM-AMR 5.15, GSM-AMR 4.75] +- id: boundary_check + label: Voice boundary detection + dtype: bool + default: 'False' + options: ['False', 'True'] + +inputs: +- domain: message + id: bursts + +outputs: +- domain: message + id: msgs + optional: true +- domain: message + id: voice + optional: true + +templates: + imports: import grgsm + make: grgsm.tch_f_decoder(${mode}, ${boundary_check}) + +documentation: "If \"Voice boundary detection\" is enabled, then only bursts are decoded\ + \ as voice where\n\n- the framenumber is greater then the framenumber of a received\ + \ \"Connect\" or \"Connect Acknowlegde\" message, and \n- the framenumber is less\ + \ then the framenumber of a \"Release\" message" + +file_format: 1 diff --git a/grc/decoding/gsm_tch_f_decoder.xml b/grc/decoding/gsm_tch_f_decoder.xml deleted file mode 100644 index 3d1152e..0000000 --- a/grc/decoding/gsm_tch_f_decoder.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - TCH/F decoder - gsm_tch_f_decoder - import grgsm - grgsm.tch_f_decoder($mode, $boundary_check) - - - TCH coding mode - mode - enum - - - - - - - - - - - - - Voice boundary detection - boundary_check - False - bool - - - - - - bursts - message - - - msgs - message - 1 - - - voice - message - 1 - - - -If "Voice boundary detection" is enabled, then only bursts are decoded as voice where - -- the framenumber is greater then the framenumber of a received "Connect" or "Connect Acknowlegde" message, and -- the framenumber is less then the framenumber of a "Release" message - - - diff --git a/grc/decoding/gsm_tch_h_decoder.block.yml b/grc/decoding/gsm_tch_h_decoder.block.yml new file mode 100644 index 0000000..8d26a0b --- /dev/null +++ b/grc/decoding/gsm_tch_h_decoder.block.yml @@ -0,0 +1,51 @@ +# auto-generated by grc.converter + +id: gsm_tch_h_decoder +label: TCH/H decoder + +parameters: +- id: sub_channel + label: Sub-channel number + dtype: int + default: '0' + options: ['0', '1'] + hide: none +- id: multi_rate + label: MultiRate configuration + dtype: string +- id: boundary_check + label: Voice boundary detection + dtype: bool + default: 'False' + options: ['False', 'True'] + +inputs: +- domain: message + id: bursts + +outputs: +- domain: message + id: msgs + optional: true +- domain: message + id: voice + optional: true +asserts: +- ${ sub_channel > -1 and sub_channel < 2 } + +templates: + imports: import grgsm + make: grgsm.tch_h_decoder(${sub_channel}, ${multi_rate}, ${boundary_check}) + +documentation: |- + The MultiRate configuration string should contains the hex string from the + MultiRate configuration element from the Assignment Command message. + Example: 28111a40. + See 3GPP TS 44.018 - 10.5.2.21aa MultiRate configuratio + + If "Voice boundary detection" is enabled, then only bursts are decoded as voice where + + - the framenumber is greater then the framenumber of a received "Connect" or "Connect Acknowlegde" message, and + - the framenumber is less then the framenumber of a "Release" message + +file_format: 1 diff --git a/grc/decoding/gsm_tch_h_decoder.xml b/grc/decoding/gsm_tch_h_decoder.xml deleted file mode 100644 index 3936336..0000000 --- a/grc/decoding/gsm_tch_h_decoder.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - TCH/H decoder - gsm_tch_h_decoder - import grgsm - grgsm.tch_h_decoder($sub_channel, $multi_rate, $boundary_check) - - - Sub-channel number - sub_channel - 0 - int - none - - - - - MultiRate configuration - multi_rate - string - - - Voice boundary detection - boundary_check - False - bool - - - - $sub_channel() > -1 and $sub_channel() < 2 - - bursts - message - - - msgs - message - 1 - - - voice - message - 1 - - - -The MultiRate configuration string should contains the hex string from the -MultiRate configuration element from the Assignment Command message. -Example: 28111a40. -See 3GPP TS 44.018 - 10.5.2.21aa MultiRate configuratio - -If "Voice boundary detection" is enabled, then only bursts are decoded as voice where - -- the framenumber is greater then the framenumber of a received "Connect" or "Connect Acknowlegde" message, and -- the framenumber is less then the framenumber of a "Release" message - - - diff --git a/grc/decryption/CMakeLists.txt b/grc/decryption/CMakeLists.txt index 29d86f4..e71e466 100644 --- a/grc/decryption/CMakeLists.txt +++ b/grc/decryption/CMakeLists.txt @@ -18,5 +18,6 @@ # Boston, MA 02110-1301, USA. install(FILES - gsm_decryption.xml DESTINATION share/gnuradio/grc/blocks + gsm_decryption.block.yml + DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/decryption/gsm_decryption.block.yml b/grc/decryption/gsm_decryption.block.yml new file mode 100644 index 0000000..8260907 --- /dev/null +++ b/grc/decryption/gsm_decryption.block.yml @@ -0,0 +1,31 @@ +# auto-generated by grc.converter + +id: gsm_decryption +label: Decryption + +parameters: +- id: k_c + label: Kc session key + dtype: int_vector + default: '[0,0,0,0,0,0,0,0]' +- id: a5_version + label: A5 version + dtype: int + default: '1' + +inputs: +- domain: message + id: bursts + +outputs: +- domain: message + id: bursts +asserts: +- ${ a5_version > 0 } +- ${ a5_version < 5 } + +templates: + imports: import grgsm + make: grgsm.decryption(${k_c}, ${a5_version}) + +file_format: 1 diff --git a/grc/decryption/gsm_decryption.xml b/grc/decryption/gsm_decryption.xml deleted file mode 100644 index 4f3de22..0000000 --- a/grc/decryption/gsm_decryption.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - Decryption - gsm_decryption - import grgsm - grgsm.decryption($k_c, $a5_version) - - - Kc session key - k_c - [0,0,0,0,0,0,0,0] - int_vector - - - - A5 version - a5_version - 1 - int - - - $a5_version > 0 - $a5_version < 5 - - - bursts - message - - - bursts - message - - - diff --git a/grc/demapping/CMakeLists.txt b/grc/demapping/CMakeLists.txt index 4aacfff..2572235 100644 --- a/grc/demapping/CMakeLists.txt +++ b/grc/demapping/CMakeLists.txt @@ -18,11 +18,11 @@ # Boston, MA 02110-1301, USA. install(FILES - gsm_universal_ctrl_chans_demapper.xml - gsm_bcch_ccch_demapper.xml - gsm_bcch_ccch_sdcch4_demapper.xml - gsm_sdcch8_demapper.xml - gsm_tch_f_chans_demapper.xml - gsm_tch_h_chans_demapper.xml + gsm_universal_ctrl_chans_demapper.block.yml + gsm_bcch_ccch_demapper.block.yml + gsm_bcch_ccch_sdcch4_demapper.block.yml + gsm_sdcch8_demapper.block.yml + gsm_tch_f_chans_demapper.block.yml + gsm_tch_h_chans_demapper.block.yml DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/demapping/gsm_bcch_ccch_demapper.block.yml b/grc/demapping/gsm_bcch_ccch_demapper.block.yml new file mode 100644 index 0000000..21e87d8 --- /dev/null +++ b/grc/demapping/gsm_bcch_ccch_demapper.block.yml @@ -0,0 +1,35 @@ +# auto-generated by grc.converter + +id: gsm_bcch_ccch_demapper +label: BCCH + CCCH Demapper + +parameters: +- id: timeslot_nr + label: timeslot_nr + dtype: raw + default: '0' + +inputs: +- domain: message + id: bursts + optional: true + +outputs: +- domain: message + id: bursts + optional: true + +templates: + imports: import grgsm + make: |- + grgsm.gsm_bcch_ccch_demapper( + timeslot_nr=${timeslot_nr}, + ) + callbacks: + - set_timeslot_nr(${timeslot_nr}) + +documentation: |- + Piotr Krysik + Demapper for BCCH + CCCH control channels. This corresponds to channel combination iv specified in GSM 05.02, section 6.4 + +file_format: 1 diff --git a/grc/demapping/gsm_bcch_ccch_demapper.xml b/grc/demapping/gsm_bcch_ccch_demapper.xml deleted file mode 100644 index 239dcc9..0000000 --- a/grc/demapping/gsm_bcch_ccch_demapper.xml +++ /dev/null @@ -1,30 +0,0 @@ - - BCCH + CCCH Demapper - gsm_bcch_ccch_demapper - - import grgsm - grgsm.gsm_bcch_ccch_demapper( - timeslot_nr=$timeslot_nr, -) - set_timeslot_nr($timeslot_nr) - - timeslot_nr - timeslot_nr - 0 - raw - - - bursts - message - 1 - - - bursts - message - 1 - - Piotr Krysik -Demapper for BCCH + CCCH control channels. This corresponds to channel combination iv specified in GSM 05.02, section 6.4 - - gr-gsm/hier_blocks/demapping/gsm_bcch_ccch_demapper.grc - diff --git a/grc/demapping/gsm_bcch_ccch_sdcch4_demapper.block.yml b/grc/demapping/gsm_bcch_ccch_sdcch4_demapper.block.yml new file mode 100644 index 0000000..d40a4e1 --- /dev/null +++ b/grc/demapping/gsm_bcch_ccch_sdcch4_demapper.block.yml @@ -0,0 +1,35 @@ +# auto-generated by grc.converter + +id: gsm_bcch_ccch_sdcch4_demapper +label: BCCH + CCCH + SDCCH/4 Demapper + +parameters: +- id: timeslot_nr + label: timeslot_nr + dtype: raw + default: '0' + +inputs: +- domain: message + id: bursts + optional: true + +outputs: +- domain: message + id: bursts + optional: true + +templates: + imports: import grgsm + make: |- + grgsm.gsm_bcch_ccch_sdcch4_demapper( + timeslot_nr=${timeslot_nr}, + ) + callbacks: + - set_timeslot_nr(${timeslot_nr}) + +documentation: |- + Piotr Krysik + Demapper for BCCH + CCCH + SDCCH/4 + SACCH/C4 control channels. This corresponds to channel combination v specified in GSM 05.02, section 6.4 + +file_format: 1 diff --git a/grc/demapping/gsm_bcch_ccch_sdcch4_demapper.xml b/grc/demapping/gsm_bcch_ccch_sdcch4_demapper.xml deleted file mode 100644 index 6c6845a..0000000 --- a/grc/demapping/gsm_bcch_ccch_sdcch4_demapper.xml +++ /dev/null @@ -1,30 +0,0 @@ - - BCCH + CCCH + SDCCH/4 Demapper - gsm_bcch_ccch_sdcch4_demapper - - import grgsm - grgsm.gsm_bcch_ccch_sdcch4_demapper( - timeslot_nr=$timeslot_nr, -) - set_timeslot_nr($timeslot_nr) - - timeslot_nr - timeslot_nr - 0 - raw - - - bursts - message - 1 - - - bursts - message - 1 - - Piotr Krysik -Demapper for BCCH + CCCH + SDCCH/4 + SACCH/C4 control channels. This corresponds to channel combination v specified in GSM 05.02, section 6.4 - - gr-gsm/hier_blocks/demapping/gsm_bcch_ccch_sdcch4_demapper.grc - diff --git a/grc/demapping/gsm_sdcch8_demapper.block.yml b/grc/demapping/gsm_sdcch8_demapper.block.yml new file mode 100644 index 0000000..66a50c0 --- /dev/null +++ b/grc/demapping/gsm_sdcch8_demapper.block.yml @@ -0,0 +1,35 @@ +# auto-generated by grc.converter + +id: gsm_sdcch8_demapper +label: SDCCH/8 Demapper + +parameters: +- id: timeslot_nr + label: timeslot_nr + dtype: raw + default: '1' + +inputs: +- domain: message + id: bursts + optional: true + +outputs: +- domain: message + id: bursts + optional: true + +templates: + imports: import grgsm + make: |- + grgsm.gsm_sdcch8_demapper( + timeslot_nr=${timeslot_nr}, + ) + callbacks: + - set_timeslot_nr(${timeslot_nr}) + +documentation: |- + Piotr Krysik + Demapper for SDCCH/8 + SACCH/C8 control channels. This corresponds to channel combination vii specified in GSM 05.02, section 6.4 + +file_format: 1 diff --git a/grc/demapping/gsm_sdcch8_demapper.xml b/grc/demapping/gsm_sdcch8_demapper.xml deleted file mode 100644 index 0c62a46..0000000 --- a/grc/demapping/gsm_sdcch8_demapper.xml +++ /dev/null @@ -1,30 +0,0 @@ - - SDCCH/8 Demapper - gsm_sdcch8_demapper - - import grgsm - grgsm.gsm_sdcch8_demapper( - timeslot_nr=$timeslot_nr, -) - set_timeslot_nr($timeslot_nr) - - timeslot_nr - timeslot_nr - 1 - raw - - - bursts - message - 1 - - - bursts - message - 1 - - Piotr Krysik -Demapper for SDCCH/8 + SACCH/C8 control channels. This corresponds to channel combination vii specified in GSM 05.02, section 6.4 - - gr-gsm/hier_blocks/demapping/gsm_sdcch8_demapper.grc - diff --git a/grc/demapping/gsm_tch_f_chans_demapper.block.yml b/grc/demapping/gsm_tch_f_chans_demapper.block.yml new file mode 100644 index 0000000..8d10c1d --- /dev/null +++ b/grc/demapping/gsm_tch_f_chans_demapper.block.yml @@ -0,0 +1,30 @@ +# auto-generated by grc.converter + +id: gsm_tch_f_chans_demapper +label: TCH/F Demapper + +parameters: +- id: timeslot_nr + label: Timeslot + dtype: int + default: '2' + hide: part + +inputs: +- domain: message + id: bursts + optional: true + +outputs: +- domain: message + id: tch_bursts + optional: true +- domain: message + id: acch_bursts + optional: true + +templates: + imports: import grgsm + make: grgsm.tch_f_chans_demapper(${timeslot_nr}) + +file_format: 1 diff --git a/grc/demapping/gsm_tch_f_chans_demapper.xml b/grc/demapping/gsm_tch_f_chans_demapper.xml deleted file mode 100644 index 33b4153..0000000 --- a/grc/demapping/gsm_tch_f_chans_demapper.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - TCH/F Demapper - gsm_tch_f_chans_demapper - import grgsm - grgsm.tch_f_chans_demapper($timeslot_nr) - - - Timeslot - timeslot_nr - 2 - int - part - - - - bursts - message - 1 - - - tch_bursts - message - 1 - - - acch_bursts - message - 1 - - diff --git a/grc/demapping/gsm_tch_h_chans_demapper.block.yml b/grc/demapping/gsm_tch_h_chans_demapper.block.yml new file mode 100644 index 0000000..4c8610e --- /dev/null +++ b/grc/demapping/gsm_tch_h_chans_demapper.block.yml @@ -0,0 +1,37 @@ +# auto-generated by grc.converter + +id: gsm_tch_h_chans_demapper +label: TCH/H Demapper + +parameters: +- id: timeslot_nr + label: Timeslot + dtype: int + default: '2' + hide: none +- id: tch_h_channel + label: Sub-channel number + dtype: int + default: '0' + options: ['0', '1'] + hide: none + +inputs: +- domain: message + id: bursts + +outputs: +- domain: message + id: tch_bursts + optional: true +- domain: message + id: acch_bursts + optional: true +asserts: +- ${ tch_h_channel > -1 and tch_h_channel < 2 } + +templates: + imports: import grgsm + make: grgsm.tch_h_chans_demapper(${timeslot_nr}, ${tch_h_channel}) + +file_format: 1 diff --git a/grc/demapping/gsm_tch_h_chans_demapper.xml b/grc/demapping/gsm_tch_h_chans_demapper.xml deleted file mode 100644 index 52148f5..0000000 --- a/grc/demapping/gsm_tch_h_chans_demapper.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - TCH/H Demapper - gsm_tch_h_chans_demapper - import grgsm - grgsm.tch_h_chans_demapper($timeslot_nr, $tch_h_channel) - - - Timeslot - timeslot_nr - 2 - int - none - - - - Sub-channel number - tch_h_channel - 0 - int - none - - - - $tch_h_channel() > -1 and $tch_h_channel() < 2 - - - bursts - message - - - tch_bursts - message - 1 - - - acch_bursts - message - 1 - - diff --git a/grc/demapping/gsm_universal_ctrl_chans_demapper.block.yml b/grc/demapping/gsm_universal_ctrl_chans_demapper.block.yml new file mode 100644 index 0000000..469384e --- /dev/null +++ b/grc/demapping/gsm_universal_ctrl_chans_demapper.block.yml @@ -0,0 +1,61 @@ +# auto-generated by grc.converter + +id: gsm_universal_ctrl_chans_demapper +label: Universal Control Channels Demapper + +parameters: +- id: timeslot_nr + label: timeslot_nr + dtype: int + default: '0' + hide: part +- id: downlink_starts_fn_mod51 + label: downlink_starts_fn_mod51 + dtype: int_vector + default: '[0,0,2,2,2,2,6,6,6,6,0,0,12,12,12,12,16,16,16,16,0,0,22,22,22,22,26,26,26,26,0,0,32,32,32,32,36,36,36,36,0,0,42,42,42,42,46,46,46,46,0,]' + hide: part +- id: downlink_channel_types + label: downlink_channel_types + dtype: int_vector + default: '[0,0,1,1,1,1,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,]' + hide: part +- id: downlink_subslots + label: downlink_subslots + dtype: int_vector + default: '[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,]' + hide: part +- id: uplink_starts_fn_mod51 + label: uplink_starts_fn_mod51 + dtype: int_vector + default: '[0,0,0,0,0,0,6,6,6,6,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,37,37,37,41,41,41,41,0,0,47,47,47,47]' + hide: part +- id: uplink_channel_types + label: uplink_channel_types + dtype: int_vector + default: '[2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,]' + hide: part +- id: uplink_subslots + label: uplink_subslots + dtype: int_vector + default: '[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,]' + hide: part + +inputs: +- domain: message + id: bursts + +outputs: +- domain: message + id: bursts + +templates: + imports: import grgsm + make: grgsm.universal_ctrl_chans_demapper(${timeslot_nr}, ${downlink_starts_fn_mod51}, + ${downlink_channel_types}, ${downlink_subslots}, ${uplink_starts_fn_mod51}, + ${uplink_channel_types}, ${uplink_subslots}) + +documentation: |- + Universal demapper for control channels. + Author: Piotr Krysik + +file_format: 1 diff --git a/grc/demapping/gsm_universal_ctrl_chans_demapper.xml b/grc/demapping/gsm_universal_ctrl_chans_demapper.xml deleted file mode 100644 index dcad1ae..0000000 --- a/grc/demapping/gsm_universal_ctrl_chans_demapper.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - Universal Control Channels Demapper - gsm_universal_ctrl_chans_demapper - import grgsm - grgsm.universal_ctrl_chans_demapper($timeslot_nr, $downlink_starts_fn_mod51, $downlink_channel_types, $downlink_subslots, $uplink_starts_fn_mod51, $uplink_channel_types, $uplink_subslots) - - - timeslot_nr - timeslot_nr - 0 - int - part - - - - downlink_starts_fn_mod51 - downlink_starts_fn_mod51 - [0,0,2,2,2,2,6,6,6,6,0,0,12,12,12,12,16,16,16,16,0,0,22,22,22,22,26,26,26,26,0,0,32,32,32,32,36,36,36,36,0,0,42,42,42,42,46,46,46,46,0,] - int_vector - part - - - - downlink_channel_types - downlink_channel_types - [0,0,1,1,1,1,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,] - int_vector - part - - - - downlink_subslots - downlink_subslots - [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,] - int_vector - part - - - - uplink_starts_fn_mod51 - uplink_starts_fn_mod51 - [0,0,0,0,0,0,6,6,6,6,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,37,37,37,41,41,41,41,0,0,47,47,47,47] - int_vector - part - - - - uplink_channel_types - uplink_channel_types - [2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,] - int_vector - part - - - - uplink_subslots - uplink_subslots - [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,] - int_vector - part - - - - bursts - message - - - bursts - message - - - Universal demapper for control channels. - Author: Piotr Krysik - - diff --git a/grc/flow_control/CMakeLists.txt b/grc/flow_control/CMakeLists.txt index 1f98d8f..2876512 100644 --- a/grc/flow_control/CMakeLists.txt +++ b/grc/flow_control/CMakeLists.txt @@ -18,12 +18,13 @@ # Boston, MA 02110-1301, USA. install(FILES - gsm_burst_timeslot_splitter.xml - gsm_burst_fnr_filter.xml - gsm_burst_timeslot_filter.xml - gsm_burst_type_filter.xml - gsm_dummy_burst_filter.xml - gsm_burst_sdcch_subslot_splitter.xml - gsm_burst_sdcch_subslot_filter.xml - gsm_uplink_downlink_splitter.xml DESTINATION share/gnuradio/grc/blocks + gsm_burst_timeslot_splitter.block.yml + gsm_burst_fnr_filter.block.yml + gsm_burst_timeslot_filter.block.yml + gsm_burst_type_filter.block.yml + gsm_dummy_burst_filter.block.yml + gsm_burst_sdcch_subslot_splitter.block.yml + gsm_burst_sdcch_subslot_filter.block.yml + gsm_uplink_downlink_splitter.block.yml + DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/flow_control/gsm_burst_fnr_filter.block.yml b/grc/flow_control/gsm_burst_fnr_filter.block.yml new file mode 100644 index 0000000..8dc9adc --- /dev/null +++ b/grc/flow_control/gsm_burst_fnr_filter.block.yml @@ -0,0 +1,33 @@ +# auto-generated by grc.converter + +id: gsm_burst_fnr_filter +label: Burst Framenumber Filter + +parameters: +- id: mode + label: Mode + dtype: enum + options: [grgsm.FILTER_LESS_OR_EQUAL, grgsm.FILTER_GREATER_OR_EQUAL] + option_labels: [Less or equal, Greater or equal] +- id: fnr + label: Framenumber + dtype: int + default: '1500123' + +inputs: +- domain: message + id: in + +outputs: +- domain: message + id: out + optional: true + +templates: + imports: import grgsm + make: grgsm.burst_fnr_filter(${mode}, ${fnr}) + +documentation: |- + Burst framenumber filter forwards only blocks with a framenumber satisfying the configured mode, i.e. if mode is "Less or equal", then only bursts with a smaller or equal framenumber are forwarded. + +file_format: 1 diff --git a/grc/flow_control/gsm_burst_fnr_filter.xml b/grc/flow_control/gsm_burst_fnr_filter.xml deleted file mode 100644 index 7b27583..0000000 --- a/grc/flow_control/gsm_burst_fnr_filter.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - Burst Framenumber Filter - gsm_burst_fnr_filter - import grgsm - grgsm.burst_fnr_filter($mode, $fnr) - - - Mode - mode - enum - - - - - Framenumber - fnr - 1500123 - int - - - - in - message - - - - out - message - 1 - - - -Burst framenumber filter forwards only blocks with a framenumber satisfying the configured mode, i.e. if mode is "Less or equal", then only bursts with a smaller or equal framenumber are forwarded. - - diff --git a/grc/flow_control/gsm_burst_sdcch_subslot_filter.block.yml b/grc/flow_control/gsm_burst_sdcch_subslot_filter.block.yml new file mode 100644 index 0000000..66039f6 --- /dev/null +++ b/grc/flow_control/gsm_burst_sdcch_subslot_filter.block.yml @@ -0,0 +1,34 @@ +# auto-generated by grc.converter + +id: gsm_burst_sdcch_subslot_filter +label: Burst SDCCH Subslot Filter + +parameters: +- id: mode + label: Mode + dtype: enum + options: [grgsm.SS_FILTER_SDCCH8, grgsm.SS_FILTER_SDCCH4] + option_labels: [SDCCH/8, SDCCH/4] +- id: subslot + label: Subslot + dtype: int + default: '0' + hide: none + +inputs: +- domain: message + id: in + +outputs: +- domain: message + id: out + optional: true + +templates: + imports: import grgsm + make: grgsm.burst_sdcch_subslot_filter(${mode}, ${subslot}) + +documentation: |- + This block forwards only bursts in the subslot given by the parameter + +file_format: 1 diff --git a/grc/flow_control/gsm_burst_sdcch_subslot_filter.xml b/grc/flow_control/gsm_burst_sdcch_subslot_filter.xml deleted file mode 100644 index ddfcb3b..0000000 --- a/grc/flow_control/gsm_burst_sdcch_subslot_filter.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - Burst SDCCH Subslot Filter - gsm_burst_sdcch_subslot_filter - import grgsm - grgsm.burst_sdcch_subslot_filter($mode, $subslot) - - - Mode - mode - enum - - - - - - Subslot - subslot - 0 - int - none - - - - in - message - - - - out - message - 1 - - - -This block forwards only bursts in the subslot given by the parameter - - \ No newline at end of file diff --git a/grc/flow_control/gsm_burst_sdcch_subslot_splitter.block.yml b/grc/flow_control/gsm_burst_sdcch_subslot_splitter.block.yml new file mode 100644 index 0000000..a409dd2 --- /dev/null +++ b/grc/flow_control/gsm_burst_sdcch_subslot_splitter.block.yml @@ -0,0 +1,39 @@ +# auto-generated by grc.converter + +id: gsm_burst_sdcch_subslot_splitter +label: Burst SDCCH Subslot Splitter + +parameters: +- id: ports + label: Mode + dtype: enum + options: ['8', '4'] + option_labels: [SDCCH/8, SDCCH/4] + hide: part + +inputs: +- domain: message + id: in + +outputs: +- domain: message + id: out + multiplicity: ${ ports } + optional: true + +templates: + imports: import grgsm + make: |- + grgsm.burst_sdcch_subslot_splitter( + % if int(ports)==4: + grgsm.SPLITTER_SDCCH4 + % else: + grgsm.SPLITTER_SDCCH8 + % endif + ) + +documentation: |- + Burst SDCCH subslot splitter distributes bursts to eight different output ports depending on the subslots to which the bursts belong. + This means subslot 0 bursts are sent to port out0, subslot 1 bursts on port out1, and so on. + +file_format: 1 diff --git a/grc/flow_control/gsm_burst_sdcch_subslot_splitter.xml b/grc/flow_control/gsm_burst_sdcch_subslot_splitter.xml deleted file mode 100644 index 62415e7..0000000 --- a/grc/flow_control/gsm_burst_sdcch_subslot_splitter.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - Burst SDCCH Subslot Splitter - gsm_burst_sdcch_subslot_splitter - import grgsm - grgsm.burst_sdcch_subslot_splitter( -#if int($ports())==4 # -grgsm.SPLITTER_SDCCH4 -#else -grgsm.SPLITTER_SDCCH8 -#end if - ) - - - Mode - ports - enum - - - - - - in - message - - - - out - message - $ports - 1 - - - -Burst SDCCH subslot splitter distributes bursts to eight different output ports depending on the subslots to which the bursts belong. -This means subslot 0 bursts are sent to port out0, subslot 1 bursts on port out1, and so on. - - \ No newline at end of file diff --git a/grc/flow_control/gsm_burst_timeslot_filter.block.yml b/grc/flow_control/gsm_burst_timeslot_filter.block.yml new file mode 100644 index 0000000..afc0c2b --- /dev/null +++ b/grc/flow_control/gsm_burst_timeslot_filter.block.yml @@ -0,0 +1,29 @@ +# auto-generated by grc.converter + +id: gsm_burst_timeslot_filter +label: Burst Timeslot Filter + +parameters: +- id: timeslot + label: Timeslot + dtype: int + default: '0' + hide: none + +inputs: +- domain: message + id: in + +outputs: +- domain: message + id: out + optional: true + +templates: + imports: import grgsm + make: grgsm.burst_timeslot_filter(${timeslot}) + +documentation: |- + This block forwards only bursts in the timeslot given by the parameter + +file_format: 1 diff --git a/grc/flow_control/gsm_burst_timeslot_filter.xml b/grc/flow_control/gsm_burst_timeslot_filter.xml deleted file mode 100644 index b900375..0000000 --- a/grc/flow_control/gsm_burst_timeslot_filter.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - Burst Timeslot Filter - gsm_burst_timeslot_filter - import grgsm - grgsm.burst_timeslot_filter($timeslot) - - - Timeslot - timeslot - 0 - int - none - - - - in - message - - - - out - message - 1 - - - -This block forwards only bursts in the timeslot given by the parameter - - diff --git a/grc/flow_control/gsm_burst_timeslot_splitter.block.yml b/grc/flow_control/gsm_burst_timeslot_splitter.block.yml new file mode 100644 index 0000000..2d8faee --- /dev/null +++ b/grc/flow_control/gsm_burst_timeslot_splitter.block.yml @@ -0,0 +1,24 @@ +# auto-generated by grc.converter + +id: gsm_burst_timeslot_splitter +label: Burst Timeslot Splitter + +inputs: +- domain: message + id: in + +outputs: +- domain: message + id: out + multiplicity: '8' + optional: true + +templates: + imports: import grgsm + make: grgsm.burst_timeslot_splitter() + +documentation: "Burst timeslot splitter distributes bursts to eight different output\ + \ ports depending on the timeslots of the bursts. \nThis means timeslot 0 bursts\ + \ are sent to port out0, timeslot 1 bursts on port out1, and so on." + +file_format: 1 diff --git a/grc/flow_control/gsm_burst_timeslot_splitter.xml b/grc/flow_control/gsm_burst_timeslot_splitter.xml deleted file mode 100644 index 4f6159e..0000000 --- a/grc/flow_control/gsm_burst_timeslot_splitter.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - Burst Timeslot Splitter - gsm_burst_timeslot_splitter - import grgsm - grgsm.burst_timeslot_splitter() - - - in - message - - - - out - message - 8 - 1 - - - -Burst timeslot splitter distributes bursts to eight different output ports depending on the timeslots of the bursts. -This means timeslot 0 bursts are sent to port out0, timeslot 1 bursts on port out1, and so on. - - diff --git a/grc/flow_control/gsm_burst_type_filter.block.yml b/grc/flow_control/gsm_burst_type_filter.block.yml new file mode 100644 index 0000000..21222ae --- /dev/null +++ b/grc/flow_control/gsm_burst_type_filter.block.yml @@ -0,0 +1,31 @@ +# auto-generated by grc.converter + +id: gsm_burst_type_filter +label: Burst Type Filter + +parameters: +- id: selected_burst_types + label: Selected burst types + dtype: int_vector + default: '[0,1,2,3,4,5,6,7]' + +inputs: +- domain: message + id: bursts_in + optional: true + +outputs: +- domain: message + id: bursts_out + optional: true + +templates: + imports: import grgsm + make: grgsm.burst_type_filter(${selected_burst_types}) + +documentation: |- + This block filters bursts based on their type. + + For more information on burst types, see GSM 05.02. + +file_format: 1 diff --git a/grc/flow_control/gsm_burst_type_filter.xml b/grc/flow_control/gsm_burst_type_filter.xml deleted file mode 100644 index d7d86f4..0000000 --- a/grc/flow_control/gsm_burst_type_filter.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - Burst Type Filter - gsm_burst_type_filter - import grgsm - grgsm.burst_type_filter($selected_burst_types) - - - Selected burst types - selected_burst_types - [0,1,2,3,4,5,6,7] - int_vector - - - - bursts_in - message - 1 - - - - bursts_out - message - 1 - - - -This block filters bursts based on their type. - -For more information on burst types, see GSM 05.02. - - diff --git a/grc/flow_control/gsm_dummy_burst_filter.block.yml b/grc/flow_control/gsm_dummy_burst_filter.block.yml new file mode 100644 index 0000000..f0f690c --- /dev/null +++ b/grc/flow_control/gsm_dummy_burst_filter.block.yml @@ -0,0 +1,22 @@ +# auto-generated by grc.converter + +id: gsm_dummy_burst_filter +label: Dummy Burst Filter + +inputs: +- domain: message + id: in + +outputs: +- domain: message + id: out + optional: true + +templates: + imports: import grgsm + make: grgsm.dummy_burst_filter() + +documentation: "This block filters dummy bursts. \n\nFor more information on dummy\ + \ bursts, see GSM 05.02." + +file_format: 1 diff --git a/grc/flow_control/gsm_dummy_burst_filter.xml b/grc/flow_control/gsm_dummy_burst_filter.xml deleted file mode 100644 index 126e4fe..0000000 --- a/grc/flow_control/gsm_dummy_burst_filter.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - Dummy Burst Filter - gsm_dummy_burst_filter - import grgsm - grgsm.dummy_burst_filter() - - - in - message - - - - out - message - 1 - - - -This block filters dummy bursts. - -For more information on dummy bursts, see GSM 05.02. - - diff --git a/grc/flow_control/gsm_uplink_downlink_splitter.block.yml b/grc/flow_control/gsm_uplink_downlink_splitter.block.yml new file mode 100644 index 0000000..12d141d --- /dev/null +++ b/grc/flow_control/gsm_uplink_downlink_splitter.block.yml @@ -0,0 +1,23 @@ +# auto-generated by grc.converter + +id: gsm_uplink_downlink_splitter +label: Up/Down-link splitter + +inputs: +- domain: message + id: in + optional: true + +outputs: +- domain: message + id: downlink + optional: true +- domain: message + id: uplink + optional: true + +templates: + imports: import grgsm + make: grgsm.uplink_downlink_splitter() + +file_format: 1 diff --git a/grc/flow_control/gsm_uplink_downlink_splitter.xml b/grc/flow_control/gsm_uplink_downlink_splitter.xml deleted file mode 100644 index 5c0c932..0000000 --- a/grc/flow_control/gsm_uplink_downlink_splitter.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - Up/Down-link splitter - gsm_uplink_downlink_splitter - import grgsm - grgsm.uplink_downlink_splitter() - - in - message - 1 - - - downlink - message - 1 - - - uplink - message - 1 - - diff --git a/grc/gsm.tree.yml b/grc/gsm.tree.yml new file mode 100644 index 0000000..4aee993 --- /dev/null +++ b/grc/gsm.tree.yml @@ -0,0 +1,58 @@ +'[GSM]': +- Receiver: + - gsm_receiver + - gsm_receiver_with_uplink + - gsm_cx_channel_hopper + - gsm_fcch_burst_tagger + - gsm_sch_detector + - gsm_fcch_detector + - gsm_clock_offset_control + - gsm_input +- Transmitter: + - gsm_txtime_bursts_tagger + - gsm_txtime_setter + - gsm_gmsk_mod + - gsm_preprocess_tx_burst + - gsm_gen_test_ab +- Transceiver: + - gsm_trx_burst_if +- Logical channels demapping: + - gsm_universal_ctrl_chans_demapper + - gsm_bcch_ccch_demapper + - gsm_bcch_ccch_sdcch4_demapper + - gsm_sdcch8_demapper + - gsm_tch_f_chans_demapper + - gsm_tch_h_chans_demapper +- Decryption: + - gsm_decryption +- Decoding: + - gsm_control_channels_decoder + - gsm_tch_f_decoder + - gsm_tch_h_decoder +- Flow control: + - gsm_burst_timeslot_splitter + - gsm_burst_sdcch_subslot_splitter + - gsm_burst_timeslot_filter + - gsm_burst_sdcch_subslot_filter + - gsm_burst_fnr_filter + - gsm_burst_type_filter + - gsm_dummy_burst_filter + - gsm_uplink_downlink_splitter +- Utilities: + - gsm_bursts_printer + - gsm_burst_file_sink + - gsm_burst_file_source + - gsm_collect_system_info + - gsm_message_file_sink + - gsm_message_file_source + - gsm_extract_system_info + - gsm_extract_immediate_assignment + - gsm_extract_cmc + - gsm_extract_assignment_cmd + - gsm_controlled_rotator_cc + - gsm_controlled_fractional_resampler_cc + - gsm_message_printer + - gsm_clock_offset_corrector_tagged + - gsm_msg_to_tag + - gsm_tmsi_dumper + - gsm_burst_to_fn_time diff --git a/grc/gsm_block_tree.xml b/grc/gsm_block_tree.xml deleted file mode 100644 index b056003..0000000 --- a/grc/gsm_block_tree.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - GSM - - Receiver - gsm_receiver - gsm_receiver_with_uplink - gsm_cx_channel_hopper - gsm_fcch_burst_tagger - gsm_sch_detector - gsm_fcch_detector - gsm_clock_offset_control - gsm_input - - - Transmitter - gsm_txtime_bursts_tagger - gsm_txtime_setter - gsm_gmsk_mod - gsm_preprocess_tx_burst - gsm_gen_test_ab - - - Transceiver - gsm_trx_burst_if - - - Logical channels demapping - gsm_universal_ctrl_chans_demapper - gsm_bcch_ccch_demapper - gsm_bcch_ccch_sdcch4_demapper - gsm_sdcch8_demapper - gsm_tch_f_chans_demapper - gsm_tch_h_chans_demapper - - - Decryption - gsm_decryption - - - Decoding - gsm_control_channels_decoder - gsm_tch_f_decoder - gsm_tch_h_decoder - - - Flow control - gsm_burst_timeslot_splitter - gsm_burst_sdcch_subslot_splitter - gsm_burst_timeslot_filter - gsm_burst_sdcch_subslot_filter - gsm_burst_fnr_filter - gsm_burst_type_filter - gsm_dummy_burst_filter - gsm_uplink_downlink_splitter - - - Utilities - gsm_bursts_printer - gsm_burst_file_sink - gsm_burst_file_source - gsm_collect_system_info - gsm_message_file_sink - gsm_message_file_source - gsm_extract_system_info - gsm_extract_immediate_assignment - gsm_extract_cmc - gsm_extract_assignment_cmd - gsm_controlled_rotator_cc - gsm_controlled_fractional_resampler_cc - gsm_message_printer - gsm_clock_offset_corrector_tagged - gsm_msg_to_tag - gsm_tmsi_dumper - gsm_burst_to_fn_time - - - diff --git a/grc/misc_utils/CMakeLists.txt b/grc/misc_utils/CMakeLists.txt index bad53e6..73869d3 100644 --- a/grc/misc_utils/CMakeLists.txt +++ b/grc/misc_utils/CMakeLists.txt @@ -18,22 +18,22 @@ # Boston, MA 02110-1301, USA. install(FILES - gsm_extract_system_info.xml - gsm_extract_immediate_assignment.xml - gsm_collect_system_info.xml - gsm_extract_cmc.xml - gsm_extract_assignment_cmd.xml - gsm_controlled_rotator_cc.xml - gsm_message_printer.xml - gsm_bursts_printer.xml - gsm_clock_offset_corrector_tagged.xml - gsm_tmsi_dumper.xml - gsm_burst_file_sink.xml - gsm_burst_file_source.xml - gsm_message_file_sink.xml - gsm_message_file_source.xml - gsm_msg_to_tag.xml - gsm_controlled_fractional_resampler_cc.xml - gsm_burst_to_fn_time.xml + gsm_extract_system_info.block.yml + gsm_extract_immediate_assignment.block.yml + gsm_collect_system_info.block.yml + gsm_extract_cmc.block.yml + gsm_extract_assignment_cmd.block.yml + gsm_controlled_rotator_cc.block.yml + gsm_message_printer.block.yml + gsm_bursts_printer.block.yml + gsm_clock_offset_corrector_tagged.block.yml + gsm_tmsi_dumper.block.yml + gsm_burst_file_sink.block.yml + gsm_burst_file_source.block.yml + gsm_message_file_sink.block.yml + gsm_message_file_source.block.yml + gsm_msg_to_tag.block.yml + gsm_controlled_fractional_resampler_cc.block.yml + gsm_burst_to_fn_time.block.yml DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/misc_utils/gsm_burst_file_sink.block.yml b/grc/misc_utils/gsm_burst_file_sink.block.yml new file mode 100644 index 0000000..00afadc --- /dev/null +++ b/grc/misc_utils/gsm_burst_file_sink.block.yml @@ -0,0 +1,20 @@ +# auto-generated by grc.converter + +id: gsm_burst_file_sink +label: Burst File Sink + +parameters: +- id: filename + label: Destination file + dtype: file_open + default: /tmp/bursts + +inputs: +- domain: message + id: in + +templates: + imports: import grgsm + make: grgsm.burst_file_sink(${filename}) + +file_format: 1 diff --git a/grc/misc_utils/gsm_burst_file_sink.xml b/grc/misc_utils/gsm_burst_file_sink.xml deleted file mode 100644 index 61bde2d..0000000 --- a/grc/misc_utils/gsm_burst_file_sink.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - Burst File Sink - gsm_burst_file_sink - import grgsm - grgsm.burst_file_sink($filename) - - - Destination file - filename - /tmp/bursts - file_open - - - - in - message - - diff --git a/grc/misc_utils/gsm_burst_file_source.block.yml b/grc/misc_utils/gsm_burst_file_source.block.yml new file mode 100644 index 0000000..f75bf55 --- /dev/null +++ b/grc/misc_utils/gsm_burst_file_source.block.yml @@ -0,0 +1,20 @@ +# auto-generated by grc.converter + +id: gsm_burst_file_source +label: Burst File Source + +parameters: +- id: filename + label: Source file + dtype: file_open + default: /tmp/bursts + +outputs: +- domain: message + id: out + +templates: + imports: import grgsm + make: grgsm.burst_file_source(${filename}) + +file_format: 1 diff --git a/grc/misc_utils/gsm_burst_file_source.xml b/grc/misc_utils/gsm_burst_file_source.xml deleted file mode 100644 index 5e160fb..0000000 --- a/grc/misc_utils/gsm_burst_file_source.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - Burst File Source - gsm_burst_file_source - import grgsm - grgsm.burst_file_source($filename) - - - Source file - filename - /tmp/bursts - file_open - - - - out - message - - diff --git a/grc/misc_utils/gsm_burst_to_fn_time.block.yml b/grc/misc_utils/gsm_burst_to_fn_time.block.yml new file mode 100644 index 0000000..f4c687c --- /dev/null +++ b/grc/misc_utils/gsm_burst_to_fn_time.block.yml @@ -0,0 +1,20 @@ +# auto-generated by grc.converter + +id: gsm_burst_to_fn_time +label: Burst to FN time + +inputs: +- domain: message + id: bursts_in + optional: true + +outputs: +- domain: message + id: fn_time_out + optional: true + +templates: + imports: import grgsm + make: grgsm.burst_to_fn_time() + +file_format: 1 diff --git a/grc/misc_utils/gsm_burst_to_fn_time.xml b/grc/misc_utils/gsm_burst_to_fn_time.xml deleted file mode 100644 index c8ae088..0000000 --- a/grc/misc_utils/gsm_burst_to_fn_time.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - Burst to FN time - gsm_burst_to_fn_time - import grgsm - grgsm.burst_to_fn_time() - - - bursts_in - message - 1 - - - - fn_time_out - message - 1 - - diff --git a/grc/misc_utils/gsm_bursts_printer.block.yml b/grc/misc_utils/gsm_bursts_printer.block.yml new file mode 100644 index 0000000..0f99789 --- /dev/null +++ b/grc/misc_utils/gsm_bursts_printer.block.yml @@ -0,0 +1,57 @@ +# auto-generated by grc.converter + +id: gsm_bursts_printer +label: Bursts Printer + +parameters: +- id: prepend_string + label: Prepend String + dtype: string + hide: part +- id: prepend_fnr + label: Prepend Frame Number + dtype: bool + default: 'False' + options: ['False', 'True'] +- id: prepend_frame_count + label: Prepend Frame Count + dtype: bool + default: 'False' + options: ['False', 'True'] +- id: print_payload_only + label: Print payload only + dtype: bool + default: 'False' + options: ['False', 'True'] +- id: ignore_dummy_bursts + label: Ignore dummy bursts + dtype: bool + default: 'False' + options: ['False', 'True'] + +inputs: +- domain: message + id: bursts + +templates: + imports: |- + import grgsm + import pmt + make: |- + grgsm.bursts_printer(pmt.intern(${prepend_string}), ${prepend_fnr}, + ${prepend_frame_count}, ${print_payload_only}, ${ignore_dummy_bursts}) + +documentation: |- + This block prints bursts to output. By default the whole burst including tail bits, stealing bits and training sequence is printed. + + If "Prepend Frame Number" is enabled, then the framenumber is prepended to each burst. + + If "Prepend Frame Count" is enabled, then the frame count for A5 is prependend to each burst. + + If "Print payload only" is enabled, then only the two data blocks of a burst are printed, tail bits, stealing bits and training sequence are omitted. + + If "Ignore dummy bursts" is enabled, then the burst printer will not print dummy bursts (see GSM 05.02) + + Enabling first three options (or all four options) results in an output that is similar to the output of airprobe, i.e. the format is "frame_nr frame_count: databits" + +file_format: 1 diff --git a/grc/misc_utils/gsm_bursts_printer.xml b/grc/misc_utils/gsm_bursts_printer.xml deleted file mode 100644 index d6ddfcb..0000000 --- a/grc/misc_utils/gsm_bursts_printer.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - Bursts Printer - gsm_bursts_printer - import grgsm - import pmt - grgsm.bursts_printer(pmt.intern($prepend_string), $prepend_fnr, - $prepend_frame_count, $print_payload_only, $ignore_dummy_bursts) - - - Prepend String - prepend_string - - string - part - - - Prepend Frame Number - prepend_fnr - False - bool - - - - - Prepend Frame Count - prepend_frame_count - False - bool - - - - - Print payload only - print_payload_only - False - bool - - - - - Ignore dummy bursts - ignore_dummy_bursts - False - bool - - - - - - bursts - message - - - -This block prints bursts to output. By default the whole burst including tail bits, stealing bits and training sequence is printed. - -If "Prepend Frame Number" is enabled, then the framenumber is prepended to each burst. - -If "Prepend Frame Count" is enabled, then the frame count for A5 is prependend to each burst. - -If "Print payload only" is enabled, then only the two data blocks of a burst are printed, tail bits, stealing bits and training sequence are omitted. - -If "Ignore dummy bursts" is enabled, then the burst printer will not print dummy bursts (see GSM 05.02) - -Enabling first three options (or all four options) results in an output that is similar to the output of airprobe, i.e. the format is "frame_nr frame_count: databits" - - diff --git a/grc/misc_utils/gsm_clock_offset_corrector_tagged.block.yml b/grc/misc_utils/gsm_clock_offset_corrector_tagged.block.yml new file mode 100644 index 0000000..6daa18c --- /dev/null +++ b/grc/misc_utils/gsm_clock_offset_corrector_tagged.block.yml @@ -0,0 +1,56 @@ +# auto-generated by grc.converter + +id: gsm_clock_offset_corrector_tagged +label: Clock Offset Corrector Tagged + +parameters: +- id: fc + label: fc + dtype: raw + default: 936.6e6 +- id: ppm + label: ppm + dtype: raw + default: '0' +- id: samp_rate_in + label: samp_rate_in + dtype: raw + default: 1625000.0/6.0*4.0 +- id: osr + label: OSR + dtype: raw + default: osr + +inputs: +- domain: message + id: ctrl + optional: true +- domain: stream + dtype: complex + vlen: 1 + +outputs: +- domain: stream + dtype: complex + vlen: 1 + +templates: + imports: import grgsm + make: |- + grgsm.clock_offset_corrector_tagged( + fc=${fc}, + samp_rate_in=${samp_rate_in}, + ppm=${ppm}, + osr=${osr} + ) + callbacks: + - set_fc(${fc}) + - set_ppm(${ppm}) + - set_samp_rate_in(${samp_rate_in}) + - set_osr(${osr}) + +documentation: |- + Piotr Krysik + Clock offset corrector with blocks that use tags to switch offsets + +file_format: 1 diff --git a/grc/misc_utils/gsm_clock_offset_corrector_tagged.xml b/grc/misc_utils/gsm_clock_offset_corrector_tagged.xml deleted file mode 100644 index bcec98e..0000000 --- a/grc/misc_utils/gsm_clock_offset_corrector_tagged.xml +++ /dev/null @@ -1,57 +0,0 @@ - - Clock Offset Corrector Tagged - gsm_clock_offset_corrector_tagged - import grgsm - grgsm.clock_offset_corrector_tagged( - fc=$fc, - samp_rate_in=$samp_rate_in, - ppm=$ppm, - osr=$osr -) - set_fc($fc) - set_ppm($ppm) - set_samp_rate_in($samp_rate_in) - set_osr($osr) - - fc - fc - 936.6e6 - raw - - - ppm - ppm - 0 - raw - - - samp_rate_in - samp_rate_in - 1625000.0/6.0*4.0 - raw - - - OSR - osr - osr - raw - - - ctrl - message - 1 - - - in - complex - 1 - - - out - complex - 1 - - Piotr Krysik -Clock offset corrector with blocks that use tags to switch offsets - - diff --git a/grc/misc_utils/gsm_collect_system_info.block.yml b/grc/misc_utils/gsm_collect_system_info.block.yml new file mode 100644 index 0000000..f7d5d85 --- /dev/null +++ b/grc/misc_utils/gsm_collect_system_info.block.yml @@ -0,0 +1,23 @@ +# auto-generated by grc.converter + +id: gsm_collect_system_info +label: Collect System Info + +inputs: +- domain: message + id: msgs + +templates: + imports: import grgsm + make: grgsm.collect_system_info() + +documentation: |- + This blocks collect System Information Messages, which can be retrieved using the following methods: + + get_framenumbers(): Get the list with the framenumbers of the System Information Messages + + get_system_information_type(): Get the types of the System Information Messages + + get_data(): Get the whole System Information Messages in Hex representation + +file_format: 1 diff --git a/grc/misc_utils/gsm_collect_system_info.xml b/grc/misc_utils/gsm_collect_system_info.xml deleted file mode 100644 index bad0396..0000000 --- a/grc/misc_utils/gsm_collect_system_info.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - Collect System Info - gsm_collect_system_info - import grgsm - grgsm.collect_system_info() - - msgs - message - - -This blocks collect System Information Messages, which can be retrieved using the following methods: - -get_framenumbers(): Get the list with the framenumbers of the System Information Messages - -get_system_information_type(): Get the types of the System Information Messages - -get_data(): Get the whole System Information Messages in Hex representation - - diff --git a/grc/misc_utils/gsm_controlled_fractional_resampler_cc.block.yml b/grc/misc_utils/gsm_controlled_fractional_resampler_cc.block.yml new file mode 100644 index 0000000..4e94516 --- /dev/null +++ b/grc/misc_utils/gsm_controlled_fractional_resampler_cc.block.yml @@ -0,0 +1,28 @@ +# auto-generated by grc.converter + +id: gsm_controlled_fractional_resampler_cc +label: Controlled Fractional Resampler + +parameters: +- id: phase_shift + label: Phase Shift + dtype: real +- id: resamp_ratio + label: Resampling Ratio + dtype: real + +inputs: +- domain: stream + dtype: complex + +outputs: +- domain: stream + dtype: complex + +templates: + imports: import grgsm + make: grgsm.controlled_fractional_resampler_cc(${phase_shift}, ${resamp_ratio}) + callbacks: + - set_resamp_ratio(${resamp_ratio}) + +file_format: 1 diff --git a/grc/misc_utils/gsm_controlled_fractional_resampler_cc.xml b/grc/misc_utils/gsm_controlled_fractional_resampler_cc.xml deleted file mode 100644 index fdecece..0000000 --- a/grc/misc_utils/gsm_controlled_fractional_resampler_cc.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - Controlled Fractional Resampler - gsm_controlled_fractional_resampler_cc - import grgsm - grgsm.controlled_fractional_resampler_cc($phase_shift, $resamp_ratio) - set_resamp_ratio($resamp_ratio) - - Phase Shift - phase_shift - real - - - Resampling Ratio - resamp_ratio - real - - - in - complex - - - out - complex - - diff --git a/grc/misc_utils/gsm_controlled_rotator_cc.block.yml b/grc/misc_utils/gsm_controlled_rotator_cc.block.yml new file mode 100644 index 0000000..b26af92 --- /dev/null +++ b/grc/misc_utils/gsm_controlled_rotator_cc.block.yml @@ -0,0 +1,26 @@ +# auto-generated by grc.converter + +id: gsm_controlled_rotator_cc +label: Controlled Rotator + +parameters: +- id: phase_inc + label: phase_inc + dtype: real + default: '0' + +inputs: +- domain: stream + dtype: complex + +outputs: +- domain: stream + dtype: complex + +templates: + imports: import grgsm + make: grgsm.controlled_rotator_cc(${phase_inc}) + callbacks: + - set_phase_inc(${phase_inc}) + +file_format: 1 diff --git a/grc/misc_utils/gsm_controlled_rotator_cc.xml b/grc/misc_utils/gsm_controlled_rotator_cc.xml deleted file mode 100644 index 09ac422..0000000 --- a/grc/misc_utils/gsm_controlled_rotator_cc.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - Controlled Rotator - gsm_controlled_rotator_cc - import grgsm - grgsm.controlled_rotator_cc($phase_inc) - set_phase_inc($phase_inc) - - phase_inc - phase_inc - 0 - real - - - in - complex - - - out - complex - - - diff --git a/grc/misc_utils/gsm_extract_assignment_cmd.block.yml b/grc/misc_utils/gsm_extract_assignment_cmd.block.yml new file mode 100644 index 0000000..1ce258d --- /dev/null +++ b/grc/misc_utils/gsm_extract_assignment_cmd.block.yml @@ -0,0 +1,22 @@ +# auto-generated by grc.converter + +id: gsm_extract_assignment_cmd +label: Extract Assignment Command + +inputs: +- domain: message + id: msgs + +templates: + imports: import grgsm + make: grgsm.extract_assignment_cmd() + +documentation: |- + Extracts Assignemnt Commands. + + Input: decoded control channel messages + + The information can be retrieved using following function: + get_assignment_commands() + +file_format: 1 diff --git a/grc/misc_utils/gsm_extract_assignment_cmd.xml b/grc/misc_utils/gsm_extract_assignment_cmd.xml deleted file mode 100644 index 8562e56..0000000 --- a/grc/misc_utils/gsm_extract_assignment_cmd.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - Extract Assignment Command - gsm_extract_assignment_cmd - import grgsm - grgsm.extract_assignment_cmd() - - msgs - message - - -Extracts Assignemnt Commands. - -Input: decoded control channel messages - -The information can be retrieved using following function: -get_assignment_commands() - - - diff --git a/grc/misc_utils/gsm_extract_cmc.block.yml b/grc/misc_utils/gsm_extract_cmc.block.yml new file mode 100644 index 0000000..3c98ab3 --- /dev/null +++ b/grc/misc_utils/gsm_extract_cmc.block.yml @@ -0,0 +1,22 @@ +# auto-generated by grc.converter + +id: gsm_extract_cmc +label: Extract Cipher Mode Command + +inputs: +- domain: message + id: msgs + +templates: + imports: import grgsm + make: grgsm.extract_cmc() + +documentation: |- + Extracts the framenumber and the assigned encryption algorithm from Cipher Mode Commands. + + Input: decoded control channel messages + + The information can be retrieved using following functions: + get_frame_numbers(), get_a5_versions() + +file_format: 1 diff --git a/grc/misc_utils/gsm_extract_cmc.xml b/grc/misc_utils/gsm_extract_cmc.xml deleted file mode 100644 index 66a6408..0000000 --- a/grc/misc_utils/gsm_extract_cmc.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - Extract Cipher Mode Command - gsm_extract_cmc - import grgsm - grgsm.extract_cmc() - - msgs - message - - -Extracts the framenumber and the assigned encryption algorithm from Cipher Mode Commands. - -Input: decoded control channel messages - -The information can be retrieved using following functions: -get_frame_numbers(), get_a5_versions() - - - diff --git a/grc/misc_utils/gsm_extract_immediate_assignment.block.yml b/grc/misc_utils/gsm_extract_immediate_assignment.block.yml new file mode 100644 index 0000000..432a6a1 --- /dev/null +++ b/grc/misc_utils/gsm_extract_immediate_assignment.block.yml @@ -0,0 +1,46 @@ +# auto-generated by grc.converter + +id: gsm_extract_immediate_assignment +label: Extract Immediate Assignment + +parameters: +- id: print_immediate_assignments + label: Print + dtype: bool + default: 'False' + options: ['False', 'True'] +- id: ignore_gprs + label: Ignore GPRS + dtype: bool + default: 'False' + options: ['False', 'True'] +- id: unique_references + label: Unique per request ref + dtype: bool + default: 'False' + options: ['False', 'True'] + +inputs: +- domain: message + id: msgs + +templates: + imports: import grgsm + make: grgsm.extract_immediate_assignment(${print_immediate_assignments}, ${ignore_gprs}, + ${unique_references}) + +documentation: |- + Extracts the assignment information from immediate assignments, i.e. timeslot, channel type, etc. + + Input: decoded control channel messages + + If "Print" is enabled, the information will be printed to output also, + else the data can be retrieved using functions: + + get_frame_numbers(), get_channel_types(), get_timeslots(), get_subchannels(), get_hopping(), get_maios(), get_hsns(), get_arfcns(), get_timing_advances(), get_mobile_allocations() + + If "Ignore GPRS" is enabled, the extractor will ignore Immediate Assignments that assign GPRS channels. + + If "Unique per request ref" is enabled, the extractor will capture the first Immediate Assignment for every unique request reference, and ignore further duplicate assignments + +file_format: 1 diff --git a/grc/misc_utils/gsm_extract_immediate_assignment.xml b/grc/misc_utils/gsm_extract_immediate_assignment.xml deleted file mode 100644 index 9040b9b..0000000 --- a/grc/misc_utils/gsm_extract_immediate_assignment.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - Extract Immediate Assignment - gsm_extract_immediate_assignment - import grgsm - grgsm.extract_immediate_assignment($print_immediate_assignments, $ignore_gprs, $unique_references) - - - Print - print_immediate_assignments - False - bool - - - - - Ignore GPRS - ignore_gprs - False - bool - - - - - Unique per request ref - unique_references - False - bool - - - - - - msgs - message - - - -Extracts the assignment information from immediate assignments, i.e. timeslot, channel type, etc. - -Input: decoded control channel messages - -If "Print" is enabled, the information will be printed to output also, -else the data can be retrieved using functions: - -get_frame_numbers(), get_channel_types(), get_timeslots(), get_subchannels(), get_hopping(), get_maios(), get_hsns(), get_arfcns(), get_timing_advances(), get_mobile_allocations() - -If "Ignore GPRS" is enabled, the extractor will ignore Immediate Assignments that assign GPRS channels. - -If "Unique per request ref" is enabled, the extractor will capture the first Immediate Assignment for every unique request reference, and ignore further duplicate assignments - - - diff --git a/grc/misc_utils/gsm_extract_system_info.block.yml b/grc/misc_utils/gsm_extract_system_info.block.yml new file mode 100644 index 0000000..48e2322 --- /dev/null +++ b/grc/misc_utils/gsm_extract_system_info.block.yml @@ -0,0 +1,16 @@ +# auto-generated by grc.converter + +id: gsm_extract_system_info +label: Extract System Info + +inputs: +- domain: message + id: msgs +- domain: message + id: bursts + +templates: + imports: import grgsm + make: grgsm.extract_system_info() + +file_format: 1 diff --git a/grc/misc_utils/gsm_extract_system_info.xml b/grc/misc_utils/gsm_extract_system_info.xml deleted file mode 100644 index 4a5d26d..0000000 --- a/grc/misc_utils/gsm_extract_system_info.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - Extract System Info - gsm_extract_system_info - import grgsm - grgsm.extract_system_info() - - - msgs - message - - - - bursts - message - - - diff --git a/grc/misc_utils/gsm_message_file_sink.block.yml b/grc/misc_utils/gsm_message_file_sink.block.yml new file mode 100644 index 0000000..e83669a --- /dev/null +++ b/grc/misc_utils/gsm_message_file_sink.block.yml @@ -0,0 +1,23 @@ +# auto-generated by grc.converter + +id: gsm_message_file_sink +label: Message File Sink + +parameters: +- id: filename + label: Destination file + dtype: file_open + default: /tmp/output.msg + +inputs: +- domain: message + id: in + +templates: + imports: import grgsm + make: grgsm.message_file_sink(${filename}) + +documentation: |- + This block stores incoming gsm messages to a file. + +file_format: 1 diff --git a/grc/misc_utils/gsm_message_file_sink.xml b/grc/misc_utils/gsm_message_file_sink.xml deleted file mode 100644 index 087747e..0000000 --- a/grc/misc_utils/gsm_message_file_sink.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - Message File Sink - gsm_message_file_sink - import grgsm - grgsm.message_file_sink($filename) - - - Destination file - filename - /tmp/output.msg - file_open - - - - in - message - - - -This block stores incoming gsm messages to a file. - - diff --git a/grc/misc_utils/gsm_message_file_source.block.yml b/grc/misc_utils/gsm_message_file_source.block.yml new file mode 100644 index 0000000..047ea28 --- /dev/null +++ b/grc/misc_utils/gsm_message_file_source.block.yml @@ -0,0 +1,23 @@ +# auto-generated by grc.converter + +id: gsm_message_file_source +label: Message File Source + +parameters: +- id: filename + label: Source file + dtype: file_open + default: /tmp/output.msg + +outputs: +- domain: message + id: out + +templates: + imports: import grgsm + make: grgsm.message_file_source(${filename}) + +documentation: |- + This block outputs gsm messages stored in a file. + +file_format: 1 diff --git a/grc/misc_utils/gsm_message_file_source.xml b/grc/misc_utils/gsm_message_file_source.xml deleted file mode 100644 index 7876c77..0000000 --- a/grc/misc_utils/gsm_message_file_source.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - Message File Source - gsm_message_file_source - import grgsm - grgsm.message_file_source($filename) - - - Source file - filename - /tmp/output.msg - file_open - - - - out - message - - - -This block outputs gsm messages stored in a file. - - diff --git a/grc/misc_utils/gsm_message_printer.block.yml b/grc/misc_utils/gsm_message_printer.block.yml new file mode 100644 index 0000000..beb9189 --- /dev/null +++ b/grc/misc_utils/gsm_message_printer.block.yml @@ -0,0 +1,39 @@ +# auto-generated by grc.converter + +id: gsm_message_printer +label: Message Printer + +parameters: +- id: prepend_string + label: Prepend String + dtype: string + hide: part +- id: prepend_fnr + label: Prepend Frame Number + dtype: bool + default: 'False' + options: ['False', 'True'] +- id: prepend_frame_count + label: Prepend Frame Count + dtype: bool + default: 'False' + options: ['False', 'True'] +- id: print_gsmtap_header + label: Print GSMTap header + dtype: bool + default: 'False' + options: ['False', 'True'] + +inputs: +- domain: message + id: msgs + +templates: + imports: |- + import grgsm + import pmt + make: |- + grgsm.message_printer(pmt.intern(${prepend_string}), ${prepend_fnr}, + ${prepend_frame_count}, ${print_gsmtap_header}) + +file_format: 1 diff --git a/grc/misc_utils/gsm_message_printer.xml b/grc/misc_utils/gsm_message_printer.xml deleted file mode 100644 index be50b78..0000000 --- a/grc/misc_utils/gsm_message_printer.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - Message Printer - gsm_message_printer - import grgsm - import pmt - grgsm.message_printer(pmt.intern($prepend_string), $prepend_fnr, - $prepend_frame_count, $print_gsmtap_header) - - - Prepend String - prepend_string - - string - part - - - Prepend Frame Number - prepend_fnr - False - bool - - - - - Prepend Frame Count - prepend_frame_count - False - bool - - - - - Print GSMTap header - print_gsmtap_header - False - bool - - - - - - msgs - message - - diff --git a/grc/misc_utils/gsm_msg_to_tag.block.yml b/grc/misc_utils/gsm_msg_to_tag.block.yml new file mode 100644 index 0000000..1fe894b --- /dev/null +++ b/grc/misc_utils/gsm_msg_to_tag.block.yml @@ -0,0 +1,21 @@ +# auto-generated by grc.converter + +id: gsm_msg_to_tag +label: Message To Tag + +inputs: +- domain: stream + dtype: complex +- domain: message + id: msg + optional: true + +outputs: +- domain: stream + dtype: complex + +templates: + imports: import grgsm + make: grgsm.msg_to_tag() + +file_format: 1 diff --git a/grc/misc_utils/gsm_msg_to_tag.xml b/grc/misc_utils/gsm_msg_to_tag.xml deleted file mode 100644 index c0d73c3..0000000 --- a/grc/misc_utils/gsm_msg_to_tag.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - Message To Tag - gsm_msg_to_tag - import grgsm - grgsm.msg_to_tag() - - - in - complex - - - - msg - message - 1 - - - - out - complex - - diff --git a/grc/misc_utils/gsm_tmsi_dumper.block.yml b/grc/misc_utils/gsm_tmsi_dumper.block.yml new file mode 100644 index 0000000..21670a2 --- /dev/null +++ b/grc/misc_utils/gsm_tmsi_dumper.block.yml @@ -0,0 +1,16 @@ +# auto-generated by grc.converter + +id: gsm_tmsi_dumper +label: TMSI Dumper + +inputs: +- domain: message + id: msgs + +templates: + imports: |- + import grgsm + import pmt + make: grgsm.tmsi_dumper() + +file_format: 1 diff --git a/grc/misc_utils/gsm_tmsi_dumper.xml b/grc/misc_utils/gsm_tmsi_dumper.xml deleted file mode 100644 index 807243b..0000000 --- a/grc/misc_utils/gsm_tmsi_dumper.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - TMSI Dumper - gsm_tmsi_dumper - import grgsm - import pmt - grgsm.tmsi_dumper() - - - msgs - message - - diff --git a/grc/qa_utils/CMakeLists.txt b/grc/qa_utils/CMakeLists.txt index 1f57aa1..2ed15a1 100644 --- a/grc/qa_utils/CMakeLists.txt +++ b/grc/qa_utils/CMakeLists.txt @@ -18,8 +18,9 @@ # Boston, MA 02110-1301, USA. install(FILES - gsm_burst_source.xml - gsm_burst_sink.xml - gsm_message_source.xml - gsm_message_sink.xml DESTINATION share/gnuradio/grc/blocks + gsm_burst_source.block.xml + gsm_burst_sink.block.xml + gsm_message_source.block.xml + gsm_message_sink.block.xml + DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/qa_utils/gsm_burst_sink.block.yml b/grc/qa_utils/gsm_burst_sink.block.yml new file mode 100644 index 0000000..fdcfa29 --- /dev/null +++ b/grc/qa_utils/gsm_burst_sink.block.yml @@ -0,0 +1,14 @@ +# auto-generated by grc.converter + +id: gsm_burst_sink +label: Burst Sink + +inputs: +- domain: message + id: in + +templates: + imports: import grgsm + make: grgsm.burst_sink() + +file_format: 1 diff --git a/grc/qa_utils/gsm_burst_sink.xml b/grc/qa_utils/gsm_burst_sink.xml deleted file mode 100644 index 1026993..0000000 --- a/grc/qa_utils/gsm_burst_sink.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - Burst Sink - gsm_burst_sink - import grgsm - grgsm.burst_sink() - - - in - message - - diff --git a/grc/qa_utils/gsm_burst_source.block.yml b/grc/qa_utils/gsm_burst_source.block.yml new file mode 100644 index 0000000..81e56f5 --- /dev/null +++ b/grc/qa_utils/gsm_burst_source.block.yml @@ -0,0 +1,30 @@ +# auto-generated by grc.converter + +id: gsm_burst_source +label: Burst Source + +parameters: +- id: framenumbers + label: Frame numbers + dtype: int_vector + default: '[]' + hide: part +- id: timeslots + label: Timeslots + dtype: int_vector + default: '[]' + hide: part +- id: bursts + label: Bursts + dtype: raw + default: '[[],]' + +outputs: +- domain: message + id: out + +templates: + imports: import grgsm + make: grgsm.burst_source(${framenumbers}, ${timeslots}, ${bursts}) + +file_format: 1 diff --git a/grc/qa_utils/gsm_burst_source.xml b/grc/qa_utils/gsm_burst_source.xml deleted file mode 100644 index d3da677..0000000 --- a/grc/qa_utils/gsm_burst_source.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - Burst Source - gsm_burst_source - import grgsm - grgsm.burst_source($framenumbers, $timeslots, $bursts) - - - Frame numbers - framenumbers - [] - int_vector - part - - - - Timeslots - timeslots - [] - int_vector - part - - - - Bursts - bursts - [[],] - raw - - - - out - message - - diff --git a/grc/qa_utils/gsm_message_sink.block.yml b/grc/qa_utils/gsm_message_sink.block.yml new file mode 100644 index 0000000..bde7f52 --- /dev/null +++ b/grc/qa_utils/gsm_message_sink.block.yml @@ -0,0 +1,19 @@ +# auto-generated by grc.converter + +id: gsm_message_sink +label: Message Sink + +inputs: +- domain: message + id: in + +templates: + imports: import grgsm + make: grgsm.message_sink() + +documentation: |- + This block is a message sink for testing purposes. + + The data can be retrieved using function get_messages() + +file_format: 1 diff --git a/grc/qa_utils/gsm_message_sink.xml b/grc/qa_utils/gsm_message_sink.xml deleted file mode 100644 index e0d6ac0..0000000 --- a/grc/qa_utils/gsm_message_sink.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - Message Sink - gsm_message_sink - import grgsm - grgsm.message_sink() - - - in - message - - - -This block is a message sink for testing purposes. - -The data can be retrieved using function get_messages() - - - diff --git a/grc/qa_utils/gsm_message_source.block.yml b/grc/qa_utils/gsm_message_source.block.yml new file mode 100644 index 0000000..abb1800 --- /dev/null +++ b/grc/qa_utils/gsm_message_source.block.yml @@ -0,0 +1,39 @@ +# auto-generated by grc.converter + +id: gsm_message_source +label: Message Source + +parameters: +- id: messages + label: Messages + dtype: raw + default: '["02 04 01 00 00 00 c9 00 00 1d 3c e5 02 00 01 00 15 06 21 00 01 f0 + 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b", + + "02 04 01 00 00 00 ca 00 00 1d 3c e9 02 00 02 00 15 06 21 00 01 f0 2b 2b 2b + 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b", + + "02 04 01 00 00 00 cb 00 00 1d 3d 0e 01 00 00 00 59 06 1a 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 00 00 ff e5 04 00", + + "02 04 01 00 00 00 cb 00 00 1d 3d 12 02 00 00 00 15 06 21 00 01 f0 2b 2b 2b + 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b"]' + hide: 'true' + +outputs: +- domain: message + id: msgs + +templates: + imports: import grgsm + make: grgsm.message_source(${messages}) + +documentation: |- + This block is a basic message source for testing purposes. + + It takes a list of strings as input, where each string + is a whitespace-separated list of hexadecimal values representing the data bytes of a message including the gsmtap header. + + Such strings can be obtained using the message printer with option "Print GSMTap header" + +file_format: 1 diff --git a/grc/qa_utils/gsm_message_source.xml b/grc/qa_utils/gsm_message_source.xml deleted file mode 100644 index ab06f65..0000000 --- a/grc/qa_utils/gsm_message_source.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - Message Source - gsm_message_source - import grgsm - grgsm.message_source($messages) - - - Messages - messages - ["02 04 01 00 00 00 c9 00 00 1d 3c e5 02 00 01 00 15 06 21 00 01 f0 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b", -"02 04 01 00 00 00 ca 00 00 1d 3c e9 02 00 02 00 15 06 21 00 01 f0 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b", -"02 04 01 00 00 00 cb 00 00 1d 3d 0e 01 00 00 00 59 06 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff e5 04 00", -"02 04 01 00 00 00 cb 00 00 1d 3d 12 02 00 00 00 15 06 21 00 01 f0 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b"] - raw - true - - - - msgs - message - - - -This block is a basic message source for testing purposes. - -It takes a list of strings as input, where each string -is a whitespace-separated list of hexadecimal values representing the data bytes of a message including the gsmtap header. - -Such strings can be obtained using the message printer with option "Print GSMTap header" - - diff --git a/grc/receiver/CMakeLists.txt b/grc/receiver/CMakeLists.txt index 7b51226..3db5983 100644 --- a/grc/receiver/CMakeLists.txt +++ b/grc/receiver/CMakeLists.txt @@ -18,12 +18,13 @@ # Boston, MA 02110-1301, USA. install(FILES - gsm_input.xml - gsm_receiver.xml - gsm_receiver_with_uplink.xml - gsm_fcch_burst_tagger.xml - gsm_sch_detector.xml - gsm_fcch_detector.xml - gsm_cx_channel_hopper.xml - gsm_clock_offset_control.xml DESTINATION share/gnuradio/grc/blocks + gsm_input.block.yml + gsm_receiver.block.yml + gsm_receiver_with_uplink.block.yml + gsm_fcch_burst_tagger.block.yml + gsm_sch_detector.block.yml + gsm_fcch_detector.block.yml + gsm_cx_channel_hopper.block.yml + gsm_clock_offset_control.block.yml + DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/receiver/gsm_clock_offset_control.block.yml b/grc/receiver/gsm_clock_offset_control.block.yml new file mode 100644 index 0000000..abb52bc --- /dev/null +++ b/grc/receiver/gsm_clock_offset_control.block.yml @@ -0,0 +1,35 @@ +# auto-generated by grc.converter + +id: gsm_clock_offset_control +label: GSM Clock Offset Control + +parameters: +- id: fc + label: fc + dtype: float + default: fc +- id: osr + label: OSR + dtype: int + default: osr +- id: samp_rate + label: samp_rate + dtype: float + default: samp_rate + +inputs: +- domain: message + id: measurements + +outputs: +- domain: message + id: ctrl + optional: true + +templates: + imports: import grgsm + make: grgsm.clock_offset_control(${fc}, ${samp_rate}, ${osr}) + callbacks: + - set_fc(${fc}) + +file_format: 1 diff --git a/grc/receiver/gsm_clock_offset_control.xml b/grc/receiver/gsm_clock_offset_control.xml deleted file mode 100644 index c5a932a..0000000 --- a/grc/receiver/gsm_clock_offset_control.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - GSM Clock Offset Control - gsm_clock_offset_control - import grgsm - grgsm.clock_offset_control($fc, $samp_rate, $osr) - set_fc($fc) - - fc - fc - fc - float - - - OSR - osr - osr - int - - - - samp_rate - samp_rate - samp_rate - float - - - - measurements - message - - - - ctrl - message - 1 - - diff --git a/grc/receiver/gsm_cx_channel_hopper.block.yml b/grc/receiver/gsm_cx_channel_hopper.block.yml new file mode 100644 index 0000000..edee1fb --- /dev/null +++ b/grc/receiver/gsm_cx_channel_hopper.block.yml @@ -0,0 +1,30 @@ +# auto-generated by grc.converter + +id: gsm_cx_channel_hopper +label: CX Channel Hopper + +parameters: +- id: ma + label: MA + dtype: int_vector + default: '[]' +- id: maio + label: MAIO + dtype: int +- id: hsn + label: HSN + dtype: int + +inputs: +- domain: message + id: CX + +outputs: +- domain: message + id: bursts + +templates: + imports: import grgsm + make: grgsm.cx_channel_hopper(${ma}, ${maio}, ${hsn}) + +file_format: 1 diff --git a/grc/receiver/gsm_cx_channel_hopper.xml b/grc/receiver/gsm_cx_channel_hopper.xml deleted file mode 100644 index 9ff07dc..0000000 --- a/grc/receiver/gsm_cx_channel_hopper.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - CX Channel Hopper - gsm_cx_channel_hopper - import grgsm - grgsm.cx_channel_hopper($ma, $maio, $hsn) - - MA - ma - [] - int_vector - - - - MAIO - maio - int - - - - HSN - hsn - int - - - - CX - message - - - - bursts - message - - diff --git a/grc/receiver/gsm_fcch_burst_tagger.block.yml b/grc/receiver/gsm_fcch_burst_tagger.block.yml new file mode 100644 index 0000000..c5d1de8 --- /dev/null +++ b/grc/receiver/gsm_fcch_burst_tagger.block.yml @@ -0,0 +1,26 @@ +# auto-generated by grc.converter + +id: gsm_fcch_burst_tagger +label: FCCH Burst Tagger + +parameters: +- id: OSR + label: OSR + dtype: int + +inputs: +- domain: stream + dtype: complex +- label: threshold + domain: stream + dtype: float + +outputs: +- domain: stream + dtype: complex + +templates: + imports: import grgsm + make: grgsm.fcch_burst_tagger(${OSR}) + +file_format: 1 diff --git a/grc/receiver/gsm_fcch_burst_tagger.xml b/grc/receiver/gsm_fcch_burst_tagger.xml deleted file mode 100644 index a0cb977..0000000 --- a/grc/receiver/gsm_fcch_burst_tagger.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - FCCH Burst Tagger - gsm_fcch_burst_tagger - import grgsm - grgsm.fcch_burst_tagger($OSR) - - OSR - OSR - int - - - - in - complex - - - - threshold - float - - - - out - complex - - diff --git a/grc/receiver/gsm_fcch_detector.block.yml b/grc/receiver/gsm_fcch_detector.block.yml new file mode 100644 index 0000000..70a8fa5 --- /dev/null +++ b/grc/receiver/gsm_fcch_detector.block.yml @@ -0,0 +1,32 @@ +# auto-generated by grc.converter + +id: gsm_fcch_detector +label: FCCH Bursts Detector + +parameters: +- id: OSR + label: OverSamplingRatio + dtype: int + default: '4' + +inputs: +- domain: stream + dtype: complex + vlen: 1 + +outputs: +- domain: stream + dtype: complex + vlen: 1 + +templates: + imports: import grgsm + make: grgsm.fcch_detector(${OSR}) + callbacks: + - set_OSR(${OSR}) + +documentation: |- + Piotr Krysik + Detects positions of FCCH bursts. At the end of each detected FCCH burst adds to the stream a tag with key "fcch" and value which is a frequency offset estimate. The input sampling frequency should be integer multiply of GSM GMKS symbol rate - 1625000/6 Hz. + +file_format: 1 diff --git a/grc/receiver/gsm_fcch_detector.xml b/grc/receiver/gsm_fcch_detector.xml deleted file mode 100644 index f8f8997..0000000 --- a/grc/receiver/gsm_fcch_detector.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - FCCH Bursts Detector - gsm_fcch_detector - import grgsm - grgsm.fcch_detector($OSR) -set_OSR($OSR) - - OverSamplingRatio - OSR - 4 - int - - - in - complex - 1 - - - out - complex - 1 - - Piotr Krysik -Detects positions of FCCH bursts. At the end of each detected FCCH burst adds to the stream a tag with key "fcch" and value which is a frequency offset estimate. The input sampling frequency should be integer multiply of GSM GMKS symbol rate - 1625000/6 Hz. - /home/piotr/Odbiornik_gsm/gr-gsm/examples/gsm_fcch_detector.grc - diff --git a/grc/receiver/gsm_input.block.yml b/grc/receiver/gsm_input.block.yml new file mode 100644 index 0000000..5489b00 --- /dev/null +++ b/grc/receiver/gsm_input.block.yml @@ -0,0 +1,60 @@ +# auto-generated by grc.converter + +id: gsm_input +label: GSM Input Adaptor + +parameters: +- id: ppm + label: ppm + dtype: float + default: ppm + hide: part +- id: osr + label: OSR + dtype: int + default: osr + hide: part +- id: fc + label: fc + dtype: float + default: fc + hide: part +- id: samp_rate_in + label: samp_rate_in + dtype: float + default: samp_rate_in + hide: part + +inputs: +- domain: stream + dtype: complex + vlen: 1 +- domain: message + id: ctrl_in + optional: true + +outputs: +- domain: stream + dtype: complex + vlen: 1 + +templates: + imports: import grgsm + make: |- + grgsm.gsm_input( + ppm=${ppm}, + osr=${osr}, + fc=${fc}, + samp_rate_in=${samp_rate_in}, + ) + callbacks: + - set_ppm(${ppm}) + - set_osr(${osr}) + - set_fc(${fc}) + - set_samp_rate_in(${samp_rate_in}) + +documentation: |- + Piotr Krysik + Adaptor of input stream for the GSM receiver. Contains frequency offset corrector and resampler to correct carrier frequency and sampling frequency offsets. At the end it has LP filter for filtering of a GSM channel. + +file_format: 1 diff --git a/grc/receiver/gsm_input.xml b/grc/receiver/gsm_input.xml deleted file mode 100644 index 52445da..0000000 --- a/grc/receiver/gsm_input.xml +++ /dev/null @@ -1,61 +0,0 @@ - - GSM Input Adaptor - gsm_input - - import grgsm - grgsm.gsm_input( - ppm=$ppm, - osr=$osr, - fc=$fc, - samp_rate_in=$samp_rate_in, -) - set_ppm($ppm) - set_osr($osr) - set_fc($fc) - set_samp_rate_in($samp_rate_in) - - ppm - ppm - ppm - float - part - - - OSR - osr - osr - int - part - - - fc - fc - fc - float - part - - - samp_rate_in - samp_rate_in - samp_rate_in - float - part - - - in - complex - 1 - - - ctrl_in - message - True - - - out - complex - 1 - - Piotr Krysik -Adaptor of input stream for the GSM receiver. Contains frequency offset corrector and resampler to correct carrier frequency and sampling frequency offsets. At the end it has LP filter for filtering of a GSM channel. - diff --git a/grc/receiver/gsm_receiver.block.yml b/grc/receiver/gsm_receiver.block.yml new file mode 100644 index 0000000..9897bec --- /dev/null +++ b/grc/receiver/gsm_receiver.block.yml @@ -0,0 +1,49 @@ +# auto-generated by grc.converter + +id: gsm_receiver +label: GSM Receiver + +parameters: +- id: osr + label: Oversampling ratio + dtype: int + default: '4' +- id: cell_allocation + label: Cell allocation + dtype: float_vector + default: '[0]' + hide: part +- id: tseq_nums + label: TSEQ numbers + dtype: int_vector + default: '[]' + hide: part +- id: num_streams + label: Num Streams + dtype: int + default: '1' + hide: part + +inputs: +- domain: stream + dtype: complex + multiplicity: ${ num_streams } + +outputs: +- domain: message + id: C0 + optional: true +- domain: message + id: CX + optional: true +- domain: message + id: measurements + optional: true +asserts: +- ${ num_streams >= 0 } + +templates: + imports: import grgsm + make: grgsm.receiver(${osr}, ${cell_allocation}, ${tseq_nums}, False) + +file_format: 1 diff --git a/grc/receiver/gsm_receiver.xml b/grc/receiver/gsm_receiver.xml deleted file mode 100644 index 2988243..0000000 --- a/grc/receiver/gsm_receiver.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - GSM Receiver - gsm_receiver - import grgsm - grgsm.receiver($osr, $cell_allocation, $tseq_nums, False) - - - Oversampling ratio - osr - 4 - int - - - - Cell allocation - cell_allocation - [0] - float_vector - part - - - - TSEQ numbers - tseq_nums - [] - int_vector - part - - - - Num Streams - num_streams - 1 - int - part - - $num_streams >= 0 - - - in - complex - $num_streams - - - - C0 - message - 1 - - - - CX - message - 1 - - - - measurements - message - 1 - - diff --git a/grc/receiver/gsm_receiver_with_uplink.block.yml b/grc/receiver/gsm_receiver_with_uplink.block.yml new file mode 100644 index 0000000..d0b6302 --- /dev/null +++ b/grc/receiver/gsm_receiver_with_uplink.block.yml @@ -0,0 +1,54 @@ +# auto-generated by grc.converter + +id: gsm_receiver_with_uplink +label: GSM Receiver (with uplink) + +parameters: +- id: osr + label: Oversampling ratio + dtype: int + default: '4' +- id: cell_allocation + label: Cell allocation + dtype: float_vector + default: '[0]' + hide: part +- id: tseq_nums + label: TSEQ numbers + dtype: int_vector + default: '[]' + hide: part +- id: num_streams + label: Num Streams + dtype: int + default: '1' + hide: part + +inputs: +- label: C + domain: stream + dtype: complex + multiplicity: ${ num_streams } +- label: C_up + domain: stream + dtype: complex + multiplicity: ${ num_streams } + +outputs: +- domain: message + id: C0 + optional: true +- domain: message + id: CX + optional: true +- domain: message + id: measurements + optional: true +asserts: +- ${ num_streams >= 0 } + +templates: + imports: import grgsm + make: grgsm.receiver(${osr}, ${cell_allocation}, ${tseq_nums}, True) + +file_format: 1 diff --git a/grc/receiver/gsm_receiver_with_uplink.xml b/grc/receiver/gsm_receiver_with_uplink.xml deleted file mode 100644 index 4b68336..0000000 --- a/grc/receiver/gsm_receiver_with_uplink.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - GSM Receiver (with uplink) - gsm_receiver_with_uplink - import grgsm - grgsm.receiver($osr, $cell_allocation, $tseq_nums, True) - - - Oversampling ratio - osr - 4 - int - - - - Cell allocation - cell_allocation - [0] - float_vector - part - - - - TSEQ numbers - tseq_nums - [] - int_vector - part - - - - Num Streams - num_streams - 1 - int - part - - - $num_streams >= 0 - - - C - complex - $num_streams - - - - - C_up - complex - $num_streams - - - - C0 - message - 1 - - - - CX - message - 1 - - - - measurements - message - 1 - - diff --git a/grc/receiver/gsm_sch_detector.block.yml b/grc/receiver/gsm_sch_detector.block.yml new file mode 100644 index 0000000..33d4543 --- /dev/null +++ b/grc/receiver/gsm_sch_detector.block.yml @@ -0,0 +1,26 @@ +# auto-generated by grc.converter + +id: gsm_sch_detector +label: SCH Bursts Detector + +parameters: +- id: OSR + label: OSR + dtype: int + default: '4' + +inputs: +- domain: stream + dtype: complex + +outputs: +- domain: stream + dtype: complex + +templates: + imports: import grgsm + make: grgsm.sch_detector(${OSR}) + callbacks: + - set_OSR(${OSR}) + +file_format: 1 diff --git a/grc/receiver/gsm_sch_detector.xml b/grc/receiver/gsm_sch_detector.xml deleted file mode 100644 index b3adb56..0000000 --- a/grc/receiver/gsm_sch_detector.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - SCH Bursts Detector - gsm_sch_detector - import grgsm - grgsm.sch_detector($OSR) - set_OSR($OSR) - - OSR - OSR - 4 - int - - - - in - complex - - - - out - complex - - diff --git a/grc/transmitter/CMakeLists.txt b/grc/transmitter/CMakeLists.txt index 4df2abb..d66ea32 100644 --- a/grc/transmitter/CMakeLists.txt +++ b/grc/transmitter/CMakeLists.txt @@ -18,10 +18,10 @@ # Boston, MA 02110-1301, USA. install(FILES - gsm_gmsk_mod.xml - gsm_txtime_bursts_tagger.xml - gsm_txtime_setter.xml - gsm_preprocess_tx_burst.xml - gsm_gen_test_ab.xml + gsm_gmsk_mod.block.yml + gsm_txtime_bursts_tagger.block.yml + gsm_txtime_setter.block.yml + gsm_preprocess_tx_burst.block.yml + gsm_gen_test_ab.block.yml DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/transmitter/gsm_gen_test_ab.block.yml b/grc/transmitter/gsm_gen_test_ab.block.yml new file mode 100644 index 0000000..ec57b8e --- /dev/null +++ b/grc/transmitter/gsm_gen_test_ab.block.yml @@ -0,0 +1,20 @@ +# auto-generated by grc.converter + +id: gsm_gen_test_ab +label: Gen Test AB + +inputs: +- domain: message + id: bursts_in + optional: true + +outputs: +- domain: message + id: bursts_out + optional: true + +templates: + imports: import grgsm + make: grgsm.gen_test_ab() + +file_format: 1 diff --git a/grc/transmitter/gsm_gen_test_ab.xml b/grc/transmitter/gsm_gen_test_ab.xml deleted file mode 100644 index 3cb8b11..0000000 --- a/grc/transmitter/gsm_gen_test_ab.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - Gen Test AB - gsm_gen_test_ab - import grgsm - grgsm.gen_test_ab() - - - bursts_in - message - 1 - - - - bursts_out - message - 1 - - diff --git a/grc/transmitter/gsm_gmsk_mod.block.yml b/grc/transmitter/gsm_gmsk_mod.block.yml new file mode 100644 index 0000000..e45e303 --- /dev/null +++ b/grc/transmitter/gsm_gmsk_mod.block.yml @@ -0,0 +1,49 @@ +# auto-generated by grc.converter + +id: gsm_gmsk_mod +label: GMSK Modulator for GSM + +parameters: +- id: BT + label: 3 dB Time-Bandwidth Product + dtype: raw + default: '4' +- id: pulse_duration + label: Pulse Duration + dtype: raw + default: '4' +- id: sps + label: Samples/Symbol + dtype: raw + default: '4' + +inputs: +- domain: stream + dtype: byte + vlen: 1 + optional: true + +outputs: +- domain: stream + dtype: complex + vlen: 1 + optional: true + +templates: + imports: from grgsm import gsm_gmsk_mod + make: |- + gsm_gmsk_mod( + BT=${BT}, + pulse_duration=${pulse_duration}, + sps=${sps}, + ) + callbacks: + - set_BT(${BT}) + - set_pulse_duration(${pulse_duration}) + - set_sps(${sps}) + +documentation: |- + Piotr Krysik + GMSK Modulator for GSM + +file_format: 1 diff --git a/grc/transmitter/gsm_gmsk_mod.xml b/grc/transmitter/gsm_gmsk_mod.xml deleted file mode 100644 index 4aad01b..0000000 --- a/grc/transmitter/gsm_gmsk_mod.xml +++ /dev/null @@ -1,47 +0,0 @@ - - GMSK Modulator for GSM - gsm_gmsk_mod - from grgsm import gsm_gmsk_mod - gsm_gmsk_mod( - BT=$BT, - pulse_duration=$pulse_duration, - sps=$sps, -) - set_BT($BT) - set_pulse_duration($pulse_duration) - set_sps($sps) - - 3 dB Time-Bandwidth Product - BT - 4 - raw - - - Pulse Duration - pulse_duration - 4 - raw - - - Samples/Symbol - sps - 4 - raw - - - in - byte - 1 - 1 - - - out - complex - 1 - 1 - - Piotr Krysik -GMSK Modulator for GSM - - gr-gsm/hier_blocks/transmitter/gsm_gmsk_mod.grc - diff --git a/grc/transmitter/gsm_preprocess_tx_burst.block.yml b/grc/transmitter/gsm_preprocess_tx_burst.block.yml new file mode 100644 index 0000000..09cc030 --- /dev/null +++ b/grc/transmitter/gsm_preprocess_tx_burst.block.yml @@ -0,0 +1,20 @@ +# auto-generated by grc.converter + +id: gsm_preprocess_tx_burst +label: Preprocess Tx burst + +inputs: +- domain: message + id: bursts_in + optional: true + +outputs: +- domain: message + id: bursts_out + optional: true + +templates: + imports: import grgsm + make: grgsm.preprocess_tx_burst() + +file_format: 1 diff --git a/grc/transmitter/gsm_preprocess_tx_burst.xml b/grc/transmitter/gsm_preprocess_tx_burst.xml deleted file mode 100644 index 70b447e..0000000 --- a/grc/transmitter/gsm_preprocess_tx_burst.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - Preprocess Tx burst - gsm_preprocess_tx_burst - import grgsm - grgsm.preprocess_tx_burst() - - - bursts_in - message - 1 - - - - bursts_out - message - 1 - - diff --git a/grc/transmitter/gsm_txtime_bursts_tagger.block.yml b/grc/transmitter/gsm_txtime_bursts_tagger.block.yml new file mode 100644 index 0000000..323d084 --- /dev/null +++ b/grc/transmitter/gsm_txtime_bursts_tagger.block.yml @@ -0,0 +1,56 @@ +# auto-generated by grc.converter + +id: gsm_txtime_bursts_tagger +label: txtime_bursts_tagger + +parameters: +- id: init_fn + label: init_fn + dtype: raw + default: None + hide: part +- id: init_time + label: init_time + dtype: float + default: '0' + hide: part +- id: time_hint + label: time_hint + dtype: float + default: '0' + hide: part +- id: timing_advance + label: timing_advance + dtype: float + default: '0' + hide: part +- id: delay_correction + label: delay_correction + dtype: float + default: '0' + hide: part + +inputs: +- domain: message + id: fn_time + optional: true +- domain: message + id: bursts + optional: true + +outputs: +- domain: message + id: bursts + optional: true + +templates: + imports: import grgsm + make: grgsm.txtime_bursts_tagger(${init_fn}, ${init_time}, ${time_hint}, ${timing_advance}, + ${delay_correction}) + callbacks: + - set_fn_time_reference(${init_fn}, ${init_time}) + - set_time_hint(${time_hint}) + - set_timing_advance(${timing_advance}) + - set_delay_correction(${delay_correction}) + +file_format: 1 diff --git a/grc/transmitter/gsm_txtime_bursts_tagger.xml b/grc/transmitter/gsm_txtime_bursts_tagger.xml deleted file mode 100644 index 4e42886..0000000 --- a/grc/transmitter/gsm_txtime_bursts_tagger.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - txtime_bursts_tagger - gsm_txtime_bursts_tagger - import grgsm - grgsm.txtime_bursts_tagger($init_fn, $init_time, $time_hint, $timing_advance, $delay_correction) - set_fn_time_reference($init_fn, $init_time) - set_time_hint($time_hint) - set_timing_advance($timing_advance) - set_delay_correction($delay_correction) - - - init_fn - init_fn - None - raw - part - - - - init_time - init_time - 0 - float - part - - - - time_hint - time_hint - 0 - float - part - - - - timing_advance - timing_advance - 0 - float - part - - - - delay_correction - delay_correction - 0 - float - part - - - - fn_time - message - 1 - - - - bursts - message - 1 - - - - bursts - message - 1 - - diff --git a/grc/transmitter/gsm_txtime_setter.block.yml b/grc/transmitter/gsm_txtime_setter.block.yml new file mode 100644 index 0000000..76a3f37 --- /dev/null +++ b/grc/transmitter/gsm_txtime_setter.block.yml @@ -0,0 +1,67 @@ +# auto-generated by grc.converter + +id: gsm_txtime_setter +label: txtime_setter + +parameters: +- id: init_fn + label: init_fn + dtype: raw + default: None + hide: part +- id: init_time_secs + label: init_time_secs + dtype: int + default: '0' + hide: part +- id: init_time_fracs + label: init_time_fracs + dtype: float + default: '0' + hide: part +- id: time_hint_secs + label: time_hint_secs + dtype: int + default: '0' + hide: part +- id: time_hint_fracs + label: time_hint_fracs + dtype: float + default: '0' + hide: part +- id: timing_advance + label: timing_advance + dtype: float + default: '0' + hide: part +- id: delay_correction + label: delay_correction + dtype: float + default: '0' + hide: part + +inputs: +- domain: message + id: fn_time + optional: true +- domain: message + id: bursts_in + optional: true + +outputs: +- domain: message + id: bursts_out + optional: true + +templates: + imports: import grgsm + make: grgsm.txtime_setter(${init_fn} if (${init_fn} is not None) else 0xffffffff, + ${init_time_secs}, ${init_time_fracs}, ${time_hint_secs}, ${time_hint_fracs}, + ${timing_advance}, ${delay_correction}) + callbacks: + - set_fn_time_reference(${init_fn}, ${init_time_secs}, ${init_time_fracs}) + - set_time_hint(${time_hint_secs}, ${time_hint_secs}) + - set_timing_advance(${timing_advance}) + - set_delay_correction(${delay_correction}) + +file_format: 1 diff --git a/grc/transmitter/gsm_txtime_setter.xml b/grc/transmitter/gsm_txtime_setter.xml deleted file mode 100644 index 648f4d9..0000000 --- a/grc/transmitter/gsm_txtime_setter.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - txtime_setter - gsm_txtime_setter - import grgsm - grgsm.txtime_setter($init_fn if ($init_fn is not None) else 0xffffffff, $init_time_secs, $init_time_fracs, $time_hint_secs, $time_hint_fracs, $timing_advance, $delay_correction) - - set_fn_time_reference($init_fn, $init_time_secs, $init_time_fracs) - set_time_hint($time_hint_secs, $time_hint_secs) - set_timing_advance($timing_advance) - set_delay_correction($delay_correction) - - - init_fn - init_fn - None - raw - part - - - - init_time_secs - init_time_secs - 0 - int - part - - - init_time_fracs - init_time_fracs - 0 - float - part - - - - time_hint_secs - time_hint_secs - 0 - int - part - - - time_hint_fracs - time_hint_fracs - 0 - float - part - - - - timing_advance - timing_advance - 0 - float - part - - - - delay_correction - delay_correction - 0 - float - part - - - - fn_time - message - 1 - - - - bursts_in - message - 1 - - - - bursts_out - message - 1 - - diff --git a/grc/trx/CMakeLists.txt b/grc/trx/CMakeLists.txt index ac4ae13..e448cdd 100644 --- a/grc/trx/CMakeLists.txt +++ b/grc/trx/CMakeLists.txt @@ -18,6 +18,6 @@ # Boston, MA 02110-1301, USA. install(FILES - gsm_trx_burst_if.xml + gsm_trx_burst_if.block.yml DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/trx/gsm_trx_burst_if.block.yml b/grc/trx/gsm_trx_burst_if.block.yml new file mode 100644 index 0000000..3f08e0c --- /dev/null +++ b/grc/trx/gsm_trx_burst_if.block.yml @@ -0,0 +1,58 @@ +# auto-generated by grc.converter + +id: gsm_trx_burst_if +label: TRX Burst Interface + +parameters: +- id: base_port + label: base_port + dtype: string + default: '5700' +- id: bind_addr + label: bind_addr + dtype: string + default: 0.0.0.0 +- id: remote_addr + label: remote_addr + dtype: string + default: 127.0.0.1 + +inputs: +- domain: message + id: bursts + optional: true + +outputs: +- domain: message + id: bursts + optional: true + +templates: + imports: import grgsm + make: grgsm.trx_burst_if(${bind_addr}, ${remote_addr}, ${base_port}) + +documentation: |- + OsmoTRX like UDP burst interface for external applications. + + There are two UDP connections, where each message carries + one radio burst with header. Give a base port B (5700 by default). + One connection at port P=B+100+2 is used for sending received bursts + to an external application. Another one at port P=B+2 is used to + obtain to be transmitted bursts. + + Received burst format: + 1 byte timeslot index + 4 bytes GSM frame number, big endian + 1 byte RSSI in -dBm + 2 bytes correlator timing offset in 1/256 symbol steps, + 2's-comp, big endian + 148 bytes soft symbol estimates, 0 -> definite "0", + 255 -> definite "1" + + To be transmitted burst format: + 1 byte timeslot index + 4 bytes GSM frame number, big endian + 1 byte transmit level wrt ARFCN max, -dB (attenuation) + 148 bytes output symbol values, 0 & 1 + +file_format: 1 diff --git a/grc/trx/gsm_trx_burst_if.xml b/grc/trx/gsm_trx_burst_if.xml deleted file mode 100644 index 49979a3..0000000 --- a/grc/trx/gsm_trx_burst_if.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - TRX Burst Interface - gsm_trx_burst_if - import grgsm - grgsm.trx_burst_if($bind_addr, $remote_addr, $base_port) - - - base_port - base_port - 5700 - string - - - - bind_addr - bind_addr - 0.0.0.0 - string - - - - remote_addr - remote_addr - 127.0.0.1 - string - - - - bursts - message - 1 - - - - bursts - message - 1 - - - - OsmoTRX like UDP burst interface for external applications. - - There are two UDP connections, where each message carries - one radio burst with header. Give a base port B (5700 by default). - One connection at port P=B+100+2 is used for sending received bursts - to an external application. Another one at port P=B+2 is used to - obtain to be transmitted bursts. - - Received burst format: - 1 byte timeslot index - 4 bytes GSM frame number, big endian - 1 byte RSSI in -dBm - 2 bytes correlator timing offset in 1/256 symbol steps, - 2's-comp, big endian - 148 bytes soft symbol estimates, 0 -> definite "0", - 255 -> definite "1" - - To be transmitted burst format: - 1 byte timeslot index - 4 bytes GSM frame number, big endian - 1 byte transmit level wrt ARFCN max, -dB (attenuation) - 148 bytes output symbol values, 0 & 1 - - -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24061 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iee5c611a2e100bd2fdf487611a867dc937d8c292 Gerrit-Change-Number: 24061 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:38 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:38 +0000 Subject: Change in gr-gsm[master]: travis: Test only on distributions with gnuradio 3.8 References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24062 to review the following change. Change subject: travis: Test only on distributions with gnuradio 3.8 ...................................................................... travis: Test only on distributions with gnuradio 3.8 Change-Id: I05706496687bff2dc4e9a111d8ecd4f878b53c12 --- M .travis.yml M tests/dockerfiles/Debian_testing.docker M tests/dockerfiles/Kali.docker 3 files changed, 5 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/62/24062/1 diff --git a/.travis.yml b/.travis.yml index f61ff6e..5230b46 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,10 +4,10 @@ env: - DOCKERFILE=tests/dockerfiles/Debian_testing.docker IMGNAME=debtest-grgsm - - DOCKERFILE=tests/dockerfiles/Ubuntu_16_04.docker IMGNAME=ubu16.04-grgsm - - DOCKERFILE=tests/dockerfiles/Ubuntu_16_04_nolibosmo.docker IMGNAME=ubu16.04-grgsm-nolibosmo +# - DOCKERFILE=tests/dockerfiles/Ubuntu_16_04.docker IMGNAME=ubu16.04-grgsm +# - DOCKERFILE=tests/dockerfiles/Ubuntu_16_04_nolibosmo.docker IMGNAME=ubu16.04-grgsm-nolibosmo - DOCKERFILE=tests/dockerfiles/Kali.docker IMGNAME=kali-grgsm - - DOCKERFILE=tests/dockerfiles/Fedora_26.Dockerfile IMGNAME=fedora26-grgsm +# - DOCKERFILE=tests/dockerfiles/Fedora_26.Dockerfile IMGNAME=fedora26-grgsm services: diff --git a/tests/dockerfiles/Debian_testing.docker b/tests/dockerfiles/Debian_testing.docker index a3d16ba..6cc4949 100644 --- a/tests/dockerfiles/Debian_testing.docker +++ b/tests/dockerfiles/Debian_testing.docker @@ -14,8 +14,7 @@ liblog4cpp5-dev \ python-gtk2 \ python-scipy \ - gnuradio-dev \ - gr-osmosdr \ + gnuradio-dev gnuradio libgmp-dev libboost-regex-dev \ libosmocore-dev COPY ./ /src/ diff --git a/tests/dockerfiles/Kali.docker b/tests/dockerfiles/Kali.docker index 52cc110..b4a9719 100644 --- a/tests/dockerfiles/Kali.docker +++ b/tests/dockerfiles/Kali.docker @@ -14,8 +14,7 @@ liblog4cpp5-dev \ python-gtk2 \ python-scipy \ - gnuradio-dev \ - gr-osmosdr \ + gnuradio-dev gnuradio libgmp-dev libboost-regex-dev \ libosmocore-dev COPY ./ /src/ -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24062 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I05706496687bff2dc4e9a111d8ecd4f878b53c12 Gerrit-Change-Number: 24062 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:38 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:38 +0000 Subject: Change in gr-gsm[master]: Various python3 related changes References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24063 to review the following change. Change subject: Various python3 related changes ...................................................................... Various python3 related changes - Use relative import for grgsm's modules - Convert map to list - Remove the hier_block.py workaround as as gnuradio 3.7 is no longer supported in this branch Change-Id: I5ca8fd340823996e8c444aaf18ddacd85c92ab1c --- M apps/grgsm_decode M apps/grgsm_scanner M python/__init__.py M python/demapping/gsm_bcch_ccch_demapper.py M python/demapping/gsm_bcch_ccch_sdcch4_demapper.py M python/demapping/gsm_sdcch8_demapper.py M python/misc_utils/CMakeLists.txt M python/misc_utils/clock_offset_corrector_tagged.py M python/misc_utils/device.py D python/misc_utils/hier_block.py M python/qa_txtime_bursts_tagger.py M python/receiver/fcch_detector.py M python/receiver/gsm_input.py M python/transmitter/gsm_gmsk_mod.py M python/transmitter/txtime_bursts_tagger.py M python/trx/__init__.py M python/trx/ctrl_if.py M python/trx/ctrl_if_bb.py M python/trx/radio_if.py M python/trx/radio_if_uhd.py M python/trx/transceiver.py 21 files changed, 53 insertions(+), 92 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/63/24063/1 diff --git a/apps/grgsm_decode b/apps/grgsm_decode index 4bd1d95..034014e 100755 --- a/apps/grgsm_decode +++ b/apps/grgsm_decode @@ -336,7 +336,7 @@ parser, 'TCH Options', 'Options for setting Traffic channel decoding parameters.', ) tch_options.add_option("-d", "--speech-codec", dest="speech_codec", default='FR', - type='choice', choices=tch_codecs.keys(), + type='choice', choices=list(tch_codecs.keys()), help="TCH-F speech codec [default=%default]. " "Valid options are " + ", ".join(tch_codecs.keys())) tch_options.add_option("-o", "--output-tch", dest="speech_output_file", default="/tmp/speech.au.gsm", diff --git a/apps/grgsm_scanner b/apps/grgsm_scanner index ce33a60..e3d7a61 100755 --- a/apps/grgsm_scanner +++ b/apps/grgsm_scanner @@ -40,9 +40,9 @@ # from wideband_receiver import * -class receiver_with_decoder(grgsm.hier_block): +class receiver_with_decoder(gr.hier_block2): def __init__(self, OSR=4, chan_num=0, fc=939.4e6, ppm=0, samp_rate=0.2e6): - grgsm.hier_block.__init__( + gr.hier_block2.__init__( self, "Receiver With Decoder", gr.io_signature(1, 1, gr.sizeof_gr_complex * 1), gr.io_signature(0, 0, 0), @@ -132,9 +132,9 @@ self.samp_rate_out = samp_rate_out -class wideband_receiver(grgsm.hier_block): +class wideband_receiver(gr.hier_block2): def __init__(self, OSR=4, fc=939.4e6, samp_rate=0.4e6): - grgsm.hier_block.__init__( + gr.hier_block2.__init__( self, "Wideband receiver", gr.io_signature(1, 1, gr.sizeof_gr_complex * 1), gr.io_signature(0, 0, 0), @@ -168,14 +168,14 @@ # Connections ################################################## self.connect((self, 0), (self.pfb_channelizer_ccf_0, 0)) - for chan in xrange(0, self.channels_num): + for chan in range(0, self.channels_num): self.connect((self.pfb_channelizer_ccf_0, chan), (self.receivers_with_decoders[chan], 0)) self.msg_connect(self.receivers_with_decoders[chan], 'bursts', self, 'bursts') self.msg_connect(self.receivers_with_decoders[chan], 'msgs', self, 'msgs') def create_receivers(self): self.receivers_with_decoders = {} - for chan in xrange(0, self.channels_num): + for chan in range(0, self.channels_num): self.receivers_with_decoders[chan] = receiver_with_decoder(fc=self.fc, OSR=self.OSR, chan_num=chan, samp_rate=self.OSR_PFB * 0.2e6) @@ -207,7 +207,7 @@ self.ppm = ppm # if no file name is given process data from rtl_sdr source - print "Args=", args + print("Args=", args) self.rtlsdr_source = osmosdr.source(args="numchan=" + str(1) + " " + str(grgsm.device.get_default_args(args))) #self.rtlsdr_source.set_min_output_buffer(int(sample_rate*rec_len)) #this line causes segfaults on HackRF @@ -261,6 +261,10 @@ self.neighbours = neighbours self.cell_arfcns = cell_arfcns + def __lt__(self, other): + return self.arfcn < other.arfcn + + def get_verbose_info(self): i = " |---- Configuration: %s\n" % self.get_ccch_conf() i += " |---- Cell ARFCNs: " + ", ".join(map(str, self.cell_arfcns)) + "\n" @@ -315,7 +319,7 @@ if not debug: # silence rtl_sdr output: # open 2 fds - null_fds = [os.open(os.devnull, os.O_RDWR) for x in xrange(2)] + null_fds = [os.open(os.devnull, os.O_RDWR) for x in range(2)] # save the current file descriptors to a tuple save = os.dup(1), os.dup(2) # put /dev/null fds on 1 and 2 @@ -423,10 +427,10 @@ def printfunc(found_list): for info in sorted(found_list): - print info + print(info) if options.verbose: - print info.get_verbose_info() - print "" + print(info.get_verbose_info()) + print("") do_scan(options.samp_rate, options.band, options.speed, options.ppm, options.gain, options.args, prn = printfunc, debug = options.debug) diff --git a/python/__init__.py b/python/__init__.py index 8241b01..557a8d6 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -42,24 +42,23 @@ # import swig generated symbols into the gsm namespace -from grgsm_swig import * +from .grgsm_swig import * # import any pure python here -from hier_block import hier_block #from fcch_burst_tagger import fcch_burst_tagger #from sch_detector import sch_detector #from fcch_detector import fcch_detector -from clock_offset_corrector_tagged import clock_offset_corrector_tagged -from gsm_input import gsm_input -from gsm_bcch_ccch_demapper import gsm_bcch_ccch_demapper -from gsm_bcch_ccch_sdcch4_demapper import gsm_bcch_ccch_sdcch4_demapper -from gsm_sdcch8_demapper import gsm_sdcch8_demapper -from gsm_gmsk_mod import gsm_gmsk_mod -from fn_time import * -from txtime_bursts_tagger import * -import arfcn -import device +from .clock_offset_corrector_tagged import clock_offset_corrector_tagged +from .gsm_input import gsm_input +from .gsm_bcch_ccch_demapper import gsm_bcch_ccch_demapper +from .gsm_bcch_ccch_sdcch4_demapper import gsm_bcch_ccch_sdcch4_demapper +from .gsm_sdcch8_demapper import gsm_sdcch8_demapper +from .gsm_gmsk_mod import gsm_gmsk_mod +from .fn_time import * +from .txtime_bursts_tagger import * +from .arfcn import * +from .device import * # diff --git a/python/demapping/gsm_bcch_ccch_demapper.py b/python/demapping/gsm_bcch_ccch_demapper.py index e036831..06baa62 100644 --- a/python/demapping/gsm_bcch_ccch_demapper.py +++ b/python/demapping/gsm_bcch_ccch_demapper.py @@ -32,10 +32,10 @@ import grgsm -class gsm_bcch_ccch_demapper(grgsm.hier_block): +class gsm_bcch_ccch_demapper(gr.hier_block2): def __init__(self, timeslot_nr=0): - grgsm.hier_block.__init__( + gr.hier_block2.__init__( self, "BCCH + CCCH demapper", gr.io_signature(0, 0, 0), gr.io_signature(0, 0, 0), diff --git a/python/demapping/gsm_bcch_ccch_sdcch4_demapper.py b/python/demapping/gsm_bcch_ccch_sdcch4_demapper.py index bff67a4..f025a70 100644 --- a/python/demapping/gsm_bcch_ccch_sdcch4_demapper.py +++ b/python/demapping/gsm_bcch_ccch_sdcch4_demapper.py @@ -32,10 +32,10 @@ import grgsm -class gsm_bcch_ccch_sdcch4_demapper(grgsm.hier_block): +class gsm_bcch_ccch_sdcch4_demapper(gr.hier_block2): def __init__(self, timeslot_nr=0): - grgsm.hier_block.__init__( + gr.hier_block2.__init__( self, "BCCH + CCCH + SDCCH/4 demapper", gr.io_signature(0, 0, 0), gr.io_signature(0, 0, 0), diff --git a/python/demapping/gsm_sdcch8_demapper.py b/python/demapping/gsm_sdcch8_demapper.py index b412594..30450bf 100644 --- a/python/demapping/gsm_sdcch8_demapper.py +++ b/python/demapping/gsm_sdcch8_demapper.py @@ -32,10 +32,10 @@ import grgsm -class gsm_sdcch8_demapper(grgsm.hier_block): +class gsm_sdcch8_demapper(gr.hier_block2): def __init__(self, timeslot_nr=1): - grgsm.hier_block.__init__( + gr.hier_block2.__init__( self, "SDCCH/8 demapper", gr.io_signature(0, 0, 0), gr.io_signature(0, 0, 0), diff --git a/python/misc_utils/CMakeLists.txt b/python/misc_utils/CMakeLists.txt index 76304ca..57ed275 100644 --- a/python/misc_utils/CMakeLists.txt +++ b/python/misc_utils/CMakeLists.txt @@ -21,7 +21,6 @@ FILES arfcn.py clock_offset_corrector_tagged.py - hier_block.py fn_time.py device.py DESTINATION ${GR_PYTHON_DIR}/grgsm diff --git a/python/misc_utils/clock_offset_corrector_tagged.py b/python/misc_utils/clock_offset_corrector_tagged.py index be55212..ea474b1 100644 --- a/python/misc_utils/clock_offset_corrector_tagged.py +++ b/python/misc_utils/clock_offset_corrector_tagged.py @@ -33,7 +33,7 @@ import math -class clock_offset_corrector_tagged(grgsm.hier_block): +class clock_offset_corrector_tagged(gr.hier_block2): def __init__(self, fc=936.6e6, osr=4, ppm=0, samp_rate_in=1625000.0/6.0*4.0): gr.hier_block2.__init__( diff --git a/python/misc_utils/device.py b/python/misc_utils/device.py index de967ab..ddd9dec 100644 --- a/python/misc_utils/device.py +++ b/python/misc_utils/device.py @@ -40,7 +40,7 @@ return [dev for dev in devices if not match(dev, filters)] def get_all_args(hint="nofake"): - return map(lambda dev: dev.to_string(), exclude(get_devices(hint))) + return list(map(lambda dev: dev.to_string(), exclude(get_devices(hint)))) def get_default_args(args): # The presence of GRC_BLOCKS_PATH environment variable indicates that diff --git a/python/misc_utils/hier_block.py b/python/misc_utils/hier_block.py deleted file mode 100644 index 0dc9c78..0000000 --- a/python/misc_utils/hier_block.py +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env python2 -# -*- coding: utf-8 -*- -# @file -# @author (C) 2016 by Piotr Krysik -# @section LICENSE -# -# Gr-gsm is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# Gr-gsm is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with gr-gsm; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -from gnuradio import gr -from distutils.version import LooseVersion as version - -#class created to solve incompatibility of reginstration of message inputs -#that was introduced in gnuradio 3.7.9 - -class hier_block(gr.hier_block2): - def message_port_register_hier_in(self, port_id): - if version(gr.version()) >= version('3.7.9'): - super(hier_block, self).message_port_register_hier_in(port_id) - else: - super(hier_block, self).message_port_register_hier_out(port_id) - - def message_port_register_hier_out(self, port_id): - if version(gr.version()) >= version('3.7.9'): - super(hier_block, self).message_port_register_hier_out(port_id) - else: - super(hier_block, self).message_port_register_hier_in(port_id) - diff --git a/python/qa_txtime_bursts_tagger.py b/python/qa_txtime_bursts_tagger.py index bdbf1af..fd15b10 100755 --- a/python/qa_txtime_bursts_tagger.py +++ b/python/qa_txtime_bursts_tagger.py @@ -64,8 +64,8 @@ tb.start() tb.wait() - print "Dupa" - print sink + print("Dupa") + print(sink) # msg1 = make_msg(1,"lol1") diff --git a/python/receiver/fcch_detector.py b/python/receiver/fcch_detector.py index 81438e2..9b787c2 100644 --- a/python/receiver/fcch_detector.py +++ b/python/receiver/fcch_detector.py @@ -36,10 +36,10 @@ from gnuradio.filter import firdes import grgsm -class fcch_detector(grgsm.hier_block): +class fcch_detector(gr.hier_block2): def __init__(self, OSR=4): - grgsm.hier_block.__init__( + gr.hier_block2.__init__( self, "FCCH bursts detector", gr.io_signature(1, 1, gr.sizeof_gr_complex*1), gr.io_signature(1, 1, gr.sizeof_gr_complex*1), diff --git a/python/receiver/gsm_input.py b/python/receiver/gsm_input.py index 8c4ad51..05e323d 100644 --- a/python/receiver/gsm_input.py +++ b/python/receiver/gsm_input.py @@ -33,7 +33,7 @@ import grgsm -class gsm_input(grgsm.hier_block): +class gsm_input(gr.hier_block2): def __init__(self, fc=940e6, osr=4, ppm=0, samp_rate_in=1e6): gr.hier_block2.__init__( diff --git a/python/transmitter/gsm_gmsk_mod.py b/python/transmitter/gsm_gmsk_mod.py index e8ecc7a..fec936c 100644 --- a/python/transmitter/gsm_gmsk_mod.py +++ b/python/transmitter/gsm_gmsk_mod.py @@ -14,7 +14,7 @@ from gnuradio.filter import firdes import grgsm -class gsm_gmsk_mod(grgsm.hier_block): +class gsm_gmsk_mod(gr.hier_block2): def __init__(self, BT=4, pulse_duration=4, sps=4): gr.hier_block2.__init__( diff --git a/python/transmitter/txtime_bursts_tagger.py b/python/transmitter/txtime_bursts_tagger.py index de42f65..952c8d1 100644 --- a/python/transmitter/txtime_bursts_tagger.py +++ b/python/transmitter/txtime_bursts_tagger.py @@ -22,7 +22,7 @@ # from gnuradio import gr -from fn_time import fn_time_delta +from .fn_time import fn_time_delta import pmt import numpy diff --git a/python/trx/__init__.py b/python/trx/__init__.py index c8bddbe..23042b0 100644 --- a/python/trx/__init__.py +++ b/python/trx/__init__.py @@ -20,10 +20,10 @@ This is a set of helper classes for the grgsm_trx application. ''' -from udp_link import UDPLink -from ctrl_if import CTRLInterface -from ctrl_if_bb import CTRLInterfaceBB -from radio_if import RadioInterface -from transceiver import Transceiver +from .udp_link import UDPLink +from .ctrl_if import CTRLInterface +from .ctrl_if_bb import CTRLInterfaceBB +from .radio_if import RadioInterface +from .transceiver import Transceiver -from dict_toggle_sign import dict_toggle_sign +from .dict_toggle_sign import dict_toggle_sign diff --git a/python/trx/ctrl_if.py b/python/trx/ctrl_if.py index 1a7c0c3..d7e14f1 100644 --- a/python/trx/ctrl_if.py +++ b/python/trx/ctrl_if.py @@ -22,7 +22,7 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -from udp_link import UDPLink +from .udp_link import UDPLink class CTRLInterface(UDPLink): def handle_rx(self, data, remote): diff --git a/python/trx/ctrl_if_bb.py b/python/trx/ctrl_if_bb.py index 4814263..1c21c55 100644 --- a/python/trx/ctrl_if_bb.py +++ b/python/trx/ctrl_if_bb.py @@ -22,7 +22,7 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -from ctrl_if import CTRLInterface +from .ctrl_if import CTRLInterface class CTRLInterfaceBB(CTRLInterface): def __init__(self, trx, *ctrl_if_args): diff --git a/python/trx/radio_if.py b/python/trx/radio_if.py index 0d844c0..acbc3cd 100644 --- a/python/trx/radio_if.py +++ b/python/trx/radio_if.py @@ -38,7 +38,7 @@ from gnuradio import filter from gnuradio.filter import firdes -from dict_toggle_sign import dict_toggle_sign +from .dict_toggle_sign import dict_toggle_sign class RadioInterface(gr.top_block): # PHY specific variables diff --git a/python/trx/radio_if_uhd.py b/python/trx/radio_if_uhd.py index ef2e0ed..664a51c 100644 --- a/python/trx/radio_if_uhd.py +++ b/python/trx/radio_if_uhd.py @@ -24,7 +24,7 @@ from gnuradio import uhd -from radio_if import RadioInterface +from .radio_if import RadioInterface class RadioInterfaceUHD(RadioInterface): # Human-readable description diff --git a/python/trx/transceiver.py b/python/trx/transceiver.py index 837a61f..4e706e3 100644 --- a/python/trx/transceiver.py +++ b/python/trx/transceiver.py @@ -22,7 +22,7 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -from ctrl_if_bb import CTRLInterfaceBB +from .ctrl_if_bb import CTRLInterfaceBB class Transceiver: """ Base transceiver implementation. -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24063 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I5ca8fd340823996e8c444aaf18ddacd85c92ab1c Gerrit-Change-Number: 24063 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:39 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:39 +0000 Subject: Change in gr-gsm[master]: Convert grgsm_livemon and grgsm_livemon_headless to YAML References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24064 to review the following change. Change subject: Convert grgsm_livemon and grgsm_livemon_headless to YAML ...................................................................... Convert grgsm_livemon and grgsm_livemon_headless to YAML Convert by opening them in gnuradio-companion 3.8.0.0 (Python 3.7.4) and then File -> Save As under different name without any other modifications Change-Id: I73023fc66d1ffd6c714a0610962c005395dc126b --- M apps/grgsm_livemon.grc M apps/grgsm_livemon_headless.grc 2 files changed, 1,810 insertions(+), 5,924 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/64/24064/1 diff --git a/apps/grgsm_livemon.grc b/apps/grgsm_livemon.grc index 176aa6c..3d80268 100644 --- a/apps/grgsm_livemon.grc +++ b/apps/grgsm_livemon.grc @@ -1,3183 +1,959 @@ - - - - Sat Dec 13 10:49:59 2014 - - options - - author - Piotr Krysik - - - window_size - 2280, 1024 - - - category - Custom - - - comment - - - - description - Interactive monitor of a single C0 channel with analysis performed by Wireshark (command to run wireshark: sudo wireshark -k -f udp -Y gsmtap -i lo) - - - _enabled - True - - - _coordinate - (16, 11) - - - _rotation - 0 - - - generate_options - qt_gui - - - hier_block_src_path - .: - - - id - grgsm_livemon - - - max_nouts - 0 - - - qt_qss_theme - - - - realtime_scheduling - - - - run_command - {python} -u {filename} - - - run_options - prompt - - - run - True - - - sizing_mode - fixed - - - thread_safe_setters - - - - title - Gr-gsm Livemon - - - placement - (0,0) - - - - variable_qtgui_range - - comment - - - - value - fc - - - _enabled - True - - - _coordinate - (304, 11) - - - gui_hint - - - - _rotation - 0 - - - id - fc_slider - - - label - Frequency - - - min_len - 100 - - - orient - Qt.Horizontal - - - start - 800e6 - - - step - 2e5 - - - stop - 1990e6 - - - rangeType - float - - - widget - counter_slider - - - - variable_qtgui_range - - comment - - - - value - gain - - - _enabled - True - - - _coordinate - (192, 11) - - - gui_hint - - - - _rotation - 0 - - - id - gain_slider - - - label - Gain - - - min_len - 100 - - - orient - Qt.Horizontal - - - start - 0 - - - step - 0.5 - - - stop - 100 - - - rangeType - float - - - widget - counter - - - - variable_qtgui_range - - comment - - - - value - ppm - - - _enabled - True - - - _coordinate - (440, 11) - - - gui_hint - - - - _rotation - 0 - - - id - ppm_slider - - - label - PPM Offset - - - min_len - 100 - - - orient - Qt.Horizontal - - - start - -150 - - - step - 0.1 - - - stop - 150 - - - rangeType - float - - - widget - counter - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (872, 11) - - - _rotation - 0 - - - id - args - - - label - Device Arguments - - - short_id - - - - hide - none - - - type - string - - - value - "" - - - - blocks_rotator_cc - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (256, 300) - - - _rotation - 0 - - - id - blocks_rotator_cc_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - phase_inc - -2*pi*shiftoff/samp_rate - - - - blocks_socket_pdu - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1632, 295) - - - _rotation - 0 - - - host - 127.0.0.1 - - - id - blocks_socket_pdu_0_0 - - - mtu - 10000 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - port - serverport - - - tcp_no_delay - False - - - type - "UDP_SERVER" - - - - blocks_socket_pdu - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1504, 295) - - - _rotation - 0 - - - host - collector - - - id - blocks_socket_pdu_0_1 - - - mtu - 1500 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - port - collectorport - - - tcp_no_delay - False - - - type - "UDP_CLIENT" - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (1240, 7) - - - _rotation - 0 - - - id - collector - - - label - IP or DNS name of collector point - - - short_id - - - - hide - none - - - type - string - - - value - localhost - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (1240, 95) - - - _rotation - 0 - - - id - collectorport - - - label - UDP port number of collector - - - short_id - - - - hide - none - - - type - string - - - value - 4729 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (624, 11) - - - _rotation - 0 - - - id - fc - - - label - GSM channel's central frequency - - - short_id - f - - - hide - none - - - type - eng_float - - - value - 941.8e6 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (552, 11) - - - _rotation - 0 - - - id - gain - - - label - gain - - - short_id - g - - - hide - none - - - type - eng_float - - - value - 30 - - - - gsm_bcch_ccch_demapper - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (896, 284) - - - _rotation - 0 - - - id - gsm_bcch_ccch_demapper_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - timeslot_nr - 0 - - - - gsm_clock_offset_control - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (552, 411) - - - _rotation - 180 - - - id - gsm_clock_offset_control_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - osr - osr - - - fc - fc_slider-shiftoff - - - samp_rate - samp_rate - - - - gsm_control_channels_decoder - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1264, 289) - - - _rotation - 0 - - - id - gsm_control_channels_decoder_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - - gsm_control_channels_decoder - - alias - - - - comment - - - - affinity - - - - _enabled - 1 - - - _coordinate - (1264, 345) - - - _rotation - 0 - - - id - gsm_control_channels_decoder_0_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - - gsm_decryption - - a5_version - 1 - - - alias - - - - comment - - - - affinity - - - - _enabled - 1 - - - _coordinate - (1104, 333) - - - _rotation - 0 - - - id - gsm_decryption_0 - - - k_c - [] - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - - gsm_input - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (488, 305) - - - _rotation - 0 - - - id - gsm_input_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - osr - osr - - - fc - fc_slider-shiftoff - - - ppm - ppm-int(ppm) - - - samp_rate_in - samp_rate - - - - gsm_message_printer - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1776, 302) - - - _rotation - 0 - - - id - gsm_message_printer_1 - - - prepend_frame_count - False - - - prepend_fnr - False - - - prepend_string - "" - - - print_gsmtap_header - False - - - - gsm_receiver - - alias - - - - cell_allocation - [arfcn.downlink2arfcn(fc)] - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (672, 289) - - - _rotation - 0 - - - id - gsm_receiver_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - num_streams - 1 - - - osr - osr - - - tseq_nums - [] - - - - gsm_sdcch8_demapper - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (896, 340) - - - _rotation - 0 - - - id - gsm_sdcch8_demapper_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - timeslot_nr - 1 - - - - import - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (1016, 11) - - - _rotation - 0 - - - id - import_0 - - - import - from math import pi - - - - import - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (1016, 60) - - - _rotation - 0 - - - id - import_1 - - - import - from grgsm import arfcn - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (1088, 7) - - - _rotation - 0 - - - id - osr - - - label - OverSampling Ratio - - - short_id - - - - hide - none - - - type - intx - - - value - 4 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (712, 11) - - - _rotation - 0 - - - id - ppm - - - label - ppm - - - short_id - p - - - hide - none - - - type - eng_float - - - value - 0 - - - - qtgui_freq_sink_x - - autoscale - False - - - average - 1.0 - - - axislabels - True - - - bw - samp_rate - - - alias - - - - fc - fc_slider - - - comment - - - - ctrlpanel - False - - - affinity - - - - _enabled - True - - - fftsize - 1024 - - - _coordinate - (488, 187) - - - gui_hint - - - - _rotation - 0 - - - grid - False - - - id - qtgui_freq_sink_x_0 - - - legend - True - - - alpha1 - 1.0 - - - color1 - "blue" - - - label1 - - - - width1 - 1 - - - alpha10 - 1.0 - - - color10 - "dark blue" - - - label10 - - - - width10 - 1 - - - alpha2 - 1.0 - - - color2 - "red" - - - label2 - - - - width2 - 1 - - - alpha3 - 1.0 - - - color3 - "green" - - - label3 - - - - width3 - 1 - - - alpha4 - 1.0 - - - color4 - "black" - - - label4 - - - - width4 - 1 - - - alpha5 - 1.0 - - - color5 - "cyan" - - - label5 - - - - width5 - 1 - - - alpha6 - 1.0 - - - color6 - "magenta" - - - label6 - - - - width6 - 1 - - - alpha7 - 1.0 - - - color7 - "yellow" - - - label7 - - - - width7 - 1 - - - alpha8 - 1.0 - - - color8 - "dark red" - - - label8 - - - - width8 - 1 - - - alpha9 - 1.0 - - - color9 - "dark green" - - - label9 - - - - width9 - 1 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - name - "" - - - nconnections - 1 - - - showports - True - - - freqhalf - True - - - tr_chan - 0 - - - tr_level - 0.0 - - - tr_mode - qtgui.TRIG_MODE_FREE - - - tr_tag - "" - - - type - complex - - - update_time - 0.10 - - - wintype - firdes.WIN_BLACKMAN_hARRIS - - - label - Relative Gain - - - ymax - 10 - - - ymin - -140 - - - units - dB - - - - rtlsdr_source - - alias - - - - ant0 - - - - bb_gain0 - 20 - - - bw0 - 250e3+abs(shiftoff) - - - dc_offset_mode0 - 2 - - - corr0 - ppm_slider - - - freq0 - fc_slider-shiftoff - - - gain_mode0 - False - - - if_gain0 - 20 - - - iq_balance_mode0 - 2 - - - gain0 - gain_slider - - - ant10 - - - - bb_gain10 - 20 - - - bw10 - 0 - - - dc_offset_mode10 - 0 - - - corr10 - 0 - - - freq10 - 100e6 - - - gain_mode10 - False - - - if_gain10 - 20 - - - iq_balance_mode10 - 0 - - - gain10 - 10 - - - ant11 - - - - bb_gain11 - 20 - - - bw11 - 0 - - - dc_offset_mode11 - 0 - - - corr11 - 0 - - - freq11 - 100e6 - - - gain_mode11 - False - - - if_gain11 - 20 - - - iq_balance_mode11 - 0 - - - gain11 - 10 - - - ant12 - - - - bb_gain12 - 20 - - - bw12 - 0 - - - dc_offset_mode12 - 0 - - - corr12 - 0 - - - freq12 - 100e6 - - - gain_mode12 - False - - - if_gain12 - 20 - - - iq_balance_mode12 - 0 - - - gain12 - 10 - - - ant13 - - - - bb_gain13 - 20 - - - bw13 - 0 - - - dc_offset_mode13 - 0 - - - corr13 - 0 - - - freq13 - 100e6 - - - gain_mode13 - False - - - if_gain13 - 20 - - - iq_balance_mode13 - 0 - - - gain13 - 10 - - - ant14 - - - - bb_gain14 - 20 - - - bw14 - 0 - - - dc_offset_mode14 - 0 - - - corr14 - 0 - - - freq14 - 100e6 - - - gain_mode14 - False - - - if_gain14 - 20 - - - iq_balance_mode14 - 0 - - - gain14 - 10 - - - ant15 - - - - bb_gain15 - 20 - - - bw15 - 0 - - - dc_offset_mode15 - 0 - - - corr15 - 0 - - - freq15 - 100e6 - - - gain_mode15 - False - - - if_gain15 - 20 - - - iq_balance_mode15 - 0 - - - gain15 - 10 - - - ant16 - - - - bb_gain16 - 20 - - - bw16 - 0 - - - dc_offset_mode16 - 0 - - - corr16 - 0 - - - freq16 - 100e6 - - - gain_mode16 - False - - - if_gain16 - 20 - - - iq_balance_mode16 - 0 - - - gain16 - 10 - - - ant17 - - - - bb_gain17 - 20 - - - bw17 - 0 - - - dc_offset_mode17 - 0 - - - corr17 - 0 - - - freq17 - 100e6 - - - gain_mode17 - False - - - if_gain17 - 20 - - - iq_balance_mode17 - 0 - - - gain17 - 10 - - - ant18 - - - - bb_gain18 - 20 - - - bw18 - 0 - - - dc_offset_mode18 - 0 - - - corr18 - 0 - - - freq18 - 100e6 - - - gain_mode18 - False - - - if_gain18 - 20 - - - iq_balance_mode18 - 0 - - - gain18 - 10 - - - ant19 - - - - bb_gain19 - 20 - - - bw19 - 0 - - - dc_offset_mode19 - 0 - - - corr19 - 0 - - - freq19 - 100e6 - - - gain_mode19 - False - - - if_gain19 - 20 - - - iq_balance_mode19 - 0 - - - gain19 - 10 - - - ant1 - - - - bb_gain1 - 20 - - - bw1 - 0 - - - dc_offset_mode1 - 0 - - - corr1 - 0 - - - freq1 - 100e6 - - - gain_mode1 - True - - - if_gain1 - 20 - - - iq_balance_mode1 - 0 - - - gain1 - 10 - - - ant20 - - - - bb_gain20 - 20 - - - bw20 - 0 - - - dc_offset_mode20 - 0 - - - corr20 - 0 - - - freq20 - 100e6 - - - gain_mode20 - False - - - if_gain20 - 20 - - - iq_balance_mode20 - 0 - - - gain20 - 10 - - - ant21 - - - - bb_gain21 - 20 - - - bw21 - 0 - - - dc_offset_mode21 - 0 - - - corr21 - 0 - - - freq21 - 100e6 - - - gain_mode21 - False - - - if_gain21 - 20 - - - iq_balance_mode21 - 0 - - - gain21 - 10 - - - ant22 - - - - bb_gain22 - 20 - - - bw22 - 0 - - - dc_offset_mode22 - 0 - - - corr22 - 0 - - - freq22 - 100e6 - - - gain_mode22 - False - - - if_gain22 - 20 - - - iq_balance_mode22 - 0 - - - gain22 - 10 - - - ant23 - - - - bb_gain23 - 20 - - - bw23 - 0 - - - dc_offset_mode23 - 0 - - - corr23 - 0 - - - freq23 - 100e6 - - - gain_mode23 - False - - - if_gain23 - 20 - - - iq_balance_mode23 - 0 - - - gain23 - 10 - - - ant24 - - - - bb_gain24 - 20 - - - bw24 - 0 - - - dc_offset_mode24 - 0 - - - corr24 - 0 - - - freq24 - 100e6 - - - gain_mode24 - False - - - if_gain24 - 20 - - - iq_balance_mode24 - 0 - - - gain24 - 10 - - - ant25 - - - - bb_gain25 - 20 - - - bw25 - 0 - - - dc_offset_mode25 - 0 - - - corr25 - 0 - - - freq25 - 100e6 - - - gain_mode25 - False - - - if_gain25 - 20 - - - iq_balance_mode25 - 0 - - - gain25 - 10 - - - ant26 - - - - bb_gain26 - 20 - - - bw26 - 0 - - - dc_offset_mode26 - 0 - - - corr26 - 0 - - - freq26 - 100e6 - - - gain_mode26 - False - - - if_gain26 - 20 - - - iq_balance_mode26 - 0 - - - gain26 - 10 - - - ant27 - - - - bb_gain27 - 20 - - - bw27 - 0 - - - dc_offset_mode27 - 0 - - - corr27 - 0 - - - freq27 - 100e6 - - - gain_mode27 - False - - - if_gain27 - 20 - - - iq_balance_mode27 - 0 - - - gain27 - 10 - - - ant28 - - - - bb_gain28 - 20 - - - bw28 - 0 - - - dc_offset_mode28 - 0 - - - corr28 - 0 - - - freq28 - 100e6 - - - gain_mode28 - False - - - if_gain28 - 20 - - - iq_balance_mode28 - 0 - - - gain28 - 10 - - - ant29 - - - - bb_gain29 - 20 - - - bw29 - 0 - - - dc_offset_mode29 - 0 - - - corr29 - 0 - - - freq29 - 100e6 - - - gain_mode29 - False - - - if_gain29 - 20 - - - iq_balance_mode29 - 0 - - - gain29 - 10 - - - ant2 - - - - bb_gain2 - 20 - - - bw2 - 0 - - - dc_offset_mode2 - 0 - - - corr2 - 0 - - - freq2 - 100e6 - - - gain_mode2 - True - - - if_gain2 - 20 - - - iq_balance_mode2 - 0 - - - gain2 - 10 - - - ant30 - - - - bb_gain30 - 20 - - - bw30 - 0 - - - dc_offset_mode30 - 0 - - - corr30 - 0 - - - freq30 - 100e6 - - - gain_mode30 - False - - - if_gain30 - 20 - - - iq_balance_mode30 - 0 - - - gain30 - 10 - - - ant31 - - - - bb_gain31 - 20 - - - bw31 - 0 - - - dc_offset_mode31 - 0 - - - corr31 - 0 - - - freq31 - 100e6 - - - gain_mode31 - False - - - if_gain31 - 20 - - - iq_balance_mode31 - 0 - - - gain31 - 10 - - - ant3 - - - - bb_gain3 - 20 - - - bw3 - 0 - - - dc_offset_mode3 - 0 - - - corr3 - 0 - - - freq3 - 100e6 - - - gain_mode3 - True - - - if_gain3 - 20 - - - iq_balance_mode3 - 0 - - - gain3 - 10 - - - ant4 - - - - bb_gain4 - 20 - - - bw4 - 0 - - - dc_offset_mode4 - 0 - - - corr4 - 0 - - - freq4 - 100e6 - - - gain_mode4 - True - - - if_gain4 - 20 - - - iq_balance_mode4 - 0 - - - gain4 - 10 - - - ant5 - - - - bb_gain5 - 20 - - - bw5 - 0 - - - dc_offset_mode5 - 0 - - - corr5 - 0 - - - freq5 - 100e6 - - - gain_mode5 - False - - - if_gain5 - 20 - - - iq_balance_mode5 - 0 - - - gain5 - 10 - - - ant6 - - - - bb_gain6 - 20 - - - bw6 - 0 - - - dc_offset_mode6 - 0 - - - corr6 - 0 - - - freq6 - 100e6 - - - gain_mode6 - False - - - if_gain6 - 20 - - - iq_balance_mode6 - 0 - - - gain6 - 10 - - - ant7 - - - - bb_gain7 - 20 - - - bw7 - 0 - - - dc_offset_mode7 - 0 - - - corr7 - 0 - - - freq7 - 100e6 - - - gain_mode7 - False - - - if_gain7 - 20 - - - iq_balance_mode7 - 0 - - - gain7 - 10 - - - ant8 - - - - bb_gain8 - 20 - - - bw8 - 0 - - - dc_offset_mode8 - 0 - - - corr8 - 0 - - - freq8 - 100e6 - - - gain_mode8 - False - - - if_gain8 - 20 - - - iq_balance_mode8 - 0 - - - gain8 - 10 - - - ant9 - - - - bb_gain9 - 20 - - - bw9 - 0 - - - dc_offset_mode9 - 0 - - - corr9 - 0 - - - freq9 - 100e6 - - - gain_mode9 - False - - - if_gain9 - 20 - - - iq_balance_mode9 - 0 - - - gain9 - 10 - - - comment - - - - affinity - - - - args - str(grgsm.device.get_default_args(args)) - - - _enabled - True - - - _coordinate - (8, 237) - - - _rotation - 0 - - - id - rtlsdr_source_0 - - - maxoutbuf - 0 - - - clock_source0 - - - - time_source0 - - - - clock_source1 - - - - time_source1 - - - - clock_source2 - - - - time_source2 - - - - clock_source3 - - - - time_source3 - - - - clock_source4 - - - - time_source4 - - - - clock_source5 - - - - time_source5 - - - - clock_source6 - - - - time_source6 - - - - clock_source7 - - - - time_source7 - - - - minoutbuf - 0 - - - nchan - 1 - - - num_mboards - 1 - - - type - fc32 - - - sample_rate - samp_rate - - - sync - - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (16, 115) - - - _rotation - 0 - - - id - samp_rate - - - label - samp_rate - - - short_id - s - - - hide - none - - - type - eng_float - - - value - 2000000.052982 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (1400, 7) - - - _rotation - 0 - - - id - serverport - - - label - UDP server listening port - - - short_id - - - - hide - none - - - type - string - - - value - 4729 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (784, 11) - - - _rotation - 0 - - - id - shiftoff - - - label - Frequency Shiftoff - - - short_id - o - - - hide - none - - - type - eng_float - - - value - 400e3 - - - - blocks_rotator_cc_0 - gsm_input_0 - 0 - 0 - - - blocks_rotator_cc_0 - qtgui_freq_sink_x_0 - 0 - 0 - - - blocks_socket_pdu_0_0 - gsm_message_printer_1 - pdus - msgs - - - gsm_bcch_ccch_demapper_0 - gsm_control_channels_decoder_0 - bursts - bursts - - - gsm_clock_offset_control_0 - gsm_input_0 - ctrl - ctrl_in - - - gsm_control_channels_decoder_0 - blocks_socket_pdu_0_1 - msgs - pdus - - - gsm_control_channels_decoder_0_0 - blocks_socket_pdu_0_1 - msgs - pdus - - - gsm_decryption_0 - gsm_control_channels_decoder_0_0 - bursts - bursts - - - gsm_input_0 - gsm_receiver_0 - 0 - 0 - - - gsm_receiver_0 - gsm_bcch_ccch_demapper_0 - C0 - bursts - - - gsm_receiver_0 - gsm_sdcch8_demapper_0 - C0 - bursts - - - gsm_receiver_0 - gsm_clock_offset_control_0 - measurements - measurements - - - gsm_sdcch8_demapper_0 - gsm_decryption_0 - bursts - bursts - - - rtlsdr_source_0 - blocks_rotator_cc_0 - 0 - 0 - - +options: + parameters: + author: Piotr Krysik + category: Custom + cmake_opt: '' + comment: '' + copyright: '' + description: 'Interactive monitor of a single C0 channel with analysis performed + by Wireshark (command to run wireshark: sudo wireshark -k -f udp -Y gsmtap -i + lo)' + gen_cmake: 'On' + gen_linking: dynamic + generate_options: qt_gui + hier_block_src_path: '.:' + id: grgsm_livemon + max_nouts: '0' + output_language: python + placement: (0,0) + qt_qss_theme: '' + realtime_scheduling: '' + run: 'True' + run_command: '{python} -u {filename}' + run_options: prompt + sizing_mode: fixed + thread_safe_setters: '' + title: Gr-gsm Livemon + window_size: 2280, 1024 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [16, 11] + rotation: 0 + state: enabled + +blocks: +- name: fc_slider + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: '' + label: Frequency + min_len: '100' + orient: Qt.Horizontal + rangeType: float + start: 800e6 + step: 2e5 + stop: 1990e6 + value: fc + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [304, 11] + rotation: 0 + state: enabled +- name: gain_slider + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: '' + label: Gain + min_len: '100' + orient: Qt.Horizontal + rangeType: float + start: '0' + step: '0.5' + stop: '100' + value: gain + widget: counter + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [192, 11] + rotation: 0 + state: enabled +- name: ppm_slider + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: '' + label: PPM Offset + min_len: '100' + orient: Qt.Horizontal + rangeType: float + start: '-150' + step: '0.1' + stop: '150' + value: ppm + widget: counter + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [440, 11] + rotation: 0 + state: enabled +- name: args + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: Device Arguments + short_id: '' + type: '' + value: '""' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [872, 11] + rotation: 0 + state: enabled +- name: blocks_rotator_cc_0 + id: blocks_rotator_cc + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + phase_inc: -2*pi*shiftoff/samp_rate + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [256, 300] + rotation: 0 + state: enabled +- name: blocks_socket_pdu_0_0 + id: blocks_socket_pdu + parameters: + affinity: '' + alias: '' + comment: '' + host: 127.0.0.1 + maxoutbuf: '0' + minoutbuf: '0' + mtu: '10000' + port: serverport + tcp_no_delay: 'False' + type: TCP_SERVER + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1632, 295] + rotation: 0 + state: enabled +- name: blocks_socket_pdu_0_1 + id: blocks_socket_pdu + parameters: + affinity: '' + alias: '' + comment: '' + host: collector + maxoutbuf: '0' + minoutbuf: '0' + mtu: '1500' + port: collectorport + tcp_no_delay: 'False' + type: TCP_SERVER + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1504, 295] + rotation: 0 + state: enabled +- name: collector + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: IP or DNS name of collector point + short_id: '' + type: '' + value: 'localhost' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1240, 7] + rotation: 0 + state: enabled +- name: collectorport + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: UDP port number of collector + short_id: '' + type: '' + value: '4729' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1240, 95] + rotation: 0 + state: enabled +- name: fc + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: GSM channel's central frequency + short_id: f + type: eng_float + value: 941.8e6 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [624, 11] + rotation: 0 + state: enabled +- name: gain + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: gain + short_id: g + type: eng_float + value: '30' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [552, 11] + rotation: 0 + state: enabled +- name: gsm_bcch_ccch_demapper_0 + id: gsm_bcch_ccch_demapper + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + timeslot_nr: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [896, 284] + rotation: 0 + state: enabled +- name: gsm_clock_offset_control_0 + id: gsm_clock_offset_control + parameters: + affinity: '' + alias: '' + comment: '' + fc: fc_slider-shiftoff + maxoutbuf: '0' + minoutbuf: '0' + osr: osr + samp_rate: samp_rate + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [552, 411] + rotation: 180 + state: enabled +- name: gsm_control_channels_decoder_0 + id: gsm_control_channels_decoder + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1264, 289] + rotation: 0 + state: enabled +- name: gsm_control_channels_decoder_0_0 + id: gsm_control_channels_decoder + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1264, 345] + rotation: 0 + state: enabled +- name: gsm_decryption_0 + id: gsm_decryption + parameters: + a5_version: '1' + affinity: '' + alias: '' + comment: '' + k_c: '[]' + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1104, 333] + rotation: 0 + state: enabled +- name: gsm_input_0 + id: gsm_input + parameters: + affinity: '' + alias: '' + comment: '' + fc: fc_slider-shiftoff + maxoutbuf: '0' + minoutbuf: '0' + osr: osr + ppm: ppm-int(ppm) + samp_rate_in: samp_rate + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [488, 305] + rotation: 0 + state: enabled +- name: gsm_message_printer_1 + id: gsm_message_printer + parameters: + affinity: '' + alias: '' + comment: '' + prepend_fnr: 'False' + prepend_frame_count: 'False' + prepend_string: '""' + print_gsmtap_header: 'False' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1776, 302] + rotation: 0 + state: enabled +- name: gsm_receiver_0 + id: gsm_receiver + parameters: + affinity: '' + alias: '' + cell_allocation: '[arfcn.downlink2arfcn(fc)]' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + num_streams: '1' + osr: osr + tseq_nums: '[]' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [672, 289] + rotation: 0 + state: enabled +- name: gsm_sdcch8_demapper_0 + id: gsm_sdcch8_demapper + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + timeslot_nr: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [896, 340] + rotation: 0 + state: enabled +- name: import_0 + id: import + parameters: + alias: '' + comment: '' + imports: from math import pi + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1016, 11] + rotation: 0 + state: enabled +- name: import_1 + id: import + parameters: + alias: '' + comment: '' + imports: from grgsm import arfcn + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1016, 60] + rotation: 0 + state: enabled +- name: osr + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: OverSampling Ratio + short_id: '' + type: intx + value: '4' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1088, 7] + rotation: 0 + state: enabled +- name: ppm + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: ppm + short_id: p + type: eng_float + value: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [712, 11] + rotation: 0 + state: enabled +- name: qtgui_freq_sink_x_0 + id: qtgui_freq_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + autoscale: 'False' + average: '1.0' + axislabels: 'True' + bw: samp_rate + color1: '"blue"' + color10: '"dark blue"' + color2: '"red"' + color3: '"green"' + color4: '"black"' + color5: '"cyan"' + color6: '"magenta"' + color7: '"yellow"' + color8: '"dark red"' + color9: '"dark green"' + comment: '' + ctrlpanel: 'False' + fc: fc_slider + fftsize: '1024' + freqhalf: 'True' + grid: 'False' + gui_hint: '' + label: Relative Gain + label1: '' + label10: '' + label2: '' + label3: '' + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + legend: 'True' + maxoutbuf: '0' + minoutbuf: '0' + name: '""' + nconnections: '1' + showports: 'True' + tr_chan: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_tag: '""' + type: complex + units: dB + update_time: '0.10' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + wintype: firdes.WIN_BLACKMAN_hARRIS + ymax: '10' + ymin: '-140' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [488, 187] + rotation: 0 + state: enabled +- name: rtlsdr_source_0 + id: rtlsdr_source + parameters: + affinity: '' + alias: '' + ant0: '' + ant1: '' + ant10: '' + ant11: '' + ant12: '' + ant13: '' + ant14: '' + ant15: '' + ant16: '' + ant17: '' + ant18: '' + ant19: '' + ant2: '' + ant20: '' + ant21: '' + ant22: '' + ant23: '' + ant24: '' + ant25: '' + ant26: '' + ant27: '' + ant28: '' + ant29: '' + ant3: '' + ant30: '' + ant31: '' + ant4: '' + ant5: '' + ant6: '' + ant7: '' + ant8: '' + ant9: '' + args: str(grgsm.device.get_default_args(args)) + bb_gain0: '20' + bb_gain1: '20' + bb_gain10: '20' + bb_gain11: '20' + bb_gain12: '20' + bb_gain13: '20' + bb_gain14: '20' + bb_gain15: '20' + bb_gain16: '20' + bb_gain17: '20' + bb_gain18: '20' + bb_gain19: '20' + bb_gain2: '20' + bb_gain20: '20' + bb_gain21: '20' + bb_gain22: '20' + bb_gain23: '20' + bb_gain24: '20' + bb_gain25: '20' + bb_gain26: '20' + bb_gain27: '20' + bb_gain28: '20' + bb_gain29: '20' + bb_gain3: '20' + bb_gain30: '20' + bb_gain31: '20' + bb_gain4: '20' + bb_gain5: '20' + bb_gain6: '20' + bb_gain7: '20' + bb_gain8: '20' + bb_gain9: '20' + bw0: 250e3+abs(shiftoff) + bw1: '0' + bw10: '0' + bw11: '0' + bw12: '0' + bw13: '0' + bw14: '0' + bw15: '0' + bw16: '0' + bw17: '0' + bw18: '0' + bw19: '0' + bw2: '0' + bw20: '0' + bw21: '0' + bw22: '0' + bw23: '0' + bw24: '0' + bw25: '0' + bw26: '0' + bw27: '0' + bw28: '0' + bw29: '0' + bw3: '0' + bw30: '0' + bw31: '0' + bw4: '0' + bw5: '0' + bw6: '0' + bw7: '0' + bw8: '0' + bw9: '0' + clock_source0: '' + clock_source1: '' + clock_source2: '' + clock_source3: '' + clock_source4: '' + clock_source5: '' + clock_source6: '' + clock_source7: '' + comment: '' + corr0: ppm_slider + corr1: '0' + corr10: '0' + corr11: '0' + corr12: '0' + corr13: '0' + corr14: '0' + corr15: '0' + corr16: '0' + corr17: '0' + corr18: '0' + corr19: '0' + corr2: '0' + corr20: '0' + corr21: '0' + corr22: '0' + corr23: '0' + corr24: '0' + corr25: '0' + corr26: '0' + corr27: '0' + corr28: '0' + corr29: '0' + corr3: '0' + corr30: '0' + corr31: '0' + corr4: '0' + corr5: '0' + corr6: '0' + corr7: '0' + corr8: '0' + corr9: '0' + dc_offset_mode0: '2' + dc_offset_mode1: '0' + dc_offset_mode10: '0' + dc_offset_mode11: '0' + dc_offset_mode12: '0' + dc_offset_mode13: '0' + dc_offset_mode14: '0' + dc_offset_mode15: '0' + dc_offset_mode16: '0' + dc_offset_mode17: '0' + dc_offset_mode18: '0' + dc_offset_mode19: '0' + dc_offset_mode2: '0' + dc_offset_mode20: '0' + dc_offset_mode21: '0' + dc_offset_mode22: '0' + dc_offset_mode23: '0' + dc_offset_mode24: '0' + dc_offset_mode25: '0' + dc_offset_mode26: '0' + dc_offset_mode27: '0' + dc_offset_mode28: '0' + dc_offset_mode29: '0' + dc_offset_mode3: '0' + dc_offset_mode30: '0' + dc_offset_mode31: '0' + dc_offset_mode4: '0' + dc_offset_mode5: '0' + dc_offset_mode6: '0' + dc_offset_mode7: '0' + dc_offset_mode8: '0' + dc_offset_mode9: '0' + freq0: fc_slider-shiftoff + freq1: 100e6 + freq10: 100e6 + freq11: 100e6 + freq12: 100e6 + freq13: 100e6 + freq14: 100e6 + freq15: 100e6 + freq16: 100e6 + freq17: 100e6 + freq18: 100e6 + freq19: 100e6 + freq2: 100e6 + freq20: 100e6 + freq21: 100e6 + freq22: 100e6 + freq23: 100e6 + freq24: 100e6 + freq25: 100e6 + freq26: 100e6 + freq27: 100e6 + freq28: 100e6 + freq29: 100e6 + freq3: 100e6 + freq30: 100e6 + freq31: 100e6 + freq4: 100e6 + freq5: 100e6 + freq6: 100e6 + freq7: 100e6 + freq8: 100e6 + freq9: 100e6 + gain0: gain_slider + gain1: '10' + gain10: '10' + gain11: '10' + gain12: '10' + gain13: '10' + gain14: '10' + gain15: '10' + gain16: '10' + gain17: '10' + gain18: '10' + gain19: '10' + gain2: '10' + gain20: '10' + gain21: '10' + gain22: '10' + gain23: '10' + gain24: '10' + gain25: '10' + gain26: '10' + gain27: '10' + gain28: '10' + gain29: '10' + gain3: '10' + gain30: '10' + gain31: '10' + gain4: '10' + gain5: '10' + gain6: '10' + gain7: '10' + gain8: '10' + gain9: '10' + gain_mode0: 'False' + gain_mode1: 'True' + gain_mode10: 'False' + gain_mode11: 'False' + gain_mode12: 'False' + gain_mode13: 'False' + gain_mode14: 'False' + gain_mode15: 'False' + gain_mode16: 'False' + gain_mode17: 'False' + gain_mode18: 'False' + gain_mode19: 'False' + gain_mode2: 'True' + gain_mode20: 'False' + gain_mode21: 'False' + gain_mode22: 'False' + gain_mode23: 'False' + gain_mode24: 'False' + gain_mode25: 'False' + gain_mode26: 'False' + gain_mode27: 'False' + gain_mode28: 'False' + gain_mode29: 'False' + gain_mode3: 'True' + gain_mode30: 'False' + gain_mode31: 'False' + gain_mode4: 'True' + gain_mode5: 'False' + gain_mode6: 'False' + gain_mode7: 'False' + gain_mode8: 'False' + gain_mode9: 'False' + if_gain0: '20' + if_gain1: '20' + if_gain10: '20' + if_gain11: '20' + if_gain12: '20' + if_gain13: '20' + if_gain14: '20' + if_gain15: '20' + if_gain16: '20' + if_gain17: '20' + if_gain18: '20' + if_gain19: '20' + if_gain2: '20' + if_gain20: '20' + if_gain21: '20' + if_gain22: '20' + if_gain23: '20' + if_gain24: '20' + if_gain25: '20' + if_gain26: '20' + if_gain27: '20' + if_gain28: '20' + if_gain29: '20' + if_gain3: '20' + if_gain30: '20' + if_gain31: '20' + if_gain4: '20' + if_gain5: '20' + if_gain6: '20' + if_gain7: '20' + if_gain8: '20' + if_gain9: '20' + iq_balance_mode0: '2' + iq_balance_mode1: '0' + iq_balance_mode10: '0' + iq_balance_mode11: '0' + iq_balance_mode12: '0' + iq_balance_mode13: '0' + iq_balance_mode14: '0' + iq_balance_mode15: '0' + iq_balance_mode16: '0' + iq_balance_mode17: '0' + iq_balance_mode18: '0' + iq_balance_mode19: '0' + iq_balance_mode2: '0' + iq_balance_mode20: '0' + iq_balance_mode21: '0' + iq_balance_mode22: '0' + iq_balance_mode23: '0' + iq_balance_mode24: '0' + iq_balance_mode25: '0' + iq_balance_mode26: '0' + iq_balance_mode27: '0' + iq_balance_mode28: '0' + iq_balance_mode29: '0' + iq_balance_mode3: '0' + iq_balance_mode30: '0' + iq_balance_mode31: '0' + iq_balance_mode4: '0' + iq_balance_mode5: '0' + iq_balance_mode6: '0' + iq_balance_mode7: '0' + iq_balance_mode8: '0' + iq_balance_mode9: '0' + maxoutbuf: '0' + minoutbuf: '0' + nchan: '1' + num_mboards: '1' + sample_rate: samp_rate + sync: sync + time_source0: '' + time_source1: '' + time_source2: '' + time_source3: '' + time_source4: '' + time_source5: '' + time_source6: '' + time_source7: '' + type: fc32 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [8, 237] + rotation: 0 + state: enabled +- name: samp_rate + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: samp_rate + short_id: s + type: eng_float + value: '2000000.052982' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [16, 115] + rotation: 0 + state: enabled +- name: serverport + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: UDP server listening port + short_id: '' + type: '' + value: '4729' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1400, 7] + rotation: 0 + state: enabled +- name: shiftoff + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: Frequency Shiftoff + short_id: o + type: eng_float + value: 400e3 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [784, 11] + rotation: 0 + state: enabled + +connections: +- [blocks_rotator_cc_0, '0', gsm_input_0, '0'] +- [blocks_rotator_cc_0, '0', qtgui_freq_sink_x_0, '0'] +- [blocks_socket_pdu_0_0, pdus, gsm_message_printer_1, msgs] +- [gsm_bcch_ccch_demapper_0, bursts, gsm_control_channels_decoder_0, bursts] +- [gsm_clock_offset_control_0, ctrl, gsm_input_0, ctrl_in] +- [gsm_control_channels_decoder_0, msgs, blocks_socket_pdu_0_1, pdus] +- [gsm_control_channels_decoder_0_0, msgs, blocks_socket_pdu_0_1, pdus] +- [gsm_decryption_0, bursts, gsm_control_channels_decoder_0_0, bursts] +- [gsm_input_0, '0', gsm_receiver_0, '0'] +- [gsm_receiver_0, C0, gsm_bcch_ccch_demapper_0, bursts] +- [gsm_receiver_0, C0, gsm_sdcch8_demapper_0, bursts] +- [gsm_receiver_0, measurements, gsm_clock_offset_control_0, measurements] +- [gsm_sdcch8_demapper_0, bursts, gsm_decryption_0, bursts] +- [rtlsdr_source_0, '0', blocks_rotator_cc_0, '0'] + +metadata: + file_format: 1 diff --git a/apps/grgsm_livemon_headless.grc b/apps/grgsm_livemon_headless.grc index 2f3e981..e6728b7 100644 --- a/apps/grgsm_livemon_headless.grc +++ b/apps/grgsm_livemon_headless.grc @@ -1,2741 +1,851 @@ - - - - Sat Dec 13 10:49:59 2014 - - options - - author - Piotr Krysik - - - window_size - 2280, 1024 - - - category - Custom - - - comment - - - - description - Interactive monitor of a single C0 channel with analysis performed by Wireshark (command to run wireshark: sudo wireshark -k -f udp -Y gsmtap -i lo) - - - _enabled - True - - - _coordinate - (16, 11) - - - _rotation - 0 - - - generate_options - no_gui - - - hier_block_src_path - .: - - - id - grgsm_livemon_headless - - - max_nouts - 0 - - - qt_qss_theme - - - - realtime_scheduling - - - - run_command - {python} -u {filename} - - - run_options - run - - - run - True - - - thread_safe_setters - - - - title - Gr-gsm Livemon - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (752, 7) - - - _rotation - 0 - - - id - args - - - label - Device Arguments - - - short_id - - - - type - string - - - value - "" - - - - blocks_head - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (256, 300) - - - _rotation - 0 - - - id - blocks_head_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - num_items - int(rec_len*samp_rate) - - - type - complex - - - vlen - 1 - - - - blocks_rotator_cc - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (416, 300) - - - _rotation - 0 - - - id - blocks_rotator_cc_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - phase_inc - -2*pi*shiftoff/samp_rate - - - - blocks_socket_pdu - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1736, 295) - - - _rotation - 0 - - - host - 127.0.0.1 - - - id - blocks_socket_pdu_0_0 - - - mtu - 10000 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - port - serverport - - - tcp_no_delay - False - - - type - "UDP_SERVER" - - - - blocks_socket_pdu - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1608, 295) - - - _rotation - 0 - - - host - collector - - - id - blocks_socket_pdu_0_1 - - - mtu - 1500 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - port - collectorport - - - tcp_no_delay - False - - - type - "UDP_CLIENT" - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (1048, 7) - - - _rotation - 0 - - - id - collector - - - label - IP or DNS name of collector point - - - short_id - - - - type - string - - - value - localhost - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (1208, 7) - - - _rotation - 0 - - - id - collectorport - - - label - UDP port number of collector - - - short_id - - - - type - string - - - value - 4729 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (584, 8) - - - _rotation - 0 - - - id - fc - - - label - GSM channel's central frequency - - - short_id - f - - - type - eng_float - - - value - 957e6 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (480, 8) - - - _rotation - 0 - - - id - gain - - - label - RF Gain - - - short_id - g - - - type - eng_float - - - value - 30 - - - - gsm_bcch_ccch_sdcch4_demapper - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1016, 284) - - - _rotation - 0 - - - id - gsm_bcch_ccch_sdcch4_demapper_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - timeslot_nr - 0 - - - - gsm_clock_offset_control - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (688, 414) - - - _rotation - 180 - - - id - gsm_clock_offset_control_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - osr - osr - - - fc - fc-shiftoff - - - samp_rate - samp_rate - - - - gsm_control_channels_decoder - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1368, 289) - - - _rotation - 0 - - - id - gsm_control_channels_decoder_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - - gsm_control_channels_decoder - - alias - - - - comment - - - - affinity - - - - _enabled - 1 - - - _coordinate - (1368, 345) - - - _rotation - 0 - - - id - gsm_control_channels_decoder_0_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - - gsm_decryption - - a5_version - 1 - - - alias - - - - comment - - - - affinity - - - - _enabled - 1 - - - _coordinate - (1208, 333) - - - _rotation - 0 - - - id - gsm_decryption_0 - - - k_c - [] - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - - gsm_input - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (624, 305) - - - _rotation - 0 - - - id - gsm_input_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - osr - osr - - - fc - fc - - - ppm - ppm-int(ppm) - - - samp_rate_in - samp_rate - - - - gsm_message_printer - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1880, 302) - - - _rotation - 0 - - - id - gsm_message_printer_1 - - - prepend_frame_count - False - - - prepend_fnr - False - - - prepend_string - "" - - - print_gsmtap_header - False - - - - gsm_receiver - - alias - - - - cell_allocation - [arfcn.downlink2arfcn(fc)] - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (808, 289) - - - _rotation - 0 - - - id - gsm_receiver_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - num_streams - 1 - - - osr - osr - - - tseq_nums - [] - - - - gsm_sdcch8_demapper - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1016, 340) - - - _rotation - 0 - - - id - gsm_sdcch8_demapper_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - timeslot_nr - 1 - - - - import - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (200, 12) - - - _rotation - 0 - - - id - import_0 - - - import - from math import pi - - - - import - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (200, 60) - - - _rotation - 0 - - - id - import_1 - - - import - from grgsm import arfcn - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (896, 7) - - - _rotation - 0 - - - id - osr - - - label - OverSampling Ratio - - - short_id - - - - type - intx - - - value - 4 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (312, 112) - - - _rotation - 0 - - - id - ppm - - - label - Clock frequency offset in ppms (1/1e6 parts) - - - short_id - p - - - type - eng_float - - - value - 0 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (312, 8) - - - _rotation - 0 - - - id - rec_len - - - label - Recording length in seconds - - - short_id - T - - - type - eng_float - - - value - 1000000 - - - - rtlsdr_source - - alias - - - - ant0 - - - - bb_gain0 - 20 - - - bw0 - 250e3+abs(shiftoff) - - - dc_offset_mode0 - 2 - - - corr0 - ppm - - - freq0 - fc-shiftoff - - - gain_mode0 - False - - - if_gain0 - 20 - - - iq_balance_mode0 - 2 - - - gain0 - gain - - - ant10 - - - - bb_gain10 - 20 - - - bw10 - 0 - - - dc_offset_mode10 - 0 - - - corr10 - 0 - - - freq10 - 100e6 - - - gain_mode10 - False - - - if_gain10 - 20 - - - iq_balance_mode10 - 0 - - - gain10 - 10 - - - ant11 - - - - bb_gain11 - 20 - - - bw11 - 0 - - - dc_offset_mode11 - 0 - - - corr11 - 0 - - - freq11 - 100e6 - - - gain_mode11 - False - - - if_gain11 - 20 - - - iq_balance_mode11 - 0 - - - gain11 - 10 - - - ant12 - - - - bb_gain12 - 20 - - - bw12 - 0 - - - dc_offset_mode12 - 0 - - - corr12 - 0 - - - freq12 - 100e6 - - - gain_mode12 - False - - - if_gain12 - 20 - - - iq_balance_mode12 - 0 - - - gain12 - 10 - - - ant13 - - - - bb_gain13 - 20 - - - bw13 - 0 - - - dc_offset_mode13 - 0 - - - corr13 - 0 - - - freq13 - 100e6 - - - gain_mode13 - False - - - if_gain13 - 20 - - - iq_balance_mode13 - 0 - - - gain13 - 10 - - - ant14 - - - - bb_gain14 - 20 - - - bw14 - 0 - - - dc_offset_mode14 - 0 - - - corr14 - 0 - - - freq14 - 100e6 - - - gain_mode14 - False - - - if_gain14 - 20 - - - iq_balance_mode14 - 0 - - - gain14 - 10 - - - ant15 - - - - bb_gain15 - 20 - - - bw15 - 0 - - - dc_offset_mode15 - 0 - - - corr15 - 0 - - - freq15 - 100e6 - - - gain_mode15 - False - - - if_gain15 - 20 - - - iq_balance_mode15 - 0 - - - gain15 - 10 - - - ant16 - - - - bb_gain16 - 20 - - - bw16 - 0 - - - dc_offset_mode16 - 0 - - - corr16 - 0 - - - freq16 - 100e6 - - - gain_mode16 - False - - - if_gain16 - 20 - - - iq_balance_mode16 - 0 - - - gain16 - 10 - - - ant17 - - - - bb_gain17 - 20 - - - bw17 - 0 - - - dc_offset_mode17 - 0 - - - corr17 - 0 - - - freq17 - 100e6 - - - gain_mode17 - False - - - if_gain17 - 20 - - - iq_balance_mode17 - 0 - - - gain17 - 10 - - - ant18 - - - - bb_gain18 - 20 - - - bw18 - 0 - - - dc_offset_mode18 - 0 - - - corr18 - 0 - - - freq18 - 100e6 - - - gain_mode18 - False - - - if_gain18 - 20 - - - iq_balance_mode18 - 0 - - - gain18 - 10 - - - ant19 - - - - bb_gain19 - 20 - - - bw19 - 0 - - - dc_offset_mode19 - 0 - - - corr19 - 0 - - - freq19 - 100e6 - - - gain_mode19 - False - - - if_gain19 - 20 - - - iq_balance_mode19 - 0 - - - gain19 - 10 - - - ant1 - - - - bb_gain1 - 20 - - - bw1 - 0 - - - dc_offset_mode1 - 0 - - - corr1 - 0 - - - freq1 - 100e6 - - - gain_mode1 - True - - - if_gain1 - 20 - - - iq_balance_mode1 - 0 - - - gain1 - 10 - - - ant20 - - - - bb_gain20 - 20 - - - bw20 - 0 - - - dc_offset_mode20 - 0 - - - corr20 - 0 - - - freq20 - 100e6 - - - gain_mode20 - False - - - if_gain20 - 20 - - - iq_balance_mode20 - 0 - - - gain20 - 10 - - - ant21 - - - - bb_gain21 - 20 - - - bw21 - 0 - - - dc_offset_mode21 - 0 - - - corr21 - 0 - - - freq21 - 100e6 - - - gain_mode21 - False - - - if_gain21 - 20 - - - iq_balance_mode21 - 0 - - - gain21 - 10 - - - ant22 - - - - bb_gain22 - 20 - - - bw22 - 0 - - - dc_offset_mode22 - 0 - - - corr22 - 0 - - - freq22 - 100e6 - - - gain_mode22 - False - - - if_gain22 - 20 - - - iq_balance_mode22 - 0 - - - gain22 - 10 - - - ant23 - - - - bb_gain23 - 20 - - - bw23 - 0 - - - dc_offset_mode23 - 0 - - - corr23 - 0 - - - freq23 - 100e6 - - - gain_mode23 - False - - - if_gain23 - 20 - - - iq_balance_mode23 - 0 - - - gain23 - 10 - - - ant24 - - - - bb_gain24 - 20 - - - bw24 - 0 - - - dc_offset_mode24 - 0 - - - corr24 - 0 - - - freq24 - 100e6 - - - gain_mode24 - False - - - if_gain24 - 20 - - - iq_balance_mode24 - 0 - - - gain24 - 10 - - - ant25 - - - - bb_gain25 - 20 - - - bw25 - 0 - - - dc_offset_mode25 - 0 - - - corr25 - 0 - - - freq25 - 100e6 - - - gain_mode25 - False - - - if_gain25 - 20 - - - iq_balance_mode25 - 0 - - - gain25 - 10 - - - ant26 - - - - bb_gain26 - 20 - - - bw26 - 0 - - - dc_offset_mode26 - 0 - - - corr26 - 0 - - - freq26 - 100e6 - - - gain_mode26 - False - - - if_gain26 - 20 - - - iq_balance_mode26 - 0 - - - gain26 - 10 - - - ant27 - - - - bb_gain27 - 20 - - - bw27 - 0 - - - dc_offset_mode27 - 0 - - - corr27 - 0 - - - freq27 - 100e6 - - - gain_mode27 - False - - - if_gain27 - 20 - - - iq_balance_mode27 - 0 - - - gain27 - 10 - - - ant28 - - - - bb_gain28 - 20 - - - bw28 - 0 - - - dc_offset_mode28 - 0 - - - corr28 - 0 - - - freq28 - 100e6 - - - gain_mode28 - False - - - if_gain28 - 20 - - - iq_balance_mode28 - 0 - - - gain28 - 10 - - - ant29 - - - - bb_gain29 - 20 - - - bw29 - 0 - - - dc_offset_mode29 - 0 - - - corr29 - 0 - - - freq29 - 100e6 - - - gain_mode29 - False - - - if_gain29 - 20 - - - iq_balance_mode29 - 0 - - - gain29 - 10 - - - ant2 - - - - bb_gain2 - 20 - - - bw2 - 0 - - - dc_offset_mode2 - 0 - - - corr2 - 0 - - - freq2 - 100e6 - - - gain_mode2 - True - - - if_gain2 - 20 - - - iq_balance_mode2 - 0 - - - gain2 - 10 - - - ant30 - - - - bb_gain30 - 20 - - - bw30 - 0 - - - dc_offset_mode30 - 0 - - - corr30 - 0 - - - freq30 - 100e6 - - - gain_mode30 - False - - - if_gain30 - 20 - - - iq_balance_mode30 - 0 - - - gain30 - 10 - - - ant31 - - - - bb_gain31 - 20 - - - bw31 - 0 - - - dc_offset_mode31 - 0 - - - corr31 - 0 - - - freq31 - 100e6 - - - gain_mode31 - False - - - if_gain31 - 20 - - - iq_balance_mode31 - 0 - - - gain31 - 10 - - - ant3 - - - - bb_gain3 - 20 - - - bw3 - 0 - - - dc_offset_mode3 - 0 - - - corr3 - 0 - - - freq3 - 100e6 - - - gain_mode3 - True - - - if_gain3 - 20 - - - iq_balance_mode3 - 0 - - - gain3 - 10 - - - ant4 - - - - bb_gain4 - 20 - - - bw4 - 0 - - - dc_offset_mode4 - 0 - - - corr4 - 0 - - - freq4 - 100e6 - - - gain_mode4 - True - - - if_gain4 - 20 - - - iq_balance_mode4 - 0 - - - gain4 - 10 - - - ant5 - - - - bb_gain5 - 20 - - - bw5 - 0 - - - dc_offset_mode5 - 0 - - - corr5 - 0 - - - freq5 - 100e6 - - - gain_mode5 - False - - - if_gain5 - 20 - - - iq_balance_mode5 - 0 - - - gain5 - 10 - - - ant6 - - - - bb_gain6 - 20 - - - bw6 - 0 - - - dc_offset_mode6 - 0 - - - corr6 - 0 - - - freq6 - 100e6 - - - gain_mode6 - False - - - if_gain6 - 20 - - - iq_balance_mode6 - 0 - - - gain6 - 10 - - - ant7 - - - - bb_gain7 - 20 - - - bw7 - 0 - - - dc_offset_mode7 - 0 - - - corr7 - 0 - - - freq7 - 100e6 - - - gain_mode7 - False - - - if_gain7 - 20 - - - iq_balance_mode7 - 0 - - - gain7 - 10 - - - ant8 - - - - bb_gain8 - 20 - - - bw8 - 0 - - - dc_offset_mode8 - 0 - - - corr8 - 0 - - - freq8 - 100e6 - - - gain_mode8 - False - - - if_gain8 - 20 - - - iq_balance_mode8 - 0 - - - gain8 - 10 - - - ant9 - - - - bb_gain9 - 20 - - - bw9 - 0 - - - dc_offset_mode9 - 0 - - - corr9 - 0 - - - freq9 - 100e6 - - - gain_mode9 - False - - - if_gain9 - 20 - - - iq_balance_mode9 - 0 - - - gain9 - 10 - - - comment - - - - affinity - - - - args - str(grgsm.device.get_default_args(args)) - - - _enabled - True - - - _coordinate - (8, 237) - - - _rotation - 0 - - - id - rtlsdr_source_0 - - - maxoutbuf - 0 - - - clock_source0 - - - - time_source0 - - - - clock_source1 - - - - time_source1 - - - - clock_source2 - - - - time_source2 - - - - clock_source3 - - - - time_source3 - - - - clock_source4 - - - - time_source4 - - - - clock_source5 - - - - time_source5 - - - - clock_source6 - - - - time_source6 - - - - clock_source7 - - - - time_source7 - - - - minoutbuf - 0 - - - nchan - 1 - - - num_mboards - 1 - - - type - fc32 - - - sample_rate - samp_rate - - - sync - - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (16, 128) - - - _rotation - 0 - - - id - samp_rate - - - label - samp_rate - - - short_id - s - - - type - eng_float - - - value - 2000000.052982 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (1368, 7) - - - _rotation - 0 - - - id - serverport - - - label - UDP server listening port - - - short_id - - - - type - string - - - value - 4729 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (584, 112) - - - _rotation - 0 - - - id - shiftoff - - - label - Frequency Shiftoff - - - short_id - o - - - type - eng_float - - - value - 400e3 - - - - blocks_head_0 - blocks_rotator_cc_0 - 0 - 0 - - - blocks_rotator_cc_0 - gsm_input_0 - 0 - 0 - - - blocks_socket_pdu_0_0 - gsm_message_printer_1 - pdus - msgs - - - gsm_bcch_ccch_sdcch4_demapper_0 - gsm_control_channels_decoder_0 - bursts - bursts - - - gsm_clock_offset_control_0 - gsm_input_0 - ctrl - ctrl_in - - - gsm_control_channels_decoder_0 - blocks_socket_pdu_0_1 - msgs - pdus - - - gsm_control_channels_decoder_0_0 - blocks_socket_pdu_0_1 - msgs - pdus - - - gsm_decryption_0 - gsm_control_channels_decoder_0_0 - bursts - bursts - - - gsm_input_0 - gsm_receiver_0 - 0 - 0 - - - gsm_receiver_0 - gsm_bcch_ccch_sdcch4_demapper_0 - C0 - bursts - - - gsm_receiver_0 - gsm_sdcch8_demapper_0 - C0 - bursts - - - gsm_receiver_0 - gsm_clock_offset_control_0 - measurements - measurements - - - gsm_sdcch8_demapper_0 - gsm_decryption_0 - bursts - bursts - - - rtlsdr_source_0 - blocks_head_0 - 0 - 0 - - +options: + parameters: + author: Piotr Krysik + category: Custom + cmake_opt: '' + comment: '' + copyright: '' + description: 'Interactive monitor of a single C0 channel with analysis performed + by Wireshark (command to run wireshark: sudo wireshark -k -f udp -Y gsmtap -i + lo)' + gen_cmake: 'On' + gen_linking: dynamic + generate_options: no_gui + hier_block_src_path: '.:' + id: grgsm_livemon_headless + max_nouts: '0' + output_language: python + placement: (0,0) + qt_qss_theme: '' + realtime_scheduling: '' + run: 'True' + run_command: '{python} -u {filename}' + run_options: run + sizing_mode: fixed + thread_safe_setters: '' + title: Gr-gsm Livemon + window_size: 2280, 1024 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [16, 11] + rotation: 0 + state: enabled + +blocks: +- name: args + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: Device Arguments + short_id: '' + type: '' + value: '""' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [752, 7] + rotation: 0 + state: enabled +- name: blocks_head_0 + id: blocks_head + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + num_items: int(rec_len*samp_rate) + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [256, 300] + rotation: 0 + state: enabled +- name: blocks_rotator_cc_0 + id: blocks_rotator_cc + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + phase_inc: -2*pi*shiftoff/samp_rate + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [416, 300] + rotation: 0 + state: enabled +- name: blocks_socket_pdu_0_0 + id: blocks_socket_pdu + parameters: + affinity: '' + alias: '' + comment: '' + host: 127.0.0.1 + maxoutbuf: '0' + minoutbuf: '0' + mtu: '10000' + port: serverport + tcp_no_delay: 'False' + type: TCP_SERVER + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1736, 295] + rotation: 0 + state: enabled +- name: blocks_socket_pdu_0_1 + id: blocks_socket_pdu + parameters: + affinity: '' + alias: '' + comment: '' + host: collector + maxoutbuf: '0' + minoutbuf: '0' + mtu: '1500' + port: collectorport + tcp_no_delay: 'False' + type: TCP_SERVER + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1608, 295] + rotation: 0 + state: enabled +- name: collector + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: IP or DNS name of collector point + short_id: '' + type: '' + value: 'localhost' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1048, 7] + rotation: 0 + state: enabled +- name: collectorport + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: UDP port number of collector + short_id: '' + type: '' + value: '4729' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1208, 7] + rotation: 0 + state: enabled +- name: fc + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: GSM channel's central frequency + short_id: f + type: eng_float + value: 957e6 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [584, 8] + rotation: 0 + state: enabled +- name: gain + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: RF Gain + short_id: g + type: eng_float + value: '30' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [480, 8] + rotation: 0 + state: enabled +- name: gsm_bcch_ccch_sdcch4_demapper_0 + id: gsm_bcch_ccch_sdcch4_demapper + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + timeslot_nr: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1016, 284] + rotation: 0 + state: enabled +- name: gsm_clock_offset_control_0 + id: gsm_clock_offset_control + parameters: + affinity: '' + alias: '' + comment: '' + fc: fc-shiftoff + maxoutbuf: '0' + minoutbuf: '0' + osr: osr + samp_rate: samp_rate + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [688, 414] + rotation: 180 + state: enabled +- name: gsm_control_channels_decoder_0 + id: gsm_control_channels_decoder + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1368, 289] + rotation: 0 + state: enabled +- name: gsm_control_channels_decoder_0_0 + id: gsm_control_channels_decoder + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1368, 345] + rotation: 0 + state: enabled +- name: gsm_decryption_0 + id: gsm_decryption + parameters: + a5_version: '1' + affinity: '' + alias: '' + comment: '' + k_c: '[]' + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1208, 333] + rotation: 0 + state: enabled +- name: gsm_input_0 + id: gsm_input + parameters: + affinity: '' + alias: '' + comment: '' + fc: fc + maxoutbuf: '0' + minoutbuf: '0' + osr: osr + ppm: ppm-int(ppm) + samp_rate_in: samp_rate + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [624, 305] + rotation: 0 + state: enabled +- name: gsm_message_printer_1 + id: gsm_message_printer + parameters: + affinity: '' + alias: '' + comment: '' + prepend_fnr: 'False' + prepend_frame_count: 'False' + prepend_string: '""' + print_gsmtap_header: 'False' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1880, 302] + rotation: 0 + state: enabled +- name: gsm_receiver_0 + id: gsm_receiver + parameters: + affinity: '' + alias: '' + cell_allocation: '[arfcn.downlink2arfcn(fc)]' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + num_streams: '1' + osr: osr + tseq_nums: '[]' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [808, 289] + rotation: 0 + state: enabled +- name: gsm_sdcch8_demapper_0 + id: gsm_sdcch8_demapper + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + timeslot_nr: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1016, 340] + rotation: 0 + state: enabled +- name: import_0 + id: import + parameters: + alias: '' + comment: '' + imports: from math import pi + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [200, 12] + rotation: 0 + state: enabled +- name: import_1 + id: import + parameters: + alias: '' + comment: '' + imports: from grgsm import arfcn + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [200, 60] + rotation: 0 + state: enabled +- name: osr + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: OverSampling Ratio + short_id: '' + type: intx + value: '4' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [896, 7] + rotation: 0 + state: enabled +- name: ppm + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: Clock frequency offset in ppms (1/1e6 parts) + short_id: p + type: eng_float + value: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [312, 112] + rotation: 0 + state: enabled +- name: rec_len + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: Recording length in seconds + short_id: T + type: eng_float + value: '1000000' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [312, 8] + rotation: 0 + state: enabled +- name: rtlsdr_source_0 + id: rtlsdr_source + parameters: + affinity: '' + alias: '' + ant0: '' + ant1: '' + ant10: '' + ant11: '' + ant12: '' + ant13: '' + ant14: '' + ant15: '' + ant16: '' + ant17: '' + ant18: '' + ant19: '' + ant2: '' + ant20: '' + ant21: '' + ant22: '' + ant23: '' + ant24: '' + ant25: '' + ant26: '' + ant27: '' + ant28: '' + ant29: '' + ant3: '' + ant30: '' + ant31: '' + ant4: '' + ant5: '' + ant6: '' + ant7: '' + ant8: '' + ant9: '' + args: str(grgsm.device.get_default_args(args)) + bb_gain0: '20' + bb_gain1: '20' + bb_gain10: '20' + bb_gain11: '20' + bb_gain12: '20' + bb_gain13: '20' + bb_gain14: '20' + bb_gain15: '20' + bb_gain16: '20' + bb_gain17: '20' + bb_gain18: '20' + bb_gain19: '20' + bb_gain2: '20' + bb_gain20: '20' + bb_gain21: '20' + bb_gain22: '20' + bb_gain23: '20' + bb_gain24: '20' + bb_gain25: '20' + bb_gain26: '20' + bb_gain27: '20' + bb_gain28: '20' + bb_gain29: '20' + bb_gain3: '20' + bb_gain30: '20' + bb_gain31: '20' + bb_gain4: '20' + bb_gain5: '20' + bb_gain6: '20' + bb_gain7: '20' + bb_gain8: '20' + bb_gain9: '20' + bw0: 250e3+abs(shiftoff) + bw1: '0' + bw10: '0' + bw11: '0' + bw12: '0' + bw13: '0' + bw14: '0' + bw15: '0' + bw16: '0' + bw17: '0' + bw18: '0' + bw19: '0' + bw2: '0' + bw20: '0' + bw21: '0' + bw22: '0' + bw23: '0' + bw24: '0' + bw25: '0' + bw26: '0' + bw27: '0' + bw28: '0' + bw29: '0' + bw3: '0' + bw30: '0' + bw31: '0' + bw4: '0' + bw5: '0' + bw6: '0' + bw7: '0' + bw8: '0' + bw9: '0' + clock_source0: '' + clock_source1: '' + clock_source2: '' + clock_source3: '' + clock_source4: '' + clock_source5: '' + clock_source6: '' + clock_source7: '' + comment: '' + corr0: ppm + corr1: '0' + corr10: '0' + corr11: '0' + corr12: '0' + corr13: '0' + corr14: '0' + corr15: '0' + corr16: '0' + corr17: '0' + corr18: '0' + corr19: '0' + corr2: '0' + corr20: '0' + corr21: '0' + corr22: '0' + corr23: '0' + corr24: '0' + corr25: '0' + corr26: '0' + corr27: '0' + corr28: '0' + corr29: '0' + corr3: '0' + corr30: '0' + corr31: '0' + corr4: '0' + corr5: '0' + corr6: '0' + corr7: '0' + corr8: '0' + corr9: '0' + dc_offset_mode0: '2' + dc_offset_mode1: '0' + dc_offset_mode10: '0' + dc_offset_mode11: '0' + dc_offset_mode12: '0' + dc_offset_mode13: '0' + dc_offset_mode14: '0' + dc_offset_mode15: '0' + dc_offset_mode16: '0' + dc_offset_mode17: '0' + dc_offset_mode18: '0' + dc_offset_mode19: '0' + dc_offset_mode2: '0' + dc_offset_mode20: '0' + dc_offset_mode21: '0' + dc_offset_mode22: '0' + dc_offset_mode23: '0' + dc_offset_mode24: '0' + dc_offset_mode25: '0' + dc_offset_mode26: '0' + dc_offset_mode27: '0' + dc_offset_mode28: '0' + dc_offset_mode29: '0' + dc_offset_mode3: '0' + dc_offset_mode30: '0' + dc_offset_mode31: '0' + dc_offset_mode4: '0' + dc_offset_mode5: '0' + dc_offset_mode6: '0' + dc_offset_mode7: '0' + dc_offset_mode8: '0' + dc_offset_mode9: '0' + freq0: fc-shiftoff + freq1: 100e6 + freq10: 100e6 + freq11: 100e6 + freq12: 100e6 + freq13: 100e6 + freq14: 100e6 + freq15: 100e6 + freq16: 100e6 + freq17: 100e6 + freq18: 100e6 + freq19: 100e6 + freq2: 100e6 + freq20: 100e6 + freq21: 100e6 + freq22: 100e6 + freq23: 100e6 + freq24: 100e6 + freq25: 100e6 + freq26: 100e6 + freq27: 100e6 + freq28: 100e6 + freq29: 100e6 + freq3: 100e6 + freq30: 100e6 + freq31: 100e6 + freq4: 100e6 + freq5: 100e6 + freq6: 100e6 + freq7: 100e6 + freq8: 100e6 + freq9: 100e6 + gain0: gain + gain1: '10' + gain10: '10' + gain11: '10' + gain12: '10' + gain13: '10' + gain14: '10' + gain15: '10' + gain16: '10' + gain17: '10' + gain18: '10' + gain19: '10' + gain2: '10' + gain20: '10' + gain21: '10' + gain22: '10' + gain23: '10' + gain24: '10' + gain25: '10' + gain26: '10' + gain27: '10' + gain28: '10' + gain29: '10' + gain3: '10' + gain30: '10' + gain31: '10' + gain4: '10' + gain5: '10' + gain6: '10' + gain7: '10' + gain8: '10' + gain9: '10' + gain_mode0: 'False' + gain_mode1: 'True' + gain_mode10: 'False' + gain_mode11: 'False' + gain_mode12: 'False' + gain_mode13: 'False' + gain_mode14: 'False' + gain_mode15: 'False' + gain_mode16: 'False' + gain_mode17: 'False' + gain_mode18: 'False' + gain_mode19: 'False' + gain_mode2: 'True' + gain_mode20: 'False' + gain_mode21: 'False' + gain_mode22: 'False' + gain_mode23: 'False' + gain_mode24: 'False' + gain_mode25: 'False' + gain_mode26: 'False' + gain_mode27: 'False' + gain_mode28: 'False' + gain_mode29: 'False' + gain_mode3: 'True' + gain_mode30: 'False' + gain_mode31: 'False' + gain_mode4: 'True' + gain_mode5: 'False' + gain_mode6: 'False' + gain_mode7: 'False' + gain_mode8: 'False' + gain_mode9: 'False' + if_gain0: '20' + if_gain1: '20' + if_gain10: '20' + if_gain11: '20' + if_gain12: '20' + if_gain13: '20' + if_gain14: '20' + if_gain15: '20' + if_gain16: '20' + if_gain17: '20' + if_gain18: '20' + if_gain19: '20' + if_gain2: '20' + if_gain20: '20' + if_gain21: '20' + if_gain22: '20' + if_gain23: '20' + if_gain24: '20' + if_gain25: '20' + if_gain26: '20' + if_gain27: '20' + if_gain28: '20' + if_gain29: '20' + if_gain3: '20' + if_gain30: '20' + if_gain31: '20' + if_gain4: '20' + if_gain5: '20' + if_gain6: '20' + if_gain7: '20' + if_gain8: '20' + if_gain9: '20' + iq_balance_mode0: '2' + iq_balance_mode1: '0' + iq_balance_mode10: '0' + iq_balance_mode11: '0' + iq_balance_mode12: '0' + iq_balance_mode13: '0' + iq_balance_mode14: '0' + iq_balance_mode15: '0' + iq_balance_mode16: '0' + iq_balance_mode17: '0' + iq_balance_mode18: '0' + iq_balance_mode19: '0' + iq_balance_mode2: '0' + iq_balance_mode20: '0' + iq_balance_mode21: '0' + iq_balance_mode22: '0' + iq_balance_mode23: '0' + iq_balance_mode24: '0' + iq_balance_mode25: '0' + iq_balance_mode26: '0' + iq_balance_mode27: '0' + iq_balance_mode28: '0' + iq_balance_mode29: '0' + iq_balance_mode3: '0' + iq_balance_mode30: '0' + iq_balance_mode31: '0' + iq_balance_mode4: '0' + iq_balance_mode5: '0' + iq_balance_mode6: '0' + iq_balance_mode7: '0' + iq_balance_mode8: '0' + iq_balance_mode9: '0' + maxoutbuf: '0' + minoutbuf: '0' + nchan: '1' + num_mboards: '1' + sample_rate: samp_rate + sync: sync + time_source0: '' + time_source1: '' + time_source2: '' + time_source3: '' + time_source4: '' + time_source5: '' + time_source6: '' + time_source7: '' + type: fc32 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [8, 237] + rotation: 0 + state: enabled +- name: samp_rate + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: samp_rate + short_id: s + type: eng_float + value: '2000000.052982' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [16, 128] + rotation: 0 + state: enabled +- name: serverport + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: UDP server listening port + short_id: '' + type: '' + value: '4729' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1368, 7] + rotation: 0 + state: enabled +- name: shiftoff + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: Frequency Shiftoff + short_id: o + type: eng_float + value: 400e3 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [584, 112] + rotation: 0 + state: enabled + +connections: +- [blocks_head_0, '0', blocks_rotator_cc_0, '0'] +- [blocks_rotator_cc_0, '0', gsm_input_0, '0'] +- [blocks_socket_pdu_0_0, pdus, gsm_message_printer_1, msgs] +- [gsm_bcch_ccch_sdcch4_demapper_0, bursts, gsm_control_channels_decoder_0, bursts] +- [gsm_clock_offset_control_0, ctrl, gsm_input_0, ctrl_in] +- [gsm_control_channels_decoder_0, msgs, blocks_socket_pdu_0_1, pdus] +- [gsm_control_channels_decoder_0_0, msgs, blocks_socket_pdu_0_1, pdus] +- [gsm_decryption_0, bursts, gsm_control_channels_decoder_0_0, bursts] +- [gsm_input_0, '0', gsm_receiver_0, '0'] +- [gsm_receiver_0, C0, gsm_bcch_ccch_sdcch4_demapper_0, bursts] +- [gsm_receiver_0, C0, gsm_sdcch8_demapper_0, bursts] +- [gsm_receiver_0, measurements, gsm_clock_offset_control_0, measurements] +- [gsm_sdcch8_demapper_0, bursts, gsm_decryption_0, bursts] +- [rtlsdr_source_0, '0', blocks_head_0, '0'] + +metadata: + file_format: 1 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24064 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I73023fc66d1ffd6c714a0610962c005395dc126b Gerrit-Change-Number: 24064 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:39 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:39 +0000 Subject: Change in gr-gsm[master]: travis: Install only python3 packages References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24065 to review the following change. Change subject: travis: Install only python3 packages ...................................................................... travis: Install only python3 packages Change-Id: I3548fa7340afc63557cc65a7a396ecf96c607806 --- M tests/dockerfiles/Debian_testing.docker M tests/dockerfiles/Kali.docker 2 files changed, 4 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/65/24065/1 diff --git a/tests/dockerfiles/Debian_testing.docker b/tests/dockerfiles/Debian_testing.docker index 6cc4949..b95d958 100644 --- a/tests/dockerfiles/Debian_testing.docker +++ b/tests/dockerfiles/Debian_testing.docker @@ -7,13 +7,12 @@ libtool \ pkg-config \ build-essential \ - python-docutils \ libcppunit-dev \ swig \ doxygen \ liblog4cpp5-dev \ - python-gtk2 \ - python-scipy \ + python3-docutils \ + python3-scipy \ gnuradio-dev gnuradio libgmp-dev libboost-regex-dev \ libosmocore-dev diff --git a/tests/dockerfiles/Kali.docker b/tests/dockerfiles/Kali.docker index b4a9719..f386049 100644 --- a/tests/dockerfiles/Kali.docker +++ b/tests/dockerfiles/Kali.docker @@ -7,13 +7,12 @@ libtool \ pkg-config \ build-essential \ - python-docutils \ libcppunit-dev \ swig \ doxygen \ liblog4cpp5-dev \ - python-gtk2 \ - python-scipy \ + python3-docutils \ + python3-scipy \ gnuradio-dev gnuradio libgmp-dev libboost-regex-dev \ libosmocore-dev -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24065 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I3548fa7340afc63557cc65a7a396ecf96c607806 Gerrit-Change-Number: 24065 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:40 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:40 +0000 Subject: Change in gr-gsm[master]: travis: Manually install gr-iqbal and gr-osmosdr References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24066 to review the following change. Change subject: travis: Manually install gr-iqbal and gr-osmosdr ...................................................................... travis: Manually install gr-iqbal and gr-osmosdr Currently these two packages still depends on gnuradio 3.8 in debian testing and kali rolling. Change-Id: I4f956577293c48d803b8b45d06ba508792501274 --- M tests/dockerfiles/Debian_testing.docker M tests/dockerfiles/Kali.docker 2 files changed, 35 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/66/24066/1 diff --git a/tests/dockerfiles/Debian_testing.docker b/tests/dockerfiles/Debian_testing.docker index b95d958..e81d299 100644 --- a/tests/dockerfiles/Debian_testing.docker +++ b/tests/dockerfiles/Debian_testing.docker @@ -16,11 +16,28 @@ gnuradio-dev gnuradio libgmp-dev libboost-regex-dev \ libosmocore-dev +# packages needed for gr-iqbal and gr-osmosdr +RUN apt-get install -y git libuhd-dev + COPY ./ /src/ -RUN ls /src + +RUN git clone --branch maint-3.8 --recurse-submodules https://github.com/velichkov/gr-iqbal && \ + cd gr-iqbal && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make -j $(nproc) install + +RUN git clone --branch maint-3.8 https://github.com/velichkov/gr-osmosdr && \ + cd gr-osmosdr && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make -j $(nproc) install RUN mkdir /src/build WORKDIR /src/build + RUN cmake .. && \ # The parallel build sometimes fails when the .grc_gnuradio # and .gnuradio directories do not exist diff --git a/tests/dockerfiles/Kali.docker b/tests/dockerfiles/Kali.docker index f386049..32548ca 100644 --- a/tests/dockerfiles/Kali.docker +++ b/tests/dockerfiles/Kali.docker @@ -16,8 +16,24 @@ gnuradio-dev gnuradio libgmp-dev libboost-regex-dev \ libosmocore-dev +# packages needed for gr-iqbal and gr-osmosdr +RUN apt-get install -y git libuhd-dev + COPY ./ /src/ -RUN ls /src + +RUN git clone --branch maint-3.8 --recurse-submodules https://github.com/velichkov/gr-iqbal && \ + cd gr-iqbal && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make -j $(nproc) install + +RUN git clone --branch maint-3.8 https://github.com/velichkov/gr-osmosdr && \ + cd gr-osmosdr && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make -j $(nproc) install RUN mkdir /src/build WORKDIR /src/build -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24066 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I4f956577293c48d803b8b45d06ba508792501274 Gerrit-Change-Number: 24066 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:40 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:40 +0000 Subject: Change in gr-gsm[master]: grgsm_livemon: Disable PPS sync References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24067 to review the following change. Change subject: grgsm_livemon: Disable PPS sync ...................................................................... grgsm_livemon: Disable PPS sync Because of the following error when used with USRP B100 [INFO] [MULTI_USRP] 1) catch time transition at pps edge Traceback (most recent call last): File "./grgsm_livemon.py", line 365, in main() File "./grgsm_livemon.py", line 343, in main tb = top_block_cls(fc=options.fc, gain=options.gain, osr=options.osr, ppm=options.ppm, samp_rate=options.samp_rate, shiftoff=options.shiftoff) File "./grgsm_livemon.py", line 114, in __init__ self.rtlsdr_source_0.set_time_unknown_pps(osmosdr.time_spec_t()) File "/home/vasko/gr38/lib/python3.7/dist-packages/osmosdr/osmosdr_swig.py", line 2543, in set_time_unknown_pps return _osmosdr_swig.source_sptr_set_time_unknown_pps(self, time_spec) RuntimeError: RuntimeError: Board 0 may not be getting a PPS signal! No PPS detected within the time interval. See the application notes for your device. Change-Id: Iee6124bdb2441666a53ac9ee5239894aea61dfde --- M apps/grgsm_livemon.grc M apps/grgsm_livemon_headless.grc 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/67/24067/1 diff --git a/apps/grgsm_livemon.grc b/apps/grgsm_livemon.grc index 3d80268..2f6d29c 100644 --- a/apps/grgsm_livemon.grc +++ b/apps/grgsm_livemon.grc @@ -870,7 +870,7 @@ nchan: '1' num_mboards: '1' sample_rate: samp_rate - sync: sync + sync: none time_source0: '' time_source1: '' time_source2: '' diff --git a/apps/grgsm_livemon_headless.grc b/apps/grgsm_livemon_headless.grc index e6728b7..4d0c83e 100644 --- a/apps/grgsm_livemon_headless.grc +++ b/apps/grgsm_livemon_headless.grc @@ -762,7 +762,7 @@ nchan: '1' num_mboards: '1' sample_rate: samp_rate - sync: sync + sync: none time_source0: '' time_source1: '' time_source2: '' -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iee6124bdb2441666a53ac9ee5239894aea61dfde Gerrit-Change-Number: 24067 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:40 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:40 +0000 Subject: Change in gr-gsm[master]: grgsm_livemon: Change the type of several parameters to string References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24068 to review the following change. Change subject: grgsm_livemon: Change the type of several parameters to string ...................................................................... grgsm_livemon: Change the type of several parameters to string It seems gnuradio 3.8 does not like parameters with type None and does not put them as command line arguments Change-Id: Id67e37e826aa1cc14640d57207a92def682f11e3 --- M apps/grgsm_livemon.grc M apps/grgsm_livemon_headless.grc 2 files changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/68/24068/1 diff --git a/apps/grgsm_livemon.grc b/apps/grgsm_livemon.grc index 2f6d29c..4e07e88 100644 --- a/apps/grgsm_livemon.grc +++ b/apps/grgsm_livemon.grc @@ -105,7 +105,7 @@ hide: none label: Device Arguments short_id: '' - type: '' + type: str value: '""' states: bus_sink: false @@ -178,7 +178,7 @@ hide: none label: IP or DNS name of collector point short_id: '' - type: '' + type: str value: 'localhost' states: bus_sink: false @@ -195,7 +195,7 @@ hide: none label: UDP port number of collector short_id: '' - type: '' + type: str value: '4729' states: bus_sink: false @@ -912,7 +912,7 @@ hide: none label: UDP server listening port short_id: '' - type: '' + type: str value: '4729' states: bus_sink: false diff --git a/apps/grgsm_livemon_headless.grc b/apps/grgsm_livemon_headless.grc index 4d0c83e..1bea77c 100644 --- a/apps/grgsm_livemon_headless.grc +++ b/apps/grgsm_livemon_headless.grc @@ -42,7 +42,7 @@ hide: none label: Device Arguments short_id: '' - type: '' + type: str value: '""' states: bus_sink: false @@ -133,7 +133,7 @@ hide: none label: IP or DNS name of collector point short_id: '' - type: '' + type: str value: 'localhost' states: bus_sink: false @@ -150,7 +150,7 @@ hide: none label: UDP port number of collector short_id: '' - type: '' + type: str value: '4729' states: bus_sink: false @@ -804,7 +804,7 @@ hide: none label: UDP server listening port short_id: '' - type: '' + type: str value: '4729' states: bus_sink: false -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24068 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Id67e37e826aa1cc14640d57207a92def682f11e3 Gerrit-Change-Number: 24068 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:41 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:41 +0000 Subject: Change in gr-gsm[master]: grgsm_livemon: Fix UDP client and server blocks References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24069 to review the following change. Change subject: grgsm_livemon: Fix UDP client and server blocks ...................................................................... grgsm_livemon: Fix UDP client and server blocks During the convertion to YAML the block types was changed from TCP to UDP Change-Id: I542d7c36c30dc8179fa0ee84fc87e134cd2ba9f5 --- M apps/grgsm_livemon.grc M apps/grgsm_livemon_headless.grc 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/69/24069/1 diff --git a/apps/grgsm_livemon.grc b/apps/grgsm_livemon.grc index 4e07e88..fa96cfb 100644 --- a/apps/grgsm_livemon.grc +++ b/apps/grgsm_livemon.grc @@ -142,7 +142,7 @@ mtu: '10000' port: serverport tcp_no_delay: 'False' - type: TCP_SERVER + type: UDP_SERVER states: bus_sink: false bus_source: false @@ -162,7 +162,7 @@ mtu: '1500' port: collectorport tcp_no_delay: 'False' - type: TCP_SERVER + type: UDP_CLIENT states: bus_sink: false bus_source: false diff --git a/apps/grgsm_livemon_headless.grc b/apps/grgsm_livemon_headless.grc index 1bea77c..47db941 100644 --- a/apps/grgsm_livemon_headless.grc +++ b/apps/grgsm_livemon_headless.grc @@ -97,7 +97,7 @@ mtu: '10000' port: serverport tcp_no_delay: 'False' - type: TCP_SERVER + type: UDP_SERVER states: bus_sink: false bus_source: false @@ -117,7 +117,7 @@ mtu: '1500' port: collectorport tcp_no_delay: 'False' - type: TCP_SERVER + type: UDP_CLIENT states: bus_sink: false bus_source: false -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24069 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I542d7c36c30dc8179fa0ee84fc87e134cd2ba9f5 Gerrit-Change-Number: 24069 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:41 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:41 +0000 Subject: Change in gr-gsm[master]: grgsm_livemon: Set cell_allocation to [0] References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24070 to review the following change. Change subject: grgsm_livemon: Set cell_allocation to [0] ...................................................................... grgsm_livemon: Set cell_allocation to [0] Gnuradio 3.8 does not like cell_allocation: '[arfcn.downlink2arfcn(fc)]' and the Receiver block does not work with an empty cell allocation array gnuradio.grc.core.platform:["Param - Cell allocation(cell_allocation):\n\tExpression None is invalid for type'float_vector'."] Change-Id: Iae6de844509b13bdf834c9c7443382b1ab3b0a28 --- M apps/grgsm_livemon.grc M apps/grgsm_livemon_headless.grc 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/70/24070/1 diff --git a/apps/grgsm_livemon.grc b/apps/grgsm_livemon.grc index fa96cfb..a11b243 100644 --- a/apps/grgsm_livemon.grc +++ b/apps/grgsm_livemon.grc @@ -360,7 +360,7 @@ parameters: affinity: '' alias: '' - cell_allocation: '[arfcn.downlink2arfcn(fc)]' + cell_allocation: '[0]' comment: '' maxoutbuf: '0' minoutbuf: '0' diff --git a/apps/grgsm_livemon_headless.grc b/apps/grgsm_livemon_headless.grc index 47db941..27d43b8 100644 --- a/apps/grgsm_livemon_headless.grc +++ b/apps/grgsm_livemon_headless.grc @@ -315,7 +315,7 @@ parameters: affinity: '' alias: '' - cell_allocation: '[arfcn.downlink2arfcn(fc)]' + cell_allocation: '[0]' comment: '' maxoutbuf: '0' minoutbuf: '0' -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iae6de844509b13bdf834c9c7443382b1ab3b0a28 Gerrit-Change-Number: 24070 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:41 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:41 +0000 Subject: Change in gr-gsm[master]: grgsm_livemon: Specify localhost as string References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24071 to review the following change. Change subject: grgsm_livemon: Specify localhost as string ...................................................................... grgsm_livemon: Specify localhost as string Traceback (most recent call last): File "/home/vasko/gr38/lib/python3.7/dist-packages/gnuradio/grc/core/FlowGraph.py", line 216, in renew_namespace value = eval(parameter_block.params['value'].to_code(), namespace) File "", line 1, in NameError: name 'localhost' is not defined Change-Id: I6bae2fb1f09038cb0cd3410533d3b3fdc79ed354 --- M apps/grgsm_livemon.grc M apps/grgsm_livemon_headless.grc 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/71/24071/1 diff --git a/apps/grgsm_livemon.grc b/apps/grgsm_livemon.grc index a11b243..941f816 100644 --- a/apps/grgsm_livemon.grc +++ b/apps/grgsm_livemon.grc @@ -179,7 +179,7 @@ label: IP or DNS name of collector point short_id: '' type: str - value: 'localhost' + value: '"localhost"' states: bus_sink: false bus_source: false diff --git a/apps/grgsm_livemon_headless.grc b/apps/grgsm_livemon_headless.grc index 27d43b8..f4d5945 100644 --- a/apps/grgsm_livemon_headless.grc +++ b/apps/grgsm_livemon_headless.grc @@ -134,7 +134,7 @@ label: IP or DNS name of collector point short_id: '' type: str - value: 'localhost' + value: '"localhost"' states: bus_sink: false bus_source: false -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I6bae2fb1f09038cb0cd3410533d3b3fdc79ed354 Gerrit-Change-Number: 24071 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:41 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:41 +0000 Subject: Change in gr-gsm[master]: grgsm_decode: Print frequency or ARFCN message on stderr References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24072 to review the following change. Change subject: grgsm_decode: Print frequency or ARFCN message on stderr ...................................................................... grgsm_decode: Print frequency or ARFCN message on stderr For some yet unknown reasons in travis on Debian testing and Kali rolling the message gets printed after the burst and decode.sh and decrypt.sh tests fails because of this. Instead of filtering this messages in the tests I think it is better such messages to be printed on the standard error output Change-Id: Ib18be898cac74769cabf1b748e40e21d23f08e98 --- M apps/grgsm_decode 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/72/24072/1 diff --git a/apps/grgsm_decode b/apps/grgsm_decode index 034014e..d754fc7 100755 --- a/apps/grgsm_decode +++ b/apps/grgsm_decode @@ -30,6 +30,7 @@ import grgsm import pmt import socket +import sys class grgsm_decoder(gr.top_block): @@ -368,7 +369,7 @@ parser.error("Invalid A5 version\n") if options.cfile and (options.fc is None and options.arfcn is None): - print("You haven't provided a frequency or an ARFCN - working without automatic frequency offset correction.\n") + print("You haven't provided a frequency or an ARFCN - working without automatic frequency offset correction.\n", file=sys.stderr) # handle frequency / arfcn input arfcn = None -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24072 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ib18be898cac74769cabf1b748e40e21d23f08e98 Gerrit-Change-Number: 24072 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:42 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:42 +0000 Subject: Change in gr-gsm[master]: travis: gnuradio-companion 3.8 does not have --version parameter References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24073 to review the following change. Change subject: travis: gnuradio-companion 3.8 does not have --version parameter ...................................................................... travis: gnuradio-companion 3.8 does not have --version parameter And currently grgsm, gr-osmosdr and gr-iqbal are installed in /usr/local/lib/python3/dist-packages/ which is not in the default python search path. Change-Id: I7e00c84a4b72e9fa1dcf5ac453882f1733724ac0 --- M tests/scripts/decode.sh M tests/scripts/decrypt.sh 2 files changed, 14 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/73/24073/1 diff --git a/tests/scripts/decode.sh b/tests/scripts/decode.sh index c71b26e..b982709 100755 --- a/tests/scripts/decode.sh +++ b/tests/scripts/decode.sh @@ -3,7 +3,11 @@ TEST_DIR=`dirname "$0"` # PYTHONPATH and LD_LIBRARY_PATH are needed on Fedora 26 -export PYTHONPATH=/usr/local/lib64/python2.7/site-packages/:/usr/local/lib64/python2.7/site-packages/grgsm/:$PYTHONPATH +# +# /usr/local/lib/python3/dist-packages/ is currently needed on Debian Testing and Kali Rolling +# https://salsa.debian.org/bottoms/pkg-gnuradio/blob/unstable/debian/patches/debian-python-install#L8 +# +export PYTHONPATH=/usr/local/lib/python3/dist-packages/:/usr/local/lib64/python2.7/site-packages/:/usr/local/lib64/python2.7/site-packages/grgsm/:$PYTHONPATH export LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH export AP_DECODE="grgsm_decode" @@ -14,7 +18,8 @@ export RUNLINE="$AP_DECODE -c $SHORTENED_CAPFILE -s $((100000000/174)) -m BCCH -t 0 -v --ppm -10" echo "Testing with:" echo " $RUNLINE" -gnuradio-companion --version +#gnuradio 3.8 does not have --version parameter +#gnuradio-companion --version cd $TEST_DIR cat $CAPFILE | head -c 6000000 > $SHORTENED_CAPFILE diff --git a/tests/scripts/decrypt.sh b/tests/scripts/decrypt.sh index afd12cc..7f9bc60 100755 --- a/tests/scripts/decrypt.sh +++ b/tests/scripts/decrypt.sh @@ -3,7 +3,11 @@ TEST_DIR=`dirname "$0"` # PYTHONPATH and LD_LIBRARY_PATH are needed on Fedora 26 -export PYTHONPATH=/usr/local/lib64/python2.7/site-packages/:/usr/local/lib64/python2.7/site-packages/grgsm/:$PYTHONPATH +# +# /usr/local/lib/python3/dist-packages/ is currently needed on Debian Testing and Kali Rolling +# https://salsa.debian.org/bottoms/pkg-gnuradio/blob/unstable/debian/patches/debian-python-install#L8 +# +export PYTHONPATH=/usr/local/lib/python3/dist-packages/:/usr/local/lib64/python2.7/site-packages/:/usr/local/lib64/python2.7/site-packages/grgsm/:$PYTHONPATH export LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH export AP_DECODE="grgsm_decode" @@ -14,7 +18,8 @@ export RUNLINE="$AP_DECODE -c $SHORTENED_CAPFILE -s $((100000000/174)) -m SDCCH8 -t 1 -k 0x1E,0xF0,0x0B,0xAB,0x3B,0xAC,0x70,0x02 -v --ppm -10" echo "Testing with:" echo " $RUNLINE" -gnuradio-companion --version +#gnuradio 3.8 does not have --version parameter +#gnuradio-companion --version cd $TEST_DIR cat $CAPFILE | head -c -37000000 | head -c 35800000 > $SHORTENED_CAPFILE -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I7e00c84a4b72e9fa1dcf5ac453882f1733724ac0 Gerrit-Change-Number: 24073 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:42 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:42 +0000 Subject: Change in gr-gsm[master]: Remove the RTLD_GLOBAL hack References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24074 to review the following change. Change subject: Remove the RTLD_GLOBAL hack ...................................................................... Remove the RTLD_GLOBAL hack It was removed from gnuradio back in 2014 https://github.com/gnuradio/gnuradio/commit/39f14138ac9158eb0610e89a2ae1f8290f184c44 Change-Id: I1604ad5b9eefe3d4a2228b2a09e2069962844c97 --- M python/__init__.py 1 file changed, 0 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/74/24074/1 diff --git a/python/__init__.py b/python/__init__.py index 557a8d6..ba5fc00 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -23,23 +23,6 @@ description here (python/__init__.py). ''' -# ---------------------------------------------------------------- -# Temporary workaround for ticket:181 (swig+python problem) -import sys -_RTLD_GLOBAL = 0 -try: - from dl import RTLD_GLOBAL as _RTLD_GLOBAL -except ImportError: - try: - from DLFCN import RTLD_GLOBAL as _RTLD_GLOBAL - except ImportError: - pass - -if _RTLD_GLOBAL != 0: - _dlopenflags = sys.getdlopenflags() - sys.setdlopenflags(_dlopenflags|_RTLD_GLOBAL) -# ---------------------------------------------------------------- - # import swig generated symbols into the gsm namespace from .grgsm_swig import * @@ -59,12 +42,3 @@ from .txtime_bursts_tagger import * from .arfcn import * from .device import * - - -# - -# ---------------------------------------------------------------- -# Tail of workaround -if _RTLD_GLOBAL != 0: - sys.setdlopenflags(_dlopenflags) # Restore original flags -# ---------------------------------------------------------------- -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I1604ad5b9eefe3d4a2228b2a09e2069962844c97 Gerrit-Change-Number: 24074 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:43 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:43 +0000 Subject: Change in gr-gsm[master]: Fix grcc compilation with python3 by adding local subdirs to __path__ References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24075 to review the following change. Change subject: Fix grcc compilation with python3 by adding local subdirs to __path__ ...................................................................... Fix grcc compilation with python3 by adding local subdirs to __path__ As the directory structure in the repository is different then the one after the package gets installed we need to add those subdirectories to the __path__ otherwise python3 is not able to load the modules using the relative import syntax and grcc compilation and some unit tests fail. Mofiy __path__ only when the CMAKE_BINARY_DIR environment variable is present. Revert "grgsm_livemon: Set cell_allocation to [0]" This reverts commit 013d4c258c6ad31c2581f0caa4eee3aa609fd9de. Change-Id: I223fd6181e8e36027039301186b671712a597ff8 --- M apps/grgsm_livemon.grc M apps/grgsm_livemon_headless.grc M cmake/Modules/GrccCompile.cmake M python/CMakeLists.txt M python/__init__.py 5 files changed, 24 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/75/24075/1 diff --git a/apps/grgsm_livemon.grc b/apps/grgsm_livemon.grc index 941f816..e8bf4a5 100644 --- a/apps/grgsm_livemon.grc +++ b/apps/grgsm_livemon.grc @@ -360,7 +360,7 @@ parameters: affinity: '' alias: '' - cell_allocation: '[0]' + cell_allocation: '[arfcn.downlink2arfcn(fc)]' comment: '' maxoutbuf: '0' minoutbuf: '0' diff --git a/apps/grgsm_livemon_headless.grc b/apps/grgsm_livemon_headless.grc index f4d5945..8e2e3fa 100644 --- a/apps/grgsm_livemon_headless.grc +++ b/apps/grgsm_livemon_headless.grc @@ -315,7 +315,7 @@ parameters: affinity: '' alias: '' - cell_allocation: '[0]' + cell_allocation: '[arfcn.downlink2arfcn(fc)]' comment: '' maxoutbuf: '0' minoutbuf: '0' diff --git a/cmake/Modules/GrccCompile.cmake b/cmake/Modules/GrccCompile.cmake index 4589fd4..d2bc2d8 100644 --- a/cmake/Modules/GrccCompile.cmake +++ b/cmake/Modules/GrccCompile.cmake @@ -39,6 +39,7 @@ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${file_name} COMMAND "${CMAKE_COMMAND}" -E env PYTHONPATH="${PYTHONPATH}" GRC_BLOCKS_PATH=${CMAKE_SOURCE_DIR}/grc + CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR} ${GRCC} -o ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/${file_name}.grc COMMAND "${CMAKE_COMMAND}" -E rename ${CMAKE_CURRENT_BINARY_DIR}/${file_name}.py ${CMAKE_CURRENT_BINARY_DIR}/${file_name} diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index f0c984d..9cd7045 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -47,7 +47,8 @@ include(GrTest) set(GR_TEST_TARGET_DEPS gr-gsm) -set(GR_TEST_PYTHON_DIRS ${CMAKE_BINARY_DIR}/swig:${CMAKE_BINARY_DIR}/python/misc_utils:${CMAKE_BINARY_DIR}/python/receiver:${CMAKE_BINARY_DIR}/python/demapping:${CMAKE_BINARY_DIR}/python/transmitter) +set(GR_TEST_PYTHON_DIRS ${CMAKE_BINARY_DIR}/swig:${CMAKE_BINARY_DIR}/python/misc_utils) +set(GR_TEST_ENVIRONS "CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR}") GR_ADD_TEST(qa_arfcn ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_arfcn.py) GR_ADD_TEST(qa_decryption ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_decryption.py) GR_ADD_TEST(qa_burst_printer ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_burst_printer.py) diff --git a/python/__init__.py b/python/__init__.py index ba5fc00..87a62d6 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -23,6 +23,25 @@ description here (python/__init__.py). ''' +import os + +if "CMAKE_BINARY_DIR" in os.environ: + dirname, filename = os.path.split(os.path.abspath(__file__)) + + # As the directory structure in the repository is different then the one after the package + # gets installed we need to add those subdirectories to the __path__ otherwise python3 is + # not able to load the modules using the relative import syntax and grcc compilation and + # some unit tests fail. + __path__ += [ + # Load the local (not yet installed) grgsm_swig from the ../swig subdirectory. + os.path.join(os.environ.get("CMAKE_BINARY_DIR"), "swig"), + + # Load the local (not yet installed) python modules from the local subdirectories + os.path.join(dirname, "misc_utils"), + os.path.join(dirname, "receiver"), + os.path.join(dirname, "demapping"), + os.path.join(dirname, "transmitter"), + os.path.join(dirname, "trx")] # import swig generated symbols into the gsm namespace from .grgsm_swig import * -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I223fd6181e8e36027039301186b671712a597ff8 Gerrit-Change-Number: 24075 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:44 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:44 +0000 Subject: Change in gr-gsm[master]: Do not add python/misc_utils to PYTHONPATH when executing tests References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24076 to review the following change. Change subject: Do not add python/misc_utils to PYTHONPATH when executing tests ...................................................................... Do not add python/misc_utils to PYTHONPATH when executing tests Change-Id: Ib19a181a3fd9bb78c1d3989bad0e55433f060950 --- M python/CMakeLists.txt M python/qa_arfcn.py 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/76/24076/1 diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 9cd7045..31efedb 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -47,7 +47,7 @@ include(GrTest) set(GR_TEST_TARGET_DEPS gr-gsm) -set(GR_TEST_PYTHON_DIRS ${CMAKE_BINARY_DIR}/swig:${CMAKE_BINARY_DIR}/python/misc_utils) +set(GR_TEST_PYTHON_DIRS ${CMAKE_BINARY_DIR}/swig) set(GR_TEST_ENVIRONS "CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR}") GR_ADD_TEST(qa_arfcn ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_arfcn.py) GR_ADD_TEST(qa_decryption ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_decryption.py) diff --git a/python/qa_arfcn.py b/python/qa_arfcn.py index 8fc4695..53c8fff 100755 --- a/python/qa_arfcn.py +++ b/python/qa_arfcn.py @@ -23,7 +23,7 @@ from gnuradio import gr, gr_unittest, blocks import grgsm_swig as grgsm -import arfcn +from misc_utils import arfcn import os import sys -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ib19a181a3fd9bb78c1d3989bad0e55433f060950 Gerrit-Change-Number: 24076 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:44 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:44 +0000 Subject: Change in gr-gsm[master]: travis: Install liborc-0.4-dev needed for gr-iqbal References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24077 to review the following change. Change subject: travis: Install liborc-0.4-dev needed for gr-iqbal ...................................................................... travis: Install liborc-0.4-dev needed for gr-iqbal on Debian Testing and Kali with gnuradio (3.8.0.0-5) Change-Id: I4512bb734691f553d63cac59fd2c7ba3ccf3f881 --- M tests/dockerfiles/Debian_testing.docker M tests/dockerfiles/Kali.docker 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/77/24077/1 diff --git a/tests/dockerfiles/Debian_testing.docker b/tests/dockerfiles/Debian_testing.docker index e81d299..7fb7760 100644 --- a/tests/dockerfiles/Debian_testing.docker +++ b/tests/dockerfiles/Debian_testing.docker @@ -17,7 +17,7 @@ libosmocore-dev # packages needed for gr-iqbal and gr-osmosdr -RUN apt-get install -y git libuhd-dev +RUN apt-get install -y git libuhd-dev liborc-0.4-dev COPY ./ /src/ diff --git a/tests/dockerfiles/Kali.docker b/tests/dockerfiles/Kali.docker index 32548ca..8b03930 100644 --- a/tests/dockerfiles/Kali.docker +++ b/tests/dockerfiles/Kali.docker @@ -17,7 +17,7 @@ libosmocore-dev # packages needed for gr-iqbal and gr-osmosdr -RUN apt-get install -y git libuhd-dev +RUN apt-get install -y git libuhd-dev liborc-0.4-dev COPY ./ /src/ -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24077 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I4512bb734691f553d63cac59fd2c7ba3ccf3f881 Gerrit-Change-Number: 24077 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:45 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:45 +0000 Subject: Change in gr-gsm[master]: travis: Add /usr/local/lib/python3/dist-packages/ to PYTHONPATH References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24078 to review the following change. Change subject: travis: Add /usr/local/lib/python3/dist-packages/ to PYTHONPATH ...................................................................... travis: Add /usr/local/lib/python3/dist-packages/ to PYTHONPATH and run ldconfig after installing gr-iqbal and gr-osmosdr. Due to debian-python-install patch [1] the OOT packages are installed in /usr/local/lib/python3/dist-packages but this path is not in the python3 default search paths (sys.path) and because of this importing OOT modules fails. [1] https://salsa.debian.org/bottoms/pkg-gnuradio/blob/25e1de07/debian/patches/debian-python-install Change-Id: I260c82d1a53dab85f7aac86f23e61309d8841255 --- M tests/dockerfiles/Debian_testing.docker M tests/dockerfiles/Kali.docker 2 files changed, 10 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/78/24078/1 diff --git a/tests/dockerfiles/Debian_testing.docker b/tests/dockerfiles/Debian_testing.docker index 7fb7760..c482c52 100644 --- a/tests/dockerfiles/Debian_testing.docker +++ b/tests/dockerfiles/Debian_testing.docker @@ -26,19 +26,21 @@ mkdir build && \ cd build && \ cmake .. && \ - make -j $(nproc) install + make -j $(nproc) install && \ + ldconfig RUN git clone --branch maint-3.8 https://github.com/velichkov/gr-osmosdr && \ cd gr-osmosdr && \ mkdir build && \ cd build && \ cmake .. && \ - make -j $(nproc) install + make -j $(nproc) install && \ + ldconfig RUN mkdir /src/build WORKDIR /src/build -RUN cmake .. && \ +RUN PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH cmake .. && \ # The parallel build sometimes fails when the .grc_gnuradio # and .gnuradio directories do not exist mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ diff --git a/tests/dockerfiles/Kali.docker b/tests/dockerfiles/Kali.docker index 8b03930..8949bb5 100644 --- a/tests/dockerfiles/Kali.docker +++ b/tests/dockerfiles/Kali.docker @@ -26,18 +26,20 @@ mkdir build && \ cd build && \ cmake .. && \ - make -j $(nproc) install + make -j $(nproc) install && \ + ldconfig RUN git clone --branch maint-3.8 https://github.com/velichkov/gr-osmosdr && \ cd gr-osmosdr && \ mkdir build && \ cd build && \ cmake .. && \ - make -j $(nproc) install + make -j $(nproc) install && \ + ldconfig RUN mkdir /src/build WORKDIR /src/build -RUN cmake .. && \ +RUN PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH cmake .. && \ # The parallel build sometimes fails when the .grc_gnuradio # and .gnuradio directories do not exist mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24078 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I260c82d1a53dab85f7aac86f23e61309d8841255 Gerrit-Change-Number: 24078 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:46 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:46 +0000 Subject: Change in gr-gsm[master]: Remove build_utils.py and build_utils_codes.py References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24079 to review the following change. Change subject: Remove build_utils.py and build_utils_codes.py ...................................................................... Remove build_utils.py and build_utils_codes.py These two files are no longer used Change-Id: I80a364c729e75681a0afd926ea3ecd0eb2d65381 --- D python/build_utils.py D python/build_utils_codes.py 2 files changed, 0 insertions(+), 278 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/79/24079/1 diff --git a/python/build_utils.py b/python/build_utils.py deleted file mode 100644 index cf58a97..0000000 --- a/python/build_utils.py +++ /dev/null @@ -1,226 +0,0 @@ -# -# Copyright 2004,2009,2012 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -"""Misc utilities used at build time -""" - -import re, os, os.path -from build_utils_codes import * - - -# set srcdir to the directory that contains Makefile.am -try: - srcdir = os.environ['srcdir'] -except KeyError, e: - srcdir = "." -srcdir = srcdir + '/' - -# set do_makefile to either true or false dependeing on the environment -try: - if os.environ['do_makefile'] == '0': - do_makefile = False - else: - do_makefile = True -except KeyError, e: - do_makefile = False - -# set do_sources to either true or false dependeing on the environment -try: - if os.environ['do_sources'] == '0': - do_sources = False - else: - do_sources = True -except KeyError, e: - do_sources = True - -name_dict = {} - -def log_output_name (name): - (base, ext) = os.path.splitext (name) - ext = ext[1:] # drop the leading '.' - - entry = name_dict.setdefault (ext, []) - entry.append (name) - -def open_and_log_name (name, dir): - global do_sources - if do_sources: - f = open (name, dir) - else: - f = None - log_output_name (name) - return f - -def expand_template (d, template_filename, extra = ""): - '''Given a dictionary D and a TEMPLATE_FILENAME, expand template into output file - ''' - global do_sources - output_extension = extract_extension (template_filename) - template = open_src (template_filename, 'r') - output_name = d['NAME'] + extra + '.' + output_extension - log_output_name (output_name) - if do_sources: - output = open (output_name, 'w') - do_substitution (d, template, output) - output.close () - template.close () - -def output_glue (dirname): - output_makefile_fragment () - output_ifile_include (dirname) - -def output_makefile_fragment (): - global do_makefile - if not do_makefile: - return -# overwrite the source, which must be writable; this should have been -# checked for beforehand in the top-level Makefile.gen.gen . - f = open (os.path.join (os.environ.get('gendir', os.environ.get('srcdir', '.')), 'Makefile.gen'), 'w') - f.write ('#\n# This file is machine generated. All edits will be overwritten\n#\n') - output_subfrag (f, 'h') - output_subfrag (f, 'i') - output_subfrag (f, 'cc') - f.close () - -def output_ifile_include (dirname): - global do_sources - if do_sources: - f = open ('%s_generated.i' % (dirname,), 'w') - f.write ('//\n// This file is machine generated. All edits will be overwritten\n//\n') - files = name_dict.setdefault ('i', []) - files.sort () - f.write ('%{\n') - for file in files: - f.write ('#include <%s>\n' % (file[0:-1] + 'h',)) - f.write ('%}\n\n') - for file in files: - f.write ('%%include <%s>\n' % (file,)) - -def output_subfrag (f, ext): - files = name_dict.setdefault (ext, []) - files.sort () - f.write ("GENERATED_%s =" % (ext.upper ())) - for file in files: - f.write (" \\\n\t%s" % (file,)) - f.write ("\n\n") - -def extract_extension (template_name): - # template name is something like: GrFIRfilterXXX.h.t - # we return everything between the penultimate . and .t - mo = re.search (r'\.([a-z]+)\.t$', template_name) - if not mo: - raise ValueError, "Incorrectly formed template_name '%s'" % (template_name,) - return mo.group (1) - -def open_src (name, mode): - global srcdir - return open (os.path.join (srcdir, name), mode) - -def do_substitution (d, in_file, out_file): - def repl (match_obj): - key = match_obj.group (1) - # print key - return d[key] - - inp = in_file.read () - out = re.sub (r"@([a-zA-Z0-9_]+)@", repl, inp) - out_file.write (out) - - - -copyright = '''/* -*- c++ -*- */ -/* - * Copyright 2003,2004 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ -''' - -def is_complex (code3): - if i_code (code3) == 'c' or o_code (code3) == 'c': - return '1' - else: - return '0' - - -def standard_dict (name, code3, package='gr'): - d = {} - d['NAME'] = name - d['NAME_IMPL'] = name+'_impl' - d['GUARD_NAME'] = 'INCLUDED_%s_%s_H' % (package.upper(), name.upper()) - d['GUARD_NAME_IMPL'] = 'INCLUDED_%s_%s_IMPL_H' % (package.upper(), name.upper()) - d['BASE_NAME'] = re.sub ('^' + package + '_', '', name) - d['SPTR_NAME'] = '%s_sptr' % name - d['WARNING'] = 'WARNING: this file is machine generated. Edits will be overwritten' - d['COPYRIGHT'] = copyright - d['TYPE'] = i_type (code3) - d['I_TYPE'] = i_type (code3) - d['O_TYPE'] = o_type (code3) - d['TAP_TYPE'] = tap_type (code3) - d['IS_COMPLEX'] = is_complex (code3) - return d - - -def standard_dict2 (name, code3, package): - d = {} - d['NAME'] = name - d['BASE_NAME'] = name - d['GUARD_NAME'] = 'INCLUDED_%s_%s_H' % (package.upper(), name.upper()) - d['WARNING'] = 'WARNING: this file is machine generated. Edits will be overwritten' - d['COPYRIGHT'] = copyright - d['TYPE'] = i_type (code3) - d['I_TYPE'] = i_type (code3) - d['O_TYPE'] = o_type (code3) - d['TAP_TYPE'] = tap_type (code3) - d['IS_COMPLEX'] = is_complex (code3) - return d - -def standard_impl_dict2 (name, code3, package): - d = {} - d['NAME'] = name - d['IMPL_NAME'] = name - d['BASE_NAME'] = name.rstrip("impl").rstrip("_") - d['GUARD_NAME'] = 'INCLUDED_%s_%s_H' % (package.upper(), name.upper()) - d['WARNING'] = 'WARNING: this file is machine generated. Edits will be overwritten' - d['COPYRIGHT'] = copyright - d['FIR_TYPE'] = "fir_filter_" + code3 - d['CFIR_TYPE'] = "fir_filter_" + code3[0:2] + 'c' - d['TYPE'] = i_type (code3) - d['I_TYPE'] = i_type (code3) - d['O_TYPE'] = o_type (code3) - d['TAP_TYPE'] = tap_type (code3) - d['IS_COMPLEX'] = is_complex (code3) - return d diff --git a/python/build_utils_codes.py b/python/build_utils_codes.py deleted file mode 100644 index 9ea96ba..0000000 --- a/python/build_utils_codes.py +++ /dev/null @@ -1,52 +0,0 @@ -# -# Copyright 2004 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -def i_code (code3): - return code3[0] - -def o_code (code3): - if len (code3) >= 2: - return code3[1] - else: - return code3[0] - -def tap_code (code3): - if len (code3) >= 3: - return code3[2] - else: - return code3[0] - -def i_type (code3): - return char_to_type[i_code (code3)] - -def o_type (code3): - return char_to_type[o_code (code3)] - -def tap_type (code3): - return char_to_type[tap_code (code3)] - - -char_to_type = {} -char_to_type['s'] = 'short' -char_to_type['i'] = 'int' -char_to_type['f'] = 'float' -char_to_type['c'] = 'gr_complex' -char_to_type['b'] = 'unsigned char' -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24079 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I80a364c729e75681a0afd926ea3ecd0eb2d65381 Gerrit-Change-Number: 24079 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:46 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:46 +0000 Subject: Change in gr-gsm[master]: tests: Do not specify filename when runing gr_unittest References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24080 to review the following change. Change subject: tests: Do not specify filename when runing gr_unittest ...................................................................... tests: Do not specify filename when runing gr_unittest This fixes the following warning DEPRECATED: Using filename with gr_unittest does no longer have any effect. Change-Id: I7d6dbc32ff794ebf2bc116fa7437062e6780b85f --- M python/qa_arfcn.py M python/qa_burst_file_source.py M python/qa_burst_fnr_filter.py M python/qa_burst_printer.py M python/qa_burst_sdcch_subslot_filter.py M python/qa_burst_sdcch_subslot_splitter.py M python/qa_burst_timeslot_filter.py M python/qa_burst_timeslot_splitter.py M python/qa_controlled_fractional_resampler_cc.py M python/qa_decryption.py M python/qa_dummy_burst_filter.py M python/qa_message_printer.py M python/qa_message_source_sink.py M python/qa_msg_to_tag.py M python/qa_tch_f_chans_demapper.py M python/qa_tch_f_decoder.py M python/qa_tch_h_chans_demapper.py M python/qa_tch_h_decoder.py M python/qa_txtime_bursts_tagger.py M python/qa_txtime_setter.py M python/qa_uplink_downlink_splitter.py 21 files changed, 21 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/80/24080/1 diff --git a/python/qa_arfcn.py b/python/qa_arfcn.py index 53c8fff..0a3cc4e 100755 --- a/python/qa_arfcn.py +++ b/python/qa_arfcn.py @@ -267,4 +267,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_arfcn, "qa_arfcn.xml") + gr_unittest.run(qa_arfcn) diff --git a/python/qa_burst_file_source.py b/python/qa_burst_file_source.py index cf8835e..c83c9c4 100644 --- a/python/qa_burst_file_source.py +++ b/python/qa_burst_file_source.py @@ -101,4 +101,4 @@ list(dst.get_burst_data())) if __name__ == '__main__': - gr_unittest.run(qa_burst_file_sink, "qa_burst_file_sink.xml") + gr_unittest.run(qa_burst_file_sink) diff --git a/python/qa_burst_fnr_filter.py b/python/qa_burst_fnr_filter.py index 4602ec7..945cd0b 100755 --- a/python/qa_burst_fnr_filter.py +++ b/python/qa_burst_fnr_filter.py @@ -165,4 +165,4 @@ self.assertEqual(bursts_expected, bursts_result) if __name__ == '__main__': - gr_unittest.run(qa_burst_fnr_filter, "qa_burst_fnr_filter.xml") + gr_unittest.run(qa_burst_fnr_filter) diff --git a/python/qa_burst_printer.py b/python/qa_burst_printer.py index c1fdfaf..15a7fc8 100755 --- a/python/qa_burst_printer.py +++ b/python/qa_burst_printer.py @@ -294,4 +294,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_burst_printer, "qa_burst_printer.xml") + gr_unittest.run(qa_burst_printer) diff --git a/python/qa_burst_sdcch_subslot_filter.py b/python/qa_burst_sdcch_subslot_filter.py index 4940286..bce74fd 100755 --- a/python/qa_burst_sdcch_subslot_filter.py +++ b/python/qa_burst_sdcch_subslot_filter.py @@ -208,4 +208,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_burst_sdcch_subslot_filter, "qa_burst_sdcch_subslot_filter.xml") + gr_unittest.run(qa_burst_sdcch_subslot_filter) diff --git a/python/qa_burst_sdcch_subslot_splitter.py b/python/qa_burst_sdcch_subslot_splitter.py index 7d8b8e0..a72ec01 100755 --- a/python/qa_burst_sdcch_subslot_splitter.py +++ b/python/qa_burst_sdcch_subslot_splitter.py @@ -398,4 +398,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_burst_sdcch_subslot_splitter, "qa_burst_sdcch_subslot_splitter.xml") + gr_unittest.run(qa_burst_sdcch_subslot_splitter) diff --git a/python/qa_burst_timeslot_filter.py b/python/qa_burst_timeslot_filter.py index 16001f0..041c95a 100755 --- a/python/qa_burst_timeslot_filter.py +++ b/python/qa_burst_timeslot_filter.py @@ -89,4 +89,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_burst_timeslot_filter, "qa_burst_timeslot_filter.xml") + gr_unittest.run(qa_burst_timeslot_filter) diff --git a/python/qa_burst_timeslot_splitter.py b/python/qa_burst_timeslot_splitter.py index 2f8738b..e99b44d 100755 --- a/python/qa_burst_timeslot_splitter.py +++ b/python/qa_burst_timeslot_splitter.py @@ -158,4 +158,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_burst_timeslot_splitter, "qa_burst_timeslot_splitter.xml") + gr_unittest.run(qa_burst_timeslot_splitter) diff --git a/python/qa_controlled_fractional_resampler_cc.py b/python/qa_controlled_fractional_resampler_cc.py index e00f6bc..57939de 100755 --- a/python/qa_controlled_fractional_resampler_cc.py +++ b/python/qa_controlled_fractional_resampler_cc.py @@ -40,4 +40,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_controlled_fractional_resampler_cc, "qa_controlled_fractional_resampler_cc.xml") + gr_unittest.run(qa_controlled_fractional_resampler_cc) diff --git a/python/qa_decryption.py b/python/qa_decryption.py index 663471c..995a530 100755 --- a/python/qa_decryption.py +++ b/python/qa_decryption.py @@ -199,4 +199,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_decryption, "qa_decryption.xml") + gr_unittest.run(qa_decryption) diff --git a/python/qa_dummy_burst_filter.py b/python/qa_dummy_burst_filter.py index 3215b12..fada415 100755 --- a/python/qa_dummy_burst_filter.py +++ b/python/qa_dummy_burst_filter.py @@ -99,4 +99,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_dummy_burst_filter, "qa_dummy_burst_filter.xml") + gr_unittest.run(qa_dummy_burst_filter) diff --git a/python/qa_message_printer.py b/python/qa_message_printer.py index 21e6852..b1bf05e 100755 --- a/python/qa_message_printer.py +++ b/python/qa_message_printer.py @@ -162,5 +162,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_message_printer, "qa_message_printer.xml") - + gr_unittest.run(qa_message_printer) diff --git a/python/qa_message_source_sink.py b/python/qa_message_source_sink.py index 1638345..8c375d4 100755 --- a/python/qa_message_source_sink.py +++ b/python/qa_message_source_sink.py @@ -77,4 +77,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_message_source_sink, "qa_message_source_sink.xml") + gr_unittest.run(qa_message_source_sink) diff --git a/python/qa_msg_to_tag.py b/python/qa_msg_to_tag.py index f4b6829..b897b66 100755 --- a/python/qa_msg_to_tag.py +++ b/python/qa_msg_to_tag.py @@ -40,4 +40,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_msg_to_tag, "qa_msg_to_tag.xml") + gr_unittest.run(qa_msg_to_tag) diff --git a/python/qa_tch_f_chans_demapper.py b/python/qa_tch_f_chans_demapper.py index 6643653..f101ca9 100755 --- a/python/qa_tch_f_chans_demapper.py +++ b/python/qa_tch_f_chans_demapper.py @@ -151,4 +151,4 @@ self.assertEqual(odd, self.sacch_fr_test(ts=7, frames=[90, 103, 116, 129, 142, 155, 168, 181], bursts=bursts)) if __name__ == '__main__': - gr_unittest.run(qa_tch_f_chans_demapper, "qa_tch_f_chans_demapper.xml") + gr_unittest.run(qa_tch_f_chans_demapper) diff --git a/python/qa_tch_f_decoder.py b/python/qa_tch_f_decoder.py index b6a8b65..1cac84f 100755 --- a/python/qa_tch_f_decoder.py +++ b/python/qa_tch_f_decoder.py @@ -105,4 +105,4 @@ self.assertEqual(dst.num_messages(), 0) if __name__ == '__main__': - gr_unittest.run(qa_tch_f_decoder, "qa_tch_f_decoder.xml") + gr_unittest.run(qa_tch_f_decoder) diff --git a/python/qa_tch_h_chans_demapper.py b/python/qa_tch_h_chans_demapper.py index 4348f98..15e9bfc 100755 --- a/python/qa_tch_h_chans_demapper.py +++ b/python/qa_tch_h_chans_demapper.py @@ -206,4 +206,4 @@ self.assertEqual(odd, self.sacch_hr_test(ts=7, sub=1, frames=[90, 103, 116, 129, 142, 155, 168, 181], bursts=bursts)) if __name__ == '__main__': - gr_unittest.run(qa_tch_h_chans_demapper, "qa_tch_h_chans_demapper.xml") + gr_unittest.run(qa_tch_h_chans_demapper) diff --git a/python/qa_tch_h_decoder.py b/python/qa_tch_h_decoder.py index b0bd469..7d64d64 100755 --- a/python/qa_tch_h_decoder.py +++ b/python/qa_tch_h_decoder.py @@ -187,4 +187,4 @@ []) #Must return an empty array if __name__ == '__main__': - gr_unittest.run(qa_tch_h_decoder, "qa_tch_h_decoder.xml") + gr_unittest.run(qa_tch_h_decoder) diff --git a/python/qa_txtime_bursts_tagger.py b/python/qa_txtime_bursts_tagger.py index fd15b10..8b4c990 100755 --- a/python/qa_txtime_bursts_tagger.py +++ b/python/qa_txtime_bursts_tagger.py @@ -103,4 +103,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_txtime_bursts_tagger, "qa_txtime_bursts_tagger.xml") + gr_unittest.run(qa_txtime_bursts_tagger) diff --git a/python/qa_txtime_setter.py b/python/qa_txtime_setter.py index d5509a9..9d9d839 100755 --- a/python/qa_txtime_setter.py +++ b/python/qa_txtime_setter.py @@ -40,4 +40,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_txtime_setter, "qa_txtime_setter.xml") + gr_unittest.run(qa_txtime_setter) diff --git a/python/qa_uplink_downlink_splitter.py b/python/qa_uplink_downlink_splitter.py index 681331b..b129ae3 100755 --- a/python/qa_uplink_downlink_splitter.py +++ b/python/qa_uplink_downlink_splitter.py @@ -40,4 +40,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_uplink_downlink_splitter, "qa_uplink_downlink_splitter.xml") + gr_unittest.run(qa_uplink_downlink_splitter) -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24080 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I7d6dbc32ff794ebf2bc116fa7437062e6780b85f Gerrit-Change-Number: 24080 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:47 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:47 +0000 Subject: Change in gr-gsm[master]: Build the grgsm_livemon man page References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24081 to review the following change. Change subject: Build the grgsm_livemon man page ...................................................................... Build the grgsm_livemon man page Change-Id: Ie128d68965b5cb2c919afa408b4c8aa7ca87ea8c --- M docs/CMakeLists.txt 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/81/24081/1 diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index f9b8b40..ed0fe3d 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -53,7 +53,7 @@ if(NOT RST2MAN_EXECUTABLE) message(WARNING "rst2man from python-docutils is required to build man pages") else() - #build_man_page(MAN1_OUTPUT grgsm_livemon.rst grgsm_livemon.1) + build_man_page(MAN1_OUTPUT grgsm_livemon.rst grgsm_livemon.1) install(FILES ${MAN1_OUTPUT} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1) endif() -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24081 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ie128d68965b5cb2c919afa408b4c8aa7ca87ea8c Gerrit-Change-Number: 24081 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:47 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:47 +0000 Subject: Change in gr-gsm[master]: Python 3 compatibility changes in fn_time.py References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24082 to review the following change. Change subject: Python 3 compatibility changes in fn_time.py ...................................................................... Python 3 compatibility changes in fn_time.py - Use range instead of xrange as it has been removed - Use integer division operator (//) - Import uniform and fn_time_delta_cpp only when started as a script - Remove the unused imports Change-Id: I268e0aec8fb8e6d490bfb8b0e9e6d169a9f6c352 --- M python/misc_utils/fn_time.py 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/82/24082/1 diff --git a/python/misc_utils/fn_time.py b/python/misc_utils/fn_time.py index 17c6295..93342bd 100644 --- a/python/misc_utils/fn_time.py +++ b/python/misc_utils/fn_time.py @@ -20,9 +20,6 @@ # Boston, MA 02110-1301, USA. # # -from math import floor, ceil -from random import uniform -from grgsm import fn_time_delta_cpp __hyper_frame = 26*51*2048 __symb_rate = 13.0e6/48.0 @@ -72,10 +69,13 @@ if __name__ == "__main__": + from random import uniform + from grgsm import fn_time_delta_cpp + fn1 = 10000 ts_ref = 4 time1 = 10.5 - for fn2 in xrange(__hyper_frame/2+fn1-10,__hyper_frame/2*10+fn1+100,10): + for fn2 in range(__hyper_frame//2+fn1-10,__hyper_frame//2*10+fn1+100,10): ts_x = int(uniform(0,8)) time2 = time1 + (fn2-fn1)*__frame_period + (ts_x-ts_ref)*__ts_period error = uniform(-6200,6200) -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I268e0aec8fb8e6d490bfb8b0e9e6d169a9f6c352 Gerrit-Change-Number: 24082 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:48 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:48 +0000 Subject: Change in gr-gsm[master]: tests: Close the temp file handle in qa_burst_file_source References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24083 to review the following change. Change subject: tests: Close the temp file handle in qa_burst_file_source ...................................................................... tests: Close the temp file handle in qa_burst_file_source This fixes the following warning ./usr/lib64/python3.7/unittest/case.py:645: ResourceWarning: unclosed file <_io.BufferedWriter name='/tmp/tmpkkz_akd6'> testMethod() ResourceWarning: Enable tracemalloc to get the object allocation traceback Change-Id: I66c2be2e5bf6915e3df253b3a69f5516534e3750 --- M python/qa_burst_file_source.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/83/24083/1 diff --git a/python/qa_burst_file_source.py b/python/qa_burst_file_source.py index c83c9c4..bfdcc73 100644 --- a/python/qa_burst_file_source.py +++ b/python/qa_burst_file_source.py @@ -51,6 +51,7 @@ 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01 ])) handle.flush(); + handle.close(); src = grgsm.burst_file_source(temp.name); dst = grgsm.burst_sink(); @@ -88,6 +89,7 @@ 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01 ])) handle.flush(); + handle.close(); src = grgsm.burst_file_source(temp.name); dst = grgsm.burst_sink(); -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I66c2be2e5bf6915e3df253b3a69f5516534e3750 Gerrit-Change-Number: 24083 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:49 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:49 +0000 Subject: Change in gr-gsm[master]: Add .dockerignore file References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24084 to review the following change. Change subject: Add .dockerignore file ...................................................................... Add .dockerignore file Change-Id: I8d4b527a2e5c7b69e5c7338cafba3fbdac381ae1 --- A .dockerignore 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/84/24084/1 diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..1b2211d --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +build* -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24084 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I8d4b527a2e5c7b69e5c7338cafba3fbdac381ae1 Gerrit-Change-Number: 24084 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:49 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:49 +0000 Subject: Change in gr-gsm[master]: travis: Install gr-osmosdr from the apt repository References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24085 to review the following change. Change subject: travis: Install gr-osmosdr from the apt repository ...................................................................... travis: Install gr-osmosdr from the apt repository Also install liborc-dev as gnuradio depends on it Change-Id: I0bbc33a39ef1e4edc1636c338e429639e0b15066 --- M tests/dockerfiles/Debian_testing.docker M tests/dockerfiles/Kali.docker 2 files changed, 9 insertions(+), 44 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/85/24085/1 diff --git a/tests/dockerfiles/Debian_testing.docker b/tests/dockerfiles/Debian_testing.docker index c482c52..c4c3057 100644 --- a/tests/dockerfiles/Debian_testing.docker +++ b/tests/dockerfiles/Debian_testing.docker @@ -13,31 +13,13 @@ liblog4cpp5-dev \ python3-docutils \ python3-scipy \ - gnuradio-dev gnuradio libgmp-dev libboost-regex-dev \ - libosmocore-dev - -# packages needed for gr-iqbal and gr-osmosdr -RUN apt-get install -y git libuhd-dev liborc-0.4-dev + gnuradio-dev gnuradio libgmp-dev libboost-regex-dev liborc-dev \ + libosmocore-dev \ + gr-osmosdr COPY ./ /src/ -RUN git clone --branch maint-3.8 --recurse-submodules https://github.com/velichkov/gr-iqbal && \ - cd gr-iqbal && \ - mkdir build && \ - cd build && \ - cmake .. && \ - make -j $(nproc) install && \ - ldconfig - -RUN git clone --branch maint-3.8 https://github.com/velichkov/gr-osmosdr && \ - cd gr-osmosdr && \ - mkdir build && \ - cd build && \ - cmake .. && \ - make -j $(nproc) install && \ - ldconfig - -RUN mkdir /src/build +RUN mkdir -p /src/build WORKDIR /src/build RUN PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH cmake .. && \ diff --git a/tests/dockerfiles/Kali.docker b/tests/dockerfiles/Kali.docker index 8949bb5..a953ece 100644 --- a/tests/dockerfiles/Kali.docker +++ b/tests/dockerfiles/Kali.docker @@ -13,32 +13,15 @@ liblog4cpp5-dev \ python3-docutils \ python3-scipy \ - gnuradio-dev gnuradio libgmp-dev libboost-regex-dev \ - libosmocore-dev - -# packages needed for gr-iqbal and gr-osmosdr -RUN apt-get install -y git libuhd-dev liborc-0.4-dev + gnuradio-dev gnuradio libgmp-dev libboost-regex-dev liborc-dev \ + libosmocore-dev \ + gr-osmosdr COPY ./ /src/ -RUN git clone --branch maint-3.8 --recurse-submodules https://github.com/velichkov/gr-iqbal && \ - cd gr-iqbal && \ - mkdir build && \ - cd build && \ - cmake .. && \ - make -j $(nproc) install && \ - ldconfig - -RUN git clone --branch maint-3.8 https://github.com/velichkov/gr-osmosdr && \ - cd gr-osmosdr && \ - mkdir build && \ - cd build && \ - cmake .. && \ - make -j $(nproc) install && \ - ldconfig - -RUN mkdir /src/build +RUN mkdir -p /src/build WORKDIR /src/build + RUN PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH cmake .. && \ # The parallel build sometimes fails when the .grc_gnuradio # and .gnuradio directories do not exist -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24085 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I0bbc33a39ef1e4edc1636c338e429639e0b15066 Gerrit-Change-Number: 24085 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:50 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:50 +0000 Subject: Change in gr-gsm[master]: travis: Use bionic build environment References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24086 to review the following change. Change subject: travis: Use bionic build environment ...................................................................... travis: Use bionic build environment https: //docs.travis-ci.com/user/reference/bionic/ Change-Id: I8f622506329ee97ff3555c2a43a2165303d9ae82 --- M .travis.yml 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/86/24086/1 diff --git a/.travis.yml b/.travis.yml index 5230b46..182e006 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,5 @@ sudo: required +dist: bionic language: ruby -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24086 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I8f622506329ee97ff3555c2a43a2165303d9ae82 Gerrit-Change-Number: 24086 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:50 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:50 +0000 Subject: Change in gr-gsm[master]: tests: fix some shellcheck errors. References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24087 to review the following change. Change subject: tests: fix some shellcheck errors. ...................................................................... tests: fix some shellcheck errors. Execute "gnuradio-config-info --version" instead of "gnuradio-companion --version" Change-Id: Ia399324ae7a39e120e338c86d449d7c4d54bd866 --- M tests/scripts/decode.sh M tests/scripts/decrypt.sh 2 files changed, 8 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/87/24087/1 diff --git a/tests/scripts/decode.sh b/tests/scripts/decode.sh index b982709..98aa165 100755 --- a/tests/scripts/decode.sh +++ b/tests/scripts/decode.sh @@ -1,6 +1,6 @@ #!/bin/bash -TEST_DIR=`dirname "$0"` +TEST_DIR=$(dirname "$0") # PYTHONPATH and LD_LIBRARY_PATH are needed on Fedora 26 # @@ -18,11 +18,10 @@ export RUNLINE="$AP_DECODE -c $SHORTENED_CAPFILE -s $((100000000/174)) -m BCCH -t 0 -v --ppm -10" echo "Testing with:" echo " $RUNLINE" -#gnuradio 3.8 does not have --version parameter -#gnuradio-companion --version +gnuradio-config-info --version -cd $TEST_DIR -cat $CAPFILE | head -c 6000000 > $SHORTENED_CAPFILE +cd "$TEST_DIR" || exit 1 +head -c 6000000 $CAPFILE > $SHORTENED_CAPFILE $RUNLINE | grep -A 999999 "860933 1329237: 59 06 1a 8f 6d 18 10 80 00 00 00 00 00 00 00 00 00 00 00 78 b9 00 00" | tee $RESULT_OBTAINED diff $RESULT_EXPECTED $RESULT_OBTAINED diff --git a/tests/scripts/decrypt.sh b/tests/scripts/decrypt.sh index 7f9bc60..824955f 100755 --- a/tests/scripts/decrypt.sh +++ b/tests/scripts/decrypt.sh @@ -1,6 +1,6 @@ #!/bin/bash -TEST_DIR=`dirname "$0"` +TEST_DIR=$(dirname "$0") # PYTHONPATH and LD_LIBRARY_PATH are needed on Fedora 26 # @@ -18,11 +18,10 @@ export RUNLINE="$AP_DECODE -c $SHORTENED_CAPFILE -s $((100000000/174)) -m SDCCH8 -t 1 -k 0x1E,0xF0,0x0B,0xAB,0x3B,0xAC,0x70,0x02 -v --ppm -10" echo "Testing with:" echo " $RUNLINE" -#gnuradio 3.8 does not have --version parameter -#gnuradio-companion --version +gnuradio-config-info --version -cd $TEST_DIR -cat $CAPFILE | head -c -37000000 | head -c 35800000 > $SHORTENED_CAPFILE +cd "$TEST_DIR" || exit 1 +head -c -37000000 $CAPFILE | head -c 35800000 > $SHORTENED_CAPFILE $RUNLINE | grep -A 999999 "862210 1331352: 03 03 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b" | tee $RESULT_OBTAINED diff -u $RESULT_EXPECTED $RESULT_OBTAINED -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ia399324ae7a39e120e338c86d449d7c4d54bd866 Gerrit-Change-Number: 24087 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:50 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:50 +0000 Subject: Change in gr-gsm[master]: tests: Get more information about CPU and user limits References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24088 to review the following change. Change subject: tests: Get more information about CPU and user limits ...................................................................... tests: Get more information about CPU and user limits Change-Id: I0bd3c206f422e11a59070a1c9aace38201ff7c85 --- M tests/scripts/decode.sh M tests/scripts/decrypt.sh 2 files changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/88/24088/1 diff --git a/tests/scripts/decode.sh b/tests/scripts/decode.sh index 98aa165..1ec7bf8 100755 --- a/tests/scripts/decode.sh +++ b/tests/scripts/decode.sh @@ -19,6 +19,8 @@ echo "Testing with:" echo " $RUNLINE" gnuradio-config-info --version +cat /proc/cpuinfo +ulimit -a cd "$TEST_DIR" || exit 1 head -c 6000000 $CAPFILE > $SHORTENED_CAPFILE diff --git a/tests/scripts/decrypt.sh b/tests/scripts/decrypt.sh index 824955f..5c33537 100755 --- a/tests/scripts/decrypt.sh +++ b/tests/scripts/decrypt.sh @@ -19,6 +19,8 @@ echo "Testing with:" echo " $RUNLINE" gnuradio-config-info --version +cat /proc/cpuinfo +ulimit -a cd "$TEST_DIR" || exit 1 head -c -37000000 $CAPFILE | head -c 35800000 > $SHORTENED_CAPFILE -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24088 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I0bd3c206f422e11a59070a1c9aace38201ff7c85 Gerrit-Change-Number: 24088 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:51 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:51 +0000 Subject: Change in gr-gsm[master]: tests: export VOLK_GENERIC=1 to workaround VOLK's bug 278 References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24089 to review the following change. Change subject: tests: export VOLK_GENERIC=1 to workaround VOLK's bug 278 ...................................................................... tests: export VOLK_GENERIC=1 to workaround VOLK's bug 278 Change-Id: Ib9ad4384388e480b8fa2f91e02359c85c749e802 --- M tests/scripts/decode.sh M tests/scripts/decrypt.sh 2 files changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/89/24089/1 diff --git a/tests/scripts/decode.sh b/tests/scripts/decode.sh index 1ec7bf8..402e818 100755 --- a/tests/scripts/decode.sh +++ b/tests/scripts/decode.sh @@ -25,7 +25,13 @@ cd "$TEST_DIR" || exit 1 head -c 6000000 $CAPFILE > $SHORTENED_CAPFILE +# VOLK_GENERIC=1 is a temporary workaround for the following VOLK's bug +# https://github.com/gnuradio/volk/pull/278 +# https://github.com/gnuradio/gnuradio/issues/2748 +export VOLK_GENERIC=1 + $RUNLINE | grep -A 999999 "860933 1329237: 59 06 1a 8f 6d 18 10 80 00 00 00 00 00 00 00 00 00 00 00 78 b9 00 00" | tee $RESULT_OBTAINED + diff $RESULT_EXPECTED $RESULT_OBTAINED TEST_RESULT=$? diff --git a/tests/scripts/decrypt.sh b/tests/scripts/decrypt.sh index 5c33537..335528a 100755 --- a/tests/scripts/decrypt.sh +++ b/tests/scripts/decrypt.sh @@ -25,6 +25,11 @@ cd "$TEST_DIR" || exit 1 head -c -37000000 $CAPFILE | head -c 35800000 > $SHORTENED_CAPFILE +# VOLK_GENERIC=1 is a temporary workaround for the following VOLK's bug +# https://github.com/gnuradio/volk/pull/278 +# https://github.com/gnuradio/gnuradio/issues/2748 +export VOLK_GENERIC=1 + $RUNLINE | grep -A 999999 "862210 1331352: 03 03 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b" | tee $RESULT_OBTAINED diff -u $RESULT_EXPECTED $RESULT_OBTAINED TEST_RESULT=$? -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24089 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ib9ad4384388e480b8fa2f91e02359c85c749e802 Gerrit-Change-Number: 24089 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:51 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:51 +0000 Subject: Change in gr-gsm[master]: Print the error message on stderr in a python2 compatible way References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24090 to review the following change. Change subject: Print the error message on stderr in a python2 compatible way ...................................................................... Print the error message on stderr in a python2 compatible way Change-Id: Iaea1510b02a2df924ef9777d107d22c45cb37d12 --- M apps/grgsm_decode 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/90/24090/1 diff --git a/apps/grgsm_decode b/apps/grgsm_decode index d754fc7..000440f 100755 --- a/apps/grgsm_decode +++ b/apps/grgsm_decode @@ -369,7 +369,7 @@ parser.error("Invalid A5 version\n") if options.cfile and (options.fc is None and options.arfcn is None): - print("You haven't provided a frequency or an ARFCN - working without automatic frequency offset correction.\n", file=sys.stderr) + sys.stderr.write("You haven't provided a frequency or an ARFCN - working without automatic frequency offset correction.\n") # handle frequency / arfcn input arfcn = None -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iaea1510b02a2df924ef9777d107d22c45cb37d12 Gerrit-Change-Number: 24090 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:51 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:51 +0000 Subject: Change in gr-gsm[master]: travis: Test in Ubuntu 18.04 container References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24091 to review the following change. Change subject: travis: Test in Ubuntu 18.04 container ...................................................................... travis: Test in Ubuntu 18.04 container - Install gnuradio from the new official PPA repository https://launchpad.net/~gnuradio/+archive/ubuntu/gnuradio-releases Change-Id: Iaa8813ab0ae91b667285ab3ef42ffaa279e3a885 --- M .dockerignore M .travis.yml A tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker 3 files changed, 53 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/91/24091/1 diff --git a/.dockerignore b/.dockerignore index 1b2211d..ef67c26 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1 +1,2 @@ build* +.git diff --git a/.travis.yml b/.travis.yml index 182e006..437e66e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,6 +9,7 @@ # - DOCKERFILE=tests/dockerfiles/Ubuntu_16_04_nolibosmo.docker IMGNAME=ubu16.04-grgsm-nolibosmo - DOCKERFILE=tests/dockerfiles/Kali.docker IMGNAME=kali-grgsm # - DOCKERFILE=tests/dockerfiles/Fedora_26.Dockerfile IMGNAME=fedora26-grgsm + - DOCKERFILE=tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker IMGNAME=ubuntu_18_04_gnuradio_ppa services: diff --git a/tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker b/tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker new file mode 100644 index 0000000..e0f45a5 --- /dev/null +++ b/tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker @@ -0,0 +1,51 @@ +FROM ubuntu:18.04 +MAINTAINER Vasil Velichkov + +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ + software-properties-common && \ + add-apt-repository --yes ppa:gnuradio/gnuradio-releases && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y \ + git \ + cmake \ + autoconf \ + libtool \ + pkg-config \ + build-essential \ + python-docutils \ + libcppunit-dev \ + swig \ + doxygen \ + liblog4cpp5-dev \ + python-scipy \ + gnuradio-dev gnuradio libgmp-dev libboost-regex-dev liborc-dev libuhd-dev \ + libosmocore-dev + +RUN git clone --branch maint-3.8 --recurse-submodules https://github.com/velichkov/gr-iqbal && \ + cd gr-iqbal && \ + mkdir build && \ + cd build && \ + cmake -DENABLE_DOXYGEN=OFF .. && \ + make -j $(nproc) install + +RUN git clone --branch maint-3.8 https://github.com/velichkov/gr-osmosdr && \ + cd gr-osmosdr && \ + mkdir build && \ + cd build && \ + cmake -DENABLE_DOXYGEN=OFF .. && \ + make -j $(nproc) install + +COPY ./ /src/ +RUN mkdir /src/build +WORKDIR /src/build + +#PYTHONPATH is needed as gr-osmosdr gets installed in /usr/local/lib/python3/... +ENV PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH + +RUN cmake .. && \ + # The parallel build sometimes fails when the .grc_gnuradio + # and .gnuradio directories do not exist + mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ + make -j $(nproc) && \ + make install && \ + ldconfig && \ + make CTEST_OUTPUT_ON_FAILURE=1 test -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iaa8813ab0ae91b667285ab3ef42ffaa279e3a885 Gerrit-Change-Number: 24091 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:51 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:51 +0000 Subject: Change in gr-gsm[master]: Log import errors as currently GRC 3.8 suppress them References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24092 to review the following change. Change subject: Log import errors as currently GRC 3.8 suppress them ...................................................................... Log import errors as currently GRC 3.8 suppress them See gnuradio/grc/core/FlowGraph.py:194 Change-Id: Ie6213428c218720692a544c98dc32c16bd50cbe1 --- M python/__init__.py 1 file changed, 20 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/92/24092/1 diff --git a/python/__init__.py b/python/__init__.py index 87a62d6..b68df4a 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -43,21 +43,25 @@ os.path.join(dirname, "transmitter"), os.path.join(dirname, "trx")] -# import swig generated symbols into the gsm namespace -from .grgsm_swig import * +try: + # import swig generated symbols into the gsm namespace + from .grgsm_swig import * -# import any pure python here + # import any pure python here -#from fcch_burst_tagger import fcch_burst_tagger -#from sch_detector import sch_detector -#from fcch_detector import fcch_detector -from .clock_offset_corrector_tagged import clock_offset_corrector_tagged -from .gsm_input import gsm_input -from .gsm_bcch_ccch_demapper import gsm_bcch_ccch_demapper -from .gsm_bcch_ccch_sdcch4_demapper import gsm_bcch_ccch_sdcch4_demapper -from .gsm_sdcch8_demapper import gsm_sdcch8_demapper -from .gsm_gmsk_mod import gsm_gmsk_mod -from .fn_time import * -from .txtime_bursts_tagger import * -from .arfcn import * -from .device import * + #from fcch_burst_tagger import fcch_burst_tagger + #from sch_detector import sch_detector + #from fcch_detector import fcch_detector + from .clock_offset_corrector_tagged import clock_offset_corrector_tagged + from .gsm_input import gsm_input + from .gsm_bcch_ccch_demapper import gsm_bcch_ccch_demapper + from .gsm_bcch_ccch_sdcch4_demapper import gsm_bcch_ccch_sdcch4_demapper + from .gsm_sdcch8_demapper import gsm_sdcch8_demapper + from .gsm_gmsk_mod import gsm_gmsk_mod + from .fn_time import * + from .txtime_bursts_tagger import * + from .arfcn import * + from .device import * +except ImportError as e: + import traceback; traceback.print_exc() + raise -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ie6213428c218720692a544c98dc32c16bd50cbe1 Gerrit-Change-Number: 24092 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:52 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:52 +0000 Subject: Change in gr-gsm[master]: Fix compiling with the local libosmocore copy References: Message-ID: Hello vvvelichkov, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24093 to review the following change. Change subject: Fix compiling with the local libosmocore copy ...................................................................... Fix compiling with the local libosmocore copy Change-Id: Ic72e6ca7f9cc40bc2d78b931e54e66cd71444835 --- M lib/CMakeLists.txt 1 file changed, 16 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/93/24093/1 diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index e7dae14..bc1baeb 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -77,22 +77,32 @@ add_subdirectory(trx) if(NOT LOCAL_OSMOCOM) - list (APPEND grgsm_link_libraries ${LIBOSMOCORE_LIBRARIES} ${LIBOSMOCODEC_LIBRARIES} ${LIBOSMOGSM_LIBRARY}) + list (APPEND grgsm_link_libraries ${LIBOSMOCORE_LIBRARY} ${LIBOSMOCODEC_LIBRARY} ${LIBOSMOGSM_LIBRARY}) if(LIBOSMOCODING_FOUND) list (APPEND grgsm_link_libraries - ${LIBOSMOCODING_LIBRARIES} - ) + ${LIBOSMOCODING_LIBRARY} + ) list (APPEND grgsm_include_directories - ${LIBOSMOCORE_INCLUDE_DIR} + PUBLIC $ + ) + else() + list (APPEND grgsm_include_directories + PUBLIC $ ) endif() -endif() +else(NOT LOCAL_OSMOCOM) + list (APPEND grgsm_include_directories + PUBLIC $ + ) +endif(NOT LOCAL_OSMOCOM) + add_library(grgsm SHARED ${grgsm_sources}) -target_link_libraries(grgsm gnuradio::gnuradio-runtime gnuradio::gnuradio-filter volk osmocoding) +target_link_libraries(grgsm gnuradio::gnuradio-runtime gnuradio::gnuradio-filter volk ${grgsm_link_libraries}) target_include_directories(grgsm PUBLIC $ PUBLIC $ + ${grgsm_include_directories} PUBLIC $ PUBLIC $ ) -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ic72e6ca7f9cc40bc2d78b931e54e66cd71444835 Gerrit-Change-Number: 24093 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:52 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:52 +0000 Subject: Change in gr-gsm[master]: trx: Removing old and unused grc based radio_if References: Message-ID: ptrkrysik has uploaded this change for review. ( https://gerrit.osmocom.org/c/gr-gsm/+/24094 ) Change subject: trx: Removing old and unused grc based radio_if ...................................................................... trx: Removing old and unused grc based radio_if Change-Id: I7d43e6f2962b21ff03601cf1b1aafc222f2c4661 --- M python/trx/CMakeLists.txt D python/trx/radio_if_grc.py 2 files changed, 0 insertions(+), 269 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/94/24094/1 diff --git a/python/trx/CMakeLists.txt b/python/trx/CMakeLists.txt index 697687b..1069db8 100644 --- a/python/trx/CMakeLists.txt +++ b/python/trx/CMakeLists.txt @@ -26,7 +26,6 @@ radio_if.py radio_if_uhd.py radio_if_lms.py - radio_if_grc.py transceiver.py dict_toggle_sign.py DESTINATION ${GR_PYTHON_DIR}/grgsm/trx diff --git a/python/trx/radio_if_grc.py b/python/trx/radio_if_grc.py deleted file mode 100755 index fb9b100..0000000 --- a/python/trx/radio_if_grc.py +++ /dev/null @@ -1,268 +0,0 @@ -#!/usr/bin/env python2 -# -*- coding: utf-8 -*- -################################################## -# GNU Radio Python Flow Graph -# Title: Trx radio interface -# Author: (C) Piotr Krysik 2017 -# Description: Alpha version of trx radio interface -# Generated: Fri Dec 1 10:49:25 2017 -################################################## - -from dict_toggle_sign import dict_toggle_sign -from gnuradio import blocks -from gnuradio import digital -from gnuradio import eng_notation -from gnuradio import filter -from gnuradio import gr -from gnuradio import uhd -from gnuradio.eng_option import eng_option -from gnuradio.filter import firdes -from grgsm import gsm_gmsk_mod -from optparse import OptionParser -import grgsm -import math -import time - - -class RadioInterfaceGRC(gr.top_block): - - def __init__(self, delay_correction=285.616e-6, osr=4, ppm=-0.799427, rx_freq=935e6+36*0.2e6, rx_gain=40, samp_rate=13e6/12.0, timing_advance=0, trx_base_port="5710", trx_remote_addr="127.0.0.1", tx_freq=935e6+36*0.2e6-45e6, tx_gain=40, uplink_shift=-(6.0/1625000*(156.25)*3)): - gr.top_block.__init__(self, "Trx radio interface") - - ################################################## - # Parameters - ################################################## - self.delay_correction = delay_correction - self.osr = osr - self.ppm = ppm - self.rx_freq = rx_freq - self.rx_gain = rx_gain - self.samp_rate = samp_rate - self.timing_advance = timing_advance - self.trx_base_port = trx_base_port - self.trx_remote_addr = trx_remote_addr - self.tx_freq = tx_freq - self.tx_gain = tx_gain - self.uplink_shift = uplink_shift - - ################################################## - # Blocks - ################################################## - self.uhd_usrp_source_0 = uhd.usrp_source( - ",".join(("", "")), - uhd.stream_args( - cpu_format="fc32", - channels=range(1), - ), - ) - self.uhd_usrp_source_0.set_clock_rate(26e6, uhd.ALL_MBOARDS) - self.uhd_usrp_source_0.set_samp_rate(samp_rate) - self.uhd_usrp_source_0.set_center_freq(rx_freq, 0) - self.uhd_usrp_source_0.set_gain(rx_gain, 0) - self.uhd_usrp_source_0.set_antenna("RX2", 0) - self.uhd_usrp_sink_0 = uhd.usrp_sink( - ",".join(("", "")), - uhd.stream_args( - cpu_format="fc32", - channels=range(1), - ), - "packet_len", - ) - self.uhd_usrp_sink_0.set_clock_rate(26e6, uhd.ALL_MBOARDS) - self.uhd_usrp_sink_0.set_subdev_spec("A:B", 0) - self.uhd_usrp_sink_0.set_samp_rate(samp_rate) - self.uhd_usrp_sink_0.set_center_freq(tx_freq, 0) - self.uhd_usrp_sink_0.set_gain(tx_gain, 0) - self.uhd_usrp_sink_0.set_antenna("TX/RX", 0) - self.ts_filter = grgsm.burst_timeslot_filter(0) - self.low_pass_filter_0_0 = filter.fir_filter_ccf(1, firdes.low_pass( - 1, samp_rate, 125e3, 5e3, firdes.WIN_HAMMING, 6.76)) - self.gsm_txtime_setter_0 = grgsm.txtime_setter(None if (None is not None) else 0xffffffff, 0, 0, 0, 0, timing_advance, delay_correction+uplink_shift) - self.gsm_trx_burst_if_0 = grgsm.trx_burst_if(trx_remote_addr, trx_base_port) - self.gsm_receiver_0 = grgsm.receiver(4, ([0]), ([4]), False) - self.gsm_preprocess_tx_burst_0 = grgsm.preprocess_tx_burst() - self.gsm_msg_to_tag_0_0 = grgsm.msg_to_tag() - self.gsm_msg_to_tag_0 = grgsm.msg_to_tag() - self.gsm_gmsk_mod_0 = gsm_gmsk_mod( - BT=0.3, - pulse_duration=4, - sps=osr, - ) - self.gsm_controlled_rotator_cc_0_0 = grgsm.controlled_rotator_cc(-ppm/1.0e6*2*math.pi*tx_freq/samp_rate) - self.gsm_controlled_rotator_cc_0 = grgsm.controlled_rotator_cc(ppm/1.0e6*2*math.pi*rx_freq/samp_rate) - self.gsm_clock_offset_control_0 = grgsm.clock_offset_control(rx_freq, samp_rate, osr) - self.gsm_burst_type_filter_0 = grgsm.burst_type_filter(([3])) - self.gsm_burst_to_fn_time_0 = grgsm.burst_to_fn_time() - self.digital_burst_shaper_xx_0 = digital.burst_shaper_cc((firdes.window(firdes.WIN_HANN, 16, 0)), 0, 20, False, "packet_len") - self.dict_toggle_sign = dict_toggle_sign() - self.blocks_pdu_to_tagged_stream_0_0 = blocks.pdu_to_tagged_stream(blocks.byte_t, "packet_len") - - ################################################## - # Connections - ################################################## - self.msg_connect((self.dict_toggle_sign, 'dict_out'), (self.gsm_msg_to_tag_0_0, 'msg')) - self.msg_connect((self.gsm_burst_to_fn_time_0, 'fn_time_out'), (self.gsm_txtime_setter_0, 'fn_time')) - self.msg_connect((self.gsm_burst_type_filter_0, 'bursts_out'), (self.gsm_burst_to_fn_time_0, 'bursts_in')) - self.msg_connect((self.gsm_clock_offset_control_0, 'ctrl'), (self.dict_toggle_sign, 'dict_in')) - self.msg_connect((self.gsm_clock_offset_control_0, 'ctrl'), (self.gsm_msg_to_tag_0, 'msg')) - self.msg_connect((self.gsm_preprocess_tx_burst_0, 'bursts_out'), (self.blocks_pdu_to_tagged_stream_0_0, 'pdus')) - self.msg_connect((self.gsm_receiver_0, 'C0'), (self.gsm_burst_type_filter_0, 'bursts_in')) - self.msg_connect((self.gsm_receiver_0, 'measurements'), (self.gsm_clock_offset_control_0, 'measurements')) - self.msg_connect((self.gsm_receiver_0, 'C0'), (self.ts_filter, 'in')) - self.msg_connect((self.gsm_trx_burst_if_0, 'bursts'), (self.gsm_txtime_setter_0, 'bursts_in')) - self.msg_connect((self.gsm_txtime_setter_0, 'bursts_out'), (self.gsm_preprocess_tx_burst_0, 'bursts_in')) - self.msg_connect((self.ts_filter, 'out'), (self.gsm_trx_burst_if_0, 'bursts')) - self.connect((self.blocks_pdu_to_tagged_stream_0_0, 0), (self.gsm_gmsk_mod_0, 0)) - self.connect((self.digital_burst_shaper_xx_0, 0), (self.gsm_msg_to_tag_0_0, 0)) - self.connect((self.gsm_controlled_rotator_cc_0, 0), (self.low_pass_filter_0_0, 0)) - self.connect((self.gsm_controlled_rotator_cc_0_0, 0), (self.uhd_usrp_sink_0, 0)) - self.connect((self.gsm_gmsk_mod_0, 0), (self.digital_burst_shaper_xx_0, 0)) - self.connect((self.gsm_msg_to_tag_0, 0), (self.gsm_controlled_rotator_cc_0, 0)) - self.connect((self.gsm_msg_to_tag_0_0, 0), (self.gsm_controlled_rotator_cc_0_0, 0)) - self.connect((self.low_pass_filter_0_0, 0), (self.gsm_receiver_0, 0)) - self.connect((self.uhd_usrp_source_0, 0), (self.gsm_msg_to_tag_0, 0)) - - def get_delay_correction(self): - return self.delay_correction - - def set_delay_correction(self, delay_correction): - self.delay_correction = delay_correction - self.gsm_txtime_setter_0.set_delay_correction(self.delay_correction+self.uplink_shift) - - def get_osr(self): - return self.osr - - def set_osr(self, osr): - self.osr = osr - self.gsm_gmsk_mod_0.set_sps(self.osr) - - def get_ppm(self): - return self.ppm - - def set_ppm(self, ppm): - self.ppm = ppm - self.gsm_controlled_rotator_cc_0.set_phase_inc(self.ppm/1.0e6*2*math.pi*self.rx_freq/self.samp_rate) - self.gsm_controlled_rotator_cc_0_0.set_phase_inc(-self.ppm/1.0e6*2*math.pi*self.tx_freq/self.samp_rate) - - def get_rx_freq(self): - return self.rx_freq - - def set_rx_freq(self, rx_freq): - self.rx_freq = rx_freq - self.gsm_controlled_rotator_cc_0.set_phase_inc(self.ppm/1.0e6*2*math.pi*self.rx_freq/self.samp_rate) - self.uhd_usrp_source_0.set_center_freq(self.rx_freq, 0) - - def get_rx_gain(self): - return self.rx_gain - - def set_rx_gain(self, rx_gain): - self.rx_gain = rx_gain - self.uhd_usrp_source_0.set_gain(self.rx_gain, 0) - - - def get_samp_rate(self): - return self.samp_rate - - def set_samp_rate(self, samp_rate): - self.samp_rate = samp_rate - self.gsm_controlled_rotator_cc_0.set_phase_inc(self.ppm/1.0e6*2*math.pi*self.rx_freq/self.samp_rate) - self.gsm_controlled_rotator_cc_0_0.set_phase_inc(-self.ppm/1.0e6*2*math.pi*self.tx_freq/self.samp_rate) - self.low_pass_filter_0_0.set_taps(firdes.low_pass(1, self.samp_rate, 125e3, 5e3, firdes.WIN_HAMMING, 6.76)) - self.uhd_usrp_sink_0.set_samp_rate(self.samp_rate) - self.uhd_usrp_source_0.set_samp_rate(self.samp_rate) - - def get_timing_advance(self): - return self.timing_advance - - def set_timing_advance(self, timing_advance): - self.timing_advance = timing_advance - self.gsm_txtime_setter_0.set_timing_advance(self.timing_advance) - - def get_trx_base_port(self): - return self.trx_base_port - - def set_trx_base_port(self, trx_base_port): - self.trx_base_port = trx_base_port - - def get_trx_remote_addr(self): - return self.trx_remote_addr - - def set_trx_remote_addr(self, trx_remote_addr): - self.trx_remote_addr = trx_remote_addr - - def get_tx_freq(self): - return self.tx_freq - - def set_tx_freq(self, tx_freq): - self.tx_freq = tx_freq - self.gsm_controlled_rotator_cc_0_0.set_phase_inc(-self.ppm/1.0e6*2*math.pi*self.tx_freq/self.samp_rate) - self.uhd_usrp_sink_0.set_center_freq(self.tx_freq, 0) - - def get_tx_gain(self): - return self.tx_gain - - def set_tx_gain(self, tx_gain): - self.tx_gain = tx_gain - self.uhd_usrp_sink_0.set_gain(self.tx_gain, 0) - - - def get_uplink_shift(self): - return self.uplink_shift - - def set_uplink_shift(self, uplink_shift): - self.uplink_shift = uplink_shift - self.gsm_txtime_setter_0.set_delay_correction(self.delay_correction+self.uplink_shift) - - -def argument_parser(): - parser = OptionParser(option_class=eng_option, usage="%prog: [options]") - parser.add_option( - "", "--delay-correction", dest="delay_correction", type="eng_float", default=eng_notation.num_to_str(285.616e-6), - help="Set delay_correction [default=%default]") - parser.add_option( - "", "--osr", dest="osr", type="intx", default=4, - help="Set OSR [default=%default]") - parser.add_option( - "", "--ppm", dest="ppm", type="eng_float", default=eng_notation.num_to_str(-0.799427), - help="Set Clock offset correction [default=%default]") - parser.add_option( - "-d", "--rx-freq", dest="rx_freq", type="eng_float", default=eng_notation.num_to_str(935e6+36*0.2e6), - help="Set rx_freq [default=%default]") - parser.add_option( - "-g", "--rx-gain", dest="rx_gain", type="eng_float", default=eng_notation.num_to_str(40), - help="Set rx_gain [default=%default]") - parser.add_option( - "", "--samp-rate", dest="samp_rate", type="eng_float", default=eng_notation.num_to_str(13e6/12.0), - help="Set samp_rate [default=%default]") - parser.add_option( - "", "--timing-advance", dest="timing_advance", type="eng_float", default=eng_notation.num_to_str(0), - help="Set timing_advance [default=%default]") - parser.add_option( - "", "--trx-base-port", dest="trx_base_port", type="string", default="5710", - help="Set 5710 [default=%default]") - parser.add_option( - "", "--trx-remote-addr", dest="trx_remote_addr", type="string", default="127.0.0.1", - help="Set 127.0.0.1 [default=%default]") - parser.add_option( - "-u", "--tx-freq", dest="tx_freq", type="eng_float", default=eng_notation.num_to_str(935e6+36*0.2e6-45e6), - help="Set tx_freq [default=%default]") - parser.add_option( - "-r", "--tx-gain", dest="tx_gain", type="eng_float", default=eng_notation.num_to_str(40), - help="Set tx_gain [default=%default]") - parser.add_option( - "", "--uplink-shift", dest="uplink_shift", type="eng_float", default=eng_notation.num_to_str(-(6.0/1625000*(156.25)*3)), - help="Set uplink_shift [default=%default]") - return parser - - -def main(top_block_cls=RadioInterfaceGRC, options=None): - if options is None: - options, _ = argument_parser().parse_args() - - tb = top_block_cls(delay_correction=options.delay_correction, osr=options.osr, ppm=options.ppm, rx_freq=options.rx_freq, rx_gain=options.rx_gain, samp_rate=options.samp_rate, timing_advance=options.timing_advance, trx_base_port=options.trx_base_port, trx_remote_addr=options.trx_remote_addr, tx_freq=options.tx_freq, tx_gain=options.tx_gain, uplink_shift=options.uplink_shift) - tb.start() - tb.wait() - - -if __name__ == '__main__': - main() -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I7d43e6f2962b21ff03601cf1b1aafc222f2c4661 Gerrit-Change-Number: 24094 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:53 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:53 +0000 Subject: Change in gr-gsm[master]: cmake: change 'gsm' to 'grgsm' References: Message-ID: ptrkrysik has uploaded this change for review. ( https://gerrit.osmocom.org/c/gr-gsm/+/24095 ) Change subject: cmake: change 'gsm' to 'grgsm' ...................................................................... cmake: change 'gsm' to 'grgsm' Change-Id: I130a7912e179b1f04e68eb131e06800becca5a00 --- M CMakeLists.txt M lib/CMakeLists.txt 2 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/95/24095/1 diff --git a/CMakeLists.txt b/CMakeLists.txt index f73bfbe..e8d7ef0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -176,5 +176,5 @@ ######################################################################## install(FILES cmake/Modules/gr-gsmConfig.cmake - DESTINATION ${CMAKE_MODULES_DIR}/gsm + DESTINATION ${CMAKE_MODULES_DIR}/grgsm ) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index bc1baeb..88aa635 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -136,18 +136,18 @@ # If your unit tests require special include paths, add them here #include_directories() # List all files that contain Boost.UTF unit tests here -list(APPEND test_gsm_sources +list(APPEND test_grgsm_sources ) # Anything we need to link to for the unit tests go here list(APPEND GR_TEST_TARGET_DEPS grgsm) -if(NOT test_gsm_sources) +if(NOT test_grgsm_sources) MESSAGE(STATUS "No C++ unit tests... skipping") return() -endif(NOT test_gsm_sources) +endif(NOT test_grgsm_sources) -foreach(qa_file ${test_gsm_sources}) - GR_ADD_CPP_TEST("gsm_${qa_file}" +foreach(qa_file ${test_grgsm_sources}) + GR_ADD_CPP_TEST("grgsm_${qa_file}" ${CMAKE_CURRENT_SOURCE_DIR}/${qa_file} ) endforeach(qa_file) -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I130a7912e179b1f04e68eb131e06800becca5a00 Gerrit-Change-Number: 24095 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:54 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:54 +0000 Subject: Change in gr-gsm[master]: cmake: make formatting of install statements follow one pattern References: Message-ID: ptrkrysik has uploaded this change for review. ( https://gerrit.osmocom.org/c/gr-gsm/+/24096 ) Change subject: cmake: make formatting of install statements follow one pattern ...................................................................... cmake: make formatting of install statements follow one pattern Change-Id: Ib7d571af629b0af78397a411b0cca409a6d218d8 --- M CMakeLists.txt M apps/apps_data/CMakeLists.txt M docs/CMakeLists.txt M docs/doxygen/CMakeLists.txt M grc/CMakeLists.txt M grc/decoding/CMakeLists.txt M grc/decryption/CMakeLists.txt M grc/demapping/CMakeLists.txt M grc/flow_control/CMakeLists.txt M grc/misc_utils/CMakeLists.txt M grc/qa_utils/CMakeLists.txt M grc/receiver/CMakeLists.txt M grc/transmitter/CMakeLists.txt M grc/trx/CMakeLists.txt M include/grgsm/CMakeLists.txt M include/grgsm/decoding/CMakeLists.txt M include/grgsm/decryption/CMakeLists.txt M include/grgsm/demapping/CMakeLists.txt M include/grgsm/flow_control/CMakeLists.txt M include/grgsm/misc_utils/CMakeLists.txt M include/grgsm/qa_utils/CMakeLists.txt M include/grgsm/receiver/CMakeLists.txt M include/grgsm/transmitter/CMakeLists.txt M include/grgsm/trx/CMakeLists.txt M python/demapping/CMakeLists.txt M python/receiver/CMakeLists.txt M python/transmitter/CMakeLists.txt 27 files changed, 79 insertions(+), 38 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/96/24096/1 diff --git a/CMakeLists.txt b/CMakeLists.txt index e8d7ef0..2231bc3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -175,6 +175,8 @@ # Install cmake search helper for this library ######################################################################## -install(FILES cmake/Modules/gr-gsmConfig.cmake +install( + FILES + cmake/Modules/gr-gsmConfig.cmake DESTINATION ${CMAKE_MODULES_DIR}/grgsm ) diff --git a/apps/apps_data/CMakeLists.txt b/apps/apps_data/CMakeLists.txt index db8a843..24ed3f0 100644 --- a/apps/apps_data/CMakeLists.txt +++ b/apps/apps_data/CMakeLists.txt @@ -35,7 +35,9 @@ ${CMAKE_CURRENT_BINARY_DIR}/grgsm_setup_freedesktop @ONLY) install( - PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/grgsm_setup_freedesktop - DESTINATION ${GR_PKG_LIBEXEC_DIR} COMPONENT "gr-gsm" + PROGRAMS + ${CMAKE_CURRENT_BINARY_DIR}/grgsm_setup_freedesktop + DESTINATION ${GR_PKG_LIBEXEC_DIR} + COMPONENT "gr-gsm" ) endif(UNIX AND HAVE_XDG_UTILS) diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index ed0fe3d..d2f9b1c 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -54,7 +54,11 @@ message(WARNING "rst2man from python-docutils is required to build man pages") else() build_man_page(MAN1_OUTPUT grgsm_livemon.rst grgsm_livemon.1) - install(FILES ${MAN1_OUTPUT} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1) + install( + FILES + ${MAN1_OUTPUT} + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1 + ) endif() diff --git a/docs/doxygen/CMakeLists.txt b/docs/doxygen/CMakeLists.txt index 6ade92c..ce64cec 100644 --- a/docs/doxygen/CMakeLists.txt +++ b/docs/doxygen/CMakeLists.txt @@ -50,4 +50,8 @@ add_custom_target(doxygen_target ALL DEPENDS ${BUILT_DIRS}) -install(DIRECTORY ${BUILT_DIRS} DESTINATION ${GR_PKG_DOC_DIR}) +install( + DIRECTORY + ${BUILT_DIRS} + DESTINATION ${GR_PKG_DOC_DIR} +) diff --git a/grc/CMakeLists.txt b/grc/CMakeLists.txt index deee6e0..173b642 100644 --- a/grc/CMakeLists.txt +++ b/grc/CMakeLists.txt @@ -25,6 +25,8 @@ add_subdirectory(misc_utils) add_subdirectory(transmitter) add_subdirectory(trx) -install(FILES - gsm.tree.yml DESTINATION share/gnuradio/grc/blocks +install( + FILES + gsm.tree.yml + DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/decoding/CMakeLists.txt b/grc/decoding/CMakeLists.txt index 63a2ee6..71953f0 100644 --- a/grc/decoding/CMakeLists.txt +++ b/grc/decoding/CMakeLists.txt @@ -17,7 +17,8 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. -install(FILES +install( + FILES gsm_control_channels_decoder.block.yml gsm_tch_f_decoder.block.yml gsm_tch_h_decoder.block.yml diff --git a/grc/decryption/CMakeLists.txt b/grc/decryption/CMakeLists.txt index e71e466..455ee0b 100644 --- a/grc/decryption/CMakeLists.txt +++ b/grc/decryption/CMakeLists.txt @@ -17,7 +17,8 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. -install(FILES +install( + FILES gsm_decryption.block.yml DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/demapping/CMakeLists.txt b/grc/demapping/CMakeLists.txt index 2572235..2bc5750 100644 --- a/grc/demapping/CMakeLists.txt +++ b/grc/demapping/CMakeLists.txt @@ -17,7 +17,8 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. -install(FILES +install( + FILES gsm_universal_ctrl_chans_demapper.block.yml gsm_bcch_ccch_demapper.block.yml gsm_bcch_ccch_sdcch4_demapper.block.yml diff --git a/grc/flow_control/CMakeLists.txt b/grc/flow_control/CMakeLists.txt index 2876512..4e878df 100644 --- a/grc/flow_control/CMakeLists.txt +++ b/grc/flow_control/CMakeLists.txt @@ -17,7 +17,8 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. -install(FILES +install( + FILES gsm_burst_timeslot_splitter.block.yml gsm_burst_fnr_filter.block.yml gsm_burst_timeslot_filter.block.yml diff --git a/grc/misc_utils/CMakeLists.txt b/grc/misc_utils/CMakeLists.txt index 73869d3..3acb63e 100644 --- a/grc/misc_utils/CMakeLists.txt +++ b/grc/misc_utils/CMakeLists.txt @@ -17,7 +17,8 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. -install(FILES +install( + FILES gsm_extract_system_info.block.yml gsm_extract_immediate_assignment.block.yml gsm_collect_system_info.block.yml diff --git a/grc/qa_utils/CMakeLists.txt b/grc/qa_utils/CMakeLists.txt index 2ed15a1..f849a3e 100644 --- a/grc/qa_utils/CMakeLists.txt +++ b/grc/qa_utils/CMakeLists.txt @@ -17,7 +17,8 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. -install(FILES +install( + FILES gsm_burst_source.block.xml gsm_burst_sink.block.xml gsm_message_source.block.xml diff --git a/grc/receiver/CMakeLists.txt b/grc/receiver/CMakeLists.txt index 3db5983..06a3c0c 100644 --- a/grc/receiver/CMakeLists.txt +++ b/grc/receiver/CMakeLists.txt @@ -17,7 +17,8 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. -install(FILES +install( + FILES gsm_input.block.yml gsm_receiver.block.yml gsm_receiver_with_uplink.block.yml diff --git a/grc/transmitter/CMakeLists.txt b/grc/transmitter/CMakeLists.txt index d66ea32..a012435 100644 --- a/grc/transmitter/CMakeLists.txt +++ b/grc/transmitter/CMakeLists.txt @@ -17,7 +17,8 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. -install(FILES +install( + FILES gsm_gmsk_mod.block.yml gsm_txtime_bursts_tagger.block.yml gsm_txtime_setter.block.yml diff --git a/grc/trx/CMakeLists.txt b/grc/trx/CMakeLists.txt index e448cdd..bcbac28 100644 --- a/grc/trx/CMakeLists.txt +++ b/grc/trx/CMakeLists.txt @@ -17,7 +17,8 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. -install(FILES +install( + FILES gsm_trx_burst_if.block.yml DESTINATION share/gnuradio/grc/blocks ) diff --git a/include/grgsm/CMakeLists.txt b/include/grgsm/CMakeLists.txt index 2982ef1..2f64ff4 100644 --- a/include/grgsm/CMakeLists.txt +++ b/include/grgsm/CMakeLists.txt @@ -20,7 +20,8 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES +install( + FILES plotting.hpp api.h gsmtap.h diff --git a/include/grgsm/decoding/CMakeLists.txt b/include/grgsm/decoding/CMakeLists.txt index 1014955..6210dad 100644 --- a/include/grgsm/decoding/CMakeLists.txt +++ b/include/grgsm/decoding/CMakeLists.txt @@ -20,9 +20,10 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES - control_channels_decoder.h +install( + FILES + control_channels_decoder.h tch_f_decoder.h tch_h_decoder.h - DESTINATION include/grgsm/decoding + DESTINATION include/grgsm/decoding ) diff --git a/include/grgsm/decryption/CMakeLists.txt b/include/grgsm/decryption/CMakeLists.txt index 3a0c6b6..f267201 100644 --- a/include/grgsm/decryption/CMakeLists.txt +++ b/include/grgsm/decryption/CMakeLists.txt @@ -20,6 +20,8 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES - decryption.h DESTINATION include/grgsm/decoding +install( + FILES + decryption.h + DESTINATION include/grgsm/decoding ) diff --git a/include/grgsm/demapping/CMakeLists.txt b/include/grgsm/demapping/CMakeLists.txt index 0165d24..25462fb 100644 --- a/include/grgsm/demapping/CMakeLists.txt +++ b/include/grgsm/demapping/CMakeLists.txt @@ -20,7 +20,8 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES +install( + FILES universal_ctrl_chans_demapper.h tch_f_chans_demapper.h tch_h_chans_demapper.h diff --git a/include/grgsm/flow_control/CMakeLists.txt b/include/grgsm/flow_control/CMakeLists.txt index d86f1c7..6feee61 100644 --- a/include/grgsm/flow_control/CMakeLists.txt +++ b/include/grgsm/flow_control/CMakeLists.txt @@ -20,7 +20,8 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES +install( + FILES common.h burst_timeslot_splitter.h burst_sdcch_subslot_splitter.h @@ -28,6 +29,7 @@ burst_sdcch_subslot_filter.h burst_fnr_filter.h burst_type_filter.h - dummy_burst_filter.h - uplink_downlink_splitter.h DESTINATION include/grgsm/flow_control + dummy_burst_filter.h + uplink_downlink_splitter.h + DESTINATION include/grgsm/flow_control ) diff --git a/include/grgsm/misc_utils/CMakeLists.txt b/include/grgsm/misc_utils/CMakeLists.txt index f8d8cbc..b151527 100644 --- a/include/grgsm/misc_utils/CMakeLists.txt +++ b/include/grgsm/misc_utils/CMakeLists.txt @@ -20,7 +20,8 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES +install( + FILES bursts_printer.h burst_file_source.h burst_file_sink.h @@ -38,5 +39,6 @@ burst_to_fn_time.h controlled_fractional_resampler_cc.h time_spec.h - fn_time.h DESTINATION include/grgsm/misc_utils + fn_time.h + DESTINATION include/grgsm/misc_utils ) diff --git a/include/grgsm/qa_utils/CMakeLists.txt b/include/grgsm/qa_utils/CMakeLists.txt index 44bbbfb..a74a358 100644 --- a/include/grgsm/qa_utils/CMakeLists.txt +++ b/include/grgsm/qa_utils/CMakeLists.txt @@ -20,9 +20,11 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES +install( + FILES burst_sink.h burst_source.h message_source.h - message_sink.h DESTINATION include/grgsm/qa_utils + message_sink.h + DESTINATION include/grgsm/qa_utils ) diff --git a/include/grgsm/receiver/CMakeLists.txt b/include/grgsm/receiver/CMakeLists.txt index bb4515d..8bf6370 100644 --- a/include/grgsm/receiver/CMakeLists.txt +++ b/include/grgsm/receiver/CMakeLists.txt @@ -20,8 +20,10 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES +install( + FILES clock_offset_control.h cx_channel_hopper.h - receiver.h DESTINATION include/grgsm/receiver + receiver.h + DESTINATION include/grgsm/receiver ) diff --git a/include/grgsm/transmitter/CMakeLists.txt b/include/grgsm/transmitter/CMakeLists.txt index fab6f7c..cdd140d 100644 --- a/include/grgsm/transmitter/CMakeLists.txt +++ b/include/grgsm/transmitter/CMakeLists.txt @@ -20,8 +20,9 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES - txtime_setter.h +install( + FILES + txtime_setter.h preprocess_tx_burst.h gen_test_ab.h DESTINATION include/grgsm/transmitter diff --git a/include/grgsm/trx/CMakeLists.txt b/include/grgsm/trx/CMakeLists.txt index a9847dd..0869701 100644 --- a/include/grgsm/trx/CMakeLists.txt +++ b/include/grgsm/trx/CMakeLists.txt @@ -20,7 +20,8 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES +install( + FILES trx_burst_if.h DESTINATION include/grgsm/trx ) diff --git a/python/demapping/CMakeLists.txt b/python/demapping/CMakeLists.txt index 9f0efb4..0de1d98 100644 --- a/python/demapping/CMakeLists.txt +++ b/python/demapping/CMakeLists.txt @@ -21,5 +21,6 @@ FILES gsm_bcch_ccch_demapper.py gsm_bcch_ccch_sdcch4_demapper.py - gsm_sdcch8_demapper.py DESTINATION ${GR_PYTHON_DIR}/grgsm + gsm_sdcch8_demapper.py + DESTINATION ${GR_PYTHON_DIR}/grgsm ) diff --git a/python/receiver/CMakeLists.txt b/python/receiver/CMakeLists.txt index 8ab902b..a7a9e3e 100644 --- a/python/receiver/CMakeLists.txt +++ b/python/receiver/CMakeLists.txt @@ -23,5 +23,6 @@ fcch_burst_tagger.py sch_detector.py fcch_detector.py - chirpz.py DESTINATION ${GR_PYTHON_DIR}/grgsm + chirpz.py + DESTINATION ${GR_PYTHON_DIR}/grgsm ) diff --git a/python/transmitter/CMakeLists.txt b/python/transmitter/CMakeLists.txt index c32d6e1..3a5bbe8 100644 --- a/python/transmitter/CMakeLists.txt +++ b/python/transmitter/CMakeLists.txt @@ -20,5 +20,6 @@ GR_PYTHON_INSTALL( FILES txtime_bursts_tagger.py - gsm_gmsk_mod.py DESTINATION ${GR_PYTHON_DIR}/grgsm + gsm_gmsk_mod.py + DESTINATION ${GR_PYTHON_DIR}/grgsm ) -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24096 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ib7d571af629b0af78397a411b0cca409a6d218d8 Gerrit-Change-Number: 24096 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:55 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:55 +0000 Subject: Change in gr-gsm[master]: Remove local copy of associated osmo libraries References: Message-ID: ptrkrysik has uploaded this change for review. ( https://gerrit.osmocom.org/c/gr-gsm/+/24097 ) Change subject: Remove local copy of associated osmo libraries ...................................................................... Remove local copy of associated osmo libraries Change-Id: I2b4afedd9f2d568b5287d791891b2c2893fc6843 --- M CMakeLists.txt M lib/CMakeLists.txt M lib/decoding/CMakeLists.txt D lib/decoding/osmocom/codec/CMakeLists.txt D lib/decoding/osmocom/codec/codec.h D lib/decoding/osmocom/codec/gsm610.c D lib/decoding/osmocom/codec/gsm610_bits.h D lib/decoding/osmocom/codec/gsm620.c D lib/decoding/osmocom/codec/gsm660.c D lib/decoding/osmocom/codec/gsm690.c D lib/decoding/osmocom/coding/CMakeLists.txt D lib/decoding/osmocom/coding/gsm0503_coding.c D lib/decoding/osmocom/coding/gsm0503_coding.h D lib/decoding/osmocom/coding/gsm0503_conv.c D lib/decoding/osmocom/coding/gsm0503_interleaving.c D lib/decoding/osmocom/coding/gsm0503_interleaving.h D lib/decoding/osmocom/coding/gsm0503_mapping.c D lib/decoding/osmocom/coding/gsm0503_mapping.h D lib/decoding/osmocom/coding/gsm0503_parity.c D lib/decoding/osmocom/coding/gsm0503_parity.h D lib/decoding/osmocom/coding/gsm0503_tables.c D lib/decoding/osmocom/coding/gsm0503_tables.h D lib/decoding/osmocom/core/CMakeLists.txt D lib/decoding/osmocom/core/bit16gen.h D lib/decoding/osmocom/core/bit32gen.h D lib/decoding/osmocom/core/bit64gen.h D lib/decoding/osmocom/core/bits.c D lib/decoding/osmocom/core/bits.h D lib/decoding/osmocom/core/bitvec.c D lib/decoding/osmocom/core/bitvec.h D lib/decoding/osmocom/core/conv.c D lib/decoding/osmocom/core/conv.h D lib/decoding/osmocom/core/conv_acc.c D lib/decoding/osmocom/core/conv_acc_generic.c D lib/decoding/osmocom/core/crc16gen.c D lib/decoding/osmocom/core/crc16gen.h D lib/decoding/osmocom/core/crc32gen.h D lib/decoding/osmocom/core/crc64gen.c D lib/decoding/osmocom/core/crc64gen.h D lib/decoding/osmocom/core/crc8gen.c D lib/decoding/osmocom/core/crc8gen.h D lib/decoding/osmocom/core/crcgen.h D lib/decoding/osmocom/core/defs.h D lib/decoding/osmocom/core/endian.h D lib/decoding/osmocom/core/linuxlist.h D lib/decoding/osmocom/core/panic.c D lib/decoding/osmocom/core/panic.h D lib/decoding/osmocom/core/utils.h D lib/decoding/osmocom/crypt/auth.h D lib/decoding/osmocom/gsm/CMakeLists.txt D lib/decoding/osmocom/gsm/a5.c D lib/decoding/osmocom/gsm/a5.h D lib/decoding/osmocom/gsm/auth_core.c D lib/decoding/osmocom/gsm/gsm0503.h D lib/decoding/osmocom/gsm/gsm48_ie.c D lib/decoding/osmocom/gsm/gsm48_ie.h D lib/decoding/osmocom/gsm/kasumi.c D lib/decoding/osmocom/gsm/kasumi.h D lib/decoding/osmocom/gsm/protocol/gsm_04_08.h 59 files changed, 2 insertions(+), 17,859 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/97/24097/1 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I2b4afedd9f2d568b5287d791891b2c2893fc6843 Gerrit-Change-Number: 24097 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:55 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:55 +0000 Subject: Change in gr-gsm[master]: Execute python apps with use of python3 References: Message-ID: ptrkrysik has uploaded this change for review. ( https://gerrit.osmocom.org/c/gr-gsm/+/24098 ) Change subject: Execute python apps with use of python3 ...................................................................... Execute python apps with use of python3 Change-Id: Ib9ab805cc5a3878d168787736463dc495b96ddcf --- M apps/helpers/grgsm_capture M apps/helpers/grgsm_channelize 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/98/24098/1 diff --git a/apps/helpers/grgsm_capture b/apps/helpers/grgsm_capture index f3886ba..43dce33 100755 --- a/apps/helpers/grgsm_capture +++ b/apps/helpers/grgsm_capture @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # -*- coding: utf-8 -*- # @file # @author (C) 2015 by Roman Khassraf diff --git a/apps/helpers/grgsm_channelize b/apps/helpers/grgsm_channelize index 5eaeb3b..92b252e 100755 --- a/apps/helpers/grgsm_channelize +++ b/apps/helpers/grgsm_channelize @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # -*- coding: utf-8 -*- # @file # @author (C) 2015 by Pieter Robyns -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24098 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ib9ab805cc5a3878d168787736463dc495b96ddcf Gerrit-Change-Number: 24098 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:56 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:56 +0000 Subject: Change in gr-gsm[master]: Port compile_demappers helper script to gr3.8 References: Message-ID: ptrkrysik has uploaded this change for review. ( https://gerrit.osmocom.org/c/gr-gsm/+/24099 ) Change subject: Port compile_demappers helper script to gr3.8 ...................................................................... Port compile_demappers helper script to gr3.8 Change-Id: Iadcc19288496558fc65a46b72d36dcf047489ac3 --- M hier_blocks/compile_demappers 1 file changed, 9 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/99/24099/1 diff --git a/hier_blocks/compile_demappers b/hier_blocks/compile_demappers index 96d652b..d492620 100755 --- a/hier_blocks/compile_demappers +++ b/hier_blocks/compile_demappers @@ -8,23 +8,25 @@ for p in *.grc do echo $p - grcc $p -d `pwd` + grcc $p -o `pwd` done cd .. mv ~/.grc_gnuradio/gsm_* . -for file in *.py.xml +for file in *.py.block.yml do - cat $file | sed 's/.*\.*/ import grgsm<\/import>/' \ - | sed 's//grgsm./' \ + echo $file + cat $file | sed "s/ imports: .*\(#.*\)/ imports: \\'import grgsm\\' \1/" \ + | sed 's/make: "/make: "grgsm./' \ | sed "s/.*.py//" \ - | sed 's/.*hier_blocks/gr-gsm\/hier_blocks/' \ + | sed 's/grc_source:.*hier_blocks/grc_source: gr-gsm\/hier_blocks/' \ > ${file}2 + mv ${file}2 $file - mv "$file" "`basename $file .py.xml`.xml" + mv "$file" "`basename $file .py.block.yml`.block.yml" done for py in *.py @@ -34,4 +36,4 @@ done mv *.py ../python/demapping -mv *.xml ../grc/demapping \ No newline at end of file +mv *.yml ../grc/demapping -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24099 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iadcc19288496558fc65a46b72d36dcf047489ac3 Gerrit-Change-Number: 24099 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:56 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:56 +0000 Subject: Change in gr-gsm[master]: tests: Remove test that don't work References: Message-ID: ptrkrysik has uploaded this change for review. ( https://gerrit.osmocom.org/c/gr-gsm/+/24100 ) Change subject: tests: Remove test that don't work ...................................................................... tests: Remove test that don't work Change-Id: I9f37131c565e6d87ae94f583d36a2de3d9500b38 --- M .travis.yml D tests/dockerfiles/CentOS_7.Dockerfile D tests/dockerfiles/CentOS_7_pygtk2.patch M tests/dockerfiles/Debian_testing.docker D tests/dockerfiles/Debian_testing_package.docker D tests/dockerfiles/Fedora_26.Dockerfile D tests/dockerfiles/Kali.docker D tests/dockerfiles/Ubuntu_16_04.docker D tests/dockerfiles/Ubuntu_16_04_nolibosmo.docker D tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker 10 files changed, 5 insertions(+), 257 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/00/24100/1 diff --git a/.travis.yml b/.travis.yml index 437e66e..5dcec4d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,13 +4,7 @@ language: ruby env: - - DOCKERFILE=tests/dockerfiles/Debian_testing.docker IMGNAME=debtest-grgsm -# - DOCKERFILE=tests/dockerfiles/Ubuntu_16_04.docker IMGNAME=ubu16.04-grgsm -# - DOCKERFILE=tests/dockerfiles/Ubuntu_16_04_nolibosmo.docker IMGNAME=ubu16.04-grgsm-nolibosmo - - DOCKERFILE=tests/dockerfiles/Kali.docker IMGNAME=kali-grgsm -# - DOCKERFILE=tests/dockerfiles/Fedora_26.Dockerfile IMGNAME=fedora26-grgsm - - DOCKERFILE=tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker IMGNAME=ubuntu_18_04_gnuradio_ppa - + - DOCKERFILE=tests/dockerfiles/Debian_testing.docker IMGNAME=debian_testing services: - docker diff --git a/tests/dockerfiles/CentOS_7.Dockerfile b/tests/dockerfiles/CentOS_7.Dockerfile deleted file mode 100644 index b5c235d..0000000 --- a/tests/dockerfiles/CentOS_7.Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -FROM centos:7 - -RUN yum install -y \ - https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && \ - yum install -y \ - gcc-c++ \ - make \ - cmake3 \ - pkgconfig \ - boost-devel \ - gnuradio-devel \ - libosmocore-devel \ - gr-osmosdr \ - swig \ - doxygen \ - python2-docutils \ - cppunit-devel - -COPY ./ /src/ - -RUN yum install -y patch && \ - patch -p0 < /src/tests/dockerfiles/CentOS_7_pygtk2.patch - -WORKDIR /src/build -RUN cmake3 -DENABLE_GRGSM_LIVEMON=OFF .. && \ - # The parallel build sometimes fails when the .grc_gnuradio - # and .gnuradio directories do not exist - mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ - make -j $(nproc) && \ - make install && \ - ldconfig && \ - make test diff --git a/tests/dockerfiles/CentOS_7_pygtk2.patch b/tests/dockerfiles/CentOS_7_pygtk2.patch deleted file mode 100644 index a5ed29c..0000000 --- a/tests/dockerfiles/CentOS_7_pygtk2.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- /usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py 2018-04-23 17:29:19.555209060 +0000 -+++ /usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py 2018-04-23 17:32:53.448304174 +0000 -@@ -47,14 +47,19 @@ - def _init(): - import sys - -- sys_path = sys.path[:] -+ try: -+ sys_path = sys.path[:] - -- _gtk.init_check() -- -- # init_check calls PySys_SetArgv which calls sys.path.insert(0, ''), -- # which causes problems for pychecker, restore it if modified. -- if sys.path != sys_path: -- sys.path[:] = sys_path -+ try: -+ _gtk.init_check() -+ except RuntimeError, e: -+ import warnings -+ warnings.warn(str(e), _gtk.Warning) -+ finally: -+ # init_check calls PySys_SetArgv which calls sys.path.insert(0, ''), -+ # which causes problems for pychecker, restore it if modified. -+ if sys.path != sys_path: -+ sys.path[:] = sys_path - - # install the default log handlers - _gtk.add_log_handlers() - diff --git a/tests/dockerfiles/Debian_testing.docker b/tests/dockerfiles/Debian_testing.docker index c4c3057..8a9f84b 100644 --- a/tests/dockerfiles/Debian_testing.docker +++ b/tests/dockerfiles/Debian_testing.docker @@ -13,16 +13,16 @@ liblog4cpp5-dev \ python3-docutils \ python3-scipy \ - gnuradio-dev gnuradio libgmp-dev libboost-regex-dev liborc-dev \ + gnuradio-dev \ + liborc-dev \ libosmocore-dev \ gr-osmosdr COPY ./ /src/ - -RUN mkdir -p /src/build +RUN mkdir /src/build WORKDIR /src/build -RUN PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH cmake .. && \ +RUN cmake .. && \ # The parallel build sometimes fails when the .grc_gnuradio # and .gnuradio directories do not exist mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ diff --git a/tests/dockerfiles/Debian_testing_package.docker b/tests/dockerfiles/Debian_testing_package.docker deleted file mode 100644 index 35d31cd..0000000 --- a/tests/dockerfiles/Debian_testing_package.docker +++ /dev/null @@ -1,10 +0,0 @@ -FROM debian:testing -MAINTAINER Piotr Krysik - -RUN apt-get update && apt-get install -y \ - gr-gsm - -COPY ./ /src/ -RUN ls /src - - diff --git a/tests/dockerfiles/Fedora_26.Dockerfile b/tests/dockerfiles/Fedora_26.Dockerfile deleted file mode 100644 index 38a5a52..0000000 --- a/tests/dockerfiles/Fedora_26.Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -FROM fedora:26 - -RUN dnf install -y \ - gcc-c++ \ - make \ - cmake \ - pkgconfig \ - boost-devel \ - gnuradio-devel \ - libosmocore-devel \ - gr-osmosdr \ - swig \ - doxygen \ - python2-docutils \ - cppunit-devel - -COPY ./ /src/ - -WORKDIR /src/build -RUN cmake .. && \ - # The parallel build sometimes fails when the .grc_gnuradio - # and .gnuradio directories do not exist - mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ - make && \ - make -j $(nproc) && \ - make install && \ - ldconfig && \ - make CTEST_OUTPUT_ON_FAILURE=1 test diff --git a/tests/dockerfiles/Kali.docker b/tests/dockerfiles/Kali.docker deleted file mode 100644 index a953ece..0000000 --- a/tests/dockerfiles/Kali.docker +++ /dev/null @@ -1,32 +0,0 @@ -FROM kalilinux/kali-linux-docker -MAINTAINER Piotr Krysik - -RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - cmake \ - autoconf \ - libtool \ - pkg-config \ - build-essential \ - libcppunit-dev \ - swig \ - doxygen \ - liblog4cpp5-dev \ - python3-docutils \ - python3-scipy \ - gnuradio-dev gnuradio libgmp-dev libboost-regex-dev liborc-dev \ - libosmocore-dev \ - gr-osmosdr - -COPY ./ /src/ - -RUN mkdir -p /src/build -WORKDIR /src/build - -RUN PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH cmake .. && \ - # The parallel build sometimes fails when the .grc_gnuradio - # and .gnuradio directories do not exist - mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ - make -j $(nproc) && \ - make install && \ - ldconfig && \ - make CTEST_OUTPUT_ON_FAILURE=1 test diff --git a/tests/dockerfiles/Ubuntu_16_04.docker b/tests/dockerfiles/Ubuntu_16_04.docker deleted file mode 100644 index fe1c35f..0000000 --- a/tests/dockerfiles/Ubuntu_16_04.docker +++ /dev/null @@ -1,32 +0,0 @@ -FROM ubuntu:16.04 -MAINTAINER Piotr Krysik - -RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - cmake \ - autoconf \ - libtool \ - pkg-config \ - build-essential \ - python-docutils \ - libcppunit-dev \ - swig \ - doxygen \ - liblog4cpp5-dev \ - python-scipy \ - gnuradio-dev \ - gr-osmosdr \ - libosmocore-dev - -COPY ./ /src/ -RUN ls /src - -RUN mkdir /src/build -WORKDIR /src/build -RUN cmake .. && \ - # The parallel build sometimes fails when the .grc_gnuradio - # and .gnuradio directories do not exist - mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ - make -j $(nproc) && \ - make install && \ - ldconfig && \ - make CTEST_OUTPUT_ON_FAILURE=1 test diff --git a/tests/dockerfiles/Ubuntu_16_04_nolibosmo.docker b/tests/dockerfiles/Ubuntu_16_04_nolibosmo.docker deleted file mode 100644 index ba70afd..0000000 --- a/tests/dockerfiles/Ubuntu_16_04_nolibosmo.docker +++ /dev/null @@ -1,31 +0,0 @@ -FROM ubuntu:16.04 -MAINTAINER Piotr Krysik - -RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - cmake \ - autoconf \ - libtool \ - pkg-config \ - build-essential \ - python-docutils \ - libcppunit-dev \ - swig \ - doxygen \ - liblog4cpp5-dev \ - python-scipy \ - gnuradio-dev \ - gr-osmosdr - -COPY ./ /src/ -RUN ls /src - -RUN mkdir /src/build -WORKDIR /src/build -RUN cmake .. && \ - # The parallel build sometimes fails when the .grc_gnuradio - # and .gnuradio directories do not exist - mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ - make -j $(nproc) && \ - make install && \ - ldconfig && \ - make CTEST_OUTPUT_ON_FAILURE=1 test diff --git a/tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker b/tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker deleted file mode 100644 index e0f45a5..0000000 --- a/tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker +++ /dev/null @@ -1,51 +0,0 @@ -FROM ubuntu:18.04 -MAINTAINER Vasil Velichkov - -RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - software-properties-common && \ - add-apt-repository --yes ppa:gnuradio/gnuradio-releases && \ - DEBIAN_FRONTEND=noninteractive apt-get install -y \ - git \ - cmake \ - autoconf \ - libtool \ - pkg-config \ - build-essential \ - python-docutils \ - libcppunit-dev \ - swig \ - doxygen \ - liblog4cpp5-dev \ - python-scipy \ - gnuradio-dev gnuradio libgmp-dev libboost-regex-dev liborc-dev libuhd-dev \ - libosmocore-dev - -RUN git clone --branch maint-3.8 --recurse-submodules https://github.com/velichkov/gr-iqbal && \ - cd gr-iqbal && \ - mkdir build && \ - cd build && \ - cmake -DENABLE_DOXYGEN=OFF .. && \ - make -j $(nproc) install - -RUN git clone --branch maint-3.8 https://github.com/velichkov/gr-osmosdr && \ - cd gr-osmosdr && \ - mkdir build && \ - cd build && \ - cmake -DENABLE_DOXYGEN=OFF .. && \ - make -j $(nproc) install - -COPY ./ /src/ -RUN mkdir /src/build -WORKDIR /src/build - -#PYTHONPATH is needed as gr-osmosdr gets installed in /usr/local/lib/python3/... -ENV PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH - -RUN cmake .. && \ - # The parallel build sometimes fails when the .grc_gnuradio - # and .gnuradio directories do not exist - mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ - make -j $(nproc) && \ - make install && \ - ldconfig && \ - make CTEST_OUTPUT_ON_FAILURE=1 test -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24100 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I9f37131c565e6d87ae94f583d36a2de3d9500b38 Gerrit-Change-Number: 24100 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:24:56 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:24:56 +0000 Subject: Change in gr-gsm[master]: tests: Add test for Ubuntu 20.04 References: Message-ID: ptrkrysik has uploaded this change for review. ( https://gerrit.osmocom.org/c/gr-gsm/+/24101 ) Change subject: tests: Add test for Ubuntu 20.04 ...................................................................... tests: Add test for Ubuntu 20.04 Change-Id: I38bbde4fad7bdc72ad99a1957678539ea813013e --- M .travis.yml A tests/dockerfiles/Ubuntu_20_04.docker 2 files changed, 34 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/01/24101/1 diff --git a/.travis.yml b/.travis.yml index 5dcec4d..8ef60ed 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,7 @@ language: ruby env: + - DOCKERFILE=tests/dockerfiles/Ubuntu_20_04.docker IMGNAME=ubuntu_20_04 - DOCKERFILE=tests/dockerfiles/Debian_testing.docker IMGNAME=debian_testing services: @@ -13,6 +14,6 @@ - cat $DOCKERFILE > Dockerfile ; docker build -t $IMGNAME . script: -# - docker run -it --rm $IMGNAME sh -c 'cd /src/build;make test' + - docker run -it --rm $IMGNAME sh -c 'cd /src/build;make test' - docker run -it --rm $IMGNAME /src/tests/scripts/decode.sh - docker run -it --rm $IMGNAME /src/tests/scripts/decrypt.sh diff --git a/tests/dockerfiles/Ubuntu_20_04.docker b/tests/dockerfiles/Ubuntu_20_04.docker new file mode 100644 index 0000000..f972d9e --- /dev/null +++ b/tests/dockerfiles/Ubuntu_20_04.docker @@ -0,0 +1,32 @@ +FROM ubuntu:20.04 +MAINTAINER Piotr Krysik + +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ + cmake \ + autoconf \ + libtool \ + pkg-config \ + build-essential \ + libcppunit-dev \ + swig \ + doxygen \ + liblog4cpp5-dev \ + python3-docutils \ + python3-scipy \ + gnuradio-dev \ + liborc-dev \ + libosmocore-dev \ + gr-osmosdr + +COPY ./ /src/ +RUN mkdir /src/build +WORKDIR /src/build + +RUN cmake .. && \ + # The parallel build sometimes fails when the .grc_gnuradio + # and .gnuradio directories do not exist + mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ + make -j $(nproc) && \ + make install && \ + ldconfig && \ + make CTEST_OUTPUT_ON_FAILURE=1 test -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I38bbde4fad7bdc72ad99a1957678539ea813013e Gerrit-Change-Number: 24101 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:25:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:25:11 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-amarisoft: adjusting lib name to srsran and update vers... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24045 ) Change subject: jenkins-build-amarisoft: adjusting lib name to srsran and update versions ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24045/2/contrib/jenkins-build-amarisoft.sh File contrib/jenkins-build-amarisoft.sh: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24045/2/contrib/jenkins-build-amarisoft.sh at 96 PS2, Line 96: tar --strip-components=1 -zxf inst-tmp/*/lteue-linux-2021-03-15.tar.gz -C inst-amarisoftue/ So above you use lteute version 2018-10-18 and here 2021-03-15. How is that? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24045 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2174aec3c7ded8c966877a87f4cc6a39ce1325c2 Gerrit-Change-Number: 24045 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:25:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:25:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:25:52 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_ltemme.cfg.tmpl: add gbr to the template In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24046 ) Change subject: amarisoft_ltemme.cfg.tmpl: add gbr to the template ...................................................................... Patch Set 2: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24046/2/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl File src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24046/2/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl at 78 PS2, Line 78: { wrong indentation? https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24046/2/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl at 110 PS2, Line 110: { wrong indentation? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24046 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib0b046ea9fcc26b6bbe03461ca6308acc35175d1 Gerrit-Change-Number: 24046 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:25:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:26:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:26:28 +0000 Subject: Change in osmo-gsm-tester[master]: epc_amarisoft: increase sleep before starting ltesim_server In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24047 ) Change subject: epc_amarisoft: increase sleep before starting ltesim_server ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24047/2/src/osmo_gsm_tester/obj/epc_amarisoft.py File src/osmo_gsm_tester/obj/epc_amarisoft.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24047/2/src/osmo_gsm_tester/obj/epc_amarisoft.py at 123 PS2, Line 123: time.sleep(5) see my comment regarding the check for the iface being up in a previous patch ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24047 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5208035320b70579e870233fa0c4e4059031917d Gerrit-Change-Number: 24047 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:26:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:26:33 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:26:33 +0000 Subject: Change in gr-gsm[master]: GNU Radio 3.8 support In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24060 ) Change subject: GNU Radio 3.8 support ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24060 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I23dd638c8c48ed0a4b50559ce33fbd5e60b7dcbc Gerrit-Change-Number: 24060 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:26:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:26:45 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:26:45 +0000 Subject: Change in gr-gsm[master]: Migrate grc blocks from xml to yaml In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24061 ) Change subject: Migrate grc blocks from xml to yaml ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24061 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iee5c611a2e100bd2fdf487611a867dc937d8c292 Gerrit-Change-Number: 24061 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:26:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:26:52 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:26:52 +0000 Subject: Change in gr-gsm[master]: travis: Test only on distributions with gnuradio 3.8 In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24062 ) Change subject: travis: Test only on distributions with gnuradio 3.8 ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24062 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I05706496687bff2dc4e9a111d8ecd4f878b53c12 Gerrit-Change-Number: 24062 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:26:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:26:58 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:26:58 +0000 Subject: Change in gr-gsm[master]: Various python3 related changes In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24063 ) Change subject: Various python3 related changes ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24063 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I5ca8fd340823996e8c444aaf18ddacd85c92ab1c Gerrit-Change-Number: 24063 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:26:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:27:05 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:27:05 +0000 Subject: Change in gr-gsm[master]: Convert grgsm_livemon and grgsm_livemon_headless to YAML In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24064 ) Change subject: Convert grgsm_livemon and grgsm_livemon_headless to YAML ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24064 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I73023fc66d1ffd6c714a0610962c005395dc126b Gerrit-Change-Number: 24064 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:27:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:27:12 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:27:12 +0000 Subject: Change in gr-gsm[master]: travis: Install only python3 packages In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24065 ) Change subject: travis: Install only python3 packages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24065 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I3548fa7340afc63557cc65a7a396ecf96c607806 Gerrit-Change-Number: 24065 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:27:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:27:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:27:15 +0000 Subject: Change in osmo-gsm-tester[master]: rfemu_srsenb_stdin: catch exception in rfemu and log error In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24048 ) Change subject: rfemu_srsenb_stdin: catch exception in rfemu and log error ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24048 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I496313ef8412c8cb18a3c2cb32c52a3b5a672853 Gerrit-Change-Number: 24048 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:27:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:27:18 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:27:18 +0000 Subject: Change in gr-gsm[master]: travis: Manually install gr-iqbal and gr-osmosdr In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24066 ) Change subject: travis: Manually install gr-iqbal and gr-osmosdr ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24066 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I4f956577293c48d803b8b45d06ba508792501274 Gerrit-Change-Number: 24066 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:27:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:27:25 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:27:25 +0000 Subject: Change in gr-gsm[master]: grgsm_livemon: Disable PPS sync In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24067 ) Change subject: grgsm_livemon: Disable PPS sync ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iee6124bdb2441666a53ac9ee5239894aea61dfde Gerrit-Change-Number: 24067 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:27:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:27:33 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:27:33 +0000 Subject: Change in gr-gsm[master]: grgsm_livemon: Change the type of several parameters to string In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24068 ) Change subject: grgsm_livemon: Change the type of several parameters to string ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24068 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Id67e37e826aa1cc14640d57207a92def682f11e3 Gerrit-Change-Number: 24068 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:27:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:27:39 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:27:39 +0000 Subject: Change in gr-gsm[master]: grgsm_livemon: Fix UDP client and server blocks In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24069 ) Change subject: grgsm_livemon: Fix UDP client and server blocks ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24069 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I542d7c36c30dc8179fa0ee84fc87e134cd2ba9f5 Gerrit-Change-Number: 24069 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:27:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:27:45 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:27:45 +0000 Subject: Change in gr-gsm[master]: grgsm_livemon: Set cell_allocation to [0] In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24070 ) Change subject: grgsm_livemon: Set cell_allocation to [0] ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iae6de844509b13bdf834c9c7443382b1ab3b0a28 Gerrit-Change-Number: 24070 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:27:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:27:50 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:27:50 +0000 Subject: Change in gr-gsm[master]: grgsm_livemon: Specify localhost as string In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24071 ) Change subject: grgsm_livemon: Specify localhost as string ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I6bae2fb1f09038cb0cd3410533d3b3fdc79ed354 Gerrit-Change-Number: 24071 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:27:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:27:56 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:27:56 +0000 Subject: Change in gr-gsm[master]: grgsm_decode: Print frequency or ARFCN message on stderr In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24072 ) Change subject: grgsm_decode: Print frequency or ARFCN message on stderr ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24072 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ib18be898cac74769cabf1b748e40e21d23f08e98 Gerrit-Change-Number: 24072 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:27:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:28:03 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:28:03 +0000 Subject: Change in gr-gsm[master]: travis: gnuradio-companion 3.8 does not have --version parameter In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24073 ) Change subject: travis: gnuradio-companion 3.8 does not have --version parameter ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I7e00c84a4b72e9fa1dcf5ac453882f1733724ac0 Gerrit-Change-Number: 24073 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:28:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:28:09 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:28:09 +0000 Subject: Change in gr-gsm[master]: Remove the RTLD_GLOBAL hack In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24074 ) Change subject: Remove the RTLD_GLOBAL hack ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I1604ad5b9eefe3d4a2228b2a09e2069962844c97 Gerrit-Change-Number: 24074 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:28:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:28:14 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:28:14 +0000 Subject: Change in gr-gsm[master]: Fix grcc compilation with python3 by adding local subdirs to __path__ In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24075 ) Change subject: Fix grcc compilation with python3 by adding local subdirs to __path__ ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I223fd6181e8e36027039301186b671712a597ff8 Gerrit-Change-Number: 24075 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:28:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:28:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:28:21 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_drb.conf.tmpl: decrease pollPDU for QCI9 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24049 ) Change subject: srsenb_drb.conf.tmpl: decrease pollPDU for QCI9 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4114fb36e675b3f91c471558f716276ab24f1db5 Gerrit-Change-Number: 24049 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:28:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:28:21 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:28:21 +0000 Subject: Change in gr-gsm[master]: Do not add python/misc_utils to PYTHONPATH when executing tests In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24076 ) Change subject: Do not add python/misc_utils to PYTHONPATH when executing tests ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ib19a181a3fd9bb78c1d3989bad0e55433f060950 Gerrit-Change-Number: 24076 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:28:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:28:26 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:28:26 +0000 Subject: Change in gr-gsm[master]: travis: Install liborc-0.4-dev needed for gr-iqbal In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24077 ) Change subject: travis: Install liborc-0.4-dev needed for gr-iqbal ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24077 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I4512bb734691f553d63cac59fd2c7ba3ccf3f881 Gerrit-Change-Number: 24077 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:28:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:28:32 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:28:32 +0000 Subject: Change in gr-gsm[master]: travis: Add /usr/local/lib/python3/dist-packages/ to PYTHONPATH In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24078 ) Change subject: travis: Add /usr/local/lib/python3/dist-packages/ to PYTHONPATH ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24078 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I260c82d1a53dab85f7aac86f23e61309d8841255 Gerrit-Change-Number: 24078 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:28:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:28:36 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:28:36 +0000 Subject: Change in gr-gsm[master]: Remove build_utils.py and build_utils_codes.py In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24079 ) Change subject: Remove build_utils.py and build_utils_codes.py ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24079 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I80a364c729e75681a0afd926ea3ecd0eb2d65381 Gerrit-Change-Number: 24079 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:28:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:28:41 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:28:41 +0000 Subject: Change in gr-gsm[master]: tests: Do not specify filename when runing gr_unittest In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24080 ) Change subject: tests: Do not specify filename when runing gr_unittest ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24080 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I7d6dbc32ff794ebf2bc116fa7437062e6780b85f Gerrit-Change-Number: 24080 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:28:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:28:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:28:45 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_mme: use/expose count paramter from MS config for MME In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/22599 ) Change subject: amarisoft_mme: use/expose count paramter from MS config for MME ...................................................................... amarisoft_mme: use/expose count paramter from MS config for MME the UEs count param, if specified, is mapped into the config values of the EPC so it can be used for template rendering. Since we only have one count parameter, its added to the first subscriber. 1 is the default value and its used when no count param is specified. this allows to run the Amarisoft UE simulator with the Amarisoft EPC without having to create subscriber entries for each simulated UE. Change-Id: I29885791f716c204d0b6f18ba134885bae853b6f --- M src/osmo_gsm_tester/obj/epc_amarisoft.py M src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl 2 files changed, 5 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py index 4c3bf07..3b184ae 100644 --- a/src/osmo_gsm_tester/obj/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -150,6 +150,10 @@ config.overlay(values, dict(epc=dict(log_filename=logfile, ifup_filename=ifupfile))) + # Retrieve and overlay UE count parameter to first subscriber + sub_count = self.testenv.suite().config().get('modem', None) + sub_count = sub_count['count'] if sub_count is not None and 'count' in sub_count else 1 + self.subscriber_list[0]['count'] = sub_count config.overlay(values, dict(epc=dict(hss=dict(subscribers=self.subscriber_list)))) self.dbg('SRSEPC CONFIG:\n' + pprint.pformat(values)) diff --git a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl index 3c83bed..b2df9ca 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl @@ -161,6 +161,7 @@ with test SIM cards). They are distinguished with their IMEI. default = false. */ multi_sim: false, + count: ${sub.count}, }, %endfor /* Add new entries for each IMSI/K */ -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/22599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I29885791f716c204d0b6f18ba134885bae853b6f Gerrit-Change-Number: 22599 Gerrit-PatchSet: 6 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:28:46 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:28:46 +0000 Subject: Change in gr-gsm[master]: Build the grgsm_livemon man page In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24081 ) Change subject: Build the grgsm_livemon man page ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24081 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ie128d68965b5cb2c919afa408b4c8aa7ca87ea8c Gerrit-Change-Number: 24081 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:28:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:28:50 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:28:50 +0000 Subject: Change in gr-gsm[master]: Python 3 compatibility changes in fn_time.py In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24082 ) Change subject: Python 3 compatibility changes in fn_time.py ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I268e0aec8fb8e6d490bfb8b0e9e6d169a9f6c352 Gerrit-Change-Number: 24082 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:28:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:28:55 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:28:55 +0000 Subject: Change in gr-gsm[master]: tests: Close the temp file handle in qa_burst_file_source In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24083 ) Change subject: tests: Close the temp file handle in qa_burst_file_source ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I66c2be2e5bf6915e3df253b3a69f5516534e3750 Gerrit-Change-Number: 24083 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:28:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:29:01 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:29:01 +0000 Subject: Change in gr-gsm[master]: Add .dockerignore file In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24084 ) Change subject: Add .dockerignore file ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24084 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I8d4b527a2e5c7b69e5c7338cafba3fbdac381ae1 Gerrit-Change-Number: 24084 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:29:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:29:18 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:29:18 +0000 Subject: Change in gr-gsm[master]: travis: Install gr-osmosdr from the apt repository In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24085 ) Change subject: travis: Install gr-osmosdr from the apt repository ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24085 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I0bbc33a39ef1e4edc1636c338e429639e0b15066 Gerrit-Change-Number: 24085 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:29:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:29:43 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:29:43 +0000 Subject: Change in gr-gsm[master]: travis: Use bionic build environment In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24086 ) Change subject: travis: Use bionic build environment ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24086 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I8f622506329ee97ff3555c2a43a2165303d9ae82 Gerrit-Change-Number: 24086 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:29:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:29:49 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:29:49 +0000 Subject: Change in gr-gsm[master]: tests: fix some shellcheck errors. In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24087 ) Change subject: tests: fix some shellcheck errors. ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ia399324ae7a39e120e338c86d449d7c4d54bd866 Gerrit-Change-Number: 24087 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:29:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:29:53 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:29:53 +0000 Subject: Change in gr-gsm[master]: tests: Get more information about CPU and user limits In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24088 ) Change subject: tests: Get more information about CPU and user limits ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24088 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I0bd3c206f422e11a59070a1c9aace38201ff7c85 Gerrit-Change-Number: 24088 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:29:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:29:58 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:29:58 +0000 Subject: Change in gr-gsm[master]: tests: export VOLK_GENERIC=1 to workaround VOLK's bug 278 In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24089 ) Change subject: tests: export VOLK_GENERIC=1 to workaround VOLK's bug 278 ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24089 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ib9ad4384388e480b8fa2f91e02359c85c749e802 Gerrit-Change-Number: 24089 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:29:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:30:02 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:30:02 +0000 Subject: Change in gr-gsm[master]: Print the error message on stderr in a python2 compatible way In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24090 ) Change subject: Print the error message on stderr in a python2 compatible way ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iaea1510b02a2df924ef9777d107d22c45cb37d12 Gerrit-Change-Number: 24090 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:30:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:30:08 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:30:08 +0000 Subject: Change in gr-gsm[master]: travis: Test in Ubuntu 18.04 container In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24091 ) Change subject: travis: Test in Ubuntu 18.04 container ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iaa8813ab0ae91b667285ab3ef42ffaa279e3a885 Gerrit-Change-Number: 24091 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:30:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:30:12 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:30:12 +0000 Subject: Change in gr-gsm[master]: Log import errors as currently GRC 3.8 suppress them In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24092 ) Change subject: Log import errors as currently GRC 3.8 suppress them ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ie6213428c218720692a544c98dc32c16bd50cbe1 Gerrit-Change-Number: 24092 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:30:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:30:17 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:30:17 +0000 Subject: Change in gr-gsm[master]: Fix compiling with the local libosmocore copy In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24093 ) Change subject: Fix compiling with the local libosmocore copy ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ic72e6ca7f9cc40bc2d78b931e54e66cd71444835 Gerrit-Change-Number: 24093 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:30:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:30:22 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:30:22 +0000 Subject: Change in gr-gsm[master]: trx: Removing old and unused grc based radio_if In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24094 ) Change subject: trx: Removing old and unused grc based radio_if ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I7d43e6f2962b21ff03601cf1b1aafc222f2c4661 Gerrit-Change-Number: 24094 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Comment-Date: Mon, 03 May 2021 10:30:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:30:27 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:30:27 +0000 Subject: Change in gr-gsm[master]: cmake: change 'gsm' to 'grgsm' In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24095 ) Change subject: cmake: change 'gsm' to 'grgsm' ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I130a7912e179b1f04e68eb131e06800becca5a00 Gerrit-Change-Number: 24095 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Comment-Date: Mon, 03 May 2021 10:30:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:30:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:30:28 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add rx_ant param In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24050 ) Change subject: enb: add rx_ant param ...................................................................... Patch Set 2: I don't see this param being used at all? Canyo uexplain why? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iada98fce3608808914562d9f7e2af2c230e03cae Gerrit-Change-Number: 24050 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:30:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:30:32 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:30:32 +0000 Subject: Change in gr-gsm[master]: cmake: make formatting of install statements follow one pattern In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24096 ) Change subject: cmake: make formatting of install statements follow one pattern ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24096 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ib7d571af629b0af78397a411b0cca409a6d218d8 Gerrit-Change-Number: 24096 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Comment-Date: Mon, 03 May 2021 10:30:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:30:36 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:30:36 +0000 Subject: Change in gr-gsm[master]: Remove local copy of associated osmo libraries In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24097 ) Change subject: Remove local copy of associated osmo libraries ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I2b4afedd9f2d568b5287d791891b2c2893fc6843 Gerrit-Change-Number: 24097 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Comment-Date: Mon, 03 May 2021 10:30:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:30:41 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:30:41 +0000 Subject: Change in gr-gsm[master]: Execute python apps with use of python3 In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24098 ) Change subject: Execute python apps with use of python3 ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24098 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ib9ab805cc5a3878d168787736463dc495b96ddcf Gerrit-Change-Number: 24098 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Comment-Date: Mon, 03 May 2021 10:30:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:30:45 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:30:45 +0000 Subject: Change in gr-gsm[master]: Port compile_demappers helper script to gr3.8 In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24099 ) Change subject: Port compile_demappers helper script to gr3.8 ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24099 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iadcc19288496558fc65a46b72d36dcf047489ac3 Gerrit-Change-Number: 24099 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Comment-Date: Mon, 03 May 2021 10:30:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:30:49 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:30:49 +0000 Subject: Change in gr-gsm[master]: tests: Remove test that don't work In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24100 ) Change subject: tests: Remove test that don't work ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24100 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I9f37131c565e6d87ae94f583d36a2de3d9500b38 Gerrit-Change-Number: 24100 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Comment-Date: Mon, 03 May 2021 10:30:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:30:54 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:30:54 +0000 Subject: Change in gr-gsm[master]: tests: Add test for Ubuntu 20.04 In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24101 ) Change subject: tests: Add test for Ubuntu 20.04 ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I38bbde4fad7bdc72ad99a1957678539ea813013e Gerrit-Change-Number: 24101 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Comment-Date: Mon, 03 May 2021 10:30:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:27 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:27 +0000 Subject: Change in gr-gsm[master]: travis: Install only python3 packages In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24065 ) Change subject: travis: Install only python3 packages ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24065 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I3548fa7340afc63557cc65a7a396ecf96c607806 Gerrit-Change-Number: 24065 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 10:31:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:37 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:37 +0000 Subject: Change in gr-gsm[master]: GNU Radio 3.8 support In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24060 ) Change subject: GNU Radio 3.8 support ...................................................................... GNU Radio 3.8 support https://wiki.gnuradio.org/index.php/GNU_Radio_3.8_OOT_Module_Porting_Guide Change-Id: I23dd638c8c48ed0a4b50559ce33fbd5e60b7dcbc --- M CMakeLists.txt M apps/CMakeLists.txt M apps/helpers/CMakeLists.txt D cmake/Modules/CreateSymlink.cmake D cmake/Modules/FindGnuradioRuntime.cmake D cmake/Modules/FindSWIG.cmake D cmake/Modules/FindVolk.cmake D cmake/Modules/GrMiscUtils.cmake D cmake/Modules/GrPlatform.cmake D cmake/Modules/GrPython.cmake D cmake/Modules/GrSwig.cmake D cmake/Modules/GrTest.cmake D cmake/Modules/GrVersion.cmake M cmake/Modules/GrccCompile.cmake D cmake/Modules/GrccCompileWrapper.sh D cmake/Modules/UseSWIG.cmake A cmake/Modules/targetConfig.cmake.in M docs/CMakeLists.txt M docs/doxygen/CMakeLists.txt M docs/doxygen/Doxyfile.in M docs/doxygen/Doxyfile.swig_doc.in M docs/doxygen/doxyxml/__init__.py M docs/doxygen/doxyxml/base.py M docs/doxygen/doxyxml/doxyindex.py M docs/doxygen/doxyxml/generated/__init__.py M docs/doxygen/doxyxml/generated/compound.py M docs/doxygen/doxyxml/generated/compoundsuper.py M docs/doxygen/doxyxml/generated/index.py M docs/doxygen/doxyxml/generated/indexsuper.py M docs/doxygen/doxyxml/text.py M docs/doxygen/swig_doc.py M lib/CMakeLists.txt M python/CMakeLists.txt M python/__init__.py M python/misc_utils/fn_time.py M python/qa_burst_printer.py M python/qa_message_printer.py M python/receiver/fcch_burst_tagger.py M python/receiver/sch_detector.py M swig/CMakeLists.txt 40 files changed, 1,602 insertions(+), 2,436 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/CMakeLists.txt b/CMakeLists.txt index 27a3df7..f73bfbe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,7 @@ -# Copyright 2011,2012 Free Software Foundation, Inc. +# Copyright 2011,2012,2014,2016,2018 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,225 +18,136 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. - ######################################################################## # Project setup ######################################################################## -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.8) project(gr-gsm CXX C) enable_testing() -#set(CMAKE_BUILD_TYPE "Debug") -#select the release build type by default to get optimization flags +# Install to PyBOMBS target prefix if defined +if(DEFINED ENV{PYBOMBS_PREFIX}) + set(CMAKE_INSTALL_PREFIX $ENV{PYBOMBS_PREFIX}) + message(STATUS "PyBOMBS installed GNU Radio. Setting CMAKE_INSTALL_PREFIX to $ENV{PYBOMBS_PREFIX}") +endif() + +# Select the release build type by default to get optimization flags if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Release") message(STATUS "Build type not specified: defaulting to release.") endif(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "") -list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules) - -######################################################################## -# Set cmake policies. -######################################################################## -# This will suppress developer warnings during the cmake process that can occur -# if a newer cmake version than the minimum is used. - -if(POLICY CMP0026) - cmake_policy(SET CMP0026 OLD) -endif() -if(POLICY CMP0043) - cmake_policy(SET CMP0043 OLD) -endif() -if(POLICY CMP0045) - cmake_policy(SET CMP0045 OLD) -endif() -if(POLICY CMP0046) - cmake_policy(SET CMP0046 OLD) -endif() - -######################################################################## -# Set version variables ( -######################################################################## +# Make sure our local CMake Modules path comes first +list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/Modules) # Set the version information here -set(VERSION_INFO_MAJOR_VERSION 0) -set(VERSION_INFO_API_COMPAT 42) -set(VERSION_INFO_MINOR_VERSION 2) -set(VERSION_INFO_MAINT_VERSION ) -include(GrVersion) #setup version info +set(VERSION_MAJOR 1) +set(VERSION_API 0) +set(VERSION_ABI 0) +set(VERSION_PATCH git) + +cmake_policy(SET CMP0011 NEW) + +# Enable generation of compile_commands.json for code completion engines +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) ######################################################################## # Compiler specific setup ######################################################################## -if(CMAKE_COMPILER_IS_GNUCXX AND NOT WIN32) +if((CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR + CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + AND NOT WIN32) #http://gcc.gnu.org/wiki/Visibility add_definitions(-fvisibility=hidden) endif() -######################################################################## -# Find boost -######################################################################## -if(UNIX AND EXISTS "/usr/lib64") - list(APPEND BOOST_LIBRARYDIR "/usr/lib64") #fedora 64-bit fix -endif(UNIX AND EXISTS "/usr/lib64") -set(Boost_ADDITIONAL_VERSIONS - "1.35.0" "1.35" "1.36.0" "1.36" "1.37.0" "1.37" "1.38.0" "1.38" "1.39.0" "1.39" - "1.40.0" "1.40" "1.41.0" "1.41" "1.42.0" "1.42" "1.43.0" "1.43" "1.44.0" "1.44" - "1.45.0" "1.45" "1.46.0" "1.46" "1.47.0" "1.47" "1.48.0" "1.48" "1.49.0" "1.49" - "1.50.0" "1.50" "1.51.0" "1.51" "1.52.0" "1.52" "1.53.0" "1.53" "1.54.0" "1.54" - "1.55.0" "1.55" "1.56.0" "1.56" "1.57.0" "1.57" "1.58.0" "1.58" "1.59.0" "1.59" - "1.60.0" "1.60" "1.61.0" "1.61" "1.62.0" "1.62" "1.63.0" "1.63" "1.64.0" "1.64" - "1.65.0" "1.65" "1.66.0" "1.66" "1.67.0" "1.67" "1.68.0" "1.68" "1.69.0" "1.69" -) -find_package(Boost "1.35" COMPONENTS filesystem system thread) +IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + SET(CMAKE_CXX_STANDARD 11) +ELSEIF(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + SET(CMAKE_CXX_STANDARD 11) +ELSEIF(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + SET(CMAKE_CXX_STANDARD 11) +ELSE() + message(WARNING "C++ standard could not be set because compiler is not GNU, Clang or MSVC.") +ENDIF() -if(NOT Boost_FOUND) - message(FATAL_ERROR "Boost required to compile gr-gsm") -endif() - -find_package(SWIG) - -if(SWIG_FOUND) - # Minimum SWIG version required is 1.3.31 - set(SWIG_VERSION_CHECK FALSE) - if("${SWIG_VERSION}" VERSION_GREATER "1.3.30") - set(SWIG_VERSION_CHECK TRUE) - endif() -else() - message(FATAL_ERROR "SWIG required to compile gr-gsm") -endif(SWIG_FOUND) - +IF(CMAKE_C_COMPILER_ID STREQUAL "GNU") + SET(CMAKE_C_STANDARD 11) +ELSEIF(CMAKE_C_COMPILER_ID MATCHES "Clang") + SET(CMAKE_C_STANDARD 11) +ELSEIF(CMAKE_C_COMPILER_ID STREQUAL "MSVC") + SET(CMAKE_C_STANDARD 11) +ELSE() + message(WARNING "C standard could not be set because compiler is not GNU, Clang or MSVC.") +ENDIF() ######################################################################## # Install directories ######################################################################## +find_package(Gnuradio "3.8" REQUIRED COMPONENTS blocks filter fft CONFIG) +include(GrVersion) + include(GrPlatform) #define LIB_SUFFIX -set(GR_RUNTIME_DIR bin) -set(GR_LIBRARY_DIR lib${LIB_SUFFIX}) + +if(NOT CMAKE_MODULES_DIR) + set(CMAKE_MODULES_DIR lib${LIB_SUFFIX}/cmake) +endif(NOT CMAKE_MODULES_DIR) + set(GR_INCLUDE_DIR include/grgsm) -set(GR_INCLUDE_DIR include/grgsm/misc_utils) -set(GR_INCLUDE_DIR include/grgsm/receiver) -set(GR_INCLUDE_DIR include/grgsm/demapping) -set(GR_INCLUDE_DIR include/grgsm/decoding) -set(GR_DATA_DIR share) +set(GR_CMAKE_DIR ${CMAKE_MODULES_DIR}/gsm) set(GR_PKG_DATA_DIR ${GR_DATA_DIR}/${CMAKE_PROJECT_NAME}) -set(GR_DOC_DIR ${GR_DATA_DIR}/doc) set(GR_PKG_DOC_DIR ${GR_DOC_DIR}/${CMAKE_PROJECT_NAME}) -set(GR_CONF_DIR etc) set(GR_PKG_CONF_DIR ${GR_CONF_DIR}/${CMAKE_PROJECT_NAME}/conf.d) -set(GR_LIBEXEC_DIR libexec) set(GR_PKG_LIBEXEC_DIR ${GR_LIBEXEC_DIR}/${CMAKE_PROJECT_NAME}) -set(GRC_BLOCKS_DIR ${GR_PKG_DATA_DIR}/grc/blocks) - -######################################################################## -# Find gnuradio build dependencies -######################################################################## -set(GR_REQUIRED_COMPONENTS RUNTIME FILTER PMT) -find_package(Gnuradio) -find_package(Volk) -find_package(CppUnit) -#find_package(Doxygen) - -option(LOCAL_OSMOCOM "Build with local osmocom libraries" OFF) -find_package(Libosmocore) -find_package(Libosmocodec) -find_package(Libosmocoding) -find_package(Libosmogsm) - -if(NOT PKG_CONFIG_FOUND) - message(FATAL_ERROR "pkg-config is required to compile gr-gsm") -endif() -if(NOT GNURADIO_RUNTIME_FOUND) - message(FATAL_ERROR "GnuRadio Runtime required to compile gr-gsm") -endif() -if(NOT VOLK_FOUND) - message(FATAL_ERROR "Volk library required to compile gr-gsm") -endif() -if(NOT CPPUNIT_FOUND) - message(FATAL_ERROR "CppUnit required to compile gr-gsm") -endif() - -if(NOT LIBOSMOCORE_FOUND OR NOT LIBOSMOCODEC_FOUND OR NOT LIBOSMOGSM_FOUND) - set(LOCAL_OSMOCOM ON) -endif() - -if(LOCAL_OSMOCOM) - message(STATUS "Compiling with local osmocom libraries") -elseif(NOT LIBOSMOCODING_FOUND) - message(STATUS "Compiling local version of libosmocoding") -endif() - -######################################################################## -# Setup doxygen option -######################################################################## -#if(DOXYGEN_FOUND) -# option(ENABLE_DOXYGEN "Build docs using Doxygen" ON) -#else(DOXYGEN_FOUND) - option(ENABLE_DOXYGEN "Build docs using Doxygen" OFF) #TODO: write doxygen docs -#endif(DOXYGEN_FOUND) - -######################################################################## -# Setup the include and linker paths -######################################################################## - -list (APPEND grgsm_include_directories - ${CMAKE_SOURCE_DIR}/lib - ${CMAKE_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/lib - ${CMAKE_BINARY_DIR}/include - ${Boost_INCLUDE_DIRS} - ${CPPUNIT_INCLUDE_DIRS} - ${GNURADIO_ALL_INCLUDE_DIRS} - ${CMAKE_SOURCE_DIR}/lib/decoding -) - -if(LIBOSMOCORE_FOUND) - list (APPEND grgsm_include_directories - ${LIBOSMOCORE_INCLUDE_DIR} - ) -endif() - -include_directories( - ${grgsm_include_directories} -) - -list (APPEND grgsm_link_directories - ${Boost_LIBRARY_DIRS} - ${CPPUNIT_LIBRARY_DIRS} - ${GNURADIO_ALL_LIBRARY_DIRS} -) - -if(LIBOSMOCORE_FOUND) - list (APPEND grgsm_link_directories - ${LIBOSMOCORE_LIBRARY_DIRS} - ) -endif() - -link_directories( - ${grgsm_link_directories} -) - -# Set component parameters -set(GR_GSM_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include CACHE INTERNAL "" FORCE) -set(GR_GSM_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/swig CACHE INTERNAL "" FORCE) ######################################################################## # On Apple only, set install name and use rpath correctly, if not already set ######################################################################## if(APPLE) if(NOT CMAKE_INSTALL_NAME_DIR) - set(CMAKE_INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/${GR_LIBRARY_DIR} CACHE PATH "Library Install Name Destination Directory" FORCE) + set(CMAKE_INSTALL_NAME_DIR + ${CMAKE_INSTALL_PREFIX}/${GR_LIBRARY_DIR} CACHE + PATH "Library Install Name Destination Directory" FORCE) endif(NOT CMAKE_INSTALL_NAME_DIR) if(NOT CMAKE_INSTALL_RPATH) - set(cmakE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${GR_LIBRARY_DIR} CACHE PATH "Library Install RPath" FORCE) + set(CMAKE_INSTALL_RPATH + ${CMAKE_INSTALL_PREFIX}/${GR_LIBRARY_DIR} CACHE + PATH "Library Install RPath" FORCE) endif(NOT CMAKE_INSTALL_RPATH) if(NOT CMAKE_BUILD_WITH_INSTALL_RPATH) - set(CMAKE_BUILD_WITH_INSTALL_RPATH ON CACHE BOOL "Do Build Using Library Install RPath" FORCE) + set(CMAKE_BUILD_WITH_INSTALL_RPATH ON CACHE + BOOL "Do Build Using Library Install RPath" FORCE) endif(NOT CMAKE_BUILD_WITH_INSTALL_RPATH) endif(APPLE) ######################################################################## +# Find gnuradio build dependencies +######################################################################## +find_package(Doxygen) + +######################################################################## +# Find osmocom build dependencies +######################################################################## +option(LOCAL_OSMOCOM "Build with local osmocom libraries" OFF) +find_package(Libosmocore) +find_package(Libosmocodec) +find_package(Libosmocoding) +find_package(Libosmogsm) +if(NOT LIBOSMOCORE_FOUND OR NOT LIBOSMOCODEC_FOUND OR NOT LIBOSMOGSM_FOUND) + set(LOCAL_OSMOCOM ON) +endif() + +######################################################################## +# Setup doxygen option +######################################################################## +if(DOXYGEN_FOUND) + option(ENABLE_DOXYGEN "Build docs using Doxygen" ON) +else(DOXYGEN_FOUND) + option(ENABLE_DOXYGEN "Build docs using Doxygen" OFF) +endif(DOXYGEN_FOUND) + +######################################################################## # Create uninstall target ######################################################################## configure_file( @@ -245,28 +157,24 @@ add_custom_target(uninstall ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake -) + ) + ######################################################################## # Add subdirectories ######################################################################## add_subdirectory(include/grgsm) add_subdirectory(lib) +add_subdirectory(apps) +add_subdirectory(docs) add_subdirectory(swig) add_subdirectory(python) add_subdirectory(grc) -add_subdirectory(apps) -add_subdirectory(docs) ######################################################################## # Install cmake search helper for this library ######################################################################## -install(FILES cmake/Modules/gr-gsmConfig.cmake - DESTINATION lib${LIB_SUFFIX}/cmake/grgsm -) -######################################################################## -# Print summary -######################################################################## -message(STATUS "Using install prefix: ${CMAKE_INSTALL_PREFIX}") -message(STATUS "Building for version: ${VERSION} / ${LIBVER}") +install(FILES cmake/Modules/gr-gsmConfig.cmake + DESTINATION ${CMAKE_MODULES_DIR}/gsm +) diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt index 85e78d7..54a7774 100644 --- a/apps/CMakeLists.txt +++ b/apps/CMakeLists.txt @@ -1,6 +1,7 @@ -# Copyright 2011 Free Software Foundation, Inc. +# Copyright 2011,2012,2014,2016,2018 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -20,7 +21,6 @@ include(GrPython) include(GrccCompile) add_subdirectory(helpers) -#add_subdirectory(apps_data) GRCC_COMPILE(grgsm_livemon) GRCC_COMPILE(grgsm_livemon_headless) @@ -30,13 +30,13 @@ OPTION(ENABLE_GRGSM_LIVEMON "Compile grgsm_livemon" ON) OPTION(ENABLE_GRGSM_LIVEMON_HEADLESS "Compile grgsm_livemon_headless" ON) -if(ENABLE_GRCC AND ENABLE_GRGSM_LIVEMON) +if(ENABLE_GRC AND ENABLE_GRCC AND ENABLE_GRGSM_LIVEMON) list (APPEND grgsm_flowgraphs ${CMAKE_CURRENT_BINARY_DIR}/grgsm_livemon) -endif(ENABLE_GRCC AND ENABLE_GRGSM_LIVEMON) +endif() -if(ENABLE_GRCC AND ENABLE_GRGSM_LIVEMON_HEADLESS) +if(ENABLE_GRC AND ENABLE_GRCC AND ENABLE_GRGSM_LIVEMON_HEADLESS) list (APPEND grgsm_flowgraphs ${CMAKE_CURRENT_BINARY_DIR}/grgsm_livemon_headless) -endif(ENABLE_GRCC AND ENABLE_GRGSM_LIVEMON_HEADLESS) +endif() GR_PYTHON_INSTALL( PROGRAMS @@ -50,9 +50,4 @@ # The add_dependencies(...) is very important for the parallel build `make -j $(nproc)` # The `pygen_apps` target is generated in GR_PYTHON_INSTALL function which calls # GR_UNIQUE_TARGET that we redefine in GrccCompile. -add_dependencies(pygen_apps _grgsm_swig) - -install( - PROGRAMS - DESTINATION bin -) +add_dependencies(pygen_apps grgsm_swig) diff --git a/apps/helpers/CMakeLists.txt b/apps/helpers/CMakeLists.txt index a85319d..1eef9fe 100644 --- a/apps/helpers/CMakeLists.txt +++ b/apps/helpers/CMakeLists.txt @@ -1,6 +1,7 @@ -# Copyright 2011 Free Software Foundation, Inc. +# Copyright 2011,2012,2014,2016,2018 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/cmake/Modules/CreateSymlink.cmake b/cmake/Modules/CreateSymlink.cmake deleted file mode 100644 index 574c443..0000000 --- a/cmake/Modules/CreateSymlink.cmake +++ /dev/null @@ -1,10 +0,0 @@ -#create logical links in order to keep legacy names of apps -macro(CREATE_SYMLINK _source _dest) - set(source ${CMAKE_CURRENT_SOURCE_DIR}/${_source}) - set(dest ${CMAKE_CURRENT_BINARY_DIR}/${_dest}) - list(APPEND symlinks ${dest}) - add_custom_command( - DEPENDS ${source} OUTPUT ${dest} - COMMAND ln -sf ${_source} ${_dest} - ) -endmacro(CREATE_SYMLINK) diff --git a/cmake/Modules/FindGnuradioRuntime.cmake b/cmake/Modules/FindGnuradioRuntime.cmake deleted file mode 100644 index afed684..0000000 --- a/cmake/Modules/FindGnuradioRuntime.cmake +++ /dev/null @@ -1,36 +0,0 @@ -INCLUDE(FindPkgConfig) -PKG_CHECK_MODULES(PC_GNURADIO_RUNTIME gnuradio-runtime) - -if(PC_GNURADIO_RUNTIME_FOUND) - # look for include files - FIND_PATH( - GNURADIO_RUNTIME_INCLUDE_DIRS - NAMES gnuradio/top_block.h - HINTS $ENV{GNURADIO_RUNTIME_DIR}/include - ${PC_GNURADIO_RUNTIME_INCLUDE_DIRS} - ${CMAKE_INSTALL_PREFIX}/include - PATHS /usr/local/include - /usr/include - ) - - # look for libs - FIND_LIBRARY( - GNURADIO_RUNTIME_LIBRARIES - NAMES gnuradio-runtime - HINTS $ENV{GNURADIO_RUNTIME_DIR}/lib - ${PC_GNURADIO_RUNTIME_LIBDIR} - ${CMAKE_INSTALL_PREFIX}/lib/ - ${CMAKE_INSTALL_PREFIX}/lib64/ - PATHS /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 - ) - - set(GNURADIO_RUNTIME_FOUND ${PC_GNURADIO_RUNTIME_FOUND}) -endif(PC_GNURADIO_RUNTIME_FOUND) - -INCLUDE(FindPackageHandleStandardArgs) -# do not check GNURADIO_RUNTIME_INCLUDE_DIRS, is not set when default include path us used. -FIND_PACKAGE_HANDLE_STANDARD_ARGS(GNURADIO_RUNTIME DEFAULT_MSG GNURADIO_RUNTIME_LIBRARIES) -MARK_AS_ADVANCED(GNURADIO_RUNTIME_LIBRARIES GNURADIO_RUNTIME_INCLUDE_DIRS) diff --git a/cmake/Modules/FindSWIG.cmake b/cmake/Modules/FindSWIG.cmake deleted file mode 100644 index e10080d..0000000 --- a/cmake/Modules/FindSWIG.cmake +++ /dev/null @@ -1,142 +0,0 @@ -####################################################################### -# Find the library for SWIG -# -# The goal here is to intercept calls to "FIND_PACKAGE(SWIG)" in order -# to do a global version check locally after passing on the "find" to -# SWIG-provided scripts. -######################################################################## - -# make this file non-reentrant within the current context - -if(__INCLUDED_FIND_SWIG_CMAKE) - return() -endif() -set(__INCLUDED_FIND_SWIG_CMAKE TRUE) - -# some status messages - -message(STATUS "") -message(STATUS "Checking for module SWIG") - -# -# First check to see if SWIG installed its own CMake file, or if the -# one provided by CMake finds SWIG. -# - -# save the current MODULE path - -set(SAVED_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}) - -# clear the current MODULE path; uses system paths only - -unset(CMAKE_MODULE_PATH) - -# try to find SWIG via the provided parameters, -# handle REQUIRED internally later - -unset(SWIG_FOUND) - -# was the version specified? - -unset(LOCAL_SWIG_FIND_VERSION) -if(SWIG_FIND_VERSION) - set(LOCAL_SWIG_FIND_VERSION ${SWIG_FIND_VERSION}) -endif(SWIG_FIND_VERSION) - -# was EXACT specified? - -unset(LOCAL_SWIG_FIND_VERSION_EXACT) -if(SWIG_FIND_VERSION_EXACT) - set(LOCAL_SWIG_FIND_VERSION_EXACT "EXACT") -endif(SWIG_FIND_VERSION_EXACT) - -# was REQUIRED specified? - -unset(LOCAL_SWIG_FIND_REQUIRED) -if(SWIG_FIND_REQUIRED) - set(LOCAL_SWIG_FIND_REQUIRED "REQUIRED") -endif(SWIG_FIND_REQUIRED) - -# try to find SWIG using the provided parameters, quietly; -# -# this call will error out internally (and not quietly) if: -# 1: EXACT is specified and the version found does not match the requested version; -# 2: REQUIRED is set and SWIG was not found; -# -# this call will return SWIG_FOUND == FALSE if REQUIRED is not set, and: -# 1: SWIG was not found; -# 2: The version found is less than the requested version. - -find_package( - SWIG - ${LOCAL_SWIG_FIND_VERSION} - ${LOCAL_SWIG_FIND_VERSION_EXACT} - ${LOCAL_SWIG_FIND_REQUIRED} - QUIET -) - -# restore CMAKE_MODULE_PATH - -set(CMAKE_MODULE_PATH ${SAVED_CMAKE_MODULE_PATH}) - -# specific version checks - -set(SWIG_VERSION_CHECK FALSE) -if(SWIG_FOUND) - - # SWIG was found; make sure the version meets GR's needs - message(STATUS "Found SWIG version ${SWIG_VERSION}.") - if("${SWIG_VERSION}" VERSION_GREATER "1.3.30") - if(NOT "${SWIG_VERSION}" VERSION_EQUAL "3.0.3" AND - NOT "${SWIG_VERSION}" VERSION_EQUAL "3.0.4") - set(SWIG_VERSION_CHECK TRUE) - else() - message(STATUS "SWIG versions 3.0.3 and 3.0.4 fail to work with GNU Radio.") - endif() - else() - message(STATUS "Minimum SWIG version required is 1.3.31 for GNU Radio.") - endif() - -else() - - # SWIG was either not found, or is less than the requested version - if(SWIG_VERSION) - # SWIG_VERSION is set, but SWIG_FOUND is false; probably a version mismatch - message(STATUS "Found SWIG version ${SWIG_VERSION}.") - message(STATUS "Requested SWIG version is at least ${SWIG_FIND_VERSION}.") - endif() -endif() - -# did the version check fail? - -if(NOT SWIG_VERSION_CHECK) - - # yes: clear various variables and set FOUND to FALSE - message(STATUS "Disabling SWIG because version check failed.") - unset(SWIG_VERSION CACHE) - unset(SWIG_DIR CACHE) - unset(SWIG_EXECUTABLE CACHE) - set(SWIG_FOUND FALSE CACHE BOOL "Set to TRUE if a compatible version of SWIG is found" FORCE) - -endif() - -# check to see if SWIG variables were set - -if(SWIG_FOUND AND SWIG_DIR AND SWIG_EXECUTABLE) - - # yes: even if set SWIG_FOUND==TRUE, then these have already been - # done, but done quietly. It does not hurt to redo them here. - - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(SWIG DEFAULT_MSG SWIG_EXECUTABLE SWIG_DIR) - mark_as_advanced(SWIG_EXECUTABLE SWIG_DIR) - -elseif(SWIG_FIND_REQUIRED) - - if(SWIG_FIND_VERSION) - message(FATAL_ERROR "The found SWIG version (${SWIG_VERSION}) is not compatible with the version required (${SWIG_FIND_VERSION}).") - else() - message(FATAL_ERROR "SWIG is required, but was not found.") - endif() -endif() - diff --git a/cmake/Modules/FindVolk.cmake b/cmake/Modules/FindVolk.cmake deleted file mode 100644 index 425eb01..0000000 --- a/cmake/Modules/FindVolk.cmake +++ /dev/null @@ -1,26 +0,0 @@ -INCLUDE(FindPkgConfig) -PKG_CHECK_MODULES(PC_VOLK volk) - -FIND_PATH( - VOLK_INCLUDE_DIRS - NAMES volk/volk.h - HINTS $ENV{VOLK_DIR}/include - ${PC_VOLK_INCLUDEDIR} - PATHS /usr/local/include - /usr/include -) - -FIND_LIBRARY( - VOLK_LIBRARIES - NAMES volk - HINTS $ENV{VOLK_DIR}/lib - ${PC_VOLK_LIBDIR} - PATHS /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 -) - -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(VOLK DEFAULT_MSG VOLK_LIBRARIES VOLK_INCLUDE_DIRS) -MARK_AS_ADVANCED(VOLK_LIBRARIES VOLK_INCLUDE_DIRS) diff --git a/cmake/Modules/GrMiscUtils.cmake b/cmake/Modules/GrMiscUtils.cmake deleted file mode 100644 index 04efa9e..0000000 --- a/cmake/Modules/GrMiscUtils.cmake +++ /dev/null @@ -1,459 +0,0 @@ -# Copyright 2010-2011,2014 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -if(DEFINED __INCLUDED_GR_MISC_UTILS_CMAKE) - return() -endif() -set(__INCLUDED_GR_MISC_UTILS_CMAKE TRUE) - -######################################################################## -# Set global variable macro. -# Used for subdirectories to export settings. -# Example: include and library paths. -######################################################################## -function(GR_SET_GLOBAL var) - set(${var} ${ARGN} CACHE INTERNAL "" FORCE) -endfunction(GR_SET_GLOBAL) - -######################################################################## -# Set the pre-processor definition if the condition is true. -# - def the pre-processor definition to set and condition name -######################################################################## -function(GR_ADD_COND_DEF def) - if(${def}) - add_definitions(-D${def}) - endif(${def}) -endfunction(GR_ADD_COND_DEF) - -######################################################################## -# Check for a header and conditionally set a compile define. -# - hdr the relative path to the header file -# - def the pre-processor definition to set -######################################################################## -function(GR_CHECK_HDR_N_DEF hdr def) - include(CheckIncludeFileCXX) - CHECK_INCLUDE_FILE_CXX(${hdr} ${def}) - GR_ADD_COND_DEF(${def}) -endfunction(GR_CHECK_HDR_N_DEF) - -######################################################################## -# Include subdirectory macro. -# Sets the CMake directory variables, -# includes the subdirectory CMakeLists.txt, -# resets the CMake directory variables. -# -# This macro includes subdirectories rather than adding them -# so that the subdirectory can affect variables in the level above. -# This provides a work-around for the lack of convenience libraries. -# This way a subdirectory can append to the list of library sources. -######################################################################## -macro(GR_INCLUDE_SUBDIRECTORY subdir) - #insert the current directories on the front of the list - list(INSERT _cmake_source_dirs 0 ${CMAKE_CURRENT_SOURCE_DIR}) - list(INSERT _cmake_binary_dirs 0 ${CMAKE_CURRENT_BINARY_DIR}) - - #set the current directories to the names of the subdirs - set(CMAKE_CURRENT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${subdir}) - set(CMAKE_CURRENT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${subdir}) - - #include the subdirectory CMakeLists to run it - file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - include(${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt) - - #reset the value of the current directories - list(GET _cmake_source_dirs 0 CMAKE_CURRENT_SOURCE_DIR) - list(GET _cmake_binary_dirs 0 CMAKE_CURRENT_BINARY_DIR) - - #pop the subdir names of the front of the list - list(REMOVE_AT _cmake_source_dirs 0) - list(REMOVE_AT _cmake_binary_dirs 0) -endmacro(GR_INCLUDE_SUBDIRECTORY) - -######################################################################## -# Check if a compiler flag works and conditionally set a compile define. -# - flag the compiler flag to check for -# - have the variable to set with result -######################################################################## -macro(GR_ADD_CXX_COMPILER_FLAG_IF_AVAILABLE flag have) - include(CheckCXXCompilerFlag) - CHECK_CXX_COMPILER_FLAG(${flag} ${have}) - if(${have}) - if(${CMAKE_VERSION} VERSION_GREATER "2.8.4") - STRING(FIND "${CMAKE_CXX_FLAGS}" "${flag}" flag_dup) - if(${flag_dup} EQUAL -1) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}") - endif(${flag_dup} EQUAL -1) - endif(${CMAKE_VERSION} VERSION_GREATER "2.8.4") - endif(${have}) -endmacro(GR_ADD_CXX_COMPILER_FLAG_IF_AVAILABLE) - -######################################################################## -# Generates the .la libtool file -# This appears to generate libtool files that cannot be used by auto*. -# Usage GR_LIBTOOL(TARGET [target] DESTINATION [dest]) -# Notice: there is not COMPONENT option, these will not get distributed. -######################################################################## -function(GR_LIBTOOL) - if(NOT DEFINED GENERATE_LIBTOOL) - set(GENERATE_LIBTOOL OFF) #disabled by default - endif() - - if(GENERATE_LIBTOOL) - include(CMakeParseArgumentsCopy) - CMAKE_PARSE_ARGUMENTS(GR_LIBTOOL "" "TARGET;DESTINATION" "" ${ARGN}) - - find_program(LIBTOOL libtool) - if(LIBTOOL) - include(CMakeMacroLibtoolFile) - CREATE_LIBTOOL_FILE(${GR_LIBTOOL_TARGET} /${GR_LIBTOOL_DESTINATION}) - endif(LIBTOOL) - endif(GENERATE_LIBTOOL) - -endfunction(GR_LIBTOOL) - -######################################################################## -# Do standard things to the library target -# - set target properties -# - make install rules -# Also handle gnuradio custom naming conventions w/ extras mode. -######################################################################## -function(GR_LIBRARY_FOO target) - #parse the arguments for component names - include(CMakeParseArgumentsCopy) - CMAKE_PARSE_ARGUMENTS(GR_LIBRARY "" "RUNTIME_COMPONENT;DEVEL_COMPONENT" "" ${ARGN}) - - #set additional target properties - set_target_properties(${target} PROPERTIES SOVERSION ${LIBVER}) - - #install the generated files like so... - install(TARGETS ${target} - LIBRARY DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT} # .so/.dylib file - ARCHIVE DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_DEVEL_COMPONENT} # .lib file - RUNTIME DESTINATION ${GR_RUNTIME_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT} # .dll file - ) - - #extras mode enabled automatically on linux - if(NOT DEFINED LIBRARY_EXTRAS) - set(LIBRARY_EXTRAS ${LINUX}) - endif() - - #special extras mode to enable alternative naming conventions - if(LIBRARY_EXTRAS) - - #create .la file before changing props - GR_LIBTOOL(TARGET ${target} DESTINATION ${GR_LIBRARY_DIR}) - - #give the library a special name with ultra-zero soversion - set_target_properties(${target} PROPERTIES OUTPUT_NAME ${target}-${LIBVER} SOVERSION "0.0.0") - set(target_name lib${target}-${LIBVER}.so.0.0.0) - - #custom command to generate symlinks - add_custom_command( - TARGET ${target} - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E create_symlink ${target_name} ${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so - COMMAND ${CMAKE_COMMAND} -E create_symlink ${target_name} ${CMAKE_CURRENT_BINARY_DIR}/lib${target}-${LIBVER}.so.0 - COMMAND ${CMAKE_COMMAND} -E touch ${target_name} #so the symlinks point to something valid so cmake 2.6 will install - ) - - #and install the extra symlinks - install( - FILES - ${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so - ${CMAKE_CURRENT_BINARY_DIR}/lib${target}-${LIBVER}.so.0 - DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT} - ) - - endif(LIBRARY_EXTRAS) -endfunction(GR_LIBRARY_FOO) - -######################################################################## -# Create a dummy custom command that depends on other targets. -# Usage: -# GR_GEN_TARGET_DEPS(unique_name target_deps ...) -# ADD_CUSTOM_COMMAND( ${target_deps}) -# -# Custom command cant depend on targets, but can depend on executables, -# and executables can depend on targets. So this is the process: -######################################################################## -function(GR_GEN_TARGET_DEPS name var) - file( - WRITE ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp.in - "int main(void){return 0;}\n" - ) - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp.in - ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp - ) - add_executable(${name} ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp) - if(ARGN) - add_dependencies(${name} ${ARGN}) - endif(ARGN) - - if(CMAKE_CROSSCOMPILING) - set(${var} "DEPENDS;${name}" PARENT_SCOPE) #cant call command when cross - else() - set(${var} "DEPENDS;${name};COMMAND;${name}" PARENT_SCOPE) - endif() -endfunction(GR_GEN_TARGET_DEPS) - -######################################################################## -# Control use of gr_logger -# Usage: -# GR_LOGGING() -# -# Will set ENABLE_GR_LOG to 1 by default. -# Can manually set with -DENABLE_GR_LOG=0|1 -######################################################################## -function(GR_LOGGING) - find_package(Log4cpp) - - OPTION(ENABLE_GR_LOG "Use gr_logger" ON) - if(ENABLE_GR_LOG) - # If gr_logger is enabled, make it usable - add_definitions( -DENABLE_GR_LOG ) - - # also test LOG4CPP; if we have it, use this version of the logger - # otherwise, default to the stdout/stderr model. - if(LOG4CPP_FOUND) - SET(HAVE_LOG4CPP True CACHE INTERNAL "" FORCE) - add_definitions( -DHAVE_LOG4CPP ) - else(not LOG4CPP_FOUND) - SET(HAVE_LOG4CPP False CACHE INTERNAL "" FORCE) - SET(LOG4CPP_INCLUDE_DIRS "" CACHE INTERNAL "" FORCE) - SET(LOG4CPP_LIBRARY_DIRS "" CACHE INTERNAL "" FORCE) - SET(LOG4CPP_LIBRARIES "" CACHE INTERNAL "" FORCE) - endif(LOG4CPP_FOUND) - - SET(ENABLE_GR_LOG ${ENABLE_GR_LOG} CACHE INTERNAL "" FORCE) - - else(ENABLE_GR_LOG) - SET(HAVE_LOG4CPP False CACHE INTERNAL "" FORCE) - SET(LOG4CPP_INCLUDE_DIRS "" CACHE INTERNAL "" FORCE) - SET(LOG4CPP_LIBRARY_DIRS "" CACHE INTERNAL "" FORCE) - SET(LOG4CPP_LIBRARIES "" CACHE INTERNAL "" FORCE) - endif(ENABLE_GR_LOG) - - message(STATUS "ENABLE_GR_LOG set to ${ENABLE_GR_LOG}.") - message(STATUS "HAVE_LOG4CPP set to ${HAVE_LOG4CPP}.") - message(STATUS "LOG4CPP_LIBRARIES set to ${LOG4CPP_LIBRARIES}.") - -endfunction(GR_LOGGING) - -######################################################################## -# Check if HAVE_PTHREAD_SETSCHEDPARAM and HAVE_SCHED_SETSCHEDULER -# should be defined -######################################################################## -macro(GR_CHECK_LINUX_SCHED_AVAIL) -set(CMAKE_REQUIRED_LIBRARIES -lpthread) - CHECK_CXX_SOURCE_COMPILES(" - #include - int main(){ - pthread_t pthread; - pthread_setschedparam(pthread, 0, 0); - return 0; - } " HAVE_PTHREAD_SETSCHEDPARAM - ) - GR_ADD_COND_DEF(HAVE_PTHREAD_SETSCHEDPARAM) - - CHECK_CXX_SOURCE_COMPILES(" - #include - int main(){ - pid_t pid; - sched_setscheduler(pid, 0, 0); - return 0; - } " HAVE_SCHED_SETSCHEDULER - ) - GR_ADD_COND_DEF(HAVE_SCHED_SETSCHEDULER) -endmacro(GR_CHECK_LINUX_SCHED_AVAIL) - -######################################################################## -# Macros to generate source and header files from template -######################################################################## -macro(GR_EXPAND_X_H component root) - - include(GrPython) - - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py -"#!${PYTHON_EXECUTABLE} - -import sys, os, re -sys.path.append('${GR_RUNTIME_PYTHONPATH}') -os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' -os.chdir('${CMAKE_CURRENT_BINARY_DIR}') - -if __name__ == '__main__': - import build_utils - root, inp = sys.argv[1:3] - for sig in sys.argv[3:]: - name = re.sub ('X+', sig, root) - d = build_utils.standard_dict2(name, sig, '${component}') - build_utils.expand_template(d, inp) -") - - #make a list of all the generated headers - unset(expanded_files_h) - foreach(sig ${ARGN}) - string(REGEX REPLACE "X+" ${sig} name ${root}) - list(APPEND expanded_files_h ${CMAKE_CURRENT_BINARY_DIR}/${name}.h) - endforeach(sig) - unset(name) - - #create a command to generate the headers - add_custom_command( - OUTPUT ${expanded_files_h} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}.h.t - COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} - ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py - ${root} ${root}.h.t ${ARGN} - ) - - #install rules for the generated headers - list(APPEND generated_includes ${expanded_files_h}) - -endmacro(GR_EXPAND_X_H) - -macro(GR_EXPAND_X_CC_H component root) - - include(GrPython) - - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py -"#!${PYTHON_EXECUTABLE} - -import sys, os, re -sys.path.append('${GR_RUNTIME_PYTHONPATH}') -os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' -os.chdir('${CMAKE_CURRENT_BINARY_DIR}') - -if __name__ == '__main__': - import build_utils - root, inp = sys.argv[1:3] - for sig in sys.argv[3:]: - name = re.sub ('X+', sig, root) - d = build_utils.standard_impl_dict2(name, sig, '${component}') - build_utils.expand_template(d, inp) -") - - #make a list of all the generated files - unset(expanded_files_cc) - unset(expanded_files_h) - foreach(sig ${ARGN}) - string(REGEX REPLACE "X+" ${sig} name ${root}) - list(APPEND expanded_files_cc ${CMAKE_CURRENT_BINARY_DIR}/${name}.cc) - list(APPEND expanded_files_h ${CMAKE_CURRENT_BINARY_DIR}/${name}.h) - endforeach(sig) - unset(name) - - #create a command to generate the source files - add_custom_command( - OUTPUT ${expanded_files_cc} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}.cc.t - COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} - ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py - ${root} ${root}.cc.t ${ARGN} - ) - - #create a command to generate the header files - add_custom_command( - OUTPUT ${expanded_files_h} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}.h.t - COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} - ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py - ${root} ${root}.h.t ${ARGN} - ) - - #make source files depends on headers to force generation - set_source_files_properties(${expanded_files_cc} - PROPERTIES OBJECT_DEPENDS "${expanded_files_h}" - ) - - #install rules for the generated files - list(APPEND generated_sources ${expanded_files_cc}) - list(APPEND generated_headers ${expanded_files_h}) - -endmacro(GR_EXPAND_X_CC_H) - -macro(GR_EXPAND_X_CC_H_IMPL component root) - - include(GrPython) - - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py -"#!${PYTHON_EXECUTABLE} - -import sys, os, re -sys.path.append('${GR_RUNTIME_PYTHONPATH}') -os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' -os.chdir('${CMAKE_CURRENT_BINARY_DIR}') - -if __name__ == '__main__': - import build_utils - root, inp = sys.argv[1:3] - for sig in sys.argv[3:]: - name = re.sub ('X+', sig, root) - d = build_utils.standard_dict(name, sig, '${component}') - build_utils.expand_template(d, inp, '_impl') -") - - #make a list of all the generated files - unset(expanded_files_cc_impl) - unset(expanded_files_h_impl) - unset(expanded_files_h) - foreach(sig ${ARGN}) - string(REGEX REPLACE "X+" ${sig} name ${root}) - list(APPEND expanded_files_cc_impl ${CMAKE_CURRENT_BINARY_DIR}/${name}_impl.cc) - list(APPEND expanded_files_h_impl ${CMAKE_CURRENT_BINARY_DIR}/${name}_impl.h) - list(APPEND expanded_files_h ${CMAKE_CURRENT_BINARY_DIR}/../include/gnuradio/${component}/${name}.h) - endforeach(sig) - unset(name) - - #create a command to generate the _impl.cc files - add_custom_command( - OUTPUT ${expanded_files_cc_impl} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}_impl.cc.t - COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} - ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py - ${root} ${root}_impl.cc.t ${ARGN} - ) - - #create a command to generate the _impl.h files - add_custom_command( - OUTPUT ${expanded_files_h_impl} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}_impl.h.t - COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} - ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py - ${root} ${root}_impl.h.t ${ARGN} - ) - - #make _impl.cc source files depend on _impl.h to force generation - set_source_files_properties(${expanded_files_cc_impl} - PROPERTIES OBJECT_DEPENDS "${expanded_files_h_impl}" - ) - - #make _impl.h source files depend on headers to force generation - set_source_files_properties(${expanded_files_h_impl} - PROPERTIES OBJECT_DEPENDS "${expanded_files_h}" - ) - - #install rules for the generated files - list(APPEND generated_sources ${expanded_files_cc_impl}) - list(APPEND generated_headers ${expanded_files_h_impl}) - -endmacro(GR_EXPAND_X_CC_H_IMPL) diff --git a/cmake/Modules/GrPlatform.cmake b/cmake/Modules/GrPlatform.cmake deleted file mode 100644 index a2e4f3b..0000000 --- a/cmake/Modules/GrPlatform.cmake +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -if(DEFINED __INCLUDED_GR_PLATFORM_CMAKE) - return() -endif() -set(__INCLUDED_GR_PLATFORM_CMAKE TRUE) - -######################################################################## -# Setup additional defines for OS types -######################################################################## -if(CMAKE_SYSTEM_NAME STREQUAL "Linux") - set(LINUX TRUE) -endif() - -if(LINUX AND EXISTS "/etc/debian_version") - set(DEBIAN TRUE) -endif() - -if(LINUX AND EXISTS "/etc/redhat-release") - set(REDHAT TRUE) -endif() - -######################################################################## -# when the library suffix should be 64 (applies to redhat linux family) -######################################################################## -if(NOT DEFINED LIB_SUFFIX AND REDHAT AND CMAKE_SYSTEM_PROCESSOR MATCHES "64$") - set(LIB_SUFFIX 64) -endif() -set(LIB_SUFFIX ${LIB_SUFFIX} CACHE STRING "lib directory suffix") diff --git a/cmake/Modules/GrPython.cmake b/cmake/Modules/GrPython.cmake deleted file mode 100644 index 68ca58e..0000000 --- a/cmake/Modules/GrPython.cmake +++ /dev/null @@ -1,227 +0,0 @@ -# Copyright 2010-2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -if(DEFINED __INCLUDED_GR_PYTHON_CMAKE) - return() -endif() -set(__INCLUDED_GR_PYTHON_CMAKE TRUE) - -######################################################################## -# Setup the python interpreter: -# This allows the user to specify a specific interpreter, -# or finds the interpreter via the built-in cmake module. -######################################################################## -#this allows the user to override PYTHON_EXECUTABLE -if(PYTHON_EXECUTABLE) - - set(PYTHONINTERP_FOUND TRUE) - -#otherwise if not set, try to automatically find it -else(PYTHON_EXECUTABLE) - - #use the built-in find script - find_package(PythonInterp 2) - - #and if that fails use the find program routine - if(NOT PYTHONINTERP_FOUND) - find_program(PYTHON_EXECUTABLE NAMES python python2 python2.7 python2.6 python2.5) - if(PYTHON_EXECUTABLE) - set(PYTHONINTERP_FOUND TRUE) - endif(PYTHON_EXECUTABLE) - endif(NOT PYTHONINTERP_FOUND) - -endif(PYTHON_EXECUTABLE) - -#make the path to the executable appear in the cmake gui -set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE} CACHE FILEPATH "python interpreter") - -#make sure we can use -B with python (introduced in 2.6) -if(PYTHON_EXECUTABLE) - execute_process( - COMMAND ${PYTHON_EXECUTABLE} -B -c "" - OUTPUT_QUIET ERROR_QUIET - RESULT_VARIABLE PYTHON_HAS_DASH_B_RESULT - ) - if(PYTHON_HAS_DASH_B_RESULT EQUAL 0) - set(PYTHON_DASH_B "-B") - endif() -endif(PYTHON_EXECUTABLE) - -######################################################################## -# Check for the existence of a python module: -# - desc a string description of the check -# - mod the name of the module to import -# - cmd an additional command to run -# - have the result variable to set -######################################################################## -macro(GR_PYTHON_CHECK_MODULE desc mod cmd have) - message(STATUS "") - message(STATUS "Python checking for ${desc}") - execute_process( - COMMAND ${PYTHON_EXECUTABLE} -c " -######################################### -try: import ${mod} -except: exit(-1) -try: assert ${cmd} -except: exit(-1) -#########################################" - RESULT_VARIABLE ${have} - ) - if(${have} EQUAL 0) - message(STATUS "Python checking for ${desc} - found") - set(${have} TRUE) - else(${have} EQUAL 0) - message(STATUS "Python checking for ${desc} - not found") - set(${have} FALSE) - endif(${have} EQUAL 0) -endmacro(GR_PYTHON_CHECK_MODULE) - -######################################################################## -# Sets the python installation directory GR_PYTHON_DIR -######################################################################## -execute_process(COMMAND ${PYTHON_EXECUTABLE} -c " -from distutils import sysconfig -print sysconfig.get_python_lib(plat_specific=True, prefix='') -" OUTPUT_VARIABLE GR_PYTHON_DIR OUTPUT_STRIP_TRAILING_WHITESPACE -) -file(TO_CMAKE_PATH ${GR_PYTHON_DIR} GR_PYTHON_DIR) - -######################################################################## -# Create an always-built target with a unique name -# Usage: GR_UNIQUE_TARGET( ) -######################################################################## -function(GR_UNIQUE_TARGET desc) - file(RELATIVE_PATH reldir ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}) - execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import re, hashlib -unique = hashlib.md5('${reldir}${ARGN}').hexdigest()[:5] -print(re.sub('\\W', '_', '${desc} ${reldir} ' + unique))" - OUTPUT_VARIABLE _target OUTPUT_STRIP_TRAILING_WHITESPACE) - add_custom_target(${_target} ALL DEPENDS ${ARGN}) -endfunction(GR_UNIQUE_TARGET) - -######################################################################## -# Install python sources (also builds and installs byte-compiled python) -######################################################################## -function(GR_PYTHON_INSTALL) - include(CMakeParseArgumentsCopy) - CMAKE_PARSE_ARGUMENTS(GR_PYTHON_INSTALL "" "DESTINATION;COMPONENT" "FILES;PROGRAMS" ${ARGN}) - - #################################################################### - if(GR_PYTHON_INSTALL_FILES) - #################################################################### - install(${ARGN}) #installs regular python files - - #create a list of all generated files - unset(pysrcfiles) - unset(pycfiles) - unset(pyofiles) - foreach(pyfile ${GR_PYTHON_INSTALL_FILES}) - get_filename_component(pyfile ${pyfile} ABSOLUTE) - list(APPEND pysrcfiles ${pyfile}) - - #determine if this file is in the source or binary directory - file(RELATIVE_PATH source_rel_path ${CMAKE_CURRENT_SOURCE_DIR} ${pyfile}) - string(LENGTH "${source_rel_path}" source_rel_path_len) - file(RELATIVE_PATH binary_rel_path ${CMAKE_CURRENT_BINARY_DIR} ${pyfile}) - string(LENGTH "${binary_rel_path}" binary_rel_path_len) - - #and set the generated path appropriately - if(${source_rel_path_len} GREATER ${binary_rel_path_len}) - set(pygenfile ${CMAKE_CURRENT_BINARY_DIR}/${binary_rel_path}) - else() - set(pygenfile ${CMAKE_CURRENT_BINARY_DIR}/${source_rel_path}) - endif() - list(APPEND pycfiles ${pygenfile}c) - list(APPEND pyofiles ${pygenfile}o) - - #ensure generation path exists - get_filename_component(pygen_path ${pygenfile} PATH) - file(MAKE_DIRECTORY ${pygen_path}) - - endforeach(pyfile) - - #the command to generate the pyc files - add_custom_command( - DEPENDS ${pysrcfiles} OUTPUT ${pycfiles} - COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_BINARY_DIR}/python_compile_helper.py ${pysrcfiles} ${pycfiles} - ) - - #the command to generate the pyo files - add_custom_command( - DEPENDS ${pysrcfiles} OUTPUT ${pyofiles} - COMMAND ${PYTHON_EXECUTABLE} -O ${CMAKE_BINARY_DIR}/python_compile_helper.py ${pysrcfiles} ${pyofiles} - ) - - #create install rule and add generated files to target list - set(python_install_gen_targets ${pycfiles} ${pyofiles}) - install(FILES ${python_install_gen_targets} - DESTINATION ${GR_PYTHON_INSTALL_DESTINATION} - COMPONENT ${GR_PYTHON_INSTALL_COMPONENT} - ) - - - #################################################################### - elseif(GR_PYTHON_INSTALL_PROGRAMS) - #################################################################### - file(TO_NATIVE_PATH ${PYTHON_EXECUTABLE} pyexe_native) - - foreach(pyfile ${GR_PYTHON_INSTALL_PROGRAMS}) - get_filename_component(pyfile_name ${pyfile} NAME) - get_filename_component(pyfile ${pyfile} ABSOLUTE) - string(REPLACE "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" pyexefile "${pyfile}.exe") - list(APPEND python_install_gen_targets ${pyexefile}) - - get_filename_component(pyexefile_path ${pyexefile} PATH) - file(MAKE_DIRECTORY ${pyexefile_path}) - - add_custom_command( - OUTPUT ${pyexefile} DEPENDS ${pyfile} - COMMAND ${PYTHON_EXECUTABLE} -c - \"open('${pyexefile}', 'w').write('\#!${pyexe_native}\\n'+open('${pyfile}').read())\" - COMMENT "Shebangin ${pyfile_name}" - ) - - #on windows, python files need an extension to execute - get_filename_component(pyfile_ext ${pyfile} EXT) - if(WIN32 AND NOT pyfile_ext) - set(pyfile_name "${pyfile_name}.py") - endif() - - install(PROGRAMS ${pyexefile} RENAME ${pyfile_name} - DESTINATION ${GR_PYTHON_INSTALL_DESTINATION} - COMPONENT ${GR_PYTHON_INSTALL_COMPONENT} - ) - endforeach(pyfile) - - endif() - - GR_UNIQUE_TARGET("pygen" ${python_install_gen_targets}) - -endfunction(GR_PYTHON_INSTALL) - -######################################################################## -# Write the python helper script that generates byte code files -######################################################################## -file(WRITE ${CMAKE_BINARY_DIR}/python_compile_helper.py " -import sys, py_compile -files = sys.argv[1:] -srcs, gens = files[:len(files)/2], files[len(files)/2:] -for src, gen in zip(srcs, gens): - py_compile.compile(file=src, cfile=gen, doraise=True) -") diff --git a/cmake/Modules/GrSwig.cmake b/cmake/Modules/GrSwig.cmake deleted file mode 100644 index 569667b..0000000 --- a/cmake/Modules/GrSwig.cmake +++ /dev/null @@ -1,229 +0,0 @@ -# Copyright 2010-2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -if(DEFINED __INCLUDED_GR_SWIG_CMAKE) - return() -endif() -set(__INCLUDED_GR_SWIG_CMAKE TRUE) - -include(GrPython) - -######################################################################## -# Builds a swig documentation file to be generated into python docstrings -# Usage: GR_SWIG_MAKE_DOCS(output_file input_path input_path....) -# -# Set the following variable to specify extra dependent targets: -# - GR_SWIG_DOCS_SOURCE_DEPS -# - GR_SWIG_DOCS_TARGET_DEPS -######################################################################## -function(GR_SWIG_MAKE_DOCS output_file) - find_package(Doxygen) - if(DOXYGEN_FOUND) - - #setup the input files variable list, quote formated - set(input_files) - unset(INPUT_PATHS) - foreach(input_path ${ARGN}) - if (IS_DIRECTORY ${input_path}) #when input path is a directory - file(GLOB input_path_h_files ${input_path}/*.h) - else() #otherwise its just a file, no glob - set(input_path_h_files ${input_path}) - endif() - list(APPEND input_files ${input_path_h_files}) - set(INPUT_PATHS "${INPUT_PATHS} \"${input_path}\"") - endforeach(input_path) - - #determine the output directory - get_filename_component(name ${output_file} NAME_WE) - get_filename_component(OUTPUT_DIRECTORY ${output_file} PATH) - set(OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY}/${name}_swig_docs) - make_directory(${OUTPUT_DIRECTORY}) - - #generate the Doxyfile used by doxygen - configure_file( - ${CMAKE_SOURCE_DIR}/docs/doxygen/Doxyfile.swig_doc.in - ${OUTPUT_DIRECTORY}/Doxyfile - @ONLY) - - #Create a dummy custom command that depends on other targets - include(GrMiscUtils) - GR_GEN_TARGET_DEPS(_${name}_tag tag_deps ${GR_SWIG_DOCS_TARGET_DEPS}) - - #call doxygen on the Doxyfile + input headers - add_custom_command( - OUTPUT ${OUTPUT_DIRECTORY}/xml/index.xml - DEPENDS ${input_files} ${GR_SWIG_DOCS_SOURCE_DEPS} ${tag_deps} - COMMAND ${DOXYGEN_EXECUTABLE} ${OUTPUT_DIRECTORY}/Doxyfile - COMMENT "Generating doxygen xml for ${name} docs" - ) - - #call the swig_doc script on the xml files - add_custom_command( - OUTPUT ${output_file} - DEPENDS ${input_files} ${OUTPUT_DIRECTORY}/xml/index.xml - COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} - ${CMAKE_SOURCE_DIR}/docs/doxygen/swig_doc.py - ${OUTPUT_DIRECTORY}/xml - ${output_file} - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docs/doxygen - ) - - else(DOXYGEN_FOUND) - file(WRITE ${output_file} "\n") #no doxygen -> empty file - endif(DOXYGEN_FOUND) -endfunction(GR_SWIG_MAKE_DOCS) - -######################################################################## -# Build a swig target for the common gnuradio use case. Usage: -# GR_SWIG_MAKE(target ifile ifile ifile...) -# -# Set the following variables before calling: -# - GR_SWIG_FLAGS -# - GR_SWIG_INCLUDE_DIRS -# - GR_SWIG_LIBRARIES -# - GR_SWIG_SOURCE_DEPS -# - GR_SWIG_TARGET_DEPS -# - GR_SWIG_DOC_FILE -# - GR_SWIG_DOC_DIRS -######################################################################## -macro(GR_SWIG_MAKE name) - set(ifiles ${ARGN}) - - #do swig doc generation if specified - if (GR_SWIG_DOC_FILE) - set(GR_SWIG_DOCS_SOURCE_DEPS ${GR_SWIG_SOURCE_DEPS}) - set(GR_SWIG_DOCS_TAREGT_DEPS ${GR_SWIG_TARGET_DEPS}) - GR_SWIG_MAKE_DOCS(${GR_SWIG_DOC_FILE} ${GR_SWIG_DOC_DIRS}) - list(APPEND GR_SWIG_SOURCE_DEPS ${GR_SWIG_DOC_FILE}) - endif() - - #append additional include directories - find_package(PythonLibs 2) - list(APPEND GR_SWIG_INCLUDE_DIRS ${PYTHON_INCLUDE_PATH}) #deprecated name (now dirs) - list(APPEND GR_SWIG_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS}) - list(APPEND GR_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}) - list(APPEND GR_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}) - - #determine include dependencies for swig file - execute_process( - COMMAND ${PYTHON_EXECUTABLE} - ${CMAKE_BINARY_DIR}/get_swig_deps.py - "${ifiles}" "${GR_SWIG_INCLUDE_DIRS}" - OUTPUT_STRIP_TRAILING_WHITESPACE - OUTPUT_VARIABLE SWIG_MODULE_${name}_EXTRA_DEPS - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - ) - - #Create a dummy custom command that depends on other targets - include(GrMiscUtils) - GR_GEN_TARGET_DEPS(_${name}_swig_tag tag_deps ${GR_SWIG_TARGET_DEPS}) - set(tag_file ${CMAKE_CURRENT_BINARY_DIR}/${name}.tag) - add_custom_command( - OUTPUT ${tag_file} - DEPENDS ${GR_SWIG_SOURCE_DEPS} ${tag_deps} - COMMAND ${CMAKE_COMMAND} -E touch ${tag_file} - ) - - #append the specified include directories - include_directories(${GR_SWIG_INCLUDE_DIRS}) - list(APPEND SWIG_MODULE_${name}_EXTRA_DEPS ${tag_file}) - - #setup the swig flags with flags and include directories - set(CMAKE_SWIG_FLAGS -fvirtual -modern -keyword -w511 -module ${name} ${GR_SWIG_FLAGS}) - foreach(dir ${GR_SWIG_INCLUDE_DIRS}) - list(APPEND CMAKE_SWIG_FLAGS "-I${dir}") - endforeach(dir) - - #set the C++ property on the swig .i file so it builds - set_source_files_properties(${ifiles} PROPERTIES CPLUSPLUS ON) - - #setup the actual swig library target to be built - include(UseSWIG) - SWIG_ADD_MODULE(${name} python ${ifiles}) - SWIG_LINK_LIBRARIES(${name} ${PYTHON_LIBRARIES} ${GR_SWIG_LIBRARIES}) - -endmacro(GR_SWIG_MAKE) - -######################################################################## -# Install swig targets generated by GR_SWIG_MAKE. Usage: -# GR_SWIG_INSTALL( -# TARGETS target target target... -# [DESTINATION destination] -# [COMPONENT component] -# ) -######################################################################## -macro(GR_SWIG_INSTALL) - - include(CMakeParseArgumentsCopy) - CMAKE_PARSE_ARGUMENTS(GR_SWIG_INSTALL "" "DESTINATION;COMPONENT" "TARGETS" ${ARGN}) - - foreach(name ${GR_SWIG_INSTALL_TARGETS}) - install(TARGETS ${SWIG_MODULE_${name}_REAL_NAME} - DESTINATION ${GR_SWIG_INSTALL_DESTINATION} - COMPONENT ${GR_SWIG_INSTALL_COMPONENT} - ) - - include(GrPython) - GR_PYTHON_INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}.py - DESTINATION ${GR_SWIG_INSTALL_DESTINATION} - COMPONENT ${GR_SWIG_INSTALL_COMPONENT} - ) - - GR_LIBTOOL( - TARGET ${SWIG_MODULE_${name}_REAL_NAME} - DESTINATION ${GR_SWIG_INSTALL_DESTINATION} - ) - - endforeach(name) - -endmacro(GR_SWIG_INSTALL) - -######################################################################## -# Generate a python file that can determine swig dependencies. -# Used by the make macro above to determine extra dependencies. -# When you build C++, CMake figures out the header dependencies. -# This code essentially performs that logic for swig includes. -######################################################################## -file(WRITE ${CMAKE_BINARY_DIR}/get_swig_deps.py " - -import os, sys, re - -include_matcher = re.compile('[#|%]include\\s*[<|\"](.*)[>|\"]') -include_dirs = sys.argv[2].split(';') - -def get_swig_incs(file_path): - file_contents = open(file_path, 'r').read() - return include_matcher.findall(file_contents, re.MULTILINE) - -def get_swig_deps(file_path, level): - deps = [file_path] - if level == 0: return deps - for inc_file in get_swig_incs(file_path): - for inc_dir in include_dirs: - inc_path = os.path.join(inc_dir, inc_file) - if not os.path.exists(inc_path): continue - deps.extend(get_swig_deps(inc_path, level-1)) - return deps - -if __name__ == '__main__': - ifiles = sys.argv[1].split(';') - deps = sum([get_swig_deps(ifile, 3) for ifile in ifiles], []) - #sys.stderr.write(';'.join(set(deps)) + '\\n\\n') - print(';'.join(set(deps))) -") diff --git a/cmake/Modules/GrTest.cmake b/cmake/Modules/GrTest.cmake deleted file mode 100644 index 6174c03..0000000 --- a/cmake/Modules/GrTest.cmake +++ /dev/null @@ -1,133 +0,0 @@ -# Copyright 2010-2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -if(DEFINED __INCLUDED_GR_TEST_CMAKE) - return() -endif() -set(__INCLUDED_GR_TEST_CMAKE TRUE) - -######################################################################## -# Add a unit test and setup the environment for a unit test. -# Takes the same arguments as the ADD_TEST function. -# -# Before calling set the following variables: -# GR_TEST_TARGET_DEPS - built targets for the library path -# GR_TEST_LIBRARY_DIRS - directories for the library path -# GR_TEST_PYTHON_DIRS - directories for the python path -######################################################################## -function(GR_ADD_TEST test_name) - - if(WIN32) - #Ensure that the build exe also appears in the PATH. - list(APPEND GR_TEST_TARGET_DEPS ${ARGN}) - - #In the land of windows, all libraries must be in the PATH. - #Since the dependent libraries are not yet installed, - #we must manually set them in the PATH to run tests. - #The following appends the path of a target dependency. - foreach(target ${GR_TEST_TARGET_DEPS}) - get_target_property(location ${target} LOCATION) - if(location) - get_filename_component(path ${location} PATH) - string(REGEX REPLACE "\\$\\(.*\\)" ${CMAKE_BUILD_TYPE} path ${path}) - list(APPEND GR_TEST_LIBRARY_DIRS ${path}) - endif(location) - endforeach(target) - - #SWIG generates the python library files into a subdirectory. - #Therefore, we must append this subdirectory into PYTHONPATH. - #Only do this for the python directories matching the following: - foreach(pydir ${GR_TEST_PYTHON_DIRS}) - get_filename_component(name ${pydir} NAME) - if(name MATCHES "^(swig|lib|src)$") - list(APPEND GR_TEST_PYTHON_DIRS ${pydir}/${CMAKE_BUILD_TYPE}) - endif() - endforeach(pydir) - endif(WIN32) - - file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR} srcdir) - file(TO_NATIVE_PATH "${GR_TEST_LIBRARY_DIRS}" libpath) #ok to use on dir list? - file(TO_NATIVE_PATH "${GR_TEST_PYTHON_DIRS}" pypath) #ok to use on dir list? - - set(environs "GR_DONT_LOAD_PREFS=1" "srcdir=${srcdir}") - - #http://www.cmake.org/pipermail/cmake/2009-May/029464.html - #Replaced this add test + set environs code with the shell script generation. - #Its nicer to be able to manually run the shell script to diagnose problems. - #ADD_TEST(${ARGV}) - #SET_TESTS_PROPERTIES(${test_name} PROPERTIES ENVIRONMENT "${environs}") - - if(UNIX) - set(binpath "${CMAKE_CURRENT_BINARY_DIR}:$PATH") - #set both LD and DYLD paths to cover multiple UNIX OS library paths - list(APPEND libpath "$LD_LIBRARY_PATH" "$DYLD_LIBRARY_PATH") - list(APPEND pypath "$PYTHONPATH") - - #replace list separator with the path separator - string(REPLACE ";" ":" libpath "${libpath}") - string(REPLACE ";" ":" pypath "${pypath}") - list(APPEND environs "PATH=${binpath}" "LD_LIBRARY_PATH=${libpath}" "DYLD_LIBRARY_PATH=${libpath}" "PYTHONPATH=${pypath}") - - #generate a bat file that sets the environment and runs the test - find_program(SHELL sh) - set(sh_file ${CMAKE_CURRENT_BINARY_DIR}/${test_name}_test.sh) - file(WRITE ${sh_file} "#!${SHELL}\n") - #each line sets an environment variable - foreach(environ ${environs}) - file(APPEND ${sh_file} "export ${environ}\n") - endforeach(environ) - #load the command to run with its arguments - foreach(arg ${ARGN}) - file(APPEND ${sh_file} "${arg} ") - endforeach(arg) - file(APPEND ${sh_file} "\n") - - #make the shell file executable - execute_process(COMMAND chmod +x ${sh_file}) - - add_test(${test_name} ${SHELL} ${sh_file}) - - endif(UNIX) - - if(WIN32) - list(APPEND libpath ${DLL_PATHS} "%PATH%") - list(APPEND pypath "%PYTHONPATH%") - - #replace list separator with the path separator (escaped) - string(REPLACE ";" "\\;" libpath "${libpath}") - string(REPLACE ";" "\\;" pypath "${pypath}") - list(APPEND environs "PATH=${libpath}" "PYTHONPATH=${pypath}") - - #generate a bat file that sets the environment and runs the test - set(bat_file ${CMAKE_CURRENT_BINARY_DIR}/${test_name}_test.bat) - file(WRITE ${bat_file} "@echo off\n") - #each line sets an environment variable - foreach(environ ${environs}) - file(APPEND ${bat_file} "SET ${environ}\n") - endforeach(environ) - #load the command to run with its arguments - foreach(arg ${ARGN}) - file(APPEND ${bat_file} "${arg} ") - endforeach(arg) - file(APPEND ${bat_file} "\n") - - add_test(${test_name} ${bat_file}) - endif(WIN32) - -endfunction(GR_ADD_TEST) diff --git a/cmake/Modules/GrVersion.cmake b/cmake/Modules/GrVersion.cmake deleted file mode 100644 index bafd0a7..0000000 --- a/cmake/Modules/GrVersion.cmake +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 2011,2013 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -if(DEFINED __INCLUDED_GR_VERSION_CMAKE) - return() -endif() -set(__INCLUDED_GR_VERSION_CMAKE TRUE) - -#eventually, replace version.sh and fill in the variables below -set(MAJOR_VERSION ${VERSION_INFO_MAJOR_VERSION}) -set(API_COMPAT ${VERSION_INFO_API_COMPAT}) -set(MINOR_VERSION ${VERSION_INFO_MINOR_VERSION}) -set(MAINT_VERSION ${VERSION_INFO_MAINT_VERSION}) - -######################################################################## -# Extract the version string from git describe. -######################################################################## -find_package(Git) - -if(GIT_FOUND AND EXISTS ${CMAKE_SOURCE_DIR}/.git) - message(STATUS "Extracting version information from git describe...") - execute_process( - COMMAND ${GIT_EXECUTABLE} describe --always --abbrev=8 --long - OUTPUT_VARIABLE GIT_DESCRIBE OUTPUT_STRIP_TRAILING_WHITESPACE - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - ) -else() - set(GIT_DESCRIBE "v${MAJOR_VERSION}.${API_COMPAT}.x-xxx-xunknown") -endif() - -######################################################################## -# Use the logic below to set the version constants -######################################################################## -if("${MINOR_VERSION}" STREQUAL "git") - # VERSION: 3.3git-xxx-gxxxxxxxx - # DOCVER: 3.3git - # LIBVER: 3.3git - set(VERSION "${GIT_DESCRIBE}") - set(DOCVER "${MAJOR_VERSION}.${API_COMPAT}${MINOR_VERSION}") - set(LIBVER "${MAJOR_VERSION}.${API_COMPAT}${MINOR_VERSION}") - set(RC_MINOR_VERSION "0") - set(RC_MAINT_VERSION "0") -elseif("${MAINT_VERSION}" STREQUAL "git") - # VERSION: 3.3.1git-xxx-gxxxxxxxx - # DOCVER: 3.3.1git - # LIBVER: 3.3.1git - set(VERSION "${GIT_DESCRIBE}") - set(DOCVER "${MAJOR_VERSION}.${API_COMPAT}.${MINOR_VERSION}${MAINT_VERSION}") - set(LIBVER "${MAJOR_VERSION}.${API_COMPAT}.${MINOR_VERSION}${MAINT_VERSION}") - math(EXPR RC_MINOR_VERSION "${MINOR_VERSION} - 1") - set(RC_MAINT_VERSION "0") -else() - # This is a numbered release. - # VERSION: 3.3.1{.x} - # DOCVER: 3.3.1{.x} - # LIBVER: 3.3.1{.x} - if("${MAINT_VERSION}" STREQUAL "0") - set(VERSION "${MAJOR_VERSION}.${API_COMPAT}.${MINOR_VERSION}") - else() - set(VERSION "${MAJOR_VERSION}.${API_COMPAT}.${MINOR_VERSION}.${MAINT_VERSION}") - endif() - set(DOCVER "${VERSION}") - set(LIBVER "${VERSION}") - set(RC_MINOR_VERSION ${MINOR_VERSION}) - set(RC_MAINT_VERSION ${MAINT_VERSION}) -endif() diff --git a/cmake/Modules/GrccCompile.cmake b/cmake/Modules/GrccCompile.cmake index 4a917c5..4589fd4 100644 --- a/cmake/Modules/GrccCompile.cmake +++ b/cmake/Modules/GrccCompile.cmake @@ -30,25 +30,20 @@ ) string(REPLACE ";" ":" PYTHONPATH "${PYTHONPATH}") +find_program(GRCC grcc + PATHS ${CMAKE_INSTALL_PREFIX}/${GR_RUNTIME_DIR} + ) + macro(GRCC_COMPILE file_name) - if(${CMAKE_VERSION} VERSION_LESS "3.2.0") #use wrapper script to set the environment on systems without cmake 3.2 - ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${file_name} - COMMAND /bin/sh ${CMAKE_SOURCE_DIR}/cmake/Modules/GrccCompileWrapper.sh "${PYTHONPATH}" "${CMAKE_SOURCE_DIR}/grc" "${PC_GNURADIO_RUNTIME_PREFIX}/${GR_RUNTIME_DIR}/grcc -d ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/${file_name}.grc" - COMMAND "${CMAKE_COMMAND}" -E rename ${CMAKE_CURRENT_BINARY_DIR}/${file_name}.py ${CMAKE_CURRENT_BINARY_DIR}/${file_name} - DEPENDS ${file_name}.grc + ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${file_name} + COMMAND "${CMAKE_COMMAND}" + -E env PYTHONPATH="${PYTHONPATH}" GRC_BLOCKS_PATH=${CMAKE_SOURCE_DIR}/grc + ${GRCC} -o ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/${file_name}.grc + COMMAND "${CMAKE_COMMAND}" -E rename ${CMAKE_CURRENT_BINARY_DIR}/${file_name}.py ${CMAKE_CURRENT_BINARY_DIR}/${file_name} + DEPENDS ${file_name}.grc ) - else() #for the rest use new/more portable way - ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${file_name} - COMMAND "${CMAKE_COMMAND}" - -E env PYTHONPATH="${PYTHONPATH}" GRC_BLOCKS_PATH=${CMAKE_SOURCE_DIR}/grc - ${PC_GNURADIO_RUNTIME_PREFIX}/${GR_RUNTIME_DIR}/grcc -d ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/${file_name}.grc - COMMAND "${CMAKE_COMMAND}" -E rename ${CMAKE_CURRENT_BINARY_DIR}/${file_name}.py ${CMAKE_CURRENT_BINARY_DIR}/${file_name} - DEPENDS ${file_name}.grc - ) - endif() endmacro(GRCC_COMPILE) ######################################################################## diff --git a/cmake/Modules/GrccCompileWrapper.sh b/cmake/Modules/GrccCompileWrapper.sh deleted file mode 100644 index 6c7f60f..0000000 --- a/cmake/Modules/GrccCompileWrapper.sh +++ /dev/null @@ -1,3 +0,0 @@ -export PYTHONPATH="$1" -export GRC_BLOCKS_PATH="$2" -eval "$3" diff --git a/cmake/Modules/UseSWIG.cmake b/cmake/Modules/UseSWIG.cmake deleted file mode 100644 index e555435..0000000 --- a/cmake/Modules/UseSWIG.cmake +++ /dev/null @@ -1,305 +0,0 @@ -# - SWIG module for CMake -# Defines the following macros: -# SWIG_ADD_MODULE(name language [ files ]) -# - Define swig module with given name and specified language -# SWIG_LINK_LIBRARIES(name [ libraries ]) -# - Link libraries to swig module -# All other macros are for internal use only. -# To get the actual name of the swig module, -# use: ${SWIG_MODULE_${name}_REAL_NAME}. -# Set Source files properties such as CPLUSPLUS and SWIG_FLAGS to specify -# special behavior of SWIG. Also global CMAKE_SWIG_FLAGS can be used to add -# special flags to all swig calls. -# Another special variable is CMAKE_SWIG_OUTDIR, it allows one to specify -# where to write all the swig generated module (swig -outdir option) -# The name-specific variable SWIG_MODULE__EXTRA_DEPS may be used -# to specify extra dependencies for the generated modules. -# If the source file generated by swig need some special flag you can use -# set_source_files_properties( ${swig_generated_file_fullname} -# PROPERTIES COMPILE_FLAGS "-bla") - - -#============================================================================= -# Copyright 2004-2009 Kitware, Inc. -# Copyright 2009 Mathieu Malaterre -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -set(SWIG_CXX_EXTENSION "cxx") -set(SWIG_EXTRA_LIBRARIES "") - -set(SWIG_PYTHON_EXTRA_FILE_EXTENSION "py") - -# -# For given swig module initialize variables associated with it -# -macro(SWIG_MODULE_INITIALIZE name language) - string(TOUPPER "${language}" swig_uppercase_language) - string(TOLOWER "${language}" swig_lowercase_language) - set(SWIG_MODULE_${name}_LANGUAGE "${swig_uppercase_language}") - set(SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG "${swig_lowercase_language}") - - set(SWIG_MODULE_${name}_REAL_NAME "${name}") - if("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "UNKNOWN") - message(FATAL_ERROR "SWIG Error: Language \"${language}\" not found") - elseif("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "PYTHON") - # when swig is used without the -interface it will produce in the module.py - # a 'import _modulename' statement, which implies having a corresponding - # _modulename.so (*NIX), _modulename.pyd (Win32). - set(SWIG_MODULE_${name}_REAL_NAME "_${name}") - elseif("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "PERL") - set(SWIG_MODULE_${name}_EXTRA_FLAGS "-shadow") - endif() -endmacro() - -# -# For a given language, input file, and output file, determine extra files that -# will be generated. This is internal swig macro. -# - -macro(SWIG_GET_EXTRA_OUTPUT_FILES language outfiles generatedpath infile) - set(${outfiles} "") - get_source_file_property(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename - ${infile} SWIG_MODULE_NAME) - if(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename STREQUAL "NOTFOUND") - get_filename_component(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename "${infile}" NAME_WE) - endif() - foreach(it ${SWIG_${language}_EXTRA_FILE_EXTENSION}) - set(${outfiles} ${${outfiles}} - "${generatedpath}/${SWIG_GET_EXTRA_OUTPUT_FILES_module_basename}.${it}") - endforeach() -endmacro() - -# -# Take swig (*.i) file and add proper custom commands for it -# -macro(SWIG_ADD_SOURCE_TO_MODULE name outfiles infile) - set(swig_full_infile ${infile}) - get_filename_component(swig_source_file_path "${infile}" PATH) - get_filename_component(swig_source_file_name_we "${infile}" NAME_WE) - get_source_file_property(swig_source_file_generated ${infile} GENERATED) - get_source_file_property(swig_source_file_cplusplus ${infile} CPLUSPLUS) - get_source_file_property(swig_source_file_flags ${infile} SWIG_FLAGS) - if("${swig_source_file_flags}" STREQUAL "NOTFOUND") - set(swig_source_file_flags "") - endif() - set(swig_source_file_fullname "${infile}") - if(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_SOURCE_DIR}") - string(REGEX REPLACE - "^${CMAKE_CURRENT_SOURCE_DIR}" "" - swig_source_file_relative_path - "${swig_source_file_path}") - else() - if(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_BINARY_DIR}") - string(REGEX REPLACE - "^${CMAKE_CURRENT_BINARY_DIR}" "" - swig_source_file_relative_path - "${swig_source_file_path}") - set(swig_source_file_generated 1) - else() - set(swig_source_file_relative_path "${swig_source_file_path}") - if(swig_source_file_generated) - set(swig_source_file_fullname "${CMAKE_CURRENT_BINARY_DIR}/${infile}") - else() - set(swig_source_file_fullname "${CMAKE_CURRENT_SOURCE_DIR}/${infile}") - endif() - endif() - endif() - - set(swig_generated_file_fullname - "${CMAKE_CURRENT_BINARY_DIR}") - if(swig_source_file_relative_path) - set(swig_generated_file_fullname - "${swig_generated_file_fullname}/${swig_source_file_relative_path}") - endif() - # If CMAKE_SWIG_OUTDIR was specified then pass it to -outdir - if(CMAKE_SWIG_OUTDIR) - set(swig_outdir ${CMAKE_SWIG_OUTDIR}) - else() - set(swig_outdir ${CMAKE_CURRENT_BINARY_DIR}) - endif() - SWIG_GET_EXTRA_OUTPUT_FILES(${SWIG_MODULE_${name}_LANGUAGE} - swig_extra_generated_files - "${swig_outdir}" - "${infile}") - set(swig_generated_file_fullname - "${swig_generated_file_fullname}/${swig_source_file_name_we}") - # add the language into the name of the file (i.e. TCL_wrap) - # this allows for the same .i file to be wrapped into different languages - set(swig_generated_file_fullname - "${swig_generated_file_fullname}${SWIG_MODULE_${name}_LANGUAGE}_wrap") - - if(swig_source_file_cplusplus) - set(swig_generated_file_fullname - "${swig_generated_file_fullname}.${SWIG_CXX_EXTENSION}") - else() - set(swig_generated_file_fullname - "${swig_generated_file_fullname}.c") - endif() - - # Shut up some warnings from poor SWIG code generation that we - # can do nothing about, when this flag is available - include(CheckCXXCompilerFlag) - check_cxx_compiler_flag("-Wno-unused-but-set-variable" HAVE_WNO_UNUSED_BUT_SET_VARIABLE) - if(HAVE_WNO_UNUSED_BUT_SET_VARIABLE) - set_source_files_properties(${swig_generated_file_fullname} - PROPERTIES COMPILE_FLAGS "-Wno-unused-but-set-variable") - endif(HAVE_WNO_UNUSED_BUT_SET_VARIABLE) - - get_directory_property(cmake_include_directories INCLUDE_DIRECTORIES) - list(REMOVE_DUPLICATES cmake_include_directories) - set(swig_include_dirs) - foreach(it ${cmake_include_directories}) - set(swig_include_dirs ${swig_include_dirs} "-I${it}") - endforeach() - - set(swig_special_flags) - # default is c, so add c++ flag if it is c++ - if(swig_source_file_cplusplus) - set(swig_special_flags ${swig_special_flags} "-c++") - endif() - set(swig_extra_flags) - if(SWIG_MODULE_${name}_EXTRA_FLAGS) - set(swig_extra_flags ${swig_extra_flags} ${SWIG_MODULE_${name}_EXTRA_FLAGS}) - endif() - - # hack to work around CMake bug in add_custom_command with multiple OUTPUT files - - file(RELATIVE_PATH reldir ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}) - execute_process( - COMMAND ${PYTHON_EXECUTABLE} -c "import re, hashlib -unique = hashlib.md5('${reldir}${ARGN}').hexdigest()[:5] -print(re.sub('\\W', '_', '${name} ${reldir} ' + unique))" - OUTPUT_VARIABLE _target OUTPUT_STRIP_TRAILING_WHITESPACE - ) - - file( - WRITE ${CMAKE_CURRENT_BINARY_DIR}/${_target}.cpp.in - "int main(void){return 0;}\n" - ) - - # create dummy dependencies - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_target}.cpp - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_BINARY_DIR}/${_target}.cpp.in - ${CMAKE_CURRENT_BINARY_DIR}/${_target}.cpp - DEPENDS "${swig_source_file_fullname}" ${SWIG_MODULE_${name}_EXTRA_DEPS} - COMMENT "" - ) - - # create the dummy target - add_executable(${_target} ${CMAKE_CURRENT_BINARY_DIR}/${_target}.cpp) - - # add a custom command to the dummy target - add_custom_command( - TARGET ${_target} - # Let's create the ${swig_outdir} at execution time, in case dir contains $(OutDir) - COMMAND ${CMAKE_COMMAND} -E make_directory ${swig_outdir} - COMMAND "${SWIG_EXECUTABLE}" - ARGS "-${SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG}" - ${swig_source_file_flags} - ${CMAKE_SWIG_FLAGS} - -outdir ${swig_outdir} - ${swig_special_flags} - ${swig_extra_flags} - ${swig_include_dirs} - -o "${swig_generated_file_fullname}" - "${swig_source_file_fullname}" - COMMENT "Swig source" - ) - - #add dummy independent dependencies from the _target to each file - #that will be generated by the SWIG command above - - set(${outfiles} "${swig_generated_file_fullname}" ${swig_extra_generated_files}) - - foreach(swig_gen_file ${${outfiles}}) - add_custom_command( - OUTPUT ${swig_gen_file} - COMMAND "${CMAKE_COMMAND}" -E touch_nocreate "${swig_gen_file}" - DEPENDS ${_target} - COMMENT "dummy command to show ${_target} dependency of ${swig_gen_file}" - ) - endforeach() - - set_source_files_properties( - ${outfiles} PROPERTIES GENERATED 1 - ) - -endmacro() - -# -# Create Swig module -# -macro(SWIG_ADD_MODULE name language) - SWIG_MODULE_INITIALIZE(${name} ${language}) - set(swig_dot_i_sources) - set(swig_other_sources) - foreach(it ${ARGN}) - if(${it} MATCHES ".*\\.i$") - set(swig_dot_i_sources ${swig_dot_i_sources} "${it}") - else() - set(swig_other_sources ${swig_other_sources} "${it}") - endif() - endforeach() - - set(swig_generated_sources) - foreach(it ${swig_dot_i_sources}) - SWIG_ADD_SOURCE_TO_MODULE(${name} swig_generated_source ${it}) - set(swig_generated_sources ${swig_generated_sources} "${swig_generated_source}") - endforeach() - get_directory_property(swig_extra_clean_files ADDITIONAL_MAKE_CLEAN_FILES) - set_directory_properties(PROPERTIES - ADDITIONAL_MAKE_CLEAN_FILES "${swig_extra_clean_files};${swig_generated_sources}") - add_library(${SWIG_MODULE_${name}_REAL_NAME} - MODULE - ${swig_generated_sources} - ${swig_other_sources}) - string(TOLOWER "${language}" swig_lowercase_language) - if ("${swig_lowercase_language}" STREQUAL "java") - if (APPLE) - # In java you want: - # System.loadLibrary("LIBRARY"); - # then JNI will look for a library whose name is platform dependent, namely - # MacOS : libLIBRARY.jnilib - # Windows: LIBRARY.dll - # Linux : libLIBRARY.so - set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".jnilib") - endif () - endif () - if ("${swig_lowercase_language}" STREQUAL "python") - # this is only needed for the python case where a _modulename.so is generated - set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "") - # Python extension modules on Windows must have the extension ".pyd" - # instead of ".dll" as of Python 2.5. Older python versions do support - # this suffix. - # http://docs.python.org/whatsnew/ports.html#SECTION0001510000000000000000 - # - # Windows: .dll is no longer supported as a filename extension for extension modules. - # .pyd is now the only filename extension that will be searched for. - # - if(WIN32 AND NOT CYGWIN) - set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".pyd") - endif() - endif () -endmacro() - -# -# Like TARGET_LINK_LIBRARIES but for swig modules -# -macro(SWIG_LINK_LIBRARIES name) - if(SWIG_MODULE_${name}_REAL_NAME) - target_link_libraries(${SWIG_MODULE_${name}_REAL_NAME} ${ARGN}) - else() - message(SEND_ERROR "Cannot find Swig library \"${name}\".") - endif() -endmacro() diff --git a/cmake/Modules/targetConfig.cmake.in b/cmake/Modules/targetConfig.cmake.in new file mode 100644 index 0000000..79e4a28 --- /dev/null +++ b/cmake/Modules/targetConfig.cmake.in @@ -0,0 +1,26 @@ +# Copyright 2018 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. + +include(CMakeFindDependencyMacro) + +set(target_deps "@TARGET_DEPENDENCIES@") +foreach(dep IN LISTS target_deps) + find_dependency(${dep}) +endforeach() +include("${CMAKE_CURRENT_LIST_DIR}/@TARGET at Targets.cmake") diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index ed0fe3d..f9b8b40 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -53,7 +53,7 @@ if(NOT RST2MAN_EXECUTABLE) message(WARNING "rst2man from python-docutils is required to build man pages") else() - build_man_page(MAN1_OUTPUT grgsm_livemon.rst grgsm_livemon.1) + #build_man_page(MAN1_OUTPUT grgsm_livemon.rst grgsm_livemon.1) install(FILES ${MAN1_OUTPUT} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1) endif() diff --git a/docs/doxygen/CMakeLists.txt b/docs/doxygen/CMakeLists.txt index 1b44799..6ade92c 100644 --- a/docs/doxygen/CMakeLists.txt +++ b/docs/doxygen/CMakeLists.txt @@ -1,6 +1,7 @@ # Copyright 2011 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/docs/doxygen/Doxyfile.in b/docs/doxygen/Doxyfile.in index 17badbc..0b4cb7e 100644 --- a/docs/doxygen/Doxyfile.in +++ b/docs/doxygen/Doxyfile.in @@ -1,14 +1,16 @@ -# Doxyfile 1.5.7.1 +# Doxyfile 1.8.4 # This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project +# doxygen (www.doxygen.org) for a project. # -# All text after a hash (#) is considered a comment and will be ignored +# All text after a double hash (##) is considered a comment and is placed +# in front of the TAG it is preceding . +# All text after a hash (#) is considered a comment and will be ignored. # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") +# Values that contain spaces should be placed between quotes (" "). #--------------------------------------------------------------------------- # Project related configuration options @@ -22,8 +24,9 @@ DOXYFILE_ENCODING = UTF-8 -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. +# The PROJECT_NAME tag is a single word (or sequence of words) that should +# identify the project. Note that if you do not use Doxywizard you need +# to put quotes around the project name if it contains spaces. PROJECT_NAME = "GNU Radio's GSM Package" @@ -33,6 +36,19 @@ PROJECT_NUMBER = +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer +# a quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify an logo or icon that is +# included in the documentation. The maximum height of the logo should not +# exceed 55 pixels and the maximum width should not exceed 200 pixels. +# Doxygen will copy the logo to the output directory. + +PROJECT_LOGO = + # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location @@ -54,11 +70,11 @@ # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, -# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, -# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, -# Spanish, Swedish, and Ukrainian. +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Latvian, Lithuanian, Norwegian, Macedonian, +# Persian, Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, +# Slovak, Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. OUTPUT_LANGUAGE = English @@ -112,7 +128,9 @@ # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the -# path to strip. +# path to strip. Note that you specify absolute paths here, but also +# relative paths, which will be relative from the directory where doxygen is +# started. STRIP_FROM_PATH = @@ -126,7 +144,7 @@ STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems +# (but less readable) file names. This can be useful if your file system # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO @@ -181,6 +199,13 @@ ALIASES = +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding +# "class=itcl::class" will allow you to use the command class in the +# itcl::class meaning. + +TCL_SUBST = + # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list @@ -207,11 +232,40 @@ OPTIMIZE_OUTPUT_VHDL = NO +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, +# and language is one of the parsers supported by doxygen: IDL, Java, +# Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, +# C++. For instance to make doxygen treat .inc files as Fortran files (default +# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note +# that for custom extensions you also need to set FILE_PATTERNS otherwise the +# files are not read by doxygen. + +EXTENSION_MAPPING = + +# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all +# comments according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you +# can mix doxygen, HTML, and XML commands with Markdown formatting. +# Disable only in case of backward compatibilities issues. + +MARKDOWN_SUPPORT = YES + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by by putting a % sign in front of the word +# or globally by setting AUTOLINK_SUPPORT to NO. + +AUTOLINK_SUPPORT = YES + # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration +# func(std::string) {}). This also makes the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = YES @@ -227,10 +281,10 @@ SIP_SUPPORT = NO -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES (the +# default) will make doxygen replace the get and set methods by a property in +# the documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. @@ -251,6 +305,22 @@ SUBGROUPING = YES +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and +# unions are shown inside the group in which they are included (e.g. using +# @ingroup) instead of on a separate page (for HTML and Man pages) or +# section (for LaTeX and RTF). + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and +# unions with only public data fields or simple typedef fields will be shown +# inline in the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO (the default), structs, classes, and unions are shown on a separate +# page (for HTML and Man pages) or section (for LaTeX and RTF). + +INLINE_SIMPLE_STRUCTS = NO + # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct @@ -261,21 +331,16 @@ TYPEDEF_HIDES_STRUCT = NO -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can +# be an expensive process and often the same symbol appear multiple times in +# the code, doxygen keeps a cache of pre-resolved symbols. If the cache is too +# small doxygen will become slower. If the cache is too large, memory is wasted. +# The cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid +# range is 0..9, the default is 0, corresponding to a cache size of 2^16 = 65536 +# symbols. -SYMBOL_CACHE_SIZE = 4 +LOOKUP_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options @@ -284,7 +349,7 @@ # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES +# the EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES @@ -293,6 +358,11 @@ EXTRACT_PRIVATE = NO +# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal +# scope will be included in the documentation. + +EXTRACT_PACKAGE = NO + # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. @@ -315,7 +385,7 @@ # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. +# anonymous namespaces are hidden. EXTRACT_ANON_NSPACES = NO @@ -375,6 +445,12 @@ SHOW_INCLUDE_FILES = YES +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. @@ -394,6 +470,16 @@ SORT_BRIEF_DOCS = NO +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. @@ -410,6 +496,15 @@ SORT_BY_SCOPE_NAME = NO +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to +# do proper type resolution of all parameters of a function it will reject a +# match between the prototype and the implementation of a member function even +# if there is only one candidate or it is obvious which candidate to choose +# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen +# will still accept a match between prototype and implementation in such cases. + +STRICT_PROTO_MATCHING = NO + # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. @@ -435,15 +530,16 @@ GENERATE_DEPRECATEDLIST= NO # The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. +# documentation sections, marked by \if section-label ... \endif +# and \cond section-label ... \endcond blocks. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in +# the initial value of a variable or macro consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the +# The appearance of the initializer of individual variables and macros in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. @@ -455,12 +551,6 @@ SHOW_USED_FILES = YES -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. @@ -468,7 +558,8 @@ SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. This will remove the Namespaces entry from the Quick Index +# Namespaces page. +# This will remove the Namespaces entry from the Quick Index # and from the Folder Tree View (if specified). The default is YES. SHOW_NAMESPACES = NO @@ -483,15 +574,26 @@ FILE_VERSION_FILTER = -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. LAYOUT_FILE = +# The CITE_BIB_FILES tag can be used to specify one or more bib files +# containing the references data. This must be a list of .bib files. The +# .bib extension is automatically appended if omitted. Using this command +# requires the bibtex tool to be installed. See also +# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style +# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this +# feature you need bibtex and perl available in the search path. Do not use +# file names with spaces, bibtex cannot handle them. + +CITE_BIB_FILES = + #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- @@ -520,7 +622,7 @@ WARN_IF_DOC_ERROR = YES -# This WARN_NO_PARAMDOC option can be abled to get warnings for +# The WARN_NO_PARAMDOC option can be enabled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of @@ -552,7 +654,8 @@ # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = @top_srcdir@ @top_builddir@ +INPUT = "@top_srcdir@" \ + "@top_builddir@" # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -566,8 +669,9 @@ # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 +# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh +# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py +# *.f90 *.f *.for *.vhd *.vhdl FILE_PATTERNS = *.h \ *.dox @@ -578,18 +682,20 @@ RECURSIVE = YES -# The EXCLUDE tag can be used to specify files and/or directories that should +# The EXCLUDE tag can be used to specify files and/or directories that should be # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. +# Note that relative paths are relative to the directory from which doxygen is +# run. EXCLUDE = @abs_top_builddir@/docs/doxygen/html \ - @abs_top_builddir@/docs/doxygen/xml \ + @abs_top_builddir@/docs/doxygen/xml \ @abs_top_builddir@/docs/doxygen/other/doxypy.py \ - @abs_top_builddir@/_CPack_Packages \ + @abs_top_builddir@/_CPack_Packages \ @abs_top_srcdir@/cmake -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO @@ -667,19 +773,24 @@ # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. +# to standard output. +# If FILTER_PATTERNS is specified, this tag will be ignored. +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: +# basis. +# Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. +# The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. +# info on how filters are used. If FILTER_PATTERNS is empty or if +# non of the patterns match the file name, INPUT_FILTER is applied. -FILTER_PATTERNS = *.py=@top_srcdir@/doc/doxygen/other/doxypy.py +FILTER_PATTERNS = *.py="@top_srcdir@"/doc/doxygen/other/doxypy.py # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source @@ -687,6 +798,21 @@ FILTER_SOURCE_FILES = NO +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) +# and it is also possible to disable source filtering for a specific pattern +# using *.ext= (so without naming a filter). This option only has effect when +# FILTER_SOURCE_FILES is enabled. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- @@ -705,7 +831,7 @@ # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. +# fragments. Normal C, C++ and Fortran comments will always remain visible. STRIP_CODE_COMMENTS = NO @@ -724,7 +850,8 @@ # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentstion. +# link to the source code. +# Otherwise they will link to the documentation. REFERENCES_LINK_SOURCE = YES @@ -788,7 +915,14 @@ # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a -# standard header. +# standard header. Note that when using a custom header you are responsible +# for the proper inclusion of any scripts and style sheets that doxygen +# needs, which is dependent on the configuration options used. +# It is advised to generate a default header using "doxygen -w html +# header.html footer.html stylesheet.css YourConfigFile" and then modify +# that header. Note that the header is subject to change so you typically +# have to redo this when upgrading to a newer version of doxygen or when +# changing the value of configuration settings such as GENERATE_TREEVIEW! HTML_HEADER = @@ -800,27 +934,80 @@ # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! +# fine-tune the look of the HTML output. If left blank doxygen will +# generate a default style sheet. Note that it is recommended to use +# HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this +# tag will in the future become obsolete. HTML_STYLESHEET = -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. +# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional +# user-defined cascading style sheet that is included after the standard +# style sheets created by doxygen. Using this option one can overrule +# certain style aspects. This is preferred over using HTML_STYLESHEET +# since it does not replace the standard style sheet and is therefore more +# robust against future updates. Doxygen will copy the style sheet file to +# the output directory. -HTML_ALIGN_MEMBERS = YES +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that +# the files will be copied as-is; there are no commands or markers available. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the style sheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = NO # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). +# page has loaded. HTML_DYNAMIC_SECTIONS = NO +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of +# entries shown in the various tree structured indices initially; the user +# can expand and collapse entries dynamically later on. Doxygen will expand +# the tree to such a level that at most the specified number of entries are +# visible (unless a fully collapsed tree already exceeds this amount). +# So setting the number of entries 1 will produce a full collapsed tree by +# default. 0 is a special value representing an infinite number of entries +# and will result in a full expanded tree by default. + +HTML_INDEX_NUM_ENTRIES = 100 + # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). @@ -829,7 +1016,8 @@ # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. GENERATE_DOCSET = NO @@ -847,6 +1035,16 @@ DOCSET_BUNDLE_ID = org.doxygen.Project +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely +# identify the documentation publisher. This should be a reverse domain-name +# style string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) @@ -891,10 +1089,10 @@ TOC_EXPAND = YES -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. GENERATE_QHP = NO @@ -906,57 +1104,99 @@ # The QHP_NAMESPACE tag specifies the namespace to use when generating # Qt Help Project output. For more information please see -# Qt Help Project / Namespace. +# http://doc.trolltech.com/qthelpproject.html#namespace QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating # Qt Help Project output. For more information please see -# Qt Help Project / Virtual Folders. +# http://doc.trolltech.com/qthelpproject.html#virtual-folders QHP_VIRTUAL_FOLDER = doc +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# +# Qt Help Project / Custom Filters. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's +# filter section matches. +# +# Qt Help Project / Filter Attributes. + +QHP_SECT_FILTER_ATTRS = + # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can # be used to specify the location of Qt's qhelpgenerator. # If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file . +# .qhp file. QHG_LOCATION = -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) +# at top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. Since the tabs have the same information as the +# navigation tree you can set this option to NO if you already set +# GENERATE_TREEVIEW to YES. DISABLE_INDEX = YES -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. -# If the tag value is set to FRAME, a side panel will be generated +# If the tag value is set to YES, a side panel will be generated # containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. Other possible values -# for this tag are: HIERARCHIES, which will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list; -# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which -# disables this behavior completely. For backwards compatibility with previous -# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE -# respectively. +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. +# Since the tree basically has the same information as the tab index you +# could consider to set DISABLE_INDEX to NO when enabling this option. GENERATE_TREEVIEW = YES +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values +# (range [0,1..20]) that doxygen will group on one line in the generated HTML +# documentation. Note that a value of 0 will completely suppress the enum +# values from appearing in the overview section. + +ENUM_VALUES_PER_LINE = 4 + # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 180 +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need @@ -965,6 +1205,112 @@ FORMULA_FONTSIZE = 10 +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax +# (see http://www.mathjax.org) which uses client side Javascript for the +# rendering instead of using prerendered bitmaps. Use this if you do not +# have LaTeX installed or if you want to formulas look prettier in the HTML +# output. When enabled you may also need to install MathJax separately and +# configure the path to it using the MATHJAX_RELPATH option. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and +# SVG. The default value is HTML-CSS, which is slower, but has the best +# compatibility. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the +# HTML output directory using the MATHJAX_RELPATH option. The destination +# directory should contain the MathJax.js script. For instance, if the mathjax +# directory is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to +# the MathJax Content Delivery Network so you can quickly see the result without +# installing MathJax. +# However, it is strongly recommended to install a local +# copy of MathJax from http://www.mathjax.org before deployment. + +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + +# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension +# names that should be enabled during MathJax rendering. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript +# pieces of code that will be used on startup of the MathJax code. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = NO + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a web server instead of a web client using Javascript. +# There are two flavours of web server based search depending on the +# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for +# searching and an index file used by the script. When EXTERNAL_SEARCH is +# enabled the indexing and searching needs to be provided by external tools. +# See the manual for details. + +SERVER_BASED_SEARCH = NO + +# When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP +# script for searching. Instead the search results are written to an XML file +# which needs to be processed by an external indexer. Doxygen will invoke an +# external search engine pointed to by the SEARCHENGINE_URL option to obtain +# the search results. Doxygen ships with an example indexer (doxyindexer) and +# search engine (doxysearch.cgi) which are based on the open source search +# engine library Xapian. See the manual for configuration details. + +EXTERNAL_SEARCH = NO + +# The SEARCHENGINE_URL should point to a search engine hosted by a web server +# which will returned the search results when EXTERNAL_SEARCH is enabled. +# Doxygen ships with an example search engine (doxysearch) which is based on +# the open source search engine library Xapian. See the manual for configuration +# details. + +SEARCHENGINE_URL = + +# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed +# search data is written to a file for indexing by an external tool. With the +# SEARCHDATA_FILE tag the name of this file can be specified. + +SEARCHDATA_FILE = searchdata.xml + +# When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the +# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is +# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple +# projects and redirect the results back to the right project. + +EXTERNAL_SEARCH_ID = + +# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen +# projects other than the one defined by this configuration file, but that are +# all added to the same external search index. Each project needs to have a +# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id +# of to a relative location where the documentation can be found. +# The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ... + +EXTRA_SEARCH_MAPPINGS = + #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- @@ -982,6 +1328,9 @@ # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. LATEX_CMD_NAME = latex @@ -998,8 +1347,8 @@ COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. +# by the printer. Possible values are: a4, letter, legal and +# executive. If left blank a4 will be used. PAPER_TYPE = letter @@ -1015,6 +1364,20 @@ LATEX_HEADER = +# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for +# the generated latex document. The footer should contain everything after +# the last chapter. If it is left blank doxygen will generate a +# standard footer. Notice: only use this tag if you know what you are doing! + +LATEX_FOOTER = + +# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images +# or other source files which should be copied to the LaTeX output directory. +# Note that the files will be copied as-is; there are no commands or markers +# available. + +LATEX_EXTRA_FILES = + # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references @@ -1041,6 +1404,19 @@ LATEX_HIDE_INDICES = NO +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + +# The LATEX_BIB_STYLE tag can be used to specify the style to use for the +# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See +# http://en.wikipedia.org/wiki/BibTeX for more info. + +LATEX_BIB_STYLE = plain + #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- @@ -1072,7 +1448,7 @@ RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's +# Load style sheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. @@ -1127,18 +1503,6 @@ XML_OUTPUT = xml -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that @@ -1147,6 +1511,21 @@ XML_PROGRAMLISTING = NO #--------------------------------------------------------------------------- +# configuration options related to the DOCBOOK output +#--------------------------------------------------------------------------- + +# If the GENERATE_DOCBOOK tag is set to YES Doxygen will generate DOCBOOK files +# that can be used to generate PDF. + +GENERATE_DOCBOOK = NO + +# The DOCBOOK_OUTPUT tag is used to specify where the DOCBOOK pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in +# front of it. If left blank docbook will be used as the default path. + +DOCBOOK_OUTPUT = docbook + +#--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- @@ -1177,8 +1556,10 @@ PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this +# nicely formatted so it can be parsed by a human reader. +# This is useful +# if you want to understand what is going on. +# On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. @@ -1215,7 +1596,7 @@ EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. +# pointed to by INCLUDE_PATH will be searched when a #include is found. SEARCH_INCLUDES = YES @@ -1245,15 +1626,15 @@ # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. +# Use the PREDEFINED tag if you want to use a different macro definition that +# overrules the definition found in the source code. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. +# doxygen's preprocessor will remove all references to function-like macros +# that are alone on a line, have an all uppercase name, and do not end with a +# semicolon, because these will confuse the parser if not removed. SKIP_FUNCTION_MACROS = YES @@ -1261,20 +1642,18 @@ # Configuration::additions related to external references #--------------------------------------------------------------------------- -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... +# The TAGFILES option can be used to specify one or more tagfiles. For each +# tag file the location of the external documentation should be added. The +# format of a tag file without this location is as follows: +# +# TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. +# +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths +# or URLs. Note that each tag file must have a unique name (where the name does +# NOT include the path). If a tag file is not located in the directory in which +# doxygen is run, you must also specify the path to the tagfile here. TAGFILES = @@ -1295,6 +1674,12 @@ EXTERNAL_GROUPS = YES +# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed +# in the related pages index. If set to NO, only the current project's +# pages will be listed. + +EXTERNAL_PAGES = YES + # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). @@ -1307,9 +1692,8 @@ # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. +# this option also works with HAVE_DOT disabled, but it is recommended to +# install and use dot, since it yields more powerful graphs. CLASS_DIAGRAMS = YES @@ -1335,33 +1719,38 @@ HAVE_DOT = @HAVE_DOT@ -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. -DOT_FONTNAME = FreeSans +DOT_NUM_THREADS = 0 + +# By default doxygen will use the Helvetica font for all dot files that +# doxygen generates. When you want a differently looking font you can specify +# the font name using DOT_FONTNAME. You need to make sure dot is able to find +# the font, which can be done by putting it in a standard location or by setting +# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the +# directory containing the font. + +DOT_FONTNAME = Helvetica # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 10 -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. +# By default doxygen will tell dot to use the Helvetica font. +# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to +# set the path where dot can find it. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. +# CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES @@ -1383,6 +1772,15 @@ UML_LOOK = NO +# If the UML_LOOK tag is enabled, the fields and methods are shown inside +# the class node. If there are many fields or methods and many nodes the +# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS +# threshold limits the number of items for each type to make the size more +# manageable. Set this to 0 for no limit. Note that the threshold may be +# exceeded by 50% before the limit is enforced. + +UML_LIMIT_NUM_FIELDS = 10 + # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. @@ -1419,11 +1817,11 @@ CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. +# will generate a graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. @@ -1431,11 +1829,22 @@ DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. +# generated by dot. Possible values are svg, png, jpg, or gif. +# If left blank png will be used. If you choose svg you need to set +# HTML_FILE_EXTENSION to xhtml in order to make the SVG files +# visible in IE 9+ (other browsers do not have this requirement). DOT_IMAGE_FORMAT = png +# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to +# enable generation of interactive SVG images that allow zooming and panning. +# Note that this requires a modern browser other than Internet Explorer. +# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you +# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files +# visible. Older versions of IE do not have SVG support. + +INTERACTIVE_SVG = NO + # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. @@ -1447,6 +1856,12 @@ DOTFILE_DIRS = +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the +# \mscfile command). + +MSCFILE_DIRS = + # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is @@ -1493,12 +1908,3 @@ # the various graphs. DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO diff --git a/docs/doxygen/Doxyfile.swig_doc.in b/docs/doxygen/Doxyfile.swig_doc.in index 50b8aa8..cbe06d6 100644 --- a/docs/doxygen/Doxyfile.swig_doc.in +++ b/docs/doxygen/Doxyfile.swig_doc.in @@ -1,14 +1,16 @@ -# Doxyfile 1.6.1 +# Doxyfile 1.8.4 # This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project +# doxygen (www.doxygen.org) for a project. # -# All text after a hash (#) is considered a comment and will be ignored +# All text after a double hash (##) is considered a comment and is placed +# in front of the TAG it is preceding . +# All text after a hash (#) is considered a comment and will be ignored. # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") +# Values that contain spaces should be placed between quotes (" "). #--------------------------------------------------------------------------- # Project related configuration options @@ -22,8 +24,9 @@ DOXYFILE_ENCODING = UTF-8 -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. +# The PROJECT_NAME tag is a single word (or sequence of words) that should +# identify the project. Note that if you do not use Doxywizard you need +# to put quotes around the project name if it contains spaces. PROJECT_NAME = @CPACK_PACKAGE_NAME@ @@ -33,12 +36,25 @@ PROJECT_NUMBER = @CPACK_PACKAGE_VERSION@ +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer +# a quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify an logo or icon that is +# included in the documentation. The maximum height of the logo should not +# exceed 55 pixels and the maximum width should not exceed 200 pixels. +# Doxygen will copy the logo to the output directory. + +PROJECT_LOGO = + # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. -OUTPUT_DIRECTORY = @OUTPUT_DIRECTORY@ +OUTPUT_DIRECTORY = "@OUTPUT_DIRECTORY@" # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output @@ -56,9 +72,9 @@ # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, # Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, # Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. +# messages), Korean, Korean-en, Latvian, Lithuanian, Norwegian, Macedonian, +# Persian, Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, +# Slovak, Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. OUTPUT_LANGUAGE = English @@ -105,14 +121,16 @@ # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. -FULL_PATH_NAMES = YES +FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the -# path to strip. +# path to strip. Note that you specify absolute paths here, but also +# relative paths, which will be relative from the directory where doxygen is +# started. STRIP_FROM_PATH = @@ -126,7 +144,7 @@ STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems +# (but less readable) file names. This can be useful if your file system # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO @@ -181,6 +199,13 @@ ALIASES = +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding +# "class=itcl::class" will allow you to use the command class in the +# itcl::class meaning. + +TCL_SUBST = + # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list @@ -207,22 +232,40 @@ OPTIMIZE_OUTPUT_VHDL = NO -# Doxygen selects the parser to use depending on the extension of the files it parses. -# With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this tag. -# The format is ext=language, where ext is a file extension, and language is one of -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, +# and language is one of the parsers supported by doxygen: IDL, Java, +# Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, +# C++. For instance to make doxygen treat .inc files as Fortran files (default +# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note +# that for custom extensions you also need to set FILE_PATTERNS otherwise the +# files are not read by doxygen. EXTENSION_MAPPING = +# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all +# comments according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you +# can mix doxygen, HTML, and XML commands with Markdown formatting. +# Disable only in case of backward compatibilities issues. + +MARKDOWN_SUPPORT = YES + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by by putting a % sign in front of the word +# or globally by setting AUTOLINK_SUPPORT to NO. + +AUTOLINK_SUPPORT = YES + # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration +# func(std::string) {}). This also makes the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = YES @@ -238,10 +281,10 @@ SIP_SUPPORT = NO -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES (the +# default) will make doxygen replace the get and set methods by a property in +# the documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. @@ -262,6 +305,22 @@ SUBGROUPING = YES +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and +# unions are shown inside the group in which they are included (e.g. using +# @ingroup) instead of on a separate page (for HTML and Man pages) or +# section (for LaTeX and RTF). + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and +# unions with only public data fields or simple typedef fields will be shown +# inline in the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO (the default), structs, classes, and unions are shown on a separate +# page (for HTML and Man pages) or section (for LaTeX and RTF). + +INLINE_SIMPLE_STRUCTS = NO + # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct @@ -272,21 +331,16 @@ TYPEDEF_HIDES_STRUCT = NO -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can +# be an expensive process and often the same symbol appear multiple times in +# the code, doxygen keeps a cache of pre-resolved symbols. If the cache is too +# small doxygen will become slower. If the cache is too large, memory is wasted. +# The cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid +# range is 0..9, the default is 0, corresponding to a cache size of 2^16 = 65536 +# symbols. -SYMBOL_CACHE_SIZE = 0 +LOOKUP_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options @@ -295,7 +349,7 @@ # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES +# the EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES @@ -304,6 +358,11 @@ EXTRACT_PRIVATE = NO +# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal +# scope will be included in the documentation. + +EXTRACT_PACKAGE = NO + # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. @@ -326,7 +385,7 @@ # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. +# anonymous namespaces are hidden. EXTRACT_ANON_NSPACES = NO @@ -386,6 +445,12 @@ SHOW_INCLUDE_FILES = YES +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. @@ -405,7 +470,13 @@ SORT_BRIEF_DOCS = NO -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. SORT_MEMBERS_CTORS_1ST = NO @@ -425,6 +496,15 @@ SORT_BY_SCOPE_NAME = NO +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to +# do proper type resolution of all parameters of a function it will reject a +# match between the prototype and the implementation of a member function even +# if there is only one candidate or it is obvious which candidate to choose +# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen +# will still accept a match between prototype and implementation in such cases. + +STRICT_PROTO_MATCHING = NO + # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. @@ -450,15 +530,16 @@ GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. +# documentation sections, marked by \if section-label ... \endif +# and \cond section-label ... \endcond blocks. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in +# the initial value of a variable or macro consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the +# The appearance of the initializer of individual variables and macros in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. @@ -470,12 +551,6 @@ SHOW_USED_FILES = YES -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. @@ -499,15 +574,26 @@ FILE_VERSION_FILTER = -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. LAYOUT_FILE = +# The CITE_BIB_FILES tag can be used to specify one or more bib files +# containing the references data. This must be a list of .bib files. The +# .bib extension is automatically appended if omitted. Using this command +# requires the bibtex tool to be installed. See also +# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style +# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this +# feature you need bibtex and perl available in the search path. Do not use +# file names with spaces, bibtex cannot handle them. + +CITE_BIB_FILES = + #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- @@ -536,7 +622,7 @@ WARN_IF_DOC_ERROR = YES -# This WARN_NO_PARAMDOC option can be abled to get warnings for +# The WARN_NO_PARAMDOC option can be enabled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of @@ -582,8 +668,9 @@ # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 +# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh +# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py +# *.f90 *.f *.for *.vhd *.vhdl FILE_PATTERNS = *.h @@ -593,14 +680,16 @@ RECURSIVE = YES -# The EXCLUDE tag can be used to specify files and/or directories that should +# The EXCLUDE tag can be used to specify files and/or directories that should be # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. +# Note that relative paths are relative to the directory from which doxygen is +# run. EXCLUDE = -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO @@ -653,8 +742,10 @@ # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. +# If FILTER_PATTERNS is specified, this tag will be ignored. +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. INPUT_FILTER = @@ -664,8 +755,8 @@ # filter if there is a match. # The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. +# info on how filters are used. If FILTER_PATTERNS is empty or if +# non of the patterns match the file name, INPUT_FILTER is applied. FILTER_PATTERNS = @@ -675,6 +766,21 @@ FILTER_SOURCE_FILES = NO +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) +# and it is also possible to disable source filtering for a specific pattern +# using *.ext= (so without naming a filter). This option only has effect when +# FILTER_SOURCE_FILES is enabled. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- @@ -693,7 +799,7 @@ # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. +# fragments. Normal C, C++ and Fortran comments will always remain visible. STRIP_CODE_COMMENTS = YES @@ -777,7 +883,14 @@ # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a -# standard header. +# standard header. Note that when using a custom header you are responsible +# for the proper inclusion of any scripts and style sheets that doxygen +# needs, which is dependent on the configuration options used. +# It is advised to generate a default header using "doxygen -w html +# header.html footer.html stylesheet.css YourConfigFile" and then modify +# that header. Note that the header is subject to change so you typically +# have to redo this when upgrading to a newer version of doxygen or when +# changing the value of configuration settings such as GENERATE_TREEVIEW! HTML_HEADER = @@ -789,27 +902,80 @@ # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! +# fine-tune the look of the HTML output. If left blank doxygen will +# generate a default style sheet. Note that it is recommended to use +# HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this +# tag will in the future become obsolete. HTML_STYLESHEET = -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. +# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional +# user-defined cascading style sheet that is included after the standard +# style sheets created by doxygen. Using this option one can overrule +# certain style aspects. This is preferred over using HTML_STYLESHEET +# since it does not replace the standard style sheet and is therefore more +# robust against future updates. Doxygen will copy the style sheet file to +# the output directory. -HTML_ALIGN_MEMBERS = YES +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that +# the files will be copied as-is; there are no commands or markers available. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the style sheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = NO # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). +# page has loaded. HTML_DYNAMIC_SECTIONS = NO +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of +# entries shown in the various tree structured indices initially; the user +# can expand and collapse entries dynamically later on. Doxygen will expand +# the tree to such a level that at most the specified number of entries are +# visible (unless a fully collapsed tree already exceeds this amount). +# So setting the number of entries 1 will produce a full collapsed tree by +# default. 0 is a special value representing an infinite number of entries +# and will result in a full expanded tree by default. + +HTML_INDEX_NUM_ENTRIES = 100 + # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). @@ -818,7 +984,8 @@ # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. GENERATE_DOCSET = NO @@ -836,6 +1003,16 @@ DOCSET_BUNDLE_ID = org.doxygen.Project +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely +# identify the documentation publisher. This should be a reverse domain-name +# style string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) @@ -880,10 +1057,10 @@ TOC_EXPAND = NO -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. GENERATE_QHP = NO @@ -905,20 +1082,24 @@ QHP_VIRTUAL_FOLDER = doc -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. -# For more information please see +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters QHP_CUST_FILTER_NAME = -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see -# Qt Help Project / Custom Filters. +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# +# Qt Help Project / Custom Filters. QHP_CUST_FILTER_ATTRS = -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's # filter section matches. -# Qt Help Project / Filter Attributes. +# +# Qt Help Project / Filter Attributes. QHP_SECT_FILTER_ATTRS = @@ -929,17 +1110,31 @@ QHG_LOCATION = -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) +# at top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. Since the tabs have the same information as the +# navigation tree you can set this option to NO if you already set +# GENERATE_TREEVIEW to YES. DISABLE_INDEX = NO -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. # If the tag value is set to YES, a side panel will be generated @@ -947,13 +1142,17 @@ # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). # Windows users are probably better off using the HTML help feature. +# Since the tree basically has the same information as the tab index you +# could consider to set DISABLE_INDEX to NO when enabling this option. GENERATE_TREEVIEW = NO -# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list. +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values +# (range [0,1..20]) that doxygen will group on one line in the generated HTML +# documentation. Note that a value of 0 will completely suppress the enum +# values from appearing in the overview section. -USE_INLINE_TREES = NO +ENUM_VALUES_PER_LINE = 4 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree @@ -961,6 +1160,11 @@ TREEVIEW_WIDTH = 250 +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need @@ -969,13 +1173,112 @@ FORMULA_FONTSIZE = 10 -# When the SEARCHENGINE tag is enable doxygen will generate a search box for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP) or Qt help (GENERATE_QHP) -# there is already a search function so this one should typically -# be disabled. +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax +# (see http://www.mathjax.org) which uses client side Javascript for the +# rendering instead of using prerendered bitmaps. Use this if you do not +# have LaTeX installed or if you want to formulas look prettier in the HTML +# output. When enabled you may also need to install MathJax separately and +# configure the path to it using the MATHJAX_RELPATH option. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and +# SVG. The default value is HTML-CSS, which is slower, but has the best +# compatibility. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the +# HTML output directory using the MATHJAX_RELPATH option. The destination +# directory should contain the MathJax.js script. For instance, if the mathjax +# directory is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to +# the MathJax Content Delivery Network so you can quickly see the result without +# installing MathJax. +# However, it is strongly recommended to install a local +# copy of MathJax from http://www.mathjax.org before deployment. + +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + +# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension +# names that should be enabled during MathJax rendering. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript +# pieces of code that will be used on startup of the MathJax code. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. SEARCHENGINE = YES +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a web server instead of a web client using Javascript. +# There are two flavours of web server based search depending on the +# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for +# searching and an index file used by the script. When EXTERNAL_SEARCH is +# enabled the indexing and searching needs to be provided by external tools. +# See the manual for details. + +SERVER_BASED_SEARCH = NO + +# When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP +# script for searching. Instead the search results are written to an XML file +# which needs to be processed by an external indexer. Doxygen will invoke an +# external search engine pointed to by the SEARCHENGINE_URL option to obtain +# the search results. Doxygen ships with an example indexer (doxyindexer) and +# search engine (doxysearch.cgi) which are based on the open source search +# engine library Xapian. See the manual for configuration details. + +EXTERNAL_SEARCH = NO + +# The SEARCHENGINE_URL should point to a search engine hosted by a web server +# which will returned the search results when EXTERNAL_SEARCH is enabled. +# Doxygen ships with an example search engine (doxysearch) which is based on +# the open source search engine library Xapian. See the manual for configuration +# details. + +SEARCHENGINE_URL = + +# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed +# search data is written to a file for indexing by an external tool. With the +# SEARCHDATA_FILE tag the name of this file can be specified. + +SEARCHDATA_FILE = searchdata.xml + +# When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the +# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is +# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple +# projects and redirect the results back to the right project. + +EXTERNAL_SEARCH_ID = + +# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen +# projects other than the one defined by this configuration file, but that are +# all added to the same external search index. Each project needs to have a +# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id +# of to a relative location where the documentation can be found. +# The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ... + +EXTRA_SEARCH_MAPPINGS = + #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- @@ -993,6 +1296,9 @@ # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. LATEX_CMD_NAME = latex @@ -1009,8 +1315,8 @@ COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. +# by the printer. Possible values are: a4, letter, legal and +# executive. If left blank a4 will be used. PAPER_TYPE = a4wide @@ -1026,6 +1332,20 @@ LATEX_HEADER = +# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for +# the generated latex document. The footer should contain everything after +# the last chapter. If it is left blank doxygen will generate a +# standard footer. Notice: only use this tag if you know what you are doing! + +LATEX_FOOTER = + +# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images +# or other source files which should be copied to the LaTeX output directory. +# Note that the files will be copied as-is; there are no commands or markers +# available. + +LATEX_EXTRA_FILES = + # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references @@ -1052,10 +1372,19 @@ LATEX_HIDE_INDICES = NO -# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER. +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. LATEX_SOURCE_CODE = NO +# The LATEX_BIB_STYLE tag can be used to specify the style to use for the +# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See +# http://en.wikipedia.org/wiki/BibTeX for more info. + +LATEX_BIB_STYLE = plain + #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- @@ -1087,7 +1416,7 @@ RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's +# Load style sheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. @@ -1142,18 +1471,6 @@ XML_OUTPUT = xml -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that @@ -1162,6 +1479,21 @@ XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- +# configuration options related to the DOCBOOK output +#--------------------------------------------------------------------------- + +# If the GENERATE_DOCBOOK tag is set to YES Doxygen will generate DOCBOOK files +# that can be used to generate PDF. + +GENERATE_DOCBOOK = NO + +# The DOCBOOK_OUTPUT tag is used to specify where the DOCBOOK pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in +# front of it. If left blank docbook will be used as the default path. + +DOCBOOK_OUTPUT = docbook + +#--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- @@ -1232,7 +1564,7 @@ EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. +# pointed to by INCLUDE_PATH will be searched when a #include is found. SEARCH_INCLUDES = YES @@ -1262,15 +1594,15 @@ # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. +# Use the PREDEFINED tag if you want to use a different macro definition that +# overrules the definition found in the source code. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. +# doxygen's preprocessor will remove all references to function-like macros +# that are alone on a line, have an all uppercase name, and do not end with a +# semicolon, because these will confuse the parser if not removed. SKIP_FUNCTION_MACROS = YES @@ -1278,22 +1610,18 @@ # Configuration::additions related to external references #--------------------------------------------------------------------------- -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: +# The TAGFILES option can be used to specify one or more tagfiles. For each +# tag file the location of the external documentation should be added. The +# format of a tag file without this location is as follows: # # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # # TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. +# where "loc1" and "loc2" can be relative or absolute paths +# or URLs. Note that each tag file must have a unique name (where the name does +# NOT include the path). If a tag file is not located in the directory in which +# doxygen is run, you must also specify the path to the tagfile here. TAGFILES = @@ -1314,6 +1642,12 @@ EXTERNAL_GROUPS = YES +# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed +# in the related pages index. If set to NO, only the current project's +# pages will be listed. + +EXTERNAL_PAGES = YES + # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). @@ -1326,9 +1660,8 @@ # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. +# this option also works with HAVE_DOT disabled, but it is recommended to +# install and use dot, since it yields more powerful graphs. CLASS_DIAGRAMS = YES @@ -1354,33 +1687,38 @@ HAVE_DOT = NO -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. -DOT_FONTNAME = FreeSans +DOT_NUM_THREADS = 0 + +# By default doxygen will use the Helvetica font for all dot files that +# doxygen generates. When you want a differently looking font you can specify +# the font name using DOT_FONTNAME. You need to make sure dot is able to find +# the font, which can be done by putting it in a standard location or by setting +# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the +# directory containing the font. + +DOT_FONTNAME = Helvetica # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 10 -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. +# By default doxygen will tell dot to use the Helvetica font. +# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to +# set the path where dot can find it. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. +# CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES @@ -1402,6 +1740,15 @@ UML_LOOK = NO +# If the UML_LOOK tag is enabled, the fields and methods are shown inside +# the class node. If there are many fields or methods and many nodes the +# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS +# threshold limits the number of items for each type to make the size more +# manageable. Set this to 0 for no limit. Note that the threshold may be +# exceeded by 50% before the limit is enforced. + +UML_LIMIT_NUM_FIELDS = 10 + # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. @@ -1438,11 +1785,11 @@ CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. +# will generate a graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. @@ -1450,11 +1797,22 @@ DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. +# generated by dot. Possible values are svg, png, jpg, or gif. +# If left blank png will be used. If you choose svg you need to set +# HTML_FILE_EXTENSION to xhtml in order to make the SVG files +# visible in IE 9+ (other browsers do not have this requirement). DOT_IMAGE_FORMAT = png +# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to +# enable generation of interactive SVG images that allow zooming and panning. +# Note that this requires a modern browser other than Internet Explorer. +# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you +# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files +# visible. Older versions of IE do not have SVG support. + +INTERACTIVE_SVG = NO + # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. @@ -1466,6 +1824,12 @@ DOTFILE_DIRS = +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the +# \mscfile command). + +MSCFILE_DIRS = + # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is diff --git a/docs/doxygen/doxyxml/__init__.py b/docs/doxygen/doxyxml/__init__.py index 5cd0b3c..3b0a580 100644 --- a/docs/doxygen/doxyxml/__init__.py +++ b/docs/doxygen/doxyxml/__init__.py @@ -1,7 +1,8 @@ # # Copyright 2010 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -63,8 +64,9 @@ u'Outputs the vital aadvark statistics.' """ +from __future__ import unicode_literals -from doxyindex import DoxyIndex, DoxyFunction, DoxyParam, DoxyClass, DoxyFile, DoxyNamespace, DoxyGroup, DoxyFriend, DoxyOther +from .doxyindex import DoxyIndex, DoxyFunction, DoxyParam, DoxyClass, DoxyFile, DoxyNamespace, DoxyGroup, DoxyFriend, DoxyOther def _test(): import os diff --git a/docs/doxygen/doxyxml/base.py b/docs/doxygen/doxyxml/base.py index e8f026a..071d8f1 100644 --- a/docs/doxygen/doxyxml/base.py +++ b/docs/doxygen/doxyxml/base.py @@ -1,7 +1,8 @@ # # Copyright 2010 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,24 +25,26 @@ Classes based upon this are used to make more user-friendly interfaces to the doxygen xml docs than the generated classes provide. """ +from __future__ import print_function +from __future__ import unicode_literals import os import pdb from xml.parsers.expat import ExpatError -from generated import compound +from .generated import compound class Base(object): - class Duplicate(StandardError): + class Duplicate(Exception): pass - class NoSuchMember(StandardError): + class NoSuchMember(Exception): pass - class ParsingError(StandardError): + class ParsingError(Exception): pass def __init__(self, parse_data, top=None): @@ -94,7 +97,7 @@ for cls in self.mem_classes: if cls.can_parse(mem): return cls - raise StandardError(("Did not find a class for object '%s'." \ + raise Exception(("Did not find a class for object '%s'." \ % (mem.get_name()))) def convert_mem(self, mem): @@ -102,11 +105,11 @@ cls = self.get_cls(mem) converted = cls.from_parse_data(mem, self.top) if converted is None: - raise StandardError('No class matched this object.') + raise Exception('No class matched this object.') self.add_ref(converted) return converted - except StandardError, e: - print e + except Exception as e: + print(e) @classmethod def includes(cls, inst): diff --git a/docs/doxygen/doxyxml/doxyindex.py b/docs/doxygen/doxyxml/doxyindex.py index 0132ab8..e00729e 100644 --- a/docs/doxygen/doxyxml/doxyindex.py +++ b/docs/doxygen/doxyxml/doxyindex.py @@ -1,7 +1,8 @@ # # Copyright 2010 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -22,12 +23,14 @@ Classes providing more user-friendly interfaces to the doxygen xml docs than the generated classes provide. """ +from __future__ import absolute_import +from __future__ import unicode_literals import os -from generated import index -from base import Base -from text import description +from .generated import index +from .base import Base +from .text import description class DoxyIndex(Base): """ @@ -43,13 +46,16 @@ self._root = index.parse(os.path.join(self._xml_path, 'index.xml')) for mem in self._root.compound: converted = self.convert_mem(mem) - # For files we want the contents to be accessible directly - # from the parent rather than having to go through the file - # object. + # For files and namespaces we want the contents to be + # accessible directly from the parent rather than having + # to go through the file object. if self.get_cls(mem) == DoxyFile: if mem.name.endswith('.h'): self._members += converted.members() self._members.append(converted) + elif self.get_cls(mem) == DoxyNamespace: + self._members += converted.members() + self._members.append(converted) else: self._members.append(converted) @@ -80,13 +86,29 @@ self._data['brief_description'] = bd self._data['detailed_description'] = dd + def set_parameters(self, data): + vs = [ddc.value for ddc in data.detaileddescription.content_] + pls = [] + for v in vs: + if hasattr(v, 'parameterlist'): + pls += v.parameterlist + pis = [] + for pl in pls: + pis += pl.parameteritem + dpis = [] + for pi in pis: + dpi = DoxyParameterItem(pi) + dpi._parse() + dpis.append(dpi) + self._data['params'] = dpis + + class DoxyCompound(DoxyCompMem): pass class DoxyMember(DoxyCompMem): pass - class DoxyFunction(DoxyMember): __module__ = "gnuradio.utils.doxyxml" @@ -98,10 +120,13 @@ return super(DoxyFunction, self)._parse() self.set_descriptions(self._parse_data) - self._data['params'] = [] - prms = self._parse_data.param - for prm in prms: - self._data['params'].append(DoxyParam(prm)) + self.set_parameters(self._parse_data) + if not self._data['params']: + # If the params weren't set by a comment then just grab the names. + self._data['params'] = [] + prms = self._parse_data.param + for prm in prms: + self._data['params'].append(DoxyParam(prm)) brief_description = property(lambda self: self.data()['brief_description']) detailed_description = property(lambda self: self.data()['detailed_description']) @@ -121,9 +146,39 @@ self.set_descriptions(self._parse_data) self._data['declname'] = self._parse_data.declname + @property + def description(self): + descriptions = [] + if self.brief_description: + descriptions.append(self.brief_description) + if self.detailed_description: + descriptions.append(self.detailed_description) + return '\n\n'.join(descriptions) + brief_description = property(lambda self: self.data()['brief_description']) detailed_description = property(lambda self: self.data()['detailed_description']) - declname = property(lambda self: self.data()['declname']) + name = property(lambda self: self.data()['declname']) + +class DoxyParameterItem(DoxyMember): + """A different representation of a parameter in Doxygen.""" + + def _parse(self): + if self._parsed: + return + super(DoxyParameterItem, self)._parse() + names = [] + for nl in self._parse_data.parameternamelist: + for pn in nl.parametername: + names.append(description(pn)) + # Just take first name + self._data['name'] = names[0] + # Get description + pd = description(self._parse_data.get_parameterdescription()) + self._data['description'] = pd + + description = property(lambda self: self.data()['description']) + name = property(lambda self: self.data()['name']) + class DoxyClass(DoxyCompound): @@ -139,12 +194,14 @@ if self._error: return self.set_descriptions(self._retrieved_data.compounddef) + self.set_parameters(self._retrieved_data.compounddef) # Sectiondef.kind tells about whether private or public. # We just ignore this for now. self.process_memberdefs() brief_description = property(lambda self: self.data()['brief_description']) detailed_description = property(lambda self: self.data()['detailed_description']) + params = property(lambda self: self.data()['params']) Base.mem_classes.append(DoxyClass) @@ -177,6 +234,16 @@ kind = 'namespace' + def _parse(self): + if self._parsed: + return + super(DoxyNamespace, self)._parse() + self.retrieve_data() + self.set_descriptions(self._retrieved_data.compounddef) + if self._error: + return + self.process_memberdefs() + Base.mem_classes.append(DoxyNamespace) @@ -227,11 +294,11 @@ __module__ = "gnuradio.utils.doxyxml" - kinds = set(['variable', 'struct', 'union', 'define', 'typedef', 'enum', 'dir', 'page']) + kinds = set(['variable', 'struct', 'union', 'define', 'typedef', 'enum', + 'dir', 'page', 'signal', 'slot', 'property']) @classmethod def can_parse(cls, obj): return obj.kind in cls.kinds Base.mem_classes.append(DoxyOther) - diff --git a/docs/doxygen/doxyxml/generated/__init__.py b/docs/doxygen/doxyxml/generated/__init__.py index 3982397..23095c1 100644 --- a/docs/doxygen/doxyxml/generated/__init__.py +++ b/docs/doxygen/doxyxml/generated/__init__.py @@ -5,3 +5,4 @@ resultant classes are not very friendly to navigate so the rest of the doxyxml module processes them further. """ +from __future__ import unicode_literals diff --git a/docs/doxygen/doxyxml/generated/compound.py b/docs/doxygen/doxyxml/generated/compound.py index 1522ac2..de4f506 100644 --- a/docs/doxygen/doxyxml/generated/compound.py +++ b/docs/doxygen/doxyxml/generated/compound.py @@ -1,17 +1,19 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ Generated Mon Feb 9 19:08:05 2009 by generateDS.py. """ +from __future__ import absolute_import +from __future__ import unicode_literals -from string import lower as str_lower + from xml.dom import minidom from xml.dom import Node import sys -import compoundsuper as supermod -from compoundsuper import MixedContainer +from . import compoundsuper as supermod +from .compoundsuper import MixedContainer class DoxygenTypeSub(supermod.DoxygenType): diff --git a/docs/doxygen/doxyxml/generated/compoundsuper.py b/docs/doxygen/doxyxml/generated/compoundsuper.py index 6255dda..b68978f 100644 --- a/docs/doxygen/doxyxml/generated/compoundsuper.py +++ b/docs/doxygen/doxyxml/generated/compoundsuper.py @@ -1,15 +1,20 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # # Generated Thu Jun 11 18:44:25 2009 by generateDS.py. # +from __future__ import print_function +from __future__ import unicode_literals + import sys -import getopt -from string import lower as str_lower + from xml.dom import minidom from xml.dom import Node +import six + + # # User methods # @@ -19,9 +24,9 @@ try: from generatedssuper import GeneratedsSuper -except ImportError, exp: +except ImportError as exp: - class GeneratedsSuper: + class GeneratedsSuper(object): def format_string(self, input_data, input_name=''): return input_data def format_integer(self, input_data, input_name=''): @@ -64,7 +69,7 @@ outfile.write(' ') def quote_xml(inStr): - s1 = (isinstance(inStr, basestring) and inStr or + s1 = (isinstance(inStr, six.string_types) and inStr or '%s' % inStr) s1 = s1.replace('&', '&') s1 = s1.replace('<', '<') @@ -72,7 +77,7 @@ return s1 def quote_attrib(inStr): - s1 = (isinstance(inStr, basestring) and inStr or + s1 = (isinstance(inStr, six.string_types) and inStr or '%s' % inStr) s1 = s1.replace('&', '&') s1 = s1.replace('<', '<') @@ -102,7 +107,7 @@ return '"""%s"""' % s1 -class MixedContainer: +class MixedContainer(object): # Constants for category: CategoryNone = 0 CategoryText = 1 @@ -4221,7 +4226,7 @@ if attrs.get('lineno'): try: self.lineno = int(attrs.get('lineno').value) - except ValueError, exp: + except ValueError as exp: raise ValueError('Bad integer attribute (lineno): %s' % exp) if attrs.get('refkind'): self.refkind = attrs.get('refkind').value @@ -4504,12 +4509,12 @@ if attrs.get('endline'): try: self.endline = int(attrs.get('endline').value) - except ValueError, exp: + except ValueError as exp: raise ValueError('Bad integer attribute (endline): %s' % exp) if attrs.get('startline'): try: self.startline = int(attrs.get('startline').value) - except ValueError, exp: + except ValueError as exp: raise ValueError('Bad integer attribute (startline): %s' % exp) if attrs.get('refid'): self.refid = attrs.get('refid').value @@ -4627,17 +4632,17 @@ if attrs.get('bodystart'): try: self.bodystart = int(attrs.get('bodystart').value) - except ValueError, exp: + except ValueError as exp: raise ValueError('Bad integer attribute (bodystart): %s' % exp) if attrs.get('line'): try: self.line = int(attrs.get('line').value) - except ValueError, exp: + except ValueError as exp: raise ValueError('Bad integer attribute (line): %s' % exp) if attrs.get('bodyend'): try: self.bodyend = int(attrs.get('bodyend').value) - except ValueError, exp: + except ValueError as exp: raise ValueError('Bad integer attribute (bodyend): %s' % exp) if attrs.get('bodyfile'): self.bodyfile = attrs.get('bodyfile').value @@ -6778,12 +6783,12 @@ if attrs.get('rows'): try: self.rows = int(attrs.get('rows').value) - except ValueError, exp: + except ValueError as exp: raise ValueError('Bad integer attribute (rows): %s' % exp) if attrs.get('cols'): try: self.cols = int(attrs.get('cols').value) - except ValueError, exp: + except ValueError as exp: raise ValueError('Bad integer attribute (cols): %s' % exp) def buildChildren(self, child_, nodeName_): if child_.nodeType == Node.ELEMENT_NODE and \ @@ -7108,7 +7113,7 @@ if attrs.get('level'): try: self.level = int(attrs.get('level').value) - except ValueError, exp: + except ValueError as exp: raise ValueError('Bad integer attribute (level): %s' % exp) def buildChildren(self, child_, nodeName_): if child_.nodeType == Node.TEXT_NODE: @@ -8283,7 +8288,7 @@ """ def usage(): - print USAGE_TEXT + print(USAGE_TEXT) sys.exit(1) @@ -8339,4 +8344,3 @@ main() #import pdb #pdb.run('main()') - diff --git a/docs/doxygen/doxyxml/generated/index.py b/docs/doxygen/doxyxml/generated/index.py index 7a70e14..5b54c66 100644 --- a/docs/doxygen/doxyxml/generated/index.py +++ b/docs/doxygen/doxyxml/generated/index.py @@ -1,16 +1,18 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ Generated Mon Feb 9 19:08:05 2009 by generateDS.py. """ +from __future__ import absolute_import +from __future__ import unicode_literals from xml.dom import minidom import os import sys -import compound +from . import compound -import indexsuper as supermod +from . import indexsuper as supermod class DoxygenTypeSub(supermod.DoxygenType): def __init__(self, version=None, compound=None): diff --git a/docs/doxygen/doxyxml/generated/indexsuper.py b/docs/doxygen/doxyxml/generated/indexsuper.py index a991530..2400d81 100644 --- a/docs/doxygen/doxyxml/generated/indexsuper.py +++ b/docs/doxygen/doxyxml/generated/indexsuper.py @@ -1,15 +1,19 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # # Generated Thu Jun 11 18:43:54 2009 by generateDS.py. # +from __future__ import print_function +from __future__ import unicode_literals + import sys -import getopt -from string import lower as str_lower + from xml.dom import minidom from xml.dom import Node +import six + # # User methods # @@ -19,9 +23,9 @@ try: from generatedssuper import GeneratedsSuper -except ImportError, exp: +except ImportError as exp: - class GeneratedsSuper: + class GeneratedsSuper(object): def format_string(self, input_data, input_name=''): return input_data def format_integer(self, input_data, input_name=''): @@ -64,7 +68,7 @@ outfile.write(' ') def quote_xml(inStr): - s1 = (isinstance(inStr, basestring) and inStr or + s1 = (isinstance(inStr, six.string_types) and inStr or '%s' % inStr) s1 = s1.replace('&', '&') s1 = s1.replace('<', '<') @@ -72,7 +76,7 @@ return s1 def quote_attrib(inStr): - s1 = (isinstance(inStr, basestring) and inStr or + s1 = (isinstance(inStr, six.string_types) and inStr or '%s' % inStr) s1 = s1.replace('&', '&') s1 = s1.replace('<', '<') @@ -102,7 +106,7 @@ return '"""%s"""' % s1 -class MixedContainer: +class MixedContainer(object): # Constants for category: CategoryNone = 0 CategoryText = 1 @@ -462,7 +466,7 @@ """ def usage(): - print USAGE_TEXT + print(USAGE_TEXT) sys.exit(1) @@ -520,4 +524,3 @@ main() #import pdb #pdb.run('main()') - diff --git a/docs/doxygen/doxyxml/text.py b/docs/doxygen/doxyxml/text.py index 629edd1..9cb7b4d 100644 --- a/docs/doxygen/doxyxml/text.py +++ b/docs/doxygen/doxyxml/text.py @@ -1,7 +1,8 @@ # # Copyright 2010 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -21,12 +22,13 @@ """ Utilities for extracting text from generated classes. """ +from __future__ import unicode_literals def is_string(txt): if isinstance(txt, str): return True try: - if isinstance(txt, unicode): + if isinstance(txt, str): return True except NameError: pass @@ -49,7 +51,7 @@ elif is_string(obj): return obj else: - raise StandardError('Expecting a string or something with content, content_ or value attribute') + raise Exception('Expecting a string or something with content, content_ or value attribute') # If this bit is a paragraph then add one some line breaks. if hasattr(obj, 'name') and obj.name == 'para': result += "\n\n" diff --git a/docs/doxygen/swig_doc.py b/docs/doxygen/swig_doc.py index 4e1ce2e..b9f4e6e 100644 --- a/docs/doxygen/swig_doc.py +++ b/docs/doxygen/swig_doc.py @@ -1,7 +1,8 @@ # -# Copyright 2010,2011 Free Software Foundation, Inc. +# Copyright 2010-2012 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -26,14 +27,12 @@ python docstrings. """ +from __future__ import unicode_literals -import sys +import sys, time -try: - from doxyxml import DoxyIndex, DoxyClass, DoxyFriend, DoxyFunction, DoxyFile, base -except ImportError: - from gnuradio.doxyxml import DoxyIndex, DoxyClass, DoxyFriend, DoxyFunction, DoxyFile, base - +from doxyxml import DoxyIndex, DoxyClass, DoxyFriend, DoxyFunction, DoxyFile +from doxyxml import DoxyOther, base def py_name(name): bits = name.split('_') @@ -56,18 +55,41 @@ # Check for a parsing error. if item.error(): return False - return item.has_member(make_name(item.name()), DoxyFriend) + friendname = make_name(item.name()) + is_a_block = item.has_member(friendname, DoxyFriend) + # But now sometimes the make function isn't a friend so check again. + if not is_a_block: + is_a_block = di.has_member(friendname, DoxyFunction) + return is_a_block + +class Block2(object): + """ + Checks if doxyxml produced objects correspond to a new style + gnuradio block. + """ + + @classmethod + def includes(cls, item): + if not isinstance(item, DoxyClass): + return False + # Check for a parsing error. + if item.error(): + return False + is_a_block2 = item.has_member('make', DoxyFunction) and item.has_member('sptr', DoxyOther) + return is_a_block2 def utoascii(text): """ - Convert unicode text into ascii and escape quotes. + Convert unicode text into ascii and escape quotes and backslashes. """ if text is None: return '' out = text.encode('ascii', 'replace') - out = out.replace('"', '\\"') - return out + # swig will require us to replace blackslash with 4 backslashes + out = out.replace(b'\\', b'\\\\\\\\') + out = out.replace(b'"', b'\\"').decode('ascii') + return str(out) def combine_descriptions(obj): @@ -83,9 +105,15 @@ description.append(dd) return utoascii('\n\n'.join(description)).strip() +def format_params(parameteritems): + output = ['Args:'] + template = ' {0} : {1}' + for pi in parameteritems: + output.append(template.format(pi.name, pi.description)) + return '\n'.join(output) entry_templ = '%feature("docstring") {name} "{docstring}"' -def make_entry(obj, name=None, templ="{description}", description=None): +def make_entry(obj, name=None, templ="{description}", description=None, params=[]): """ Create a docstring entry for a swig interface file. @@ -102,6 +130,9 @@ return '' if description is None: description = combine_descriptions(obj) + if params: + description += '\n\n' + description += utoascii(format_params(params)) docstring = templ.format(description=description) if not docstring: return '' @@ -121,27 +152,31 @@ used as the description instead of extracting it from func. params - a parameter list that overrides using func.params. """ - if params is None: - params = func.params - params = [prm.declname for prm in params] - if params: - sig = "Params: (%s)" % ", ".join(params) - else: - sig = "Params: (NONE)" - templ = "{description}\n\n" + sig - return make_entry(func, name=name, templ=utoascii(templ), - description=description) + #if params is None: + # params = func.params + #params = [prm.declname for prm in params] + #if params: + # sig = "Params: (%s)" % ", ".join(params) + #else: + # sig = "Params: (NONE)" + #templ = "{description}\n\n" + sig + #return make_entry(func, name=name, templ=utoascii(templ), + # description=description) + return make_entry(func, name=name, description=description, params=params) -def make_class_entry(klass, description=None): +def make_class_entry(klass, description=None, ignored_methods=[], params=None): """ Create a class docstring for a swig interface file. """ + if params is None: + params = klass.params output = [] - output.append(make_entry(klass, description=description)) + output.append(make_entry(klass, description=description, params=params)) for func in klass.in_category(DoxyFunction): - name = klass.name() + '::' + func.name() - output.append(make_func_entry(func, name=name)) + if func.name() not in ignored_methods: + name = klass.name() + '::' + func.name() + output.append(make_func_entry(func, name=name)) return "\n\n".join(output) @@ -175,11 +210,33 @@ # the make function. output = [] output.append(make_class_entry(block, description=super_description)) - creator = block.get_member(block.name(), DoxyFunction) output.append(make_func_entry(make_func, description=super_description, - params=creator.params)) + params=block.params)) return "\n\n".join(output) +def make_block2_entry(di, block): + """ + Create class and function docstrings of a new style gnuradio block for a + swig interface file. + """ + descriptions = [] + # For new style blocks all the relevant documentation should be + # associated with the 'make' method. + class_description = combine_descriptions(block) + make_func = block.get_member('make', DoxyFunction) + make_description = combine_descriptions(make_func) + description = class_description + "\n\nConstructor Specific Documentation:\n\n" + make_description + # Associate the combined description with the class and + # the make function. + output = [] + output.append(make_class_entry( + block, description=description, + ignored_methods=['make'], params=make_func.params)) + makename = block.name() + '::make' + output.append(make_func_entry( + make_func, name=makename, description=description, + params=make_func.params)) + return "\n\n".join(output) def make_swig_interface_file(di, swigdocfilename, custom_output=None): @@ -196,39 +253,59 @@ # Create docstrings for the blocks. blocks = di.in_category(Block) + blocks2 = di.in_category(Block2) + make_funcs = set([]) for block in blocks: try: make_func = di.get_member(make_name(block.name()), DoxyFunction) - make_funcs.add(make_func.name()) - output.append(make_block_entry(di, block)) + # Don't want to risk writing to output twice. + if make_func.name() not in make_funcs: + make_funcs.add(make_func.name()) + output.append(make_block_entry(di, block)) except block.ParsingError: - print('Parsing error for block %s' % block.name()) + sys.stderr.write('Parsing error for block {0}\n'.format(block.name())) + raise + + for block in blocks2: + try: + make_func = block.get_member('make', DoxyFunction) + make_func_name = block.name() +'::make' + # Don't want to risk writing to output twice. + if make_func_name not in make_funcs: + make_funcs.add(make_func_name) + output.append(make_block2_entry(di, block)) + except block.ParsingError: + sys.stderr.write('Parsing error for block {0}\n'.format(block.name())) + raise # Create docstrings for functions # Don't include the make functions since they have already been dealt with. - funcs = [f for f in di.in_category(DoxyFunction) if f.name() not in make_funcs] + funcs = [f for f in di.in_category(DoxyFunction) + if f.name() not in make_funcs and not f.name().startswith('std::')] for f in funcs: try: output.append(make_func_entry(f)) except f.ParsingError: - print('Parsing error for function %s' % f.name()) + sys.stderr.write('Parsing error for function {0}\n'.format(f.name())) # Create docstrings for classes block_names = [block.name() for block in blocks] - klasses = [k for k in di.in_category(DoxyClass) if k.name() not in block_names] + block_names += [block.name() for block in blocks2] + klasses = [k for k in di.in_category(DoxyClass) + if k.name() not in block_names and not k.name().startswith('std::')] for k in klasses: try: output.append(make_class_entry(k)) except k.ParsingError: - print('Parsing error for class %s' % k.name()) + sys.stderr.write('Parsing error for class {0}\n'.format(k.name())) # Docstrings are not created for anything that is not a function or a class. # If this excludes anything important please add it here. output = "\n\n".join(output) - swig_doc = file(swigdocfilename, 'w') + swig_doc = open(swigdocfilename, 'w') swig_doc.write(output) swig_doc.close() @@ -236,7 +313,7 @@ # Parse command line options and set up doxyxml. err_msg = "Execute using: python swig_doc.py xml_path outputfilename" if len(sys.argv) != 3: - raise StandardError(err_msg) + raise Exception(err_msg) xml_path = sys.argv[1] swigdocfilename = sys.argv[2] di = DoxyIndex(xml_path) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 0f2c629..e7dae14 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -1,6 +1,7 @@ -# Copyright 2011,2012 Free Software Foundation, Inc. +# Copyright 2011,2012,2016,2018,2019 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,8 +18,10 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. +######################################################################## +# Setup library +######################################################################## include(GrPlatform) #define LIB_SUFFIX -include(GrMiscUtils) ######################################################################## # Add sources macro @@ -44,7 +47,7 @@ # Handle the generated constants ######################################################################## execute_process(COMMAND ${PYTHON_EXECUTABLE} -c - "import time;print time.strftime('%a, %d %b %Y %H:%M:%S', time.gmtime())" + "import time;print(time.strftime('%a, %d %b %Y %H:%M:%S', time.gmtime()))" OUTPUT_VARIABLE BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE ) message(STATUS "Loading build date ${BUILD_DATE} into constants...") @@ -73,69 +76,68 @@ add_subdirectory(transmitter) add_subdirectory(trx) -######################################################################## -# Setup library -######################################################################## -include_directories(${Boost_INCLUDE_DIR} receiver) -link_directories(${Boost_LIBRARY_DIRS}) - -set(grgsm_link_libraries "") -list (APPEND grgsm_link_libraries ${Boost_LIBRARIES}) -list (APPEND grgsm_link_libraries ${GNURADIO_ALL_LIBRARIES}) -list (APPEND grgsm_link_libraries ${VOLK_LIBRARIES}) -if(WIN32) - list (APPEND grgsm_link_libraries wsock32) - list (APPEND grgsm_link_libraries ws2_32) -endif() - if(NOT LOCAL_OSMOCOM) list (APPEND grgsm_link_libraries ${LIBOSMOCORE_LIBRARIES} ${LIBOSMOCODEC_LIBRARIES} ${LIBOSMOGSM_LIBRARY}) if(LIBOSMOCODING_FOUND) - list (APPEND grgsm_link_libraries ${LIBOSMOCODING_LIBRARIES}) + list (APPEND grgsm_link_libraries + ${LIBOSMOCODING_LIBRARIES} + ) + list (APPEND grgsm_include_directories + ${LIBOSMOCORE_INCLUDE_DIR} + ) endif() endif() add_library(grgsm SHARED ${grgsm_sources}) -target_link_libraries(grgsm ${grgsm_link_libraries} -# libraries required by plotting.h - have troubles to be installed by pybombs -# boost_iostreams -# boost_system -# boost_filesystem -) - +target_link_libraries(grgsm gnuradio::gnuradio-runtime gnuradio::gnuradio-filter volk osmocoding) +target_include_directories(grgsm + PUBLIC $ + PUBLIC $ + PUBLIC $ + PUBLIC $ + ) set_target_properties(grgsm PROPERTIES DEFINE_SYMBOL "grgsm_EXPORTS") -GR_LIBRARY_FOO(grgsm) + +if(APPLE) + set_target_properties(grgsm PROPERTIES + INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib" + ) +endif(APPLE) ######################################################################## # Install built library files ######################################################################## -install(TARGETS grgsm - LIBRARY DESTINATION lib${LIB_SUFFIX} # .so/.dylib file - ARCHIVE DESTINATION lib${LIB_SUFFIX} # .lib file - RUNTIME DESTINATION bin # .dll file -) +include(GrMiscUtils) +GR_LIBRARY_FOO(grgsm) + +######################################################################## +# Print summary +######################################################################## +message(STATUS "Using install prefix: ${CMAKE_INSTALL_PREFIX}") +message(STATUS "Building for version: ${VERSION} / ${LIBVER}") + +set (grgsm_sources ${grgsm_sources} PARENT_SCOPE) ######################################################################## # Build and register unit test ######################################################################## -#include(GrTest) +include(GrTest) -#include_directories(${CPPUNIT_INCLUDE_DIRS}) +# If your unit tests require special include paths, add them here +#include_directories() +# List all files that contain Boost.UTF unit tests here +list(APPEND test_gsm_sources +) +# Anything we need to link to for the unit tests go here +list(APPEND GR_TEST_TARGET_DEPS grgsm) -#list(APPEND test_grgsm_sources -# ${CMAKE_CURRENT_SOURCE_DIR}/test_gsm.cc -# ${CMAKE_CURRENT_SOURCE_DIR}/qa_gsm.cc -# ${CMAKE_CURRENT_SOURCE_DIR}/qa_receiver.cc -#) +if(NOT test_gsm_sources) + MESSAGE(STATUS "No C++ unit tests... skipping") + return() +endif(NOT test_gsm_sources) -#add_executable(test-gsm ${test_grgsm_sources}) - -#target_link_libraries( -# test-gsm -# ${GNURADIO_RUNTIME_LIBRARIES} -# ${Boost_LIBRARIES} -# ${CPPUNIT_LIBRARIES} -# grgsm -#) - -#GR_ADD_TEST(test_gsm test-gsm) +foreach(qa_file ${test_gsm_sources}) + GR_ADD_CPP_TEST("gsm_${qa_file}" + ${CMAKE_CURRENT_SOURCE_DIR}/${qa_file} + ) +endforeach(qa_file) diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 97cb0a3..f0c984d 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -1,6 +1,7 @@ # Copyright 2011 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -36,7 +37,8 @@ GR_PYTHON_INSTALL( FILES - __init__.py DESTINATION ${GR_PYTHON_DIR}/grgsm + __init__.py + DESTINATION ${GR_PYTHON_DIR}/grgsm ) ######################################################################## diff --git a/python/__init__.py b/python/__init__.py index e2905e8..8241b01 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -31,9 +31,9 @@ from dl import RTLD_GLOBAL as _RTLD_GLOBAL except ImportError: try: - from DLFCN import RTLD_GLOBAL as _RTLD_GLOBAL + from DLFCN import RTLD_GLOBAL as _RTLD_GLOBAL except ImportError: - pass + pass if _RTLD_GLOBAL != 0: _dlopenflags = sys.getdlopenflags() diff --git a/python/misc_utils/fn_time.py b/python/misc_utils/fn_time.py index 96314b8..17c6295 100644 --- a/python/misc_utils/fn_time.py +++ b/python/misc_utils/fn_time.py @@ -83,10 +83,10 @@ fn_delta, time2_precise = fn_time_delta(fn1, time1, fn2, time2_err, ts_x, ts_ref) time2_precise_cpp = fn_time_delta_cpp(fn1, (int(time1),time1-int(time1)), fn2, (int(time2_err),time2_err-int(time2_err)), ts_x, ts_ref) if fn_delta != fn2-fn1: - print "bad fn:", fn2, error#, 'fn_delta:'+str(fn_delta), time2, error, frames_diff_h4, (time2-time1)/(__hyper_frame*__frame_period), time_diff_hint_h4_prev, time_diff_hint + print("bad fn:", fn2, error)#, 'fn_delta:'+str(fn_delta), time2, error, frames_diff_h4, (time2-time1)/(__hyper_frame*__frame_period), time_diff_hint_h4_prev, time_diff_hint # time_diff_hint = time2 - time2_precise time_diff_hint = time2_precise_cpp[0]+time2_precise_cpp[1] - time2_precise if abs(time_diff_hint) > 0.0001: - print "time2_precise_cpp",time2_precise_cpp," time2_precise",time2_precise," time_ref",time1," time_hint",time2_err - print "" + print("time2_precise_cpp",time2_precise_cpp," time2_precise",time2_precise," time_ref",time1," time_hint",time2_err) + print("") diff --git a/python/qa_burst_printer.py b/python/qa_burst_printer.py index a3d50d5..c1fdfaf 100755 --- a/python/qa_burst_printer.py +++ b/python/qa_burst_printer.py @@ -52,7 +52,7 @@ out = "" for l in expected_lines: out = out + l + "\n" - return out + return out.encode('utf-8') def test_001_complete_bursts_prefix (self): """ diff --git a/python/qa_message_printer.py b/python/qa_message_printer.py index 6bc9a20..21e6852 100755 --- a/python/qa_message_printer.py +++ b/python/qa_message_printer.py @@ -52,7 +52,7 @@ out = "" for l in expected_lines: out = out + l + "\n" - return out + return out.encode('utf-8') def test_001_no_prefix_no_header (self): """ diff --git a/python/receiver/fcch_burst_tagger.py b/python/receiver/fcch_burst_tagger.py index fc427a7..a460740 100644 --- a/python/receiver/fcch_burst_tagger.py +++ b/python/receiver/fcch_burst_tagger.py @@ -81,9 +81,9 @@ # measured_freq = mean(inst_freq[precise_idx:precise_idx+self.processed_block_size]) expected_freq = self.symbol_rate/4 - print "input_items:",len(in0) - print "coarse_idx",coarse_idx - print "coarse_idx+precise_idx",coarse_idx+precise_idx + print("input_items:",len(in0)) + print("coarse_idx",coarse_idx) + print("coarse_idx+precise_idx",coarse_idx+precise_idx) zoomed_spectrum = abs(self.zoomfft(in0[coarse_idx+precise_idx:coarse_idx+precise_idx+self.processed_block_size])) measured_freq = self.f_axis[argmax(zoomed_spectrum)] @@ -97,9 +97,9 @@ # Some additional plots and prints for debugging # print "coarse_idx+precise_idx",coarse_idx+precise_idx # print "offset-self.nitems_written(0):",offset-self.nitems_written(0) - print offset-self.prev_offset + print(offset-self.prev_offset) self.prev_offset=offset - print "freq offset", freq_offset + print("freq offset", freq_offset) # freq_offset = measured_freq - expected_freq # plot(self.f_axis, zoomed_spectrum) # show() diff --git a/python/receiver/sch_detector.py b/python/receiver/sch_detector.py index d3587d1..626e37d 100644 --- a/python/receiver/sch_detector.py +++ b/python/receiver/sch_detector.py @@ -57,10 +57,10 @@ correlation_bl = correlation_bl/len(self.sync_seq_msk) power_bl_mov_avg = uniform_filter1d(abs(correlation_bl)**2,self.L+1,mode='constant',axis=0) - print "correlation_bl.argmax()",argmax(abs(correlation_bl)) - print "power_bl_mov_avg.argmax()",(power_bl_mov_avg).argmax() - print 'unravel_index(correlation_bl.argmax(), correlation_bl.shape)',unravel_index(argmax(abs(correlation_bl)), correlation_bl.shape) - print 'unravel_index(power_bl_mov_avg.argmax(), power_bl_mov_avg.shape)',unravel_index(power_bl_mov_avg.argmax(), power_bl_mov_avg.shape) + print("correlation_bl.argmax()",argmax(abs(correlation_bl))) + print("power_bl_mov_avg.argmax()",(power_bl_mov_avg).argmax()) + print('unravel_index(correlation_bl.argmax(), correlation_bl.shape)',unravel_index(argmax(abs(correlation_bl)), correlation_bl.shape)) + print('unravel_index(power_bl_mov_avg.argmax(), power_bl_mov_avg.shape)',unravel_index(power_bl_mov_avg.argmax(), power_bl_mov_avg.shape)) (r_corrmax, c_corrmax)=unravel_index(argmax(abs(correlation_bl)), correlation_bl.shape) (r_powmax, c_powmax)=unravel_index(power_bl_mov_avg.argmax(), power_bl_mov_avg.shape) @@ -79,7 +79,7 @@ # plot(range(ii,len(correlation_bl[:,0])*self.OSR,self.OSR),power_bl_mov_avg[:,ii]*5e6,'r.') # show() # figure() - print 'r_powmax: ',r_powmax + print('r_powmax: ',r_powmax) # plot(abs(correlation_bl[range(r_powmax-(self.L+1)/2+1,r_powmax+(self.L+1)/2+1), c_powmax]),'g') # hold(True) # plot(abs(correlation_bl[range(r_corrmax-(self.L+1)/2+1,r_corrmax+(self.L+1)/2+1), c_corrmax]),'r') diff --git a/swig/CMakeLists.txt b/swig/CMakeLists.txt index 4766220..5f1e020 100644 --- a/swig/CMakeLists.txt +++ b/swig/CMakeLists.txt @@ -1,6 +1,7 @@ # Copyright 2011 Free Software Foundation, Inc. # -# This file is part of GNU Radio +# This file was generated by gr_modtool, a tool from the GNU Radio framework +# This file is a part of gr-gsm # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,31 +19,32 @@ # Boston, MA 02110-1301, USA. ######################################################################## +# Check if there is C++ code at all +######################################################################## +if(NOT grgsm_sources) + MESSAGE(STATUS "No C++ sources... skipping swig/") + return() +endif(NOT grgsm_sources) + +######################################################################## # Include swig generation macros ######################################################################## find_package(SWIG) -find_package(PythonLibs 2) +find_package(PythonLibs) if(NOT SWIG_FOUND OR NOT PYTHONLIBS_FOUND) return() endif() include(GrSwig) include(GrPython) -IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - # Mac OS X specific code - # Without this flag it does not find some of the libraries - SET(CMAKE_MODULE_LINKER_FLAGS "-undefined dynamic_lookup") -ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - ######################################################################## # Setup swig generation ######################################################################## -foreach(incdir ${GNURADIO_RUNTIME_INCLUDE_DIRS}) - list(APPEND GR_SWIG_INCLUDE_DIRS ${incdir}/gnuradio/swig) -endforeach(incdir) -list(APPEND GR_SWIG_INCLUDE_DIRS ${FFTW3F_INCLUDE_DIRS}) +set(GR_SWIG_INCLUDE_DIRS $) +set(GR_SWIG_TARGET_DEPS gnuradio::runtime_swig) set(GR_SWIG_LIBRARIES grgsm) + set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/grgsm_swig_doc.i) set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include) @@ -59,7 +61,6 @@ install( FILES grgsm_swig.i - constants.i ${CMAKE_CURRENT_BINARY_DIR}/grgsm_swig_doc.i DESTINATION ${GR_INCLUDE_DIR}/grgsm/swig ) -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24060 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I23dd638c8c48ed0a4b50559ce33fbd5e60b7dcbc Gerrit-Change-Number: 24060 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:37 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:37 +0000 Subject: Change in gr-gsm[master]: Migrate grc blocks from xml to yaml In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24061 ) Change subject: Migrate grc blocks from xml to yaml ...................................................................... Migrate grc blocks from xml to yaml Convert the blocks using cmdline_converter.py script from https://gist.githubusercontent.com/haakov/4228ff6a14486641add538483093e86b/raw/c861a840e31182ace2e74f5425e356cb4f8b183a/cmdline_converter.py Change-Id: Iee5c611a2e100bd2fdf487611a867dc937d8c292 --- M grc/CMakeLists.txt M grc/decoding/CMakeLists.txt A grc/decoding/gsm_control_channels_decoder.block.yml D grc/decoding/gsm_control_channels_decoder.xml A grc/decoding/gsm_tch_f_decoder.block.yml D grc/decoding/gsm_tch_f_decoder.xml A grc/decoding/gsm_tch_h_decoder.block.yml D grc/decoding/gsm_tch_h_decoder.xml M grc/decryption/CMakeLists.txt A grc/decryption/gsm_decryption.block.yml D grc/decryption/gsm_decryption.xml M grc/demapping/CMakeLists.txt A grc/demapping/gsm_bcch_ccch_demapper.block.yml D grc/demapping/gsm_bcch_ccch_demapper.xml A grc/demapping/gsm_bcch_ccch_sdcch4_demapper.block.yml D grc/demapping/gsm_bcch_ccch_sdcch4_demapper.xml A grc/demapping/gsm_sdcch8_demapper.block.yml D grc/demapping/gsm_sdcch8_demapper.xml A grc/demapping/gsm_tch_f_chans_demapper.block.yml D grc/demapping/gsm_tch_f_chans_demapper.xml A grc/demapping/gsm_tch_h_chans_demapper.block.yml D grc/demapping/gsm_tch_h_chans_demapper.xml A grc/demapping/gsm_universal_ctrl_chans_demapper.block.yml D grc/demapping/gsm_universal_ctrl_chans_demapper.xml M grc/flow_control/CMakeLists.txt A grc/flow_control/gsm_burst_fnr_filter.block.yml D grc/flow_control/gsm_burst_fnr_filter.xml A grc/flow_control/gsm_burst_sdcch_subslot_filter.block.yml D grc/flow_control/gsm_burst_sdcch_subslot_filter.xml A grc/flow_control/gsm_burst_sdcch_subslot_splitter.block.yml D grc/flow_control/gsm_burst_sdcch_subslot_splitter.xml A grc/flow_control/gsm_burst_timeslot_filter.block.yml D grc/flow_control/gsm_burst_timeslot_filter.xml A grc/flow_control/gsm_burst_timeslot_splitter.block.yml D grc/flow_control/gsm_burst_timeslot_splitter.xml A grc/flow_control/gsm_burst_type_filter.block.yml D grc/flow_control/gsm_burst_type_filter.xml A grc/flow_control/gsm_dummy_burst_filter.block.yml D grc/flow_control/gsm_dummy_burst_filter.xml A grc/flow_control/gsm_uplink_downlink_splitter.block.yml D grc/flow_control/gsm_uplink_downlink_splitter.xml A grc/gsm.tree.yml D grc/gsm_block_tree.xml M grc/misc_utils/CMakeLists.txt A grc/misc_utils/gsm_burst_file_sink.block.yml D grc/misc_utils/gsm_burst_file_sink.xml A grc/misc_utils/gsm_burst_file_source.block.yml D grc/misc_utils/gsm_burst_file_source.xml A grc/misc_utils/gsm_burst_to_fn_time.block.yml D grc/misc_utils/gsm_burst_to_fn_time.xml A grc/misc_utils/gsm_bursts_printer.block.yml D grc/misc_utils/gsm_bursts_printer.xml A grc/misc_utils/gsm_clock_offset_corrector_tagged.block.yml D grc/misc_utils/gsm_clock_offset_corrector_tagged.xml A grc/misc_utils/gsm_collect_system_info.block.yml D grc/misc_utils/gsm_collect_system_info.xml A grc/misc_utils/gsm_controlled_fractional_resampler_cc.block.yml D grc/misc_utils/gsm_controlled_fractional_resampler_cc.xml A grc/misc_utils/gsm_controlled_rotator_cc.block.yml D grc/misc_utils/gsm_controlled_rotator_cc.xml A grc/misc_utils/gsm_extract_assignment_cmd.block.yml D grc/misc_utils/gsm_extract_assignment_cmd.xml A grc/misc_utils/gsm_extract_cmc.block.yml D grc/misc_utils/gsm_extract_cmc.xml A grc/misc_utils/gsm_extract_immediate_assignment.block.yml D grc/misc_utils/gsm_extract_immediate_assignment.xml A grc/misc_utils/gsm_extract_system_info.block.yml D grc/misc_utils/gsm_extract_system_info.xml A grc/misc_utils/gsm_message_file_sink.block.yml D grc/misc_utils/gsm_message_file_sink.xml A grc/misc_utils/gsm_message_file_source.block.yml D grc/misc_utils/gsm_message_file_source.xml A grc/misc_utils/gsm_message_printer.block.yml D grc/misc_utils/gsm_message_printer.xml A grc/misc_utils/gsm_msg_to_tag.block.yml D grc/misc_utils/gsm_msg_to_tag.xml A grc/misc_utils/gsm_tmsi_dumper.block.yml D grc/misc_utils/gsm_tmsi_dumper.xml M grc/qa_utils/CMakeLists.txt A grc/qa_utils/gsm_burst_sink.block.yml D grc/qa_utils/gsm_burst_sink.xml A grc/qa_utils/gsm_burst_source.block.yml D grc/qa_utils/gsm_burst_source.xml A grc/qa_utils/gsm_message_sink.block.yml D grc/qa_utils/gsm_message_sink.xml A grc/qa_utils/gsm_message_source.block.yml D grc/qa_utils/gsm_message_source.xml M grc/receiver/CMakeLists.txt A grc/receiver/gsm_clock_offset_control.block.yml D grc/receiver/gsm_clock_offset_control.xml A grc/receiver/gsm_cx_channel_hopper.block.yml D grc/receiver/gsm_cx_channel_hopper.xml A grc/receiver/gsm_fcch_burst_tagger.block.yml D grc/receiver/gsm_fcch_burst_tagger.xml A grc/receiver/gsm_fcch_detector.block.yml D grc/receiver/gsm_fcch_detector.xml A grc/receiver/gsm_input.block.yml D grc/receiver/gsm_input.xml A grc/receiver/gsm_receiver.block.yml D grc/receiver/gsm_receiver.xml A grc/receiver/gsm_receiver_with_uplink.block.yml D grc/receiver/gsm_receiver_with_uplink.xml A grc/receiver/gsm_sch_detector.block.yml D grc/receiver/gsm_sch_detector.xml M grc/transmitter/CMakeLists.txt A grc/transmitter/gsm_gen_test_ab.block.yml D grc/transmitter/gsm_gen_test_ab.xml A grc/transmitter/gsm_gmsk_mod.block.yml D grc/transmitter/gsm_gmsk_mod.xml A grc/transmitter/gsm_preprocess_tx_burst.block.yml D grc/transmitter/gsm_preprocess_tx_burst.xml A grc/transmitter/gsm_txtime_bursts_tagger.block.yml D grc/transmitter/gsm_txtime_bursts_tagger.xml A grc/transmitter/gsm_txtime_setter.block.yml D grc/transmitter/gsm_txtime_setter.xml M grc/trx/CMakeLists.txt A grc/trx/gsm_trx_burst_if.block.yml D grc/trx/gsm_trx_burst_if.xml 118 files changed, 1,888 insertions(+), 2,154 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/grc/CMakeLists.txt b/grc/CMakeLists.txt index ae06065..deee6e0 100644 --- a/grc/CMakeLists.txt +++ b/grc/CMakeLists.txt @@ -26,5 +26,5 @@ add_subdirectory(transmitter) add_subdirectory(trx) install(FILES - gsm_block_tree.xml DESTINATION share/gnuradio/grc/blocks + gsm.tree.yml DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/decoding/CMakeLists.txt b/grc/decoding/CMakeLists.txt index d488f21..63a2ee6 100644 --- a/grc/decoding/CMakeLists.txt +++ b/grc/decoding/CMakeLists.txt @@ -18,8 +18,8 @@ # Boston, MA 02110-1301, USA. install(FILES - gsm_control_channels_decoder.xml - gsm_tch_f_decoder.xml - gsm_tch_h_decoder.xml + gsm_control_channels_decoder.block.yml + gsm_tch_f_decoder.block.yml + gsm_tch_h_decoder.block.yml DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/decoding/gsm_control_channels_decoder.block.yml b/grc/decoding/gsm_control_channels_decoder.block.yml new file mode 100644 index 0000000..df287a3 --- /dev/null +++ b/grc/decoding/gsm_control_channels_decoder.block.yml @@ -0,0 +1,19 @@ +# auto-generated by grc.converter + +id: gsm_control_channels_decoder +label: Control channels decoder + +inputs: +- domain: message + id: bursts + +outputs: +- domain: message + id: msgs + optional: true + +templates: + imports: import grgsm + make: grgsm.control_channels_decoder() + +file_format: 1 diff --git a/grc/decoding/gsm_control_channels_decoder.xml b/grc/decoding/gsm_control_channels_decoder.xml deleted file mode 100644 index 5884393..0000000 --- a/grc/decoding/gsm_control_channels_decoder.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - Control channels decoder - gsm_control_channels_decoder - import grgsm - grgsm.control_channels_decoder() - - bursts - message - - - msgs - message - 1 - - diff --git a/grc/decoding/gsm_tch_f_decoder.block.yml b/grc/decoding/gsm_tch_f_decoder.block.yml new file mode 100644 index 0000000..1205448 --- /dev/null +++ b/grc/decoding/gsm_tch_f_decoder.block.yml @@ -0,0 +1,41 @@ +# auto-generated by grc.converter + +id: gsm_tch_f_decoder +label: TCH/F decoder + +parameters: +- id: mode + label: TCH coding mode + dtype: enum + options: [grgsm.TCH_FS, grgsm.TCH_EFR, grgsm.TCH_AFS12_2, grgsm.TCH_AFS10_2, grgsm.TCH_AFS7_95, + grgsm.TCH_AFS7_4, grgsm.TCH_AFS6_7, grgsm.TCH_AFS5_9, grgsm.TCH_AFS5_15, grgsm.TCH_AFS4_75] + option_labels: [GSM-FR, GSM-EFR, GSM-AMR 12.2, GSM-AMR 10.2, GSM-AMR 7.95, GSM-AMR + 7.4, GSM-AMR 6.7, GSM-AMR 5.9, GSM-AMR 5.15, GSM-AMR 4.75] +- id: boundary_check + label: Voice boundary detection + dtype: bool + default: 'False' + options: ['False', 'True'] + +inputs: +- domain: message + id: bursts + +outputs: +- domain: message + id: msgs + optional: true +- domain: message + id: voice + optional: true + +templates: + imports: import grgsm + make: grgsm.tch_f_decoder(${mode}, ${boundary_check}) + +documentation: "If \"Voice boundary detection\" is enabled, then only bursts are decoded\ + \ as voice where\n\n- the framenumber is greater then the framenumber of a received\ + \ \"Connect\" or \"Connect Acknowlegde\" message, and \n- the framenumber is less\ + \ then the framenumber of a \"Release\" message" + +file_format: 1 diff --git a/grc/decoding/gsm_tch_f_decoder.xml b/grc/decoding/gsm_tch_f_decoder.xml deleted file mode 100644 index 3d1152e..0000000 --- a/grc/decoding/gsm_tch_f_decoder.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - TCH/F decoder - gsm_tch_f_decoder - import grgsm - grgsm.tch_f_decoder($mode, $boundary_check) - - - TCH coding mode - mode - enum - - - - - - - - - - - - - Voice boundary detection - boundary_check - False - bool - - - - - - bursts - message - - - msgs - message - 1 - - - voice - message - 1 - - - -If "Voice boundary detection" is enabled, then only bursts are decoded as voice where - -- the framenumber is greater then the framenumber of a received "Connect" or "Connect Acknowlegde" message, and -- the framenumber is less then the framenumber of a "Release" message - - - diff --git a/grc/decoding/gsm_tch_h_decoder.block.yml b/grc/decoding/gsm_tch_h_decoder.block.yml new file mode 100644 index 0000000..8d26a0b --- /dev/null +++ b/grc/decoding/gsm_tch_h_decoder.block.yml @@ -0,0 +1,51 @@ +# auto-generated by grc.converter + +id: gsm_tch_h_decoder +label: TCH/H decoder + +parameters: +- id: sub_channel + label: Sub-channel number + dtype: int + default: '0' + options: ['0', '1'] + hide: none +- id: multi_rate + label: MultiRate configuration + dtype: string +- id: boundary_check + label: Voice boundary detection + dtype: bool + default: 'False' + options: ['False', 'True'] + +inputs: +- domain: message + id: bursts + +outputs: +- domain: message + id: msgs + optional: true +- domain: message + id: voice + optional: true +asserts: +- ${ sub_channel > -1 and sub_channel < 2 } + +templates: + imports: import grgsm + make: grgsm.tch_h_decoder(${sub_channel}, ${multi_rate}, ${boundary_check}) + +documentation: |- + The MultiRate configuration string should contains the hex string from the + MultiRate configuration element from the Assignment Command message. + Example: 28111a40. + See 3GPP TS 44.018 - 10.5.2.21aa MultiRate configuratio + + If "Voice boundary detection" is enabled, then only bursts are decoded as voice where + + - the framenumber is greater then the framenumber of a received "Connect" or "Connect Acknowlegde" message, and + - the framenumber is less then the framenumber of a "Release" message + +file_format: 1 diff --git a/grc/decoding/gsm_tch_h_decoder.xml b/grc/decoding/gsm_tch_h_decoder.xml deleted file mode 100644 index 3936336..0000000 --- a/grc/decoding/gsm_tch_h_decoder.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - TCH/H decoder - gsm_tch_h_decoder - import grgsm - grgsm.tch_h_decoder($sub_channel, $multi_rate, $boundary_check) - - - Sub-channel number - sub_channel - 0 - int - none - - - - - MultiRate configuration - multi_rate - string - - - Voice boundary detection - boundary_check - False - bool - - - - $sub_channel() > -1 and $sub_channel() < 2 - - bursts - message - - - msgs - message - 1 - - - voice - message - 1 - - - -The MultiRate configuration string should contains the hex string from the -MultiRate configuration element from the Assignment Command message. -Example: 28111a40. -See 3GPP TS 44.018 - 10.5.2.21aa MultiRate configuratio - -If "Voice boundary detection" is enabled, then only bursts are decoded as voice where - -- the framenumber is greater then the framenumber of a received "Connect" or "Connect Acknowlegde" message, and -- the framenumber is less then the framenumber of a "Release" message - - - diff --git a/grc/decryption/CMakeLists.txt b/grc/decryption/CMakeLists.txt index 29d86f4..e71e466 100644 --- a/grc/decryption/CMakeLists.txt +++ b/grc/decryption/CMakeLists.txt @@ -18,5 +18,6 @@ # Boston, MA 02110-1301, USA. install(FILES - gsm_decryption.xml DESTINATION share/gnuradio/grc/blocks + gsm_decryption.block.yml + DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/decryption/gsm_decryption.block.yml b/grc/decryption/gsm_decryption.block.yml new file mode 100644 index 0000000..8260907 --- /dev/null +++ b/grc/decryption/gsm_decryption.block.yml @@ -0,0 +1,31 @@ +# auto-generated by grc.converter + +id: gsm_decryption +label: Decryption + +parameters: +- id: k_c + label: Kc session key + dtype: int_vector + default: '[0,0,0,0,0,0,0,0]' +- id: a5_version + label: A5 version + dtype: int + default: '1' + +inputs: +- domain: message + id: bursts + +outputs: +- domain: message + id: bursts +asserts: +- ${ a5_version > 0 } +- ${ a5_version < 5 } + +templates: + imports: import grgsm + make: grgsm.decryption(${k_c}, ${a5_version}) + +file_format: 1 diff --git a/grc/decryption/gsm_decryption.xml b/grc/decryption/gsm_decryption.xml deleted file mode 100644 index 4f3de22..0000000 --- a/grc/decryption/gsm_decryption.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - Decryption - gsm_decryption - import grgsm - grgsm.decryption($k_c, $a5_version) - - - Kc session key - k_c - [0,0,0,0,0,0,0,0] - int_vector - - - - A5 version - a5_version - 1 - int - - - $a5_version > 0 - $a5_version < 5 - - - bursts - message - - - bursts - message - - - diff --git a/grc/demapping/CMakeLists.txt b/grc/demapping/CMakeLists.txt index 4aacfff..2572235 100644 --- a/grc/demapping/CMakeLists.txt +++ b/grc/demapping/CMakeLists.txt @@ -18,11 +18,11 @@ # Boston, MA 02110-1301, USA. install(FILES - gsm_universal_ctrl_chans_demapper.xml - gsm_bcch_ccch_demapper.xml - gsm_bcch_ccch_sdcch4_demapper.xml - gsm_sdcch8_demapper.xml - gsm_tch_f_chans_demapper.xml - gsm_tch_h_chans_demapper.xml + gsm_universal_ctrl_chans_demapper.block.yml + gsm_bcch_ccch_demapper.block.yml + gsm_bcch_ccch_sdcch4_demapper.block.yml + gsm_sdcch8_demapper.block.yml + gsm_tch_f_chans_demapper.block.yml + gsm_tch_h_chans_demapper.block.yml DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/demapping/gsm_bcch_ccch_demapper.block.yml b/grc/demapping/gsm_bcch_ccch_demapper.block.yml new file mode 100644 index 0000000..21e87d8 --- /dev/null +++ b/grc/demapping/gsm_bcch_ccch_demapper.block.yml @@ -0,0 +1,35 @@ +# auto-generated by grc.converter + +id: gsm_bcch_ccch_demapper +label: BCCH + CCCH Demapper + +parameters: +- id: timeslot_nr + label: timeslot_nr + dtype: raw + default: '0' + +inputs: +- domain: message + id: bursts + optional: true + +outputs: +- domain: message + id: bursts + optional: true + +templates: + imports: import grgsm + make: |- + grgsm.gsm_bcch_ccch_demapper( + timeslot_nr=${timeslot_nr}, + ) + callbacks: + - set_timeslot_nr(${timeslot_nr}) + +documentation: |- + Piotr Krysik + Demapper for BCCH + CCCH control channels. This corresponds to channel combination iv specified in GSM 05.02, section 6.4 + +file_format: 1 diff --git a/grc/demapping/gsm_bcch_ccch_demapper.xml b/grc/demapping/gsm_bcch_ccch_demapper.xml deleted file mode 100644 index 239dcc9..0000000 --- a/grc/demapping/gsm_bcch_ccch_demapper.xml +++ /dev/null @@ -1,30 +0,0 @@ - - BCCH + CCCH Demapper - gsm_bcch_ccch_demapper - - import grgsm - grgsm.gsm_bcch_ccch_demapper( - timeslot_nr=$timeslot_nr, -) - set_timeslot_nr($timeslot_nr) - - timeslot_nr - timeslot_nr - 0 - raw - - - bursts - message - 1 - - - bursts - message - 1 - - Piotr Krysik -Demapper for BCCH + CCCH control channels. This corresponds to channel combination iv specified in GSM 05.02, section 6.4 - - gr-gsm/hier_blocks/demapping/gsm_bcch_ccch_demapper.grc - diff --git a/grc/demapping/gsm_bcch_ccch_sdcch4_demapper.block.yml b/grc/demapping/gsm_bcch_ccch_sdcch4_demapper.block.yml new file mode 100644 index 0000000..d40a4e1 --- /dev/null +++ b/grc/demapping/gsm_bcch_ccch_sdcch4_demapper.block.yml @@ -0,0 +1,35 @@ +# auto-generated by grc.converter + +id: gsm_bcch_ccch_sdcch4_demapper +label: BCCH + CCCH + SDCCH/4 Demapper + +parameters: +- id: timeslot_nr + label: timeslot_nr + dtype: raw + default: '0' + +inputs: +- domain: message + id: bursts + optional: true + +outputs: +- domain: message + id: bursts + optional: true + +templates: + imports: import grgsm + make: |- + grgsm.gsm_bcch_ccch_sdcch4_demapper( + timeslot_nr=${timeslot_nr}, + ) + callbacks: + - set_timeslot_nr(${timeslot_nr}) + +documentation: |- + Piotr Krysik + Demapper for BCCH + CCCH + SDCCH/4 + SACCH/C4 control channels. This corresponds to channel combination v specified in GSM 05.02, section 6.4 + +file_format: 1 diff --git a/grc/demapping/gsm_bcch_ccch_sdcch4_demapper.xml b/grc/demapping/gsm_bcch_ccch_sdcch4_demapper.xml deleted file mode 100644 index 6c6845a..0000000 --- a/grc/demapping/gsm_bcch_ccch_sdcch4_demapper.xml +++ /dev/null @@ -1,30 +0,0 @@ - - BCCH + CCCH + SDCCH/4 Demapper - gsm_bcch_ccch_sdcch4_demapper - - import grgsm - grgsm.gsm_bcch_ccch_sdcch4_demapper( - timeslot_nr=$timeslot_nr, -) - set_timeslot_nr($timeslot_nr) - - timeslot_nr - timeslot_nr - 0 - raw - - - bursts - message - 1 - - - bursts - message - 1 - - Piotr Krysik -Demapper for BCCH + CCCH + SDCCH/4 + SACCH/C4 control channels. This corresponds to channel combination v specified in GSM 05.02, section 6.4 - - gr-gsm/hier_blocks/demapping/gsm_bcch_ccch_sdcch4_demapper.grc - diff --git a/grc/demapping/gsm_sdcch8_demapper.block.yml b/grc/demapping/gsm_sdcch8_demapper.block.yml new file mode 100644 index 0000000..66a50c0 --- /dev/null +++ b/grc/demapping/gsm_sdcch8_demapper.block.yml @@ -0,0 +1,35 @@ +# auto-generated by grc.converter + +id: gsm_sdcch8_demapper +label: SDCCH/8 Demapper + +parameters: +- id: timeslot_nr + label: timeslot_nr + dtype: raw + default: '1' + +inputs: +- domain: message + id: bursts + optional: true + +outputs: +- domain: message + id: bursts + optional: true + +templates: + imports: import grgsm + make: |- + grgsm.gsm_sdcch8_demapper( + timeslot_nr=${timeslot_nr}, + ) + callbacks: + - set_timeslot_nr(${timeslot_nr}) + +documentation: |- + Piotr Krysik + Demapper for SDCCH/8 + SACCH/C8 control channels. This corresponds to channel combination vii specified in GSM 05.02, section 6.4 + +file_format: 1 diff --git a/grc/demapping/gsm_sdcch8_demapper.xml b/grc/demapping/gsm_sdcch8_demapper.xml deleted file mode 100644 index 0c62a46..0000000 --- a/grc/demapping/gsm_sdcch8_demapper.xml +++ /dev/null @@ -1,30 +0,0 @@ - - SDCCH/8 Demapper - gsm_sdcch8_demapper - - import grgsm - grgsm.gsm_sdcch8_demapper( - timeslot_nr=$timeslot_nr, -) - set_timeslot_nr($timeslot_nr) - - timeslot_nr - timeslot_nr - 1 - raw - - - bursts - message - 1 - - - bursts - message - 1 - - Piotr Krysik -Demapper for SDCCH/8 + SACCH/C8 control channels. This corresponds to channel combination vii specified in GSM 05.02, section 6.4 - - gr-gsm/hier_blocks/demapping/gsm_sdcch8_demapper.grc - diff --git a/grc/demapping/gsm_tch_f_chans_demapper.block.yml b/grc/demapping/gsm_tch_f_chans_demapper.block.yml new file mode 100644 index 0000000..8d10c1d --- /dev/null +++ b/grc/demapping/gsm_tch_f_chans_demapper.block.yml @@ -0,0 +1,30 @@ +# auto-generated by grc.converter + +id: gsm_tch_f_chans_demapper +label: TCH/F Demapper + +parameters: +- id: timeslot_nr + label: Timeslot + dtype: int + default: '2' + hide: part + +inputs: +- domain: message + id: bursts + optional: true + +outputs: +- domain: message + id: tch_bursts + optional: true +- domain: message + id: acch_bursts + optional: true + +templates: + imports: import grgsm + make: grgsm.tch_f_chans_demapper(${timeslot_nr}) + +file_format: 1 diff --git a/grc/demapping/gsm_tch_f_chans_demapper.xml b/grc/demapping/gsm_tch_f_chans_demapper.xml deleted file mode 100644 index 33b4153..0000000 --- a/grc/demapping/gsm_tch_f_chans_demapper.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - TCH/F Demapper - gsm_tch_f_chans_demapper - import grgsm - grgsm.tch_f_chans_demapper($timeslot_nr) - - - Timeslot - timeslot_nr - 2 - int - part - - - - bursts - message - 1 - - - tch_bursts - message - 1 - - - acch_bursts - message - 1 - - diff --git a/grc/demapping/gsm_tch_h_chans_demapper.block.yml b/grc/demapping/gsm_tch_h_chans_demapper.block.yml new file mode 100644 index 0000000..4c8610e --- /dev/null +++ b/grc/demapping/gsm_tch_h_chans_demapper.block.yml @@ -0,0 +1,37 @@ +# auto-generated by grc.converter + +id: gsm_tch_h_chans_demapper +label: TCH/H Demapper + +parameters: +- id: timeslot_nr + label: Timeslot + dtype: int + default: '2' + hide: none +- id: tch_h_channel + label: Sub-channel number + dtype: int + default: '0' + options: ['0', '1'] + hide: none + +inputs: +- domain: message + id: bursts + +outputs: +- domain: message + id: tch_bursts + optional: true +- domain: message + id: acch_bursts + optional: true +asserts: +- ${ tch_h_channel > -1 and tch_h_channel < 2 } + +templates: + imports: import grgsm + make: grgsm.tch_h_chans_demapper(${timeslot_nr}, ${tch_h_channel}) + +file_format: 1 diff --git a/grc/demapping/gsm_tch_h_chans_demapper.xml b/grc/demapping/gsm_tch_h_chans_demapper.xml deleted file mode 100644 index 52148f5..0000000 --- a/grc/demapping/gsm_tch_h_chans_demapper.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - TCH/H Demapper - gsm_tch_h_chans_demapper - import grgsm - grgsm.tch_h_chans_demapper($timeslot_nr, $tch_h_channel) - - - Timeslot - timeslot_nr - 2 - int - none - - - - Sub-channel number - tch_h_channel - 0 - int - none - - - - $tch_h_channel() > -1 and $tch_h_channel() < 2 - - - bursts - message - - - tch_bursts - message - 1 - - - acch_bursts - message - 1 - - diff --git a/grc/demapping/gsm_universal_ctrl_chans_demapper.block.yml b/grc/demapping/gsm_universal_ctrl_chans_demapper.block.yml new file mode 100644 index 0000000..469384e --- /dev/null +++ b/grc/demapping/gsm_universal_ctrl_chans_demapper.block.yml @@ -0,0 +1,61 @@ +# auto-generated by grc.converter + +id: gsm_universal_ctrl_chans_demapper +label: Universal Control Channels Demapper + +parameters: +- id: timeslot_nr + label: timeslot_nr + dtype: int + default: '0' + hide: part +- id: downlink_starts_fn_mod51 + label: downlink_starts_fn_mod51 + dtype: int_vector + default: '[0,0,2,2,2,2,6,6,6,6,0,0,12,12,12,12,16,16,16,16,0,0,22,22,22,22,26,26,26,26,0,0,32,32,32,32,36,36,36,36,0,0,42,42,42,42,46,46,46,46,0,]' + hide: part +- id: downlink_channel_types + label: downlink_channel_types + dtype: int_vector + default: '[0,0,1,1,1,1,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,]' + hide: part +- id: downlink_subslots + label: downlink_subslots + dtype: int_vector + default: '[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,]' + hide: part +- id: uplink_starts_fn_mod51 + label: uplink_starts_fn_mod51 + dtype: int_vector + default: '[0,0,0,0,0,0,6,6,6,6,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,37,37,37,41,41,41,41,0,0,47,47,47,47]' + hide: part +- id: uplink_channel_types + label: uplink_channel_types + dtype: int_vector + default: '[2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,]' + hide: part +- id: uplink_subslots + label: uplink_subslots + dtype: int_vector + default: '[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,]' + hide: part + +inputs: +- domain: message + id: bursts + +outputs: +- domain: message + id: bursts + +templates: + imports: import grgsm + make: grgsm.universal_ctrl_chans_demapper(${timeslot_nr}, ${downlink_starts_fn_mod51}, + ${downlink_channel_types}, ${downlink_subslots}, ${uplink_starts_fn_mod51}, + ${uplink_channel_types}, ${uplink_subslots}) + +documentation: |- + Universal demapper for control channels. + Author: Piotr Krysik + +file_format: 1 diff --git a/grc/demapping/gsm_universal_ctrl_chans_demapper.xml b/grc/demapping/gsm_universal_ctrl_chans_demapper.xml deleted file mode 100644 index dcad1ae..0000000 --- a/grc/demapping/gsm_universal_ctrl_chans_demapper.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - Universal Control Channels Demapper - gsm_universal_ctrl_chans_demapper - import grgsm - grgsm.universal_ctrl_chans_demapper($timeslot_nr, $downlink_starts_fn_mod51, $downlink_channel_types, $downlink_subslots, $uplink_starts_fn_mod51, $uplink_channel_types, $uplink_subslots) - - - timeslot_nr - timeslot_nr - 0 - int - part - - - - downlink_starts_fn_mod51 - downlink_starts_fn_mod51 - [0,0,2,2,2,2,6,6,6,6,0,0,12,12,12,12,16,16,16,16,0,0,22,22,22,22,26,26,26,26,0,0,32,32,32,32,36,36,36,36,0,0,42,42,42,42,46,46,46,46,0,] - int_vector - part - - - - downlink_channel_types - downlink_channel_types - [0,0,1,1,1,1,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,] - int_vector - part - - - - downlink_subslots - downlink_subslots - [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,] - int_vector - part - - - - uplink_starts_fn_mod51 - uplink_starts_fn_mod51 - [0,0,0,0,0,0,6,6,6,6,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,37,37,37,41,41,41,41,0,0,47,47,47,47] - int_vector - part - - - - uplink_channel_types - uplink_channel_types - [2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,] - int_vector - part - - - - uplink_subslots - uplink_subslots - [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,] - int_vector - part - - - - bursts - message - - - bursts - message - - - Universal demapper for control channels. - Author: Piotr Krysik - - diff --git a/grc/flow_control/CMakeLists.txt b/grc/flow_control/CMakeLists.txt index 1f98d8f..2876512 100644 --- a/grc/flow_control/CMakeLists.txt +++ b/grc/flow_control/CMakeLists.txt @@ -18,12 +18,13 @@ # Boston, MA 02110-1301, USA. install(FILES - gsm_burst_timeslot_splitter.xml - gsm_burst_fnr_filter.xml - gsm_burst_timeslot_filter.xml - gsm_burst_type_filter.xml - gsm_dummy_burst_filter.xml - gsm_burst_sdcch_subslot_splitter.xml - gsm_burst_sdcch_subslot_filter.xml - gsm_uplink_downlink_splitter.xml DESTINATION share/gnuradio/grc/blocks + gsm_burst_timeslot_splitter.block.yml + gsm_burst_fnr_filter.block.yml + gsm_burst_timeslot_filter.block.yml + gsm_burst_type_filter.block.yml + gsm_dummy_burst_filter.block.yml + gsm_burst_sdcch_subslot_splitter.block.yml + gsm_burst_sdcch_subslot_filter.block.yml + gsm_uplink_downlink_splitter.block.yml + DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/flow_control/gsm_burst_fnr_filter.block.yml b/grc/flow_control/gsm_burst_fnr_filter.block.yml new file mode 100644 index 0000000..8dc9adc --- /dev/null +++ b/grc/flow_control/gsm_burst_fnr_filter.block.yml @@ -0,0 +1,33 @@ +# auto-generated by grc.converter + +id: gsm_burst_fnr_filter +label: Burst Framenumber Filter + +parameters: +- id: mode + label: Mode + dtype: enum + options: [grgsm.FILTER_LESS_OR_EQUAL, grgsm.FILTER_GREATER_OR_EQUAL] + option_labels: [Less or equal, Greater or equal] +- id: fnr + label: Framenumber + dtype: int + default: '1500123' + +inputs: +- domain: message + id: in + +outputs: +- domain: message + id: out + optional: true + +templates: + imports: import grgsm + make: grgsm.burst_fnr_filter(${mode}, ${fnr}) + +documentation: |- + Burst framenumber filter forwards only blocks with a framenumber satisfying the configured mode, i.e. if mode is "Less or equal", then only bursts with a smaller or equal framenumber are forwarded. + +file_format: 1 diff --git a/grc/flow_control/gsm_burst_fnr_filter.xml b/grc/flow_control/gsm_burst_fnr_filter.xml deleted file mode 100644 index 7b27583..0000000 --- a/grc/flow_control/gsm_burst_fnr_filter.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - Burst Framenumber Filter - gsm_burst_fnr_filter - import grgsm - grgsm.burst_fnr_filter($mode, $fnr) - - - Mode - mode - enum - - - - - Framenumber - fnr - 1500123 - int - - - - in - message - - - - out - message - 1 - - - -Burst framenumber filter forwards only blocks with a framenumber satisfying the configured mode, i.e. if mode is "Less or equal", then only bursts with a smaller or equal framenumber are forwarded. - - diff --git a/grc/flow_control/gsm_burst_sdcch_subslot_filter.block.yml b/grc/flow_control/gsm_burst_sdcch_subslot_filter.block.yml new file mode 100644 index 0000000..66039f6 --- /dev/null +++ b/grc/flow_control/gsm_burst_sdcch_subslot_filter.block.yml @@ -0,0 +1,34 @@ +# auto-generated by grc.converter + +id: gsm_burst_sdcch_subslot_filter +label: Burst SDCCH Subslot Filter + +parameters: +- id: mode + label: Mode + dtype: enum + options: [grgsm.SS_FILTER_SDCCH8, grgsm.SS_FILTER_SDCCH4] + option_labels: [SDCCH/8, SDCCH/4] +- id: subslot + label: Subslot + dtype: int + default: '0' + hide: none + +inputs: +- domain: message + id: in + +outputs: +- domain: message + id: out + optional: true + +templates: + imports: import grgsm + make: grgsm.burst_sdcch_subslot_filter(${mode}, ${subslot}) + +documentation: |- + This block forwards only bursts in the subslot given by the parameter + +file_format: 1 diff --git a/grc/flow_control/gsm_burst_sdcch_subslot_filter.xml b/grc/flow_control/gsm_burst_sdcch_subslot_filter.xml deleted file mode 100644 index ddfcb3b..0000000 --- a/grc/flow_control/gsm_burst_sdcch_subslot_filter.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - Burst SDCCH Subslot Filter - gsm_burst_sdcch_subslot_filter - import grgsm - grgsm.burst_sdcch_subslot_filter($mode, $subslot) - - - Mode - mode - enum - - - - - - Subslot - subslot - 0 - int - none - - - - in - message - - - - out - message - 1 - - - -This block forwards only bursts in the subslot given by the parameter - - \ No newline at end of file diff --git a/grc/flow_control/gsm_burst_sdcch_subslot_splitter.block.yml b/grc/flow_control/gsm_burst_sdcch_subslot_splitter.block.yml new file mode 100644 index 0000000..a409dd2 --- /dev/null +++ b/grc/flow_control/gsm_burst_sdcch_subslot_splitter.block.yml @@ -0,0 +1,39 @@ +# auto-generated by grc.converter + +id: gsm_burst_sdcch_subslot_splitter +label: Burst SDCCH Subslot Splitter + +parameters: +- id: ports + label: Mode + dtype: enum + options: ['8', '4'] + option_labels: [SDCCH/8, SDCCH/4] + hide: part + +inputs: +- domain: message + id: in + +outputs: +- domain: message + id: out + multiplicity: ${ ports } + optional: true + +templates: + imports: import grgsm + make: |- + grgsm.burst_sdcch_subslot_splitter( + % if int(ports)==4: + grgsm.SPLITTER_SDCCH4 + % else: + grgsm.SPLITTER_SDCCH8 + % endif + ) + +documentation: |- + Burst SDCCH subslot splitter distributes bursts to eight different output ports depending on the subslots to which the bursts belong. + This means subslot 0 bursts are sent to port out0, subslot 1 bursts on port out1, and so on. + +file_format: 1 diff --git a/grc/flow_control/gsm_burst_sdcch_subslot_splitter.xml b/grc/flow_control/gsm_burst_sdcch_subslot_splitter.xml deleted file mode 100644 index 62415e7..0000000 --- a/grc/flow_control/gsm_burst_sdcch_subslot_splitter.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - Burst SDCCH Subslot Splitter - gsm_burst_sdcch_subslot_splitter - import grgsm - grgsm.burst_sdcch_subslot_splitter( -#if int($ports())==4 # -grgsm.SPLITTER_SDCCH4 -#else -grgsm.SPLITTER_SDCCH8 -#end if - ) - - - Mode - ports - enum - - - - - - in - message - - - - out - message - $ports - 1 - - - -Burst SDCCH subslot splitter distributes bursts to eight different output ports depending on the subslots to which the bursts belong. -This means subslot 0 bursts are sent to port out0, subslot 1 bursts on port out1, and so on. - - \ No newline at end of file diff --git a/grc/flow_control/gsm_burst_timeslot_filter.block.yml b/grc/flow_control/gsm_burst_timeslot_filter.block.yml new file mode 100644 index 0000000..afc0c2b --- /dev/null +++ b/grc/flow_control/gsm_burst_timeslot_filter.block.yml @@ -0,0 +1,29 @@ +# auto-generated by grc.converter + +id: gsm_burst_timeslot_filter +label: Burst Timeslot Filter + +parameters: +- id: timeslot + label: Timeslot + dtype: int + default: '0' + hide: none + +inputs: +- domain: message + id: in + +outputs: +- domain: message + id: out + optional: true + +templates: + imports: import grgsm + make: grgsm.burst_timeslot_filter(${timeslot}) + +documentation: |- + This block forwards only bursts in the timeslot given by the parameter + +file_format: 1 diff --git a/grc/flow_control/gsm_burst_timeslot_filter.xml b/grc/flow_control/gsm_burst_timeslot_filter.xml deleted file mode 100644 index b900375..0000000 --- a/grc/flow_control/gsm_burst_timeslot_filter.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - Burst Timeslot Filter - gsm_burst_timeslot_filter - import grgsm - grgsm.burst_timeslot_filter($timeslot) - - - Timeslot - timeslot - 0 - int - none - - - - in - message - - - - out - message - 1 - - - -This block forwards only bursts in the timeslot given by the parameter - - diff --git a/grc/flow_control/gsm_burst_timeslot_splitter.block.yml b/grc/flow_control/gsm_burst_timeslot_splitter.block.yml new file mode 100644 index 0000000..2d8faee --- /dev/null +++ b/grc/flow_control/gsm_burst_timeslot_splitter.block.yml @@ -0,0 +1,24 @@ +# auto-generated by grc.converter + +id: gsm_burst_timeslot_splitter +label: Burst Timeslot Splitter + +inputs: +- domain: message + id: in + +outputs: +- domain: message + id: out + multiplicity: '8' + optional: true + +templates: + imports: import grgsm + make: grgsm.burst_timeslot_splitter() + +documentation: "Burst timeslot splitter distributes bursts to eight different output\ + \ ports depending on the timeslots of the bursts. \nThis means timeslot 0 bursts\ + \ are sent to port out0, timeslot 1 bursts on port out1, and so on." + +file_format: 1 diff --git a/grc/flow_control/gsm_burst_timeslot_splitter.xml b/grc/flow_control/gsm_burst_timeslot_splitter.xml deleted file mode 100644 index 4f6159e..0000000 --- a/grc/flow_control/gsm_burst_timeslot_splitter.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - Burst Timeslot Splitter - gsm_burst_timeslot_splitter - import grgsm - grgsm.burst_timeslot_splitter() - - - in - message - - - - out - message - 8 - 1 - - - -Burst timeslot splitter distributes bursts to eight different output ports depending on the timeslots of the bursts. -This means timeslot 0 bursts are sent to port out0, timeslot 1 bursts on port out1, and so on. - - diff --git a/grc/flow_control/gsm_burst_type_filter.block.yml b/grc/flow_control/gsm_burst_type_filter.block.yml new file mode 100644 index 0000000..21222ae --- /dev/null +++ b/grc/flow_control/gsm_burst_type_filter.block.yml @@ -0,0 +1,31 @@ +# auto-generated by grc.converter + +id: gsm_burst_type_filter +label: Burst Type Filter + +parameters: +- id: selected_burst_types + label: Selected burst types + dtype: int_vector + default: '[0,1,2,3,4,5,6,7]' + +inputs: +- domain: message + id: bursts_in + optional: true + +outputs: +- domain: message + id: bursts_out + optional: true + +templates: + imports: import grgsm + make: grgsm.burst_type_filter(${selected_burst_types}) + +documentation: |- + This block filters bursts based on their type. + + For more information on burst types, see GSM 05.02. + +file_format: 1 diff --git a/grc/flow_control/gsm_burst_type_filter.xml b/grc/flow_control/gsm_burst_type_filter.xml deleted file mode 100644 index d7d86f4..0000000 --- a/grc/flow_control/gsm_burst_type_filter.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - Burst Type Filter - gsm_burst_type_filter - import grgsm - grgsm.burst_type_filter($selected_burst_types) - - - Selected burst types - selected_burst_types - [0,1,2,3,4,5,6,7] - int_vector - - - - bursts_in - message - 1 - - - - bursts_out - message - 1 - - - -This block filters bursts based on their type. - -For more information on burst types, see GSM 05.02. - - diff --git a/grc/flow_control/gsm_dummy_burst_filter.block.yml b/grc/flow_control/gsm_dummy_burst_filter.block.yml new file mode 100644 index 0000000..f0f690c --- /dev/null +++ b/grc/flow_control/gsm_dummy_burst_filter.block.yml @@ -0,0 +1,22 @@ +# auto-generated by grc.converter + +id: gsm_dummy_burst_filter +label: Dummy Burst Filter + +inputs: +- domain: message + id: in + +outputs: +- domain: message + id: out + optional: true + +templates: + imports: import grgsm + make: grgsm.dummy_burst_filter() + +documentation: "This block filters dummy bursts. \n\nFor more information on dummy\ + \ bursts, see GSM 05.02." + +file_format: 1 diff --git a/grc/flow_control/gsm_dummy_burst_filter.xml b/grc/flow_control/gsm_dummy_burst_filter.xml deleted file mode 100644 index 126e4fe..0000000 --- a/grc/flow_control/gsm_dummy_burst_filter.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - Dummy Burst Filter - gsm_dummy_burst_filter - import grgsm - grgsm.dummy_burst_filter() - - - in - message - - - - out - message - 1 - - - -This block filters dummy bursts. - -For more information on dummy bursts, see GSM 05.02. - - diff --git a/grc/flow_control/gsm_uplink_downlink_splitter.block.yml b/grc/flow_control/gsm_uplink_downlink_splitter.block.yml new file mode 100644 index 0000000..12d141d --- /dev/null +++ b/grc/flow_control/gsm_uplink_downlink_splitter.block.yml @@ -0,0 +1,23 @@ +# auto-generated by grc.converter + +id: gsm_uplink_downlink_splitter +label: Up/Down-link splitter + +inputs: +- domain: message + id: in + optional: true + +outputs: +- domain: message + id: downlink + optional: true +- domain: message + id: uplink + optional: true + +templates: + imports: import grgsm + make: grgsm.uplink_downlink_splitter() + +file_format: 1 diff --git a/grc/flow_control/gsm_uplink_downlink_splitter.xml b/grc/flow_control/gsm_uplink_downlink_splitter.xml deleted file mode 100644 index 5c0c932..0000000 --- a/grc/flow_control/gsm_uplink_downlink_splitter.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - Up/Down-link splitter - gsm_uplink_downlink_splitter - import grgsm - grgsm.uplink_downlink_splitter() - - in - message - 1 - - - downlink - message - 1 - - - uplink - message - 1 - - diff --git a/grc/gsm.tree.yml b/grc/gsm.tree.yml new file mode 100644 index 0000000..4aee993 --- /dev/null +++ b/grc/gsm.tree.yml @@ -0,0 +1,58 @@ +'[GSM]': +- Receiver: + - gsm_receiver + - gsm_receiver_with_uplink + - gsm_cx_channel_hopper + - gsm_fcch_burst_tagger + - gsm_sch_detector + - gsm_fcch_detector + - gsm_clock_offset_control + - gsm_input +- Transmitter: + - gsm_txtime_bursts_tagger + - gsm_txtime_setter + - gsm_gmsk_mod + - gsm_preprocess_tx_burst + - gsm_gen_test_ab +- Transceiver: + - gsm_trx_burst_if +- Logical channels demapping: + - gsm_universal_ctrl_chans_demapper + - gsm_bcch_ccch_demapper + - gsm_bcch_ccch_sdcch4_demapper + - gsm_sdcch8_demapper + - gsm_tch_f_chans_demapper + - gsm_tch_h_chans_demapper +- Decryption: + - gsm_decryption +- Decoding: + - gsm_control_channels_decoder + - gsm_tch_f_decoder + - gsm_tch_h_decoder +- Flow control: + - gsm_burst_timeslot_splitter + - gsm_burst_sdcch_subslot_splitter + - gsm_burst_timeslot_filter + - gsm_burst_sdcch_subslot_filter + - gsm_burst_fnr_filter + - gsm_burst_type_filter + - gsm_dummy_burst_filter + - gsm_uplink_downlink_splitter +- Utilities: + - gsm_bursts_printer + - gsm_burst_file_sink + - gsm_burst_file_source + - gsm_collect_system_info + - gsm_message_file_sink + - gsm_message_file_source + - gsm_extract_system_info + - gsm_extract_immediate_assignment + - gsm_extract_cmc + - gsm_extract_assignment_cmd + - gsm_controlled_rotator_cc + - gsm_controlled_fractional_resampler_cc + - gsm_message_printer + - gsm_clock_offset_corrector_tagged + - gsm_msg_to_tag + - gsm_tmsi_dumper + - gsm_burst_to_fn_time diff --git a/grc/gsm_block_tree.xml b/grc/gsm_block_tree.xml deleted file mode 100644 index b056003..0000000 --- a/grc/gsm_block_tree.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - GSM - - Receiver - gsm_receiver - gsm_receiver_with_uplink - gsm_cx_channel_hopper - gsm_fcch_burst_tagger - gsm_sch_detector - gsm_fcch_detector - gsm_clock_offset_control - gsm_input - - - Transmitter - gsm_txtime_bursts_tagger - gsm_txtime_setter - gsm_gmsk_mod - gsm_preprocess_tx_burst - gsm_gen_test_ab - - - Transceiver - gsm_trx_burst_if - - - Logical channels demapping - gsm_universal_ctrl_chans_demapper - gsm_bcch_ccch_demapper - gsm_bcch_ccch_sdcch4_demapper - gsm_sdcch8_demapper - gsm_tch_f_chans_demapper - gsm_tch_h_chans_demapper - - - Decryption - gsm_decryption - - - Decoding - gsm_control_channels_decoder - gsm_tch_f_decoder - gsm_tch_h_decoder - - - Flow control - gsm_burst_timeslot_splitter - gsm_burst_sdcch_subslot_splitter - gsm_burst_timeslot_filter - gsm_burst_sdcch_subslot_filter - gsm_burst_fnr_filter - gsm_burst_type_filter - gsm_dummy_burst_filter - gsm_uplink_downlink_splitter - - - Utilities - gsm_bursts_printer - gsm_burst_file_sink - gsm_burst_file_source - gsm_collect_system_info - gsm_message_file_sink - gsm_message_file_source - gsm_extract_system_info - gsm_extract_immediate_assignment - gsm_extract_cmc - gsm_extract_assignment_cmd - gsm_controlled_rotator_cc - gsm_controlled_fractional_resampler_cc - gsm_message_printer - gsm_clock_offset_corrector_tagged - gsm_msg_to_tag - gsm_tmsi_dumper - gsm_burst_to_fn_time - - - diff --git a/grc/misc_utils/CMakeLists.txt b/grc/misc_utils/CMakeLists.txt index bad53e6..73869d3 100644 --- a/grc/misc_utils/CMakeLists.txt +++ b/grc/misc_utils/CMakeLists.txt @@ -18,22 +18,22 @@ # Boston, MA 02110-1301, USA. install(FILES - gsm_extract_system_info.xml - gsm_extract_immediate_assignment.xml - gsm_collect_system_info.xml - gsm_extract_cmc.xml - gsm_extract_assignment_cmd.xml - gsm_controlled_rotator_cc.xml - gsm_message_printer.xml - gsm_bursts_printer.xml - gsm_clock_offset_corrector_tagged.xml - gsm_tmsi_dumper.xml - gsm_burst_file_sink.xml - gsm_burst_file_source.xml - gsm_message_file_sink.xml - gsm_message_file_source.xml - gsm_msg_to_tag.xml - gsm_controlled_fractional_resampler_cc.xml - gsm_burst_to_fn_time.xml + gsm_extract_system_info.block.yml + gsm_extract_immediate_assignment.block.yml + gsm_collect_system_info.block.yml + gsm_extract_cmc.block.yml + gsm_extract_assignment_cmd.block.yml + gsm_controlled_rotator_cc.block.yml + gsm_message_printer.block.yml + gsm_bursts_printer.block.yml + gsm_clock_offset_corrector_tagged.block.yml + gsm_tmsi_dumper.block.yml + gsm_burst_file_sink.block.yml + gsm_burst_file_source.block.yml + gsm_message_file_sink.block.yml + gsm_message_file_source.block.yml + gsm_msg_to_tag.block.yml + gsm_controlled_fractional_resampler_cc.block.yml + gsm_burst_to_fn_time.block.yml DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/misc_utils/gsm_burst_file_sink.block.yml b/grc/misc_utils/gsm_burst_file_sink.block.yml new file mode 100644 index 0000000..00afadc --- /dev/null +++ b/grc/misc_utils/gsm_burst_file_sink.block.yml @@ -0,0 +1,20 @@ +# auto-generated by grc.converter + +id: gsm_burst_file_sink +label: Burst File Sink + +parameters: +- id: filename + label: Destination file + dtype: file_open + default: /tmp/bursts + +inputs: +- domain: message + id: in + +templates: + imports: import grgsm + make: grgsm.burst_file_sink(${filename}) + +file_format: 1 diff --git a/grc/misc_utils/gsm_burst_file_sink.xml b/grc/misc_utils/gsm_burst_file_sink.xml deleted file mode 100644 index 61bde2d..0000000 --- a/grc/misc_utils/gsm_burst_file_sink.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - Burst File Sink - gsm_burst_file_sink - import grgsm - grgsm.burst_file_sink($filename) - - - Destination file - filename - /tmp/bursts - file_open - - - - in - message - - diff --git a/grc/misc_utils/gsm_burst_file_source.block.yml b/grc/misc_utils/gsm_burst_file_source.block.yml new file mode 100644 index 0000000..f75bf55 --- /dev/null +++ b/grc/misc_utils/gsm_burst_file_source.block.yml @@ -0,0 +1,20 @@ +# auto-generated by grc.converter + +id: gsm_burst_file_source +label: Burst File Source + +parameters: +- id: filename + label: Source file + dtype: file_open + default: /tmp/bursts + +outputs: +- domain: message + id: out + +templates: + imports: import grgsm + make: grgsm.burst_file_source(${filename}) + +file_format: 1 diff --git a/grc/misc_utils/gsm_burst_file_source.xml b/grc/misc_utils/gsm_burst_file_source.xml deleted file mode 100644 index 5e160fb..0000000 --- a/grc/misc_utils/gsm_burst_file_source.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - Burst File Source - gsm_burst_file_source - import grgsm - grgsm.burst_file_source($filename) - - - Source file - filename - /tmp/bursts - file_open - - - - out - message - - diff --git a/grc/misc_utils/gsm_burst_to_fn_time.block.yml b/grc/misc_utils/gsm_burst_to_fn_time.block.yml new file mode 100644 index 0000000..f4c687c --- /dev/null +++ b/grc/misc_utils/gsm_burst_to_fn_time.block.yml @@ -0,0 +1,20 @@ +# auto-generated by grc.converter + +id: gsm_burst_to_fn_time +label: Burst to FN time + +inputs: +- domain: message + id: bursts_in + optional: true + +outputs: +- domain: message + id: fn_time_out + optional: true + +templates: + imports: import grgsm + make: grgsm.burst_to_fn_time() + +file_format: 1 diff --git a/grc/misc_utils/gsm_burst_to_fn_time.xml b/grc/misc_utils/gsm_burst_to_fn_time.xml deleted file mode 100644 index c8ae088..0000000 --- a/grc/misc_utils/gsm_burst_to_fn_time.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - Burst to FN time - gsm_burst_to_fn_time - import grgsm - grgsm.burst_to_fn_time() - - - bursts_in - message - 1 - - - - fn_time_out - message - 1 - - diff --git a/grc/misc_utils/gsm_bursts_printer.block.yml b/grc/misc_utils/gsm_bursts_printer.block.yml new file mode 100644 index 0000000..0f99789 --- /dev/null +++ b/grc/misc_utils/gsm_bursts_printer.block.yml @@ -0,0 +1,57 @@ +# auto-generated by grc.converter + +id: gsm_bursts_printer +label: Bursts Printer + +parameters: +- id: prepend_string + label: Prepend String + dtype: string + hide: part +- id: prepend_fnr + label: Prepend Frame Number + dtype: bool + default: 'False' + options: ['False', 'True'] +- id: prepend_frame_count + label: Prepend Frame Count + dtype: bool + default: 'False' + options: ['False', 'True'] +- id: print_payload_only + label: Print payload only + dtype: bool + default: 'False' + options: ['False', 'True'] +- id: ignore_dummy_bursts + label: Ignore dummy bursts + dtype: bool + default: 'False' + options: ['False', 'True'] + +inputs: +- domain: message + id: bursts + +templates: + imports: |- + import grgsm + import pmt + make: |- + grgsm.bursts_printer(pmt.intern(${prepend_string}), ${prepend_fnr}, + ${prepend_frame_count}, ${print_payload_only}, ${ignore_dummy_bursts}) + +documentation: |- + This block prints bursts to output. By default the whole burst including tail bits, stealing bits and training sequence is printed. + + If "Prepend Frame Number" is enabled, then the framenumber is prepended to each burst. + + If "Prepend Frame Count" is enabled, then the frame count for A5 is prependend to each burst. + + If "Print payload only" is enabled, then only the two data blocks of a burst are printed, tail bits, stealing bits and training sequence are omitted. + + If "Ignore dummy bursts" is enabled, then the burst printer will not print dummy bursts (see GSM 05.02) + + Enabling first three options (or all four options) results in an output that is similar to the output of airprobe, i.e. the format is "frame_nr frame_count: databits" + +file_format: 1 diff --git a/grc/misc_utils/gsm_bursts_printer.xml b/grc/misc_utils/gsm_bursts_printer.xml deleted file mode 100644 index d6ddfcb..0000000 --- a/grc/misc_utils/gsm_bursts_printer.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - Bursts Printer - gsm_bursts_printer - import grgsm - import pmt - grgsm.bursts_printer(pmt.intern($prepend_string), $prepend_fnr, - $prepend_frame_count, $print_payload_only, $ignore_dummy_bursts) - - - Prepend String - prepend_string - - string - part - - - Prepend Frame Number - prepend_fnr - False - bool - - - - - Prepend Frame Count - prepend_frame_count - False - bool - - - - - Print payload only - print_payload_only - False - bool - - - - - Ignore dummy bursts - ignore_dummy_bursts - False - bool - - - - - - bursts - message - - - -This block prints bursts to output. By default the whole burst including tail bits, stealing bits and training sequence is printed. - -If "Prepend Frame Number" is enabled, then the framenumber is prepended to each burst. - -If "Prepend Frame Count" is enabled, then the frame count for A5 is prependend to each burst. - -If "Print payload only" is enabled, then only the two data blocks of a burst are printed, tail bits, stealing bits and training sequence are omitted. - -If "Ignore dummy bursts" is enabled, then the burst printer will not print dummy bursts (see GSM 05.02) - -Enabling first three options (or all four options) results in an output that is similar to the output of airprobe, i.e. the format is "frame_nr frame_count: databits" - - diff --git a/grc/misc_utils/gsm_clock_offset_corrector_tagged.block.yml b/grc/misc_utils/gsm_clock_offset_corrector_tagged.block.yml new file mode 100644 index 0000000..6daa18c --- /dev/null +++ b/grc/misc_utils/gsm_clock_offset_corrector_tagged.block.yml @@ -0,0 +1,56 @@ +# auto-generated by grc.converter + +id: gsm_clock_offset_corrector_tagged +label: Clock Offset Corrector Tagged + +parameters: +- id: fc + label: fc + dtype: raw + default: 936.6e6 +- id: ppm + label: ppm + dtype: raw + default: '0' +- id: samp_rate_in + label: samp_rate_in + dtype: raw + default: 1625000.0/6.0*4.0 +- id: osr + label: OSR + dtype: raw + default: osr + +inputs: +- domain: message + id: ctrl + optional: true +- domain: stream + dtype: complex + vlen: 1 + +outputs: +- domain: stream + dtype: complex + vlen: 1 + +templates: + imports: import grgsm + make: |- + grgsm.clock_offset_corrector_tagged( + fc=${fc}, + samp_rate_in=${samp_rate_in}, + ppm=${ppm}, + osr=${osr} + ) + callbacks: + - set_fc(${fc}) + - set_ppm(${ppm}) + - set_samp_rate_in(${samp_rate_in}) + - set_osr(${osr}) + +documentation: |- + Piotr Krysik + Clock offset corrector with blocks that use tags to switch offsets + +file_format: 1 diff --git a/grc/misc_utils/gsm_clock_offset_corrector_tagged.xml b/grc/misc_utils/gsm_clock_offset_corrector_tagged.xml deleted file mode 100644 index bcec98e..0000000 --- a/grc/misc_utils/gsm_clock_offset_corrector_tagged.xml +++ /dev/null @@ -1,57 +0,0 @@ - - Clock Offset Corrector Tagged - gsm_clock_offset_corrector_tagged - import grgsm - grgsm.clock_offset_corrector_tagged( - fc=$fc, - samp_rate_in=$samp_rate_in, - ppm=$ppm, - osr=$osr -) - set_fc($fc) - set_ppm($ppm) - set_samp_rate_in($samp_rate_in) - set_osr($osr) - - fc - fc - 936.6e6 - raw - - - ppm - ppm - 0 - raw - - - samp_rate_in - samp_rate_in - 1625000.0/6.0*4.0 - raw - - - OSR - osr - osr - raw - - - ctrl - message - 1 - - - in - complex - 1 - - - out - complex - 1 - - Piotr Krysik -Clock offset corrector with blocks that use tags to switch offsets - - diff --git a/grc/misc_utils/gsm_collect_system_info.block.yml b/grc/misc_utils/gsm_collect_system_info.block.yml new file mode 100644 index 0000000..f7d5d85 --- /dev/null +++ b/grc/misc_utils/gsm_collect_system_info.block.yml @@ -0,0 +1,23 @@ +# auto-generated by grc.converter + +id: gsm_collect_system_info +label: Collect System Info + +inputs: +- domain: message + id: msgs + +templates: + imports: import grgsm + make: grgsm.collect_system_info() + +documentation: |- + This blocks collect System Information Messages, which can be retrieved using the following methods: + + get_framenumbers(): Get the list with the framenumbers of the System Information Messages + + get_system_information_type(): Get the types of the System Information Messages + + get_data(): Get the whole System Information Messages in Hex representation + +file_format: 1 diff --git a/grc/misc_utils/gsm_collect_system_info.xml b/grc/misc_utils/gsm_collect_system_info.xml deleted file mode 100644 index bad0396..0000000 --- a/grc/misc_utils/gsm_collect_system_info.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - Collect System Info - gsm_collect_system_info - import grgsm - grgsm.collect_system_info() - - msgs - message - - -This blocks collect System Information Messages, which can be retrieved using the following methods: - -get_framenumbers(): Get the list with the framenumbers of the System Information Messages - -get_system_information_type(): Get the types of the System Information Messages - -get_data(): Get the whole System Information Messages in Hex representation - - diff --git a/grc/misc_utils/gsm_controlled_fractional_resampler_cc.block.yml b/grc/misc_utils/gsm_controlled_fractional_resampler_cc.block.yml new file mode 100644 index 0000000..4e94516 --- /dev/null +++ b/grc/misc_utils/gsm_controlled_fractional_resampler_cc.block.yml @@ -0,0 +1,28 @@ +# auto-generated by grc.converter + +id: gsm_controlled_fractional_resampler_cc +label: Controlled Fractional Resampler + +parameters: +- id: phase_shift + label: Phase Shift + dtype: real +- id: resamp_ratio + label: Resampling Ratio + dtype: real + +inputs: +- domain: stream + dtype: complex + +outputs: +- domain: stream + dtype: complex + +templates: + imports: import grgsm + make: grgsm.controlled_fractional_resampler_cc(${phase_shift}, ${resamp_ratio}) + callbacks: + - set_resamp_ratio(${resamp_ratio}) + +file_format: 1 diff --git a/grc/misc_utils/gsm_controlled_fractional_resampler_cc.xml b/grc/misc_utils/gsm_controlled_fractional_resampler_cc.xml deleted file mode 100644 index fdecece..0000000 --- a/grc/misc_utils/gsm_controlled_fractional_resampler_cc.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - Controlled Fractional Resampler - gsm_controlled_fractional_resampler_cc - import grgsm - grgsm.controlled_fractional_resampler_cc($phase_shift, $resamp_ratio) - set_resamp_ratio($resamp_ratio) - - Phase Shift - phase_shift - real - - - Resampling Ratio - resamp_ratio - real - - - in - complex - - - out - complex - - diff --git a/grc/misc_utils/gsm_controlled_rotator_cc.block.yml b/grc/misc_utils/gsm_controlled_rotator_cc.block.yml new file mode 100644 index 0000000..b26af92 --- /dev/null +++ b/grc/misc_utils/gsm_controlled_rotator_cc.block.yml @@ -0,0 +1,26 @@ +# auto-generated by grc.converter + +id: gsm_controlled_rotator_cc +label: Controlled Rotator + +parameters: +- id: phase_inc + label: phase_inc + dtype: real + default: '0' + +inputs: +- domain: stream + dtype: complex + +outputs: +- domain: stream + dtype: complex + +templates: + imports: import grgsm + make: grgsm.controlled_rotator_cc(${phase_inc}) + callbacks: + - set_phase_inc(${phase_inc}) + +file_format: 1 diff --git a/grc/misc_utils/gsm_controlled_rotator_cc.xml b/grc/misc_utils/gsm_controlled_rotator_cc.xml deleted file mode 100644 index 09ac422..0000000 --- a/grc/misc_utils/gsm_controlled_rotator_cc.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - Controlled Rotator - gsm_controlled_rotator_cc - import grgsm - grgsm.controlled_rotator_cc($phase_inc) - set_phase_inc($phase_inc) - - phase_inc - phase_inc - 0 - real - - - in - complex - - - out - complex - - - diff --git a/grc/misc_utils/gsm_extract_assignment_cmd.block.yml b/grc/misc_utils/gsm_extract_assignment_cmd.block.yml new file mode 100644 index 0000000..1ce258d --- /dev/null +++ b/grc/misc_utils/gsm_extract_assignment_cmd.block.yml @@ -0,0 +1,22 @@ +# auto-generated by grc.converter + +id: gsm_extract_assignment_cmd +label: Extract Assignment Command + +inputs: +- domain: message + id: msgs + +templates: + imports: import grgsm + make: grgsm.extract_assignment_cmd() + +documentation: |- + Extracts Assignemnt Commands. + + Input: decoded control channel messages + + The information can be retrieved using following function: + get_assignment_commands() + +file_format: 1 diff --git a/grc/misc_utils/gsm_extract_assignment_cmd.xml b/grc/misc_utils/gsm_extract_assignment_cmd.xml deleted file mode 100644 index 8562e56..0000000 --- a/grc/misc_utils/gsm_extract_assignment_cmd.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - Extract Assignment Command - gsm_extract_assignment_cmd - import grgsm - grgsm.extract_assignment_cmd() - - msgs - message - - -Extracts Assignemnt Commands. - -Input: decoded control channel messages - -The information can be retrieved using following function: -get_assignment_commands() - - - diff --git a/grc/misc_utils/gsm_extract_cmc.block.yml b/grc/misc_utils/gsm_extract_cmc.block.yml new file mode 100644 index 0000000..3c98ab3 --- /dev/null +++ b/grc/misc_utils/gsm_extract_cmc.block.yml @@ -0,0 +1,22 @@ +# auto-generated by grc.converter + +id: gsm_extract_cmc +label: Extract Cipher Mode Command + +inputs: +- domain: message + id: msgs + +templates: + imports: import grgsm + make: grgsm.extract_cmc() + +documentation: |- + Extracts the framenumber and the assigned encryption algorithm from Cipher Mode Commands. + + Input: decoded control channel messages + + The information can be retrieved using following functions: + get_frame_numbers(), get_a5_versions() + +file_format: 1 diff --git a/grc/misc_utils/gsm_extract_cmc.xml b/grc/misc_utils/gsm_extract_cmc.xml deleted file mode 100644 index 66a6408..0000000 --- a/grc/misc_utils/gsm_extract_cmc.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - Extract Cipher Mode Command - gsm_extract_cmc - import grgsm - grgsm.extract_cmc() - - msgs - message - - -Extracts the framenumber and the assigned encryption algorithm from Cipher Mode Commands. - -Input: decoded control channel messages - -The information can be retrieved using following functions: -get_frame_numbers(), get_a5_versions() - - - diff --git a/grc/misc_utils/gsm_extract_immediate_assignment.block.yml b/grc/misc_utils/gsm_extract_immediate_assignment.block.yml new file mode 100644 index 0000000..432a6a1 --- /dev/null +++ b/grc/misc_utils/gsm_extract_immediate_assignment.block.yml @@ -0,0 +1,46 @@ +# auto-generated by grc.converter + +id: gsm_extract_immediate_assignment +label: Extract Immediate Assignment + +parameters: +- id: print_immediate_assignments + label: Print + dtype: bool + default: 'False' + options: ['False', 'True'] +- id: ignore_gprs + label: Ignore GPRS + dtype: bool + default: 'False' + options: ['False', 'True'] +- id: unique_references + label: Unique per request ref + dtype: bool + default: 'False' + options: ['False', 'True'] + +inputs: +- domain: message + id: msgs + +templates: + imports: import grgsm + make: grgsm.extract_immediate_assignment(${print_immediate_assignments}, ${ignore_gprs}, + ${unique_references}) + +documentation: |- + Extracts the assignment information from immediate assignments, i.e. timeslot, channel type, etc. + + Input: decoded control channel messages + + If "Print" is enabled, the information will be printed to output also, + else the data can be retrieved using functions: + + get_frame_numbers(), get_channel_types(), get_timeslots(), get_subchannels(), get_hopping(), get_maios(), get_hsns(), get_arfcns(), get_timing_advances(), get_mobile_allocations() + + If "Ignore GPRS" is enabled, the extractor will ignore Immediate Assignments that assign GPRS channels. + + If "Unique per request ref" is enabled, the extractor will capture the first Immediate Assignment for every unique request reference, and ignore further duplicate assignments + +file_format: 1 diff --git a/grc/misc_utils/gsm_extract_immediate_assignment.xml b/grc/misc_utils/gsm_extract_immediate_assignment.xml deleted file mode 100644 index 9040b9b..0000000 --- a/grc/misc_utils/gsm_extract_immediate_assignment.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - Extract Immediate Assignment - gsm_extract_immediate_assignment - import grgsm - grgsm.extract_immediate_assignment($print_immediate_assignments, $ignore_gprs, $unique_references) - - - Print - print_immediate_assignments - False - bool - - - - - Ignore GPRS - ignore_gprs - False - bool - - - - - Unique per request ref - unique_references - False - bool - - - - - - msgs - message - - - -Extracts the assignment information from immediate assignments, i.e. timeslot, channel type, etc. - -Input: decoded control channel messages - -If "Print" is enabled, the information will be printed to output also, -else the data can be retrieved using functions: - -get_frame_numbers(), get_channel_types(), get_timeslots(), get_subchannels(), get_hopping(), get_maios(), get_hsns(), get_arfcns(), get_timing_advances(), get_mobile_allocations() - -If "Ignore GPRS" is enabled, the extractor will ignore Immediate Assignments that assign GPRS channels. - -If "Unique per request ref" is enabled, the extractor will capture the first Immediate Assignment for every unique request reference, and ignore further duplicate assignments - - - diff --git a/grc/misc_utils/gsm_extract_system_info.block.yml b/grc/misc_utils/gsm_extract_system_info.block.yml new file mode 100644 index 0000000..48e2322 --- /dev/null +++ b/grc/misc_utils/gsm_extract_system_info.block.yml @@ -0,0 +1,16 @@ +# auto-generated by grc.converter + +id: gsm_extract_system_info +label: Extract System Info + +inputs: +- domain: message + id: msgs +- domain: message + id: bursts + +templates: + imports: import grgsm + make: grgsm.extract_system_info() + +file_format: 1 diff --git a/grc/misc_utils/gsm_extract_system_info.xml b/grc/misc_utils/gsm_extract_system_info.xml deleted file mode 100644 index 4a5d26d..0000000 --- a/grc/misc_utils/gsm_extract_system_info.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - Extract System Info - gsm_extract_system_info - import grgsm - grgsm.extract_system_info() - - - msgs - message - - - - bursts - message - - - diff --git a/grc/misc_utils/gsm_message_file_sink.block.yml b/grc/misc_utils/gsm_message_file_sink.block.yml new file mode 100644 index 0000000..e83669a --- /dev/null +++ b/grc/misc_utils/gsm_message_file_sink.block.yml @@ -0,0 +1,23 @@ +# auto-generated by grc.converter + +id: gsm_message_file_sink +label: Message File Sink + +parameters: +- id: filename + label: Destination file + dtype: file_open + default: /tmp/output.msg + +inputs: +- domain: message + id: in + +templates: + imports: import grgsm + make: grgsm.message_file_sink(${filename}) + +documentation: |- + This block stores incoming gsm messages to a file. + +file_format: 1 diff --git a/grc/misc_utils/gsm_message_file_sink.xml b/grc/misc_utils/gsm_message_file_sink.xml deleted file mode 100644 index 087747e..0000000 --- a/grc/misc_utils/gsm_message_file_sink.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - Message File Sink - gsm_message_file_sink - import grgsm - grgsm.message_file_sink($filename) - - - Destination file - filename - /tmp/output.msg - file_open - - - - in - message - - - -This block stores incoming gsm messages to a file. - - diff --git a/grc/misc_utils/gsm_message_file_source.block.yml b/grc/misc_utils/gsm_message_file_source.block.yml new file mode 100644 index 0000000..047ea28 --- /dev/null +++ b/grc/misc_utils/gsm_message_file_source.block.yml @@ -0,0 +1,23 @@ +# auto-generated by grc.converter + +id: gsm_message_file_source +label: Message File Source + +parameters: +- id: filename + label: Source file + dtype: file_open + default: /tmp/output.msg + +outputs: +- domain: message + id: out + +templates: + imports: import grgsm + make: grgsm.message_file_source(${filename}) + +documentation: |- + This block outputs gsm messages stored in a file. + +file_format: 1 diff --git a/grc/misc_utils/gsm_message_file_source.xml b/grc/misc_utils/gsm_message_file_source.xml deleted file mode 100644 index 7876c77..0000000 --- a/grc/misc_utils/gsm_message_file_source.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - Message File Source - gsm_message_file_source - import grgsm - grgsm.message_file_source($filename) - - - Source file - filename - /tmp/output.msg - file_open - - - - out - message - - - -This block outputs gsm messages stored in a file. - - diff --git a/grc/misc_utils/gsm_message_printer.block.yml b/grc/misc_utils/gsm_message_printer.block.yml new file mode 100644 index 0000000..beb9189 --- /dev/null +++ b/grc/misc_utils/gsm_message_printer.block.yml @@ -0,0 +1,39 @@ +# auto-generated by grc.converter + +id: gsm_message_printer +label: Message Printer + +parameters: +- id: prepend_string + label: Prepend String + dtype: string + hide: part +- id: prepend_fnr + label: Prepend Frame Number + dtype: bool + default: 'False' + options: ['False', 'True'] +- id: prepend_frame_count + label: Prepend Frame Count + dtype: bool + default: 'False' + options: ['False', 'True'] +- id: print_gsmtap_header + label: Print GSMTap header + dtype: bool + default: 'False' + options: ['False', 'True'] + +inputs: +- domain: message + id: msgs + +templates: + imports: |- + import grgsm + import pmt + make: |- + grgsm.message_printer(pmt.intern(${prepend_string}), ${prepend_fnr}, + ${prepend_frame_count}, ${print_gsmtap_header}) + +file_format: 1 diff --git a/grc/misc_utils/gsm_message_printer.xml b/grc/misc_utils/gsm_message_printer.xml deleted file mode 100644 index be50b78..0000000 --- a/grc/misc_utils/gsm_message_printer.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - Message Printer - gsm_message_printer - import grgsm - import pmt - grgsm.message_printer(pmt.intern($prepend_string), $prepend_fnr, - $prepend_frame_count, $print_gsmtap_header) - - - Prepend String - prepend_string - - string - part - - - Prepend Frame Number - prepend_fnr - False - bool - - - - - Prepend Frame Count - prepend_frame_count - False - bool - - - - - Print GSMTap header - print_gsmtap_header - False - bool - - - - - - msgs - message - - diff --git a/grc/misc_utils/gsm_msg_to_tag.block.yml b/grc/misc_utils/gsm_msg_to_tag.block.yml new file mode 100644 index 0000000..1fe894b --- /dev/null +++ b/grc/misc_utils/gsm_msg_to_tag.block.yml @@ -0,0 +1,21 @@ +# auto-generated by grc.converter + +id: gsm_msg_to_tag +label: Message To Tag + +inputs: +- domain: stream + dtype: complex +- domain: message + id: msg + optional: true + +outputs: +- domain: stream + dtype: complex + +templates: + imports: import grgsm + make: grgsm.msg_to_tag() + +file_format: 1 diff --git a/grc/misc_utils/gsm_msg_to_tag.xml b/grc/misc_utils/gsm_msg_to_tag.xml deleted file mode 100644 index c0d73c3..0000000 --- a/grc/misc_utils/gsm_msg_to_tag.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - Message To Tag - gsm_msg_to_tag - import grgsm - grgsm.msg_to_tag() - - - in - complex - - - - msg - message - 1 - - - - out - complex - - diff --git a/grc/misc_utils/gsm_tmsi_dumper.block.yml b/grc/misc_utils/gsm_tmsi_dumper.block.yml new file mode 100644 index 0000000..21670a2 --- /dev/null +++ b/grc/misc_utils/gsm_tmsi_dumper.block.yml @@ -0,0 +1,16 @@ +# auto-generated by grc.converter + +id: gsm_tmsi_dumper +label: TMSI Dumper + +inputs: +- domain: message + id: msgs + +templates: + imports: |- + import grgsm + import pmt + make: grgsm.tmsi_dumper() + +file_format: 1 diff --git a/grc/misc_utils/gsm_tmsi_dumper.xml b/grc/misc_utils/gsm_tmsi_dumper.xml deleted file mode 100644 index 807243b..0000000 --- a/grc/misc_utils/gsm_tmsi_dumper.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - TMSI Dumper - gsm_tmsi_dumper - import grgsm - import pmt - grgsm.tmsi_dumper() - - - msgs - message - - diff --git a/grc/qa_utils/CMakeLists.txt b/grc/qa_utils/CMakeLists.txt index 1f57aa1..2ed15a1 100644 --- a/grc/qa_utils/CMakeLists.txt +++ b/grc/qa_utils/CMakeLists.txt @@ -18,8 +18,9 @@ # Boston, MA 02110-1301, USA. install(FILES - gsm_burst_source.xml - gsm_burst_sink.xml - gsm_message_source.xml - gsm_message_sink.xml DESTINATION share/gnuradio/grc/blocks + gsm_burst_source.block.xml + gsm_burst_sink.block.xml + gsm_message_source.block.xml + gsm_message_sink.block.xml + DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/qa_utils/gsm_burst_sink.block.yml b/grc/qa_utils/gsm_burst_sink.block.yml new file mode 100644 index 0000000..fdcfa29 --- /dev/null +++ b/grc/qa_utils/gsm_burst_sink.block.yml @@ -0,0 +1,14 @@ +# auto-generated by grc.converter + +id: gsm_burst_sink +label: Burst Sink + +inputs: +- domain: message + id: in + +templates: + imports: import grgsm + make: grgsm.burst_sink() + +file_format: 1 diff --git a/grc/qa_utils/gsm_burst_sink.xml b/grc/qa_utils/gsm_burst_sink.xml deleted file mode 100644 index 1026993..0000000 --- a/grc/qa_utils/gsm_burst_sink.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - Burst Sink - gsm_burst_sink - import grgsm - grgsm.burst_sink() - - - in - message - - diff --git a/grc/qa_utils/gsm_burst_source.block.yml b/grc/qa_utils/gsm_burst_source.block.yml new file mode 100644 index 0000000..81e56f5 --- /dev/null +++ b/grc/qa_utils/gsm_burst_source.block.yml @@ -0,0 +1,30 @@ +# auto-generated by grc.converter + +id: gsm_burst_source +label: Burst Source + +parameters: +- id: framenumbers + label: Frame numbers + dtype: int_vector + default: '[]' + hide: part +- id: timeslots + label: Timeslots + dtype: int_vector + default: '[]' + hide: part +- id: bursts + label: Bursts + dtype: raw + default: '[[],]' + +outputs: +- domain: message + id: out + +templates: + imports: import grgsm + make: grgsm.burst_source(${framenumbers}, ${timeslots}, ${bursts}) + +file_format: 1 diff --git a/grc/qa_utils/gsm_burst_source.xml b/grc/qa_utils/gsm_burst_source.xml deleted file mode 100644 index d3da677..0000000 --- a/grc/qa_utils/gsm_burst_source.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - Burst Source - gsm_burst_source - import grgsm - grgsm.burst_source($framenumbers, $timeslots, $bursts) - - - Frame numbers - framenumbers - [] - int_vector - part - - - - Timeslots - timeslots - [] - int_vector - part - - - - Bursts - bursts - [[],] - raw - - - - out - message - - diff --git a/grc/qa_utils/gsm_message_sink.block.yml b/grc/qa_utils/gsm_message_sink.block.yml new file mode 100644 index 0000000..bde7f52 --- /dev/null +++ b/grc/qa_utils/gsm_message_sink.block.yml @@ -0,0 +1,19 @@ +# auto-generated by grc.converter + +id: gsm_message_sink +label: Message Sink + +inputs: +- domain: message + id: in + +templates: + imports: import grgsm + make: grgsm.message_sink() + +documentation: |- + This block is a message sink for testing purposes. + + The data can be retrieved using function get_messages() + +file_format: 1 diff --git a/grc/qa_utils/gsm_message_sink.xml b/grc/qa_utils/gsm_message_sink.xml deleted file mode 100644 index e0d6ac0..0000000 --- a/grc/qa_utils/gsm_message_sink.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - Message Sink - gsm_message_sink - import grgsm - grgsm.message_sink() - - - in - message - - - -This block is a message sink for testing purposes. - -The data can be retrieved using function get_messages() - - - diff --git a/grc/qa_utils/gsm_message_source.block.yml b/grc/qa_utils/gsm_message_source.block.yml new file mode 100644 index 0000000..abb1800 --- /dev/null +++ b/grc/qa_utils/gsm_message_source.block.yml @@ -0,0 +1,39 @@ +# auto-generated by grc.converter + +id: gsm_message_source +label: Message Source + +parameters: +- id: messages + label: Messages + dtype: raw + default: '["02 04 01 00 00 00 c9 00 00 1d 3c e5 02 00 01 00 15 06 21 00 01 f0 + 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b", + + "02 04 01 00 00 00 ca 00 00 1d 3c e9 02 00 02 00 15 06 21 00 01 f0 2b 2b 2b + 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b", + + "02 04 01 00 00 00 cb 00 00 1d 3d 0e 01 00 00 00 59 06 1a 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 00 00 ff e5 04 00", + + "02 04 01 00 00 00 cb 00 00 1d 3d 12 02 00 00 00 15 06 21 00 01 f0 2b 2b 2b + 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b"]' + hide: 'true' + +outputs: +- domain: message + id: msgs + +templates: + imports: import grgsm + make: grgsm.message_source(${messages}) + +documentation: |- + This block is a basic message source for testing purposes. + + It takes a list of strings as input, where each string + is a whitespace-separated list of hexadecimal values representing the data bytes of a message including the gsmtap header. + + Such strings can be obtained using the message printer with option "Print GSMTap header" + +file_format: 1 diff --git a/grc/qa_utils/gsm_message_source.xml b/grc/qa_utils/gsm_message_source.xml deleted file mode 100644 index ab06f65..0000000 --- a/grc/qa_utils/gsm_message_source.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - Message Source - gsm_message_source - import grgsm - grgsm.message_source($messages) - - - Messages - messages - ["02 04 01 00 00 00 c9 00 00 1d 3c e5 02 00 01 00 15 06 21 00 01 f0 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b", -"02 04 01 00 00 00 ca 00 00 1d 3c e9 02 00 02 00 15 06 21 00 01 f0 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b", -"02 04 01 00 00 00 cb 00 00 1d 3d 0e 01 00 00 00 59 06 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff e5 04 00", -"02 04 01 00 00 00 cb 00 00 1d 3d 12 02 00 00 00 15 06 21 00 01 f0 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b"] - raw - true - - - - msgs - message - - - -This block is a basic message source for testing purposes. - -It takes a list of strings as input, where each string -is a whitespace-separated list of hexadecimal values representing the data bytes of a message including the gsmtap header. - -Such strings can be obtained using the message printer with option "Print GSMTap header" - - diff --git a/grc/receiver/CMakeLists.txt b/grc/receiver/CMakeLists.txt index 7b51226..3db5983 100644 --- a/grc/receiver/CMakeLists.txt +++ b/grc/receiver/CMakeLists.txt @@ -18,12 +18,13 @@ # Boston, MA 02110-1301, USA. install(FILES - gsm_input.xml - gsm_receiver.xml - gsm_receiver_with_uplink.xml - gsm_fcch_burst_tagger.xml - gsm_sch_detector.xml - gsm_fcch_detector.xml - gsm_cx_channel_hopper.xml - gsm_clock_offset_control.xml DESTINATION share/gnuradio/grc/blocks + gsm_input.block.yml + gsm_receiver.block.yml + gsm_receiver_with_uplink.block.yml + gsm_fcch_burst_tagger.block.yml + gsm_sch_detector.block.yml + gsm_fcch_detector.block.yml + gsm_cx_channel_hopper.block.yml + gsm_clock_offset_control.block.yml + DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/receiver/gsm_clock_offset_control.block.yml b/grc/receiver/gsm_clock_offset_control.block.yml new file mode 100644 index 0000000..abb52bc --- /dev/null +++ b/grc/receiver/gsm_clock_offset_control.block.yml @@ -0,0 +1,35 @@ +# auto-generated by grc.converter + +id: gsm_clock_offset_control +label: GSM Clock Offset Control + +parameters: +- id: fc + label: fc + dtype: float + default: fc +- id: osr + label: OSR + dtype: int + default: osr +- id: samp_rate + label: samp_rate + dtype: float + default: samp_rate + +inputs: +- domain: message + id: measurements + +outputs: +- domain: message + id: ctrl + optional: true + +templates: + imports: import grgsm + make: grgsm.clock_offset_control(${fc}, ${samp_rate}, ${osr}) + callbacks: + - set_fc(${fc}) + +file_format: 1 diff --git a/grc/receiver/gsm_clock_offset_control.xml b/grc/receiver/gsm_clock_offset_control.xml deleted file mode 100644 index c5a932a..0000000 --- a/grc/receiver/gsm_clock_offset_control.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - GSM Clock Offset Control - gsm_clock_offset_control - import grgsm - grgsm.clock_offset_control($fc, $samp_rate, $osr) - set_fc($fc) - - fc - fc - fc - float - - - OSR - osr - osr - int - - - - samp_rate - samp_rate - samp_rate - float - - - - measurements - message - - - - ctrl - message - 1 - - diff --git a/grc/receiver/gsm_cx_channel_hopper.block.yml b/grc/receiver/gsm_cx_channel_hopper.block.yml new file mode 100644 index 0000000..edee1fb --- /dev/null +++ b/grc/receiver/gsm_cx_channel_hopper.block.yml @@ -0,0 +1,30 @@ +# auto-generated by grc.converter + +id: gsm_cx_channel_hopper +label: CX Channel Hopper + +parameters: +- id: ma + label: MA + dtype: int_vector + default: '[]' +- id: maio + label: MAIO + dtype: int +- id: hsn + label: HSN + dtype: int + +inputs: +- domain: message + id: CX + +outputs: +- domain: message + id: bursts + +templates: + imports: import grgsm + make: grgsm.cx_channel_hopper(${ma}, ${maio}, ${hsn}) + +file_format: 1 diff --git a/grc/receiver/gsm_cx_channel_hopper.xml b/grc/receiver/gsm_cx_channel_hopper.xml deleted file mode 100644 index 9ff07dc..0000000 --- a/grc/receiver/gsm_cx_channel_hopper.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - CX Channel Hopper - gsm_cx_channel_hopper - import grgsm - grgsm.cx_channel_hopper($ma, $maio, $hsn) - - MA - ma - [] - int_vector - - - - MAIO - maio - int - - - - HSN - hsn - int - - - - CX - message - - - - bursts - message - - diff --git a/grc/receiver/gsm_fcch_burst_tagger.block.yml b/grc/receiver/gsm_fcch_burst_tagger.block.yml new file mode 100644 index 0000000..c5d1de8 --- /dev/null +++ b/grc/receiver/gsm_fcch_burst_tagger.block.yml @@ -0,0 +1,26 @@ +# auto-generated by grc.converter + +id: gsm_fcch_burst_tagger +label: FCCH Burst Tagger + +parameters: +- id: OSR + label: OSR + dtype: int + +inputs: +- domain: stream + dtype: complex +- label: threshold + domain: stream + dtype: float + +outputs: +- domain: stream + dtype: complex + +templates: + imports: import grgsm + make: grgsm.fcch_burst_tagger(${OSR}) + +file_format: 1 diff --git a/grc/receiver/gsm_fcch_burst_tagger.xml b/grc/receiver/gsm_fcch_burst_tagger.xml deleted file mode 100644 index a0cb977..0000000 --- a/grc/receiver/gsm_fcch_burst_tagger.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - FCCH Burst Tagger - gsm_fcch_burst_tagger - import grgsm - grgsm.fcch_burst_tagger($OSR) - - OSR - OSR - int - - - - in - complex - - - - threshold - float - - - - out - complex - - diff --git a/grc/receiver/gsm_fcch_detector.block.yml b/grc/receiver/gsm_fcch_detector.block.yml new file mode 100644 index 0000000..70a8fa5 --- /dev/null +++ b/grc/receiver/gsm_fcch_detector.block.yml @@ -0,0 +1,32 @@ +# auto-generated by grc.converter + +id: gsm_fcch_detector +label: FCCH Bursts Detector + +parameters: +- id: OSR + label: OverSamplingRatio + dtype: int + default: '4' + +inputs: +- domain: stream + dtype: complex + vlen: 1 + +outputs: +- domain: stream + dtype: complex + vlen: 1 + +templates: + imports: import grgsm + make: grgsm.fcch_detector(${OSR}) + callbacks: + - set_OSR(${OSR}) + +documentation: |- + Piotr Krysik + Detects positions of FCCH bursts. At the end of each detected FCCH burst adds to the stream a tag with key "fcch" and value which is a frequency offset estimate. The input sampling frequency should be integer multiply of GSM GMKS symbol rate - 1625000/6 Hz. + +file_format: 1 diff --git a/grc/receiver/gsm_fcch_detector.xml b/grc/receiver/gsm_fcch_detector.xml deleted file mode 100644 index f8f8997..0000000 --- a/grc/receiver/gsm_fcch_detector.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - FCCH Bursts Detector - gsm_fcch_detector - import grgsm - grgsm.fcch_detector($OSR) -set_OSR($OSR) - - OverSamplingRatio - OSR - 4 - int - - - in - complex - 1 - - - out - complex - 1 - - Piotr Krysik -Detects positions of FCCH bursts. At the end of each detected FCCH burst adds to the stream a tag with key "fcch" and value which is a frequency offset estimate. The input sampling frequency should be integer multiply of GSM GMKS symbol rate - 1625000/6 Hz. - /home/piotr/Odbiornik_gsm/gr-gsm/examples/gsm_fcch_detector.grc - diff --git a/grc/receiver/gsm_input.block.yml b/grc/receiver/gsm_input.block.yml new file mode 100644 index 0000000..5489b00 --- /dev/null +++ b/grc/receiver/gsm_input.block.yml @@ -0,0 +1,60 @@ +# auto-generated by grc.converter + +id: gsm_input +label: GSM Input Adaptor + +parameters: +- id: ppm + label: ppm + dtype: float + default: ppm + hide: part +- id: osr + label: OSR + dtype: int + default: osr + hide: part +- id: fc + label: fc + dtype: float + default: fc + hide: part +- id: samp_rate_in + label: samp_rate_in + dtype: float + default: samp_rate_in + hide: part + +inputs: +- domain: stream + dtype: complex + vlen: 1 +- domain: message + id: ctrl_in + optional: true + +outputs: +- domain: stream + dtype: complex + vlen: 1 + +templates: + imports: import grgsm + make: |- + grgsm.gsm_input( + ppm=${ppm}, + osr=${osr}, + fc=${fc}, + samp_rate_in=${samp_rate_in}, + ) + callbacks: + - set_ppm(${ppm}) + - set_osr(${osr}) + - set_fc(${fc}) + - set_samp_rate_in(${samp_rate_in}) + +documentation: |- + Piotr Krysik + Adaptor of input stream for the GSM receiver. Contains frequency offset corrector and resampler to correct carrier frequency and sampling frequency offsets. At the end it has LP filter for filtering of a GSM channel. + +file_format: 1 diff --git a/grc/receiver/gsm_input.xml b/grc/receiver/gsm_input.xml deleted file mode 100644 index 52445da..0000000 --- a/grc/receiver/gsm_input.xml +++ /dev/null @@ -1,61 +0,0 @@ - - GSM Input Adaptor - gsm_input - - import grgsm - grgsm.gsm_input( - ppm=$ppm, - osr=$osr, - fc=$fc, - samp_rate_in=$samp_rate_in, -) - set_ppm($ppm) - set_osr($osr) - set_fc($fc) - set_samp_rate_in($samp_rate_in) - - ppm - ppm - ppm - float - part - - - OSR - osr - osr - int - part - - - fc - fc - fc - float - part - - - samp_rate_in - samp_rate_in - samp_rate_in - float - part - - - in - complex - 1 - - - ctrl_in - message - True - - - out - complex - 1 - - Piotr Krysik -Adaptor of input stream for the GSM receiver. Contains frequency offset corrector and resampler to correct carrier frequency and sampling frequency offsets. At the end it has LP filter for filtering of a GSM channel. - diff --git a/grc/receiver/gsm_receiver.block.yml b/grc/receiver/gsm_receiver.block.yml new file mode 100644 index 0000000..9897bec --- /dev/null +++ b/grc/receiver/gsm_receiver.block.yml @@ -0,0 +1,49 @@ +# auto-generated by grc.converter + +id: gsm_receiver +label: GSM Receiver + +parameters: +- id: osr + label: Oversampling ratio + dtype: int + default: '4' +- id: cell_allocation + label: Cell allocation + dtype: float_vector + default: '[0]' + hide: part +- id: tseq_nums + label: TSEQ numbers + dtype: int_vector + default: '[]' + hide: part +- id: num_streams + label: Num Streams + dtype: int + default: '1' + hide: part + +inputs: +- domain: stream + dtype: complex + multiplicity: ${ num_streams } + +outputs: +- domain: message + id: C0 + optional: true +- domain: message + id: CX + optional: true +- domain: message + id: measurements + optional: true +asserts: +- ${ num_streams >= 0 } + +templates: + imports: import grgsm + make: grgsm.receiver(${osr}, ${cell_allocation}, ${tseq_nums}, False) + +file_format: 1 diff --git a/grc/receiver/gsm_receiver.xml b/grc/receiver/gsm_receiver.xml deleted file mode 100644 index 2988243..0000000 --- a/grc/receiver/gsm_receiver.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - GSM Receiver - gsm_receiver - import grgsm - grgsm.receiver($osr, $cell_allocation, $tseq_nums, False) - - - Oversampling ratio - osr - 4 - int - - - - Cell allocation - cell_allocation - [0] - float_vector - part - - - - TSEQ numbers - tseq_nums - [] - int_vector - part - - - - Num Streams - num_streams - 1 - int - part - - $num_streams >= 0 - - - in - complex - $num_streams - - - - C0 - message - 1 - - - - CX - message - 1 - - - - measurements - message - 1 - - diff --git a/grc/receiver/gsm_receiver_with_uplink.block.yml b/grc/receiver/gsm_receiver_with_uplink.block.yml new file mode 100644 index 0000000..d0b6302 --- /dev/null +++ b/grc/receiver/gsm_receiver_with_uplink.block.yml @@ -0,0 +1,54 @@ +# auto-generated by grc.converter + +id: gsm_receiver_with_uplink +label: GSM Receiver (with uplink) + +parameters: +- id: osr + label: Oversampling ratio + dtype: int + default: '4' +- id: cell_allocation + label: Cell allocation + dtype: float_vector + default: '[0]' + hide: part +- id: tseq_nums + label: TSEQ numbers + dtype: int_vector + default: '[]' + hide: part +- id: num_streams + label: Num Streams + dtype: int + default: '1' + hide: part + +inputs: +- label: C + domain: stream + dtype: complex + multiplicity: ${ num_streams } +- label: C_up + domain: stream + dtype: complex + multiplicity: ${ num_streams } + +outputs: +- domain: message + id: C0 + optional: true +- domain: message + id: CX + optional: true +- domain: message + id: measurements + optional: true +asserts: +- ${ num_streams >= 0 } + +templates: + imports: import grgsm + make: grgsm.receiver(${osr}, ${cell_allocation}, ${tseq_nums}, True) + +file_format: 1 diff --git a/grc/receiver/gsm_receiver_with_uplink.xml b/grc/receiver/gsm_receiver_with_uplink.xml deleted file mode 100644 index 4b68336..0000000 --- a/grc/receiver/gsm_receiver_with_uplink.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - GSM Receiver (with uplink) - gsm_receiver_with_uplink - import grgsm - grgsm.receiver($osr, $cell_allocation, $tseq_nums, True) - - - Oversampling ratio - osr - 4 - int - - - - Cell allocation - cell_allocation - [0] - float_vector - part - - - - TSEQ numbers - tseq_nums - [] - int_vector - part - - - - Num Streams - num_streams - 1 - int - part - - - $num_streams >= 0 - - - C - complex - $num_streams - - - - - C_up - complex - $num_streams - - - - C0 - message - 1 - - - - CX - message - 1 - - - - measurements - message - 1 - - diff --git a/grc/receiver/gsm_sch_detector.block.yml b/grc/receiver/gsm_sch_detector.block.yml new file mode 100644 index 0000000..33d4543 --- /dev/null +++ b/grc/receiver/gsm_sch_detector.block.yml @@ -0,0 +1,26 @@ +# auto-generated by grc.converter + +id: gsm_sch_detector +label: SCH Bursts Detector + +parameters: +- id: OSR + label: OSR + dtype: int + default: '4' + +inputs: +- domain: stream + dtype: complex + +outputs: +- domain: stream + dtype: complex + +templates: + imports: import grgsm + make: grgsm.sch_detector(${OSR}) + callbacks: + - set_OSR(${OSR}) + +file_format: 1 diff --git a/grc/receiver/gsm_sch_detector.xml b/grc/receiver/gsm_sch_detector.xml deleted file mode 100644 index b3adb56..0000000 --- a/grc/receiver/gsm_sch_detector.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - SCH Bursts Detector - gsm_sch_detector - import grgsm - grgsm.sch_detector($OSR) - set_OSR($OSR) - - OSR - OSR - 4 - int - - - - in - complex - - - - out - complex - - diff --git a/grc/transmitter/CMakeLists.txt b/grc/transmitter/CMakeLists.txt index 4df2abb..d66ea32 100644 --- a/grc/transmitter/CMakeLists.txt +++ b/grc/transmitter/CMakeLists.txt @@ -18,10 +18,10 @@ # Boston, MA 02110-1301, USA. install(FILES - gsm_gmsk_mod.xml - gsm_txtime_bursts_tagger.xml - gsm_txtime_setter.xml - gsm_preprocess_tx_burst.xml - gsm_gen_test_ab.xml + gsm_gmsk_mod.block.yml + gsm_txtime_bursts_tagger.block.yml + gsm_txtime_setter.block.yml + gsm_preprocess_tx_burst.block.yml + gsm_gen_test_ab.block.yml DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/transmitter/gsm_gen_test_ab.block.yml b/grc/transmitter/gsm_gen_test_ab.block.yml new file mode 100644 index 0000000..ec57b8e --- /dev/null +++ b/grc/transmitter/gsm_gen_test_ab.block.yml @@ -0,0 +1,20 @@ +# auto-generated by grc.converter + +id: gsm_gen_test_ab +label: Gen Test AB + +inputs: +- domain: message + id: bursts_in + optional: true + +outputs: +- domain: message + id: bursts_out + optional: true + +templates: + imports: import grgsm + make: grgsm.gen_test_ab() + +file_format: 1 diff --git a/grc/transmitter/gsm_gen_test_ab.xml b/grc/transmitter/gsm_gen_test_ab.xml deleted file mode 100644 index 3cb8b11..0000000 --- a/grc/transmitter/gsm_gen_test_ab.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - Gen Test AB - gsm_gen_test_ab - import grgsm - grgsm.gen_test_ab() - - - bursts_in - message - 1 - - - - bursts_out - message - 1 - - diff --git a/grc/transmitter/gsm_gmsk_mod.block.yml b/grc/transmitter/gsm_gmsk_mod.block.yml new file mode 100644 index 0000000..e45e303 --- /dev/null +++ b/grc/transmitter/gsm_gmsk_mod.block.yml @@ -0,0 +1,49 @@ +# auto-generated by grc.converter + +id: gsm_gmsk_mod +label: GMSK Modulator for GSM + +parameters: +- id: BT + label: 3 dB Time-Bandwidth Product + dtype: raw + default: '4' +- id: pulse_duration + label: Pulse Duration + dtype: raw + default: '4' +- id: sps + label: Samples/Symbol + dtype: raw + default: '4' + +inputs: +- domain: stream + dtype: byte + vlen: 1 + optional: true + +outputs: +- domain: stream + dtype: complex + vlen: 1 + optional: true + +templates: + imports: from grgsm import gsm_gmsk_mod + make: |- + gsm_gmsk_mod( + BT=${BT}, + pulse_duration=${pulse_duration}, + sps=${sps}, + ) + callbacks: + - set_BT(${BT}) + - set_pulse_duration(${pulse_duration}) + - set_sps(${sps}) + +documentation: |- + Piotr Krysik + GMSK Modulator for GSM + +file_format: 1 diff --git a/grc/transmitter/gsm_gmsk_mod.xml b/grc/transmitter/gsm_gmsk_mod.xml deleted file mode 100644 index 4aad01b..0000000 --- a/grc/transmitter/gsm_gmsk_mod.xml +++ /dev/null @@ -1,47 +0,0 @@ - - GMSK Modulator for GSM - gsm_gmsk_mod - from grgsm import gsm_gmsk_mod - gsm_gmsk_mod( - BT=$BT, - pulse_duration=$pulse_duration, - sps=$sps, -) - set_BT($BT) - set_pulse_duration($pulse_duration) - set_sps($sps) - - 3 dB Time-Bandwidth Product - BT - 4 - raw - - - Pulse Duration - pulse_duration - 4 - raw - - - Samples/Symbol - sps - 4 - raw - - - in - byte - 1 - 1 - - - out - complex - 1 - 1 - - Piotr Krysik -GMSK Modulator for GSM - - gr-gsm/hier_blocks/transmitter/gsm_gmsk_mod.grc - diff --git a/grc/transmitter/gsm_preprocess_tx_burst.block.yml b/grc/transmitter/gsm_preprocess_tx_burst.block.yml new file mode 100644 index 0000000..09cc030 --- /dev/null +++ b/grc/transmitter/gsm_preprocess_tx_burst.block.yml @@ -0,0 +1,20 @@ +# auto-generated by grc.converter + +id: gsm_preprocess_tx_burst +label: Preprocess Tx burst + +inputs: +- domain: message + id: bursts_in + optional: true + +outputs: +- domain: message + id: bursts_out + optional: true + +templates: + imports: import grgsm + make: grgsm.preprocess_tx_burst() + +file_format: 1 diff --git a/grc/transmitter/gsm_preprocess_tx_burst.xml b/grc/transmitter/gsm_preprocess_tx_burst.xml deleted file mode 100644 index 70b447e..0000000 --- a/grc/transmitter/gsm_preprocess_tx_burst.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - Preprocess Tx burst - gsm_preprocess_tx_burst - import grgsm - grgsm.preprocess_tx_burst() - - - bursts_in - message - 1 - - - - bursts_out - message - 1 - - diff --git a/grc/transmitter/gsm_txtime_bursts_tagger.block.yml b/grc/transmitter/gsm_txtime_bursts_tagger.block.yml new file mode 100644 index 0000000..323d084 --- /dev/null +++ b/grc/transmitter/gsm_txtime_bursts_tagger.block.yml @@ -0,0 +1,56 @@ +# auto-generated by grc.converter + +id: gsm_txtime_bursts_tagger +label: txtime_bursts_tagger + +parameters: +- id: init_fn + label: init_fn + dtype: raw + default: None + hide: part +- id: init_time + label: init_time + dtype: float + default: '0' + hide: part +- id: time_hint + label: time_hint + dtype: float + default: '0' + hide: part +- id: timing_advance + label: timing_advance + dtype: float + default: '0' + hide: part +- id: delay_correction + label: delay_correction + dtype: float + default: '0' + hide: part + +inputs: +- domain: message + id: fn_time + optional: true +- domain: message + id: bursts + optional: true + +outputs: +- domain: message + id: bursts + optional: true + +templates: + imports: import grgsm + make: grgsm.txtime_bursts_tagger(${init_fn}, ${init_time}, ${time_hint}, ${timing_advance}, + ${delay_correction}) + callbacks: + - set_fn_time_reference(${init_fn}, ${init_time}) + - set_time_hint(${time_hint}) + - set_timing_advance(${timing_advance}) + - set_delay_correction(${delay_correction}) + +file_format: 1 diff --git a/grc/transmitter/gsm_txtime_bursts_tagger.xml b/grc/transmitter/gsm_txtime_bursts_tagger.xml deleted file mode 100644 index 4e42886..0000000 --- a/grc/transmitter/gsm_txtime_bursts_tagger.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - txtime_bursts_tagger - gsm_txtime_bursts_tagger - import grgsm - grgsm.txtime_bursts_tagger($init_fn, $init_time, $time_hint, $timing_advance, $delay_correction) - set_fn_time_reference($init_fn, $init_time) - set_time_hint($time_hint) - set_timing_advance($timing_advance) - set_delay_correction($delay_correction) - - - init_fn - init_fn - None - raw - part - - - - init_time - init_time - 0 - float - part - - - - time_hint - time_hint - 0 - float - part - - - - timing_advance - timing_advance - 0 - float - part - - - - delay_correction - delay_correction - 0 - float - part - - - - fn_time - message - 1 - - - - bursts - message - 1 - - - - bursts - message - 1 - - diff --git a/grc/transmitter/gsm_txtime_setter.block.yml b/grc/transmitter/gsm_txtime_setter.block.yml new file mode 100644 index 0000000..76a3f37 --- /dev/null +++ b/grc/transmitter/gsm_txtime_setter.block.yml @@ -0,0 +1,67 @@ +# auto-generated by grc.converter + +id: gsm_txtime_setter +label: txtime_setter + +parameters: +- id: init_fn + label: init_fn + dtype: raw + default: None + hide: part +- id: init_time_secs + label: init_time_secs + dtype: int + default: '0' + hide: part +- id: init_time_fracs + label: init_time_fracs + dtype: float + default: '0' + hide: part +- id: time_hint_secs + label: time_hint_secs + dtype: int + default: '0' + hide: part +- id: time_hint_fracs + label: time_hint_fracs + dtype: float + default: '0' + hide: part +- id: timing_advance + label: timing_advance + dtype: float + default: '0' + hide: part +- id: delay_correction + label: delay_correction + dtype: float + default: '0' + hide: part + +inputs: +- domain: message + id: fn_time + optional: true +- domain: message + id: bursts_in + optional: true + +outputs: +- domain: message + id: bursts_out + optional: true + +templates: + imports: import grgsm + make: grgsm.txtime_setter(${init_fn} if (${init_fn} is not None) else 0xffffffff, + ${init_time_secs}, ${init_time_fracs}, ${time_hint_secs}, ${time_hint_fracs}, + ${timing_advance}, ${delay_correction}) + callbacks: + - set_fn_time_reference(${init_fn}, ${init_time_secs}, ${init_time_fracs}) + - set_time_hint(${time_hint_secs}, ${time_hint_secs}) + - set_timing_advance(${timing_advance}) + - set_delay_correction(${delay_correction}) + +file_format: 1 diff --git a/grc/transmitter/gsm_txtime_setter.xml b/grc/transmitter/gsm_txtime_setter.xml deleted file mode 100644 index 648f4d9..0000000 --- a/grc/transmitter/gsm_txtime_setter.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - txtime_setter - gsm_txtime_setter - import grgsm - grgsm.txtime_setter($init_fn if ($init_fn is not None) else 0xffffffff, $init_time_secs, $init_time_fracs, $time_hint_secs, $time_hint_fracs, $timing_advance, $delay_correction) - - set_fn_time_reference($init_fn, $init_time_secs, $init_time_fracs) - set_time_hint($time_hint_secs, $time_hint_secs) - set_timing_advance($timing_advance) - set_delay_correction($delay_correction) - - - init_fn - init_fn - None - raw - part - - - - init_time_secs - init_time_secs - 0 - int - part - - - init_time_fracs - init_time_fracs - 0 - float - part - - - - time_hint_secs - time_hint_secs - 0 - int - part - - - time_hint_fracs - time_hint_fracs - 0 - float - part - - - - timing_advance - timing_advance - 0 - float - part - - - - delay_correction - delay_correction - 0 - float - part - - - - fn_time - message - 1 - - - - bursts_in - message - 1 - - - - bursts_out - message - 1 - - diff --git a/grc/trx/CMakeLists.txt b/grc/trx/CMakeLists.txt index ac4ae13..e448cdd 100644 --- a/grc/trx/CMakeLists.txt +++ b/grc/trx/CMakeLists.txt @@ -18,6 +18,6 @@ # Boston, MA 02110-1301, USA. install(FILES - gsm_trx_burst_if.xml + gsm_trx_burst_if.block.yml DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/trx/gsm_trx_burst_if.block.yml b/grc/trx/gsm_trx_burst_if.block.yml new file mode 100644 index 0000000..3f08e0c --- /dev/null +++ b/grc/trx/gsm_trx_burst_if.block.yml @@ -0,0 +1,58 @@ +# auto-generated by grc.converter + +id: gsm_trx_burst_if +label: TRX Burst Interface + +parameters: +- id: base_port + label: base_port + dtype: string + default: '5700' +- id: bind_addr + label: bind_addr + dtype: string + default: 0.0.0.0 +- id: remote_addr + label: remote_addr + dtype: string + default: 127.0.0.1 + +inputs: +- domain: message + id: bursts + optional: true + +outputs: +- domain: message + id: bursts + optional: true + +templates: + imports: import grgsm + make: grgsm.trx_burst_if(${bind_addr}, ${remote_addr}, ${base_port}) + +documentation: |- + OsmoTRX like UDP burst interface for external applications. + + There are two UDP connections, where each message carries + one radio burst with header. Give a base port B (5700 by default). + One connection at port P=B+100+2 is used for sending received bursts + to an external application. Another one at port P=B+2 is used to + obtain to be transmitted bursts. + + Received burst format: + 1 byte timeslot index + 4 bytes GSM frame number, big endian + 1 byte RSSI in -dBm + 2 bytes correlator timing offset in 1/256 symbol steps, + 2's-comp, big endian + 148 bytes soft symbol estimates, 0 -> definite "0", + 255 -> definite "1" + + To be transmitted burst format: + 1 byte timeslot index + 4 bytes GSM frame number, big endian + 1 byte transmit level wrt ARFCN max, -dB (attenuation) + 148 bytes output symbol values, 0 & 1 + +file_format: 1 diff --git a/grc/trx/gsm_trx_burst_if.xml b/grc/trx/gsm_trx_burst_if.xml deleted file mode 100644 index 49979a3..0000000 --- a/grc/trx/gsm_trx_burst_if.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - TRX Burst Interface - gsm_trx_burst_if - import grgsm - grgsm.trx_burst_if($bind_addr, $remote_addr, $base_port) - - - base_port - base_port - 5700 - string - - - - bind_addr - bind_addr - 0.0.0.0 - string - - - - remote_addr - remote_addr - 127.0.0.1 - string - - - - bursts - message - 1 - - - - bursts - message - 1 - - - - OsmoTRX like UDP burst interface for external applications. - - There are two UDP connections, where each message carries - one radio burst with header. Give a base port B (5700 by default). - One connection at port P=B+100+2 is used for sending received bursts - to an external application. Another one at port P=B+2 is used to - obtain to be transmitted bursts. - - Received burst format: - 1 byte timeslot index - 4 bytes GSM frame number, big endian - 1 byte RSSI in -dBm - 2 bytes correlator timing offset in 1/256 symbol steps, - 2's-comp, big endian - 148 bytes soft symbol estimates, 0 -> definite "0", - 255 -> definite "1" - - To be transmitted burst format: - 1 byte timeslot index - 4 bytes GSM frame number, big endian - 1 byte transmit level wrt ARFCN max, -dB (attenuation) - 148 bytes output symbol values, 0 & 1 - - -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24061 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iee5c611a2e100bd2fdf487611a867dc937d8c292 Gerrit-Change-Number: 24061 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:38 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:38 +0000 Subject: Change in gr-gsm[master]: travis: Test only on distributions with gnuradio 3.8 In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24062 ) Change subject: travis: Test only on distributions with gnuradio 3.8 ...................................................................... travis: Test only on distributions with gnuradio 3.8 Change-Id: I05706496687bff2dc4e9a111d8ecd4f878b53c12 --- M .travis.yml M tests/dockerfiles/Debian_testing.docker M tests/dockerfiles/Kali.docker 3 files changed, 5 insertions(+), 7 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/.travis.yml b/.travis.yml index f61ff6e..5230b46 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,10 +4,10 @@ env: - DOCKERFILE=tests/dockerfiles/Debian_testing.docker IMGNAME=debtest-grgsm - - DOCKERFILE=tests/dockerfiles/Ubuntu_16_04.docker IMGNAME=ubu16.04-grgsm - - DOCKERFILE=tests/dockerfiles/Ubuntu_16_04_nolibosmo.docker IMGNAME=ubu16.04-grgsm-nolibosmo +# - DOCKERFILE=tests/dockerfiles/Ubuntu_16_04.docker IMGNAME=ubu16.04-grgsm +# - DOCKERFILE=tests/dockerfiles/Ubuntu_16_04_nolibosmo.docker IMGNAME=ubu16.04-grgsm-nolibosmo - DOCKERFILE=tests/dockerfiles/Kali.docker IMGNAME=kali-grgsm - - DOCKERFILE=tests/dockerfiles/Fedora_26.Dockerfile IMGNAME=fedora26-grgsm +# - DOCKERFILE=tests/dockerfiles/Fedora_26.Dockerfile IMGNAME=fedora26-grgsm services: diff --git a/tests/dockerfiles/Debian_testing.docker b/tests/dockerfiles/Debian_testing.docker index a3d16ba..6cc4949 100644 --- a/tests/dockerfiles/Debian_testing.docker +++ b/tests/dockerfiles/Debian_testing.docker @@ -14,8 +14,7 @@ liblog4cpp5-dev \ python-gtk2 \ python-scipy \ - gnuradio-dev \ - gr-osmosdr \ + gnuradio-dev gnuradio libgmp-dev libboost-regex-dev \ libosmocore-dev COPY ./ /src/ diff --git a/tests/dockerfiles/Kali.docker b/tests/dockerfiles/Kali.docker index 52cc110..b4a9719 100644 --- a/tests/dockerfiles/Kali.docker +++ b/tests/dockerfiles/Kali.docker @@ -14,8 +14,7 @@ liblog4cpp5-dev \ python-gtk2 \ python-scipy \ - gnuradio-dev \ - gr-osmosdr \ + gnuradio-dev gnuradio libgmp-dev libboost-regex-dev \ libosmocore-dev COPY ./ /src/ -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24062 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I05706496687bff2dc4e9a111d8ecd4f878b53c12 Gerrit-Change-Number: 24062 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:38 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:38 +0000 Subject: Change in gr-gsm[master]: Various python3 related changes In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24063 ) Change subject: Various python3 related changes ...................................................................... Various python3 related changes - Use relative import for grgsm's modules - Convert map to list - Remove the hier_block.py workaround as as gnuradio 3.7 is no longer supported in this branch Change-Id: I5ca8fd340823996e8c444aaf18ddacd85c92ab1c --- M apps/grgsm_decode M apps/grgsm_scanner M python/__init__.py M python/demapping/gsm_bcch_ccch_demapper.py M python/demapping/gsm_bcch_ccch_sdcch4_demapper.py M python/demapping/gsm_sdcch8_demapper.py M python/misc_utils/CMakeLists.txt M python/misc_utils/clock_offset_corrector_tagged.py M python/misc_utils/device.py D python/misc_utils/hier_block.py M python/qa_txtime_bursts_tagger.py M python/receiver/fcch_detector.py M python/receiver/gsm_input.py M python/transmitter/gsm_gmsk_mod.py M python/transmitter/txtime_bursts_tagger.py M python/trx/__init__.py M python/trx/ctrl_if.py M python/trx/ctrl_if_bb.py M python/trx/radio_if.py M python/trx/radio_if_uhd.py M python/trx/transceiver.py 21 files changed, 53 insertions(+), 92 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/apps/grgsm_decode b/apps/grgsm_decode index 4bd1d95..034014e 100755 --- a/apps/grgsm_decode +++ b/apps/grgsm_decode @@ -336,7 +336,7 @@ parser, 'TCH Options', 'Options for setting Traffic channel decoding parameters.', ) tch_options.add_option("-d", "--speech-codec", dest="speech_codec", default='FR', - type='choice', choices=tch_codecs.keys(), + type='choice', choices=list(tch_codecs.keys()), help="TCH-F speech codec [default=%default]. " "Valid options are " + ", ".join(tch_codecs.keys())) tch_options.add_option("-o", "--output-tch", dest="speech_output_file", default="/tmp/speech.au.gsm", diff --git a/apps/grgsm_scanner b/apps/grgsm_scanner index ce33a60..e3d7a61 100755 --- a/apps/grgsm_scanner +++ b/apps/grgsm_scanner @@ -40,9 +40,9 @@ # from wideband_receiver import * -class receiver_with_decoder(grgsm.hier_block): +class receiver_with_decoder(gr.hier_block2): def __init__(self, OSR=4, chan_num=0, fc=939.4e6, ppm=0, samp_rate=0.2e6): - grgsm.hier_block.__init__( + gr.hier_block2.__init__( self, "Receiver With Decoder", gr.io_signature(1, 1, gr.sizeof_gr_complex * 1), gr.io_signature(0, 0, 0), @@ -132,9 +132,9 @@ self.samp_rate_out = samp_rate_out -class wideband_receiver(grgsm.hier_block): +class wideband_receiver(gr.hier_block2): def __init__(self, OSR=4, fc=939.4e6, samp_rate=0.4e6): - grgsm.hier_block.__init__( + gr.hier_block2.__init__( self, "Wideband receiver", gr.io_signature(1, 1, gr.sizeof_gr_complex * 1), gr.io_signature(0, 0, 0), @@ -168,14 +168,14 @@ # Connections ################################################## self.connect((self, 0), (self.pfb_channelizer_ccf_0, 0)) - for chan in xrange(0, self.channels_num): + for chan in range(0, self.channels_num): self.connect((self.pfb_channelizer_ccf_0, chan), (self.receivers_with_decoders[chan], 0)) self.msg_connect(self.receivers_with_decoders[chan], 'bursts', self, 'bursts') self.msg_connect(self.receivers_with_decoders[chan], 'msgs', self, 'msgs') def create_receivers(self): self.receivers_with_decoders = {} - for chan in xrange(0, self.channels_num): + for chan in range(0, self.channels_num): self.receivers_with_decoders[chan] = receiver_with_decoder(fc=self.fc, OSR=self.OSR, chan_num=chan, samp_rate=self.OSR_PFB * 0.2e6) @@ -207,7 +207,7 @@ self.ppm = ppm # if no file name is given process data from rtl_sdr source - print "Args=", args + print("Args=", args) self.rtlsdr_source = osmosdr.source(args="numchan=" + str(1) + " " + str(grgsm.device.get_default_args(args))) #self.rtlsdr_source.set_min_output_buffer(int(sample_rate*rec_len)) #this line causes segfaults on HackRF @@ -261,6 +261,10 @@ self.neighbours = neighbours self.cell_arfcns = cell_arfcns + def __lt__(self, other): + return self.arfcn < other.arfcn + + def get_verbose_info(self): i = " |---- Configuration: %s\n" % self.get_ccch_conf() i += " |---- Cell ARFCNs: " + ", ".join(map(str, self.cell_arfcns)) + "\n" @@ -315,7 +319,7 @@ if not debug: # silence rtl_sdr output: # open 2 fds - null_fds = [os.open(os.devnull, os.O_RDWR) for x in xrange(2)] + null_fds = [os.open(os.devnull, os.O_RDWR) for x in range(2)] # save the current file descriptors to a tuple save = os.dup(1), os.dup(2) # put /dev/null fds on 1 and 2 @@ -423,10 +427,10 @@ def printfunc(found_list): for info in sorted(found_list): - print info + print(info) if options.verbose: - print info.get_verbose_info() - print "" + print(info.get_verbose_info()) + print("") do_scan(options.samp_rate, options.band, options.speed, options.ppm, options.gain, options.args, prn = printfunc, debug = options.debug) diff --git a/python/__init__.py b/python/__init__.py index 8241b01..557a8d6 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -42,24 +42,23 @@ # import swig generated symbols into the gsm namespace -from grgsm_swig import * +from .grgsm_swig import * # import any pure python here -from hier_block import hier_block #from fcch_burst_tagger import fcch_burst_tagger #from sch_detector import sch_detector #from fcch_detector import fcch_detector -from clock_offset_corrector_tagged import clock_offset_corrector_tagged -from gsm_input import gsm_input -from gsm_bcch_ccch_demapper import gsm_bcch_ccch_demapper -from gsm_bcch_ccch_sdcch4_demapper import gsm_bcch_ccch_sdcch4_demapper -from gsm_sdcch8_demapper import gsm_sdcch8_demapper -from gsm_gmsk_mod import gsm_gmsk_mod -from fn_time import * -from txtime_bursts_tagger import * -import arfcn -import device +from .clock_offset_corrector_tagged import clock_offset_corrector_tagged +from .gsm_input import gsm_input +from .gsm_bcch_ccch_demapper import gsm_bcch_ccch_demapper +from .gsm_bcch_ccch_sdcch4_demapper import gsm_bcch_ccch_sdcch4_demapper +from .gsm_sdcch8_demapper import gsm_sdcch8_demapper +from .gsm_gmsk_mod import gsm_gmsk_mod +from .fn_time import * +from .txtime_bursts_tagger import * +from .arfcn import * +from .device import * # diff --git a/python/demapping/gsm_bcch_ccch_demapper.py b/python/demapping/gsm_bcch_ccch_demapper.py index e036831..06baa62 100644 --- a/python/demapping/gsm_bcch_ccch_demapper.py +++ b/python/demapping/gsm_bcch_ccch_demapper.py @@ -32,10 +32,10 @@ import grgsm -class gsm_bcch_ccch_demapper(grgsm.hier_block): +class gsm_bcch_ccch_demapper(gr.hier_block2): def __init__(self, timeslot_nr=0): - grgsm.hier_block.__init__( + gr.hier_block2.__init__( self, "BCCH + CCCH demapper", gr.io_signature(0, 0, 0), gr.io_signature(0, 0, 0), diff --git a/python/demapping/gsm_bcch_ccch_sdcch4_demapper.py b/python/demapping/gsm_bcch_ccch_sdcch4_demapper.py index bff67a4..f025a70 100644 --- a/python/demapping/gsm_bcch_ccch_sdcch4_demapper.py +++ b/python/demapping/gsm_bcch_ccch_sdcch4_demapper.py @@ -32,10 +32,10 @@ import grgsm -class gsm_bcch_ccch_sdcch4_demapper(grgsm.hier_block): +class gsm_bcch_ccch_sdcch4_demapper(gr.hier_block2): def __init__(self, timeslot_nr=0): - grgsm.hier_block.__init__( + gr.hier_block2.__init__( self, "BCCH + CCCH + SDCCH/4 demapper", gr.io_signature(0, 0, 0), gr.io_signature(0, 0, 0), diff --git a/python/demapping/gsm_sdcch8_demapper.py b/python/demapping/gsm_sdcch8_demapper.py index b412594..30450bf 100644 --- a/python/demapping/gsm_sdcch8_demapper.py +++ b/python/demapping/gsm_sdcch8_demapper.py @@ -32,10 +32,10 @@ import grgsm -class gsm_sdcch8_demapper(grgsm.hier_block): +class gsm_sdcch8_demapper(gr.hier_block2): def __init__(self, timeslot_nr=1): - grgsm.hier_block.__init__( + gr.hier_block2.__init__( self, "SDCCH/8 demapper", gr.io_signature(0, 0, 0), gr.io_signature(0, 0, 0), diff --git a/python/misc_utils/CMakeLists.txt b/python/misc_utils/CMakeLists.txt index 76304ca..57ed275 100644 --- a/python/misc_utils/CMakeLists.txt +++ b/python/misc_utils/CMakeLists.txt @@ -21,7 +21,6 @@ FILES arfcn.py clock_offset_corrector_tagged.py - hier_block.py fn_time.py device.py DESTINATION ${GR_PYTHON_DIR}/grgsm diff --git a/python/misc_utils/clock_offset_corrector_tagged.py b/python/misc_utils/clock_offset_corrector_tagged.py index be55212..ea474b1 100644 --- a/python/misc_utils/clock_offset_corrector_tagged.py +++ b/python/misc_utils/clock_offset_corrector_tagged.py @@ -33,7 +33,7 @@ import math -class clock_offset_corrector_tagged(grgsm.hier_block): +class clock_offset_corrector_tagged(gr.hier_block2): def __init__(self, fc=936.6e6, osr=4, ppm=0, samp_rate_in=1625000.0/6.0*4.0): gr.hier_block2.__init__( diff --git a/python/misc_utils/device.py b/python/misc_utils/device.py index de967ab..ddd9dec 100644 --- a/python/misc_utils/device.py +++ b/python/misc_utils/device.py @@ -40,7 +40,7 @@ return [dev for dev in devices if not match(dev, filters)] def get_all_args(hint="nofake"): - return map(lambda dev: dev.to_string(), exclude(get_devices(hint))) + return list(map(lambda dev: dev.to_string(), exclude(get_devices(hint)))) def get_default_args(args): # The presence of GRC_BLOCKS_PATH environment variable indicates that diff --git a/python/misc_utils/hier_block.py b/python/misc_utils/hier_block.py deleted file mode 100644 index 0dc9c78..0000000 --- a/python/misc_utils/hier_block.py +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env python2 -# -*- coding: utf-8 -*- -# @file -# @author (C) 2016 by Piotr Krysik -# @section LICENSE -# -# Gr-gsm is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# Gr-gsm is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with gr-gsm; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -from gnuradio import gr -from distutils.version import LooseVersion as version - -#class created to solve incompatibility of reginstration of message inputs -#that was introduced in gnuradio 3.7.9 - -class hier_block(gr.hier_block2): - def message_port_register_hier_in(self, port_id): - if version(gr.version()) >= version('3.7.9'): - super(hier_block, self).message_port_register_hier_in(port_id) - else: - super(hier_block, self).message_port_register_hier_out(port_id) - - def message_port_register_hier_out(self, port_id): - if version(gr.version()) >= version('3.7.9'): - super(hier_block, self).message_port_register_hier_out(port_id) - else: - super(hier_block, self).message_port_register_hier_in(port_id) - diff --git a/python/qa_txtime_bursts_tagger.py b/python/qa_txtime_bursts_tagger.py index bdbf1af..fd15b10 100755 --- a/python/qa_txtime_bursts_tagger.py +++ b/python/qa_txtime_bursts_tagger.py @@ -64,8 +64,8 @@ tb.start() tb.wait() - print "Dupa" - print sink + print("Dupa") + print(sink) # msg1 = make_msg(1,"lol1") diff --git a/python/receiver/fcch_detector.py b/python/receiver/fcch_detector.py index 81438e2..9b787c2 100644 --- a/python/receiver/fcch_detector.py +++ b/python/receiver/fcch_detector.py @@ -36,10 +36,10 @@ from gnuradio.filter import firdes import grgsm -class fcch_detector(grgsm.hier_block): +class fcch_detector(gr.hier_block2): def __init__(self, OSR=4): - grgsm.hier_block.__init__( + gr.hier_block2.__init__( self, "FCCH bursts detector", gr.io_signature(1, 1, gr.sizeof_gr_complex*1), gr.io_signature(1, 1, gr.sizeof_gr_complex*1), diff --git a/python/receiver/gsm_input.py b/python/receiver/gsm_input.py index 8c4ad51..05e323d 100644 --- a/python/receiver/gsm_input.py +++ b/python/receiver/gsm_input.py @@ -33,7 +33,7 @@ import grgsm -class gsm_input(grgsm.hier_block): +class gsm_input(gr.hier_block2): def __init__(self, fc=940e6, osr=4, ppm=0, samp_rate_in=1e6): gr.hier_block2.__init__( diff --git a/python/transmitter/gsm_gmsk_mod.py b/python/transmitter/gsm_gmsk_mod.py index e8ecc7a..fec936c 100644 --- a/python/transmitter/gsm_gmsk_mod.py +++ b/python/transmitter/gsm_gmsk_mod.py @@ -14,7 +14,7 @@ from gnuradio.filter import firdes import grgsm -class gsm_gmsk_mod(grgsm.hier_block): +class gsm_gmsk_mod(gr.hier_block2): def __init__(self, BT=4, pulse_duration=4, sps=4): gr.hier_block2.__init__( diff --git a/python/transmitter/txtime_bursts_tagger.py b/python/transmitter/txtime_bursts_tagger.py index de42f65..952c8d1 100644 --- a/python/transmitter/txtime_bursts_tagger.py +++ b/python/transmitter/txtime_bursts_tagger.py @@ -22,7 +22,7 @@ # from gnuradio import gr -from fn_time import fn_time_delta +from .fn_time import fn_time_delta import pmt import numpy diff --git a/python/trx/__init__.py b/python/trx/__init__.py index c8bddbe..23042b0 100644 --- a/python/trx/__init__.py +++ b/python/trx/__init__.py @@ -20,10 +20,10 @@ This is a set of helper classes for the grgsm_trx application. ''' -from udp_link import UDPLink -from ctrl_if import CTRLInterface -from ctrl_if_bb import CTRLInterfaceBB -from radio_if import RadioInterface -from transceiver import Transceiver +from .udp_link import UDPLink +from .ctrl_if import CTRLInterface +from .ctrl_if_bb import CTRLInterfaceBB +from .radio_if import RadioInterface +from .transceiver import Transceiver -from dict_toggle_sign import dict_toggle_sign +from .dict_toggle_sign import dict_toggle_sign diff --git a/python/trx/ctrl_if.py b/python/trx/ctrl_if.py index 1a7c0c3..d7e14f1 100644 --- a/python/trx/ctrl_if.py +++ b/python/trx/ctrl_if.py @@ -22,7 +22,7 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -from udp_link import UDPLink +from .udp_link import UDPLink class CTRLInterface(UDPLink): def handle_rx(self, data, remote): diff --git a/python/trx/ctrl_if_bb.py b/python/trx/ctrl_if_bb.py index 4814263..1c21c55 100644 --- a/python/trx/ctrl_if_bb.py +++ b/python/trx/ctrl_if_bb.py @@ -22,7 +22,7 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -from ctrl_if import CTRLInterface +from .ctrl_if import CTRLInterface class CTRLInterfaceBB(CTRLInterface): def __init__(self, trx, *ctrl_if_args): diff --git a/python/trx/radio_if.py b/python/trx/radio_if.py index 0d844c0..acbc3cd 100644 --- a/python/trx/radio_if.py +++ b/python/trx/radio_if.py @@ -38,7 +38,7 @@ from gnuradio import filter from gnuradio.filter import firdes -from dict_toggle_sign import dict_toggle_sign +from .dict_toggle_sign import dict_toggle_sign class RadioInterface(gr.top_block): # PHY specific variables diff --git a/python/trx/radio_if_uhd.py b/python/trx/radio_if_uhd.py index ef2e0ed..664a51c 100644 --- a/python/trx/radio_if_uhd.py +++ b/python/trx/radio_if_uhd.py @@ -24,7 +24,7 @@ from gnuradio import uhd -from radio_if import RadioInterface +from .radio_if import RadioInterface class RadioInterfaceUHD(RadioInterface): # Human-readable description diff --git a/python/trx/transceiver.py b/python/trx/transceiver.py index 837a61f..4e706e3 100644 --- a/python/trx/transceiver.py +++ b/python/trx/transceiver.py @@ -22,7 +22,7 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -from ctrl_if_bb import CTRLInterfaceBB +from .ctrl_if_bb import CTRLInterfaceBB class Transceiver: """ Base transceiver implementation. -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24063 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I5ca8fd340823996e8c444aaf18ddacd85c92ab1c Gerrit-Change-Number: 24063 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:39 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:39 +0000 Subject: Change in gr-gsm[master]: Convert grgsm_livemon and grgsm_livemon_headless to YAML In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24064 ) Change subject: Convert grgsm_livemon and grgsm_livemon_headless to YAML ...................................................................... Convert grgsm_livemon and grgsm_livemon_headless to YAML Convert by opening them in gnuradio-companion 3.8.0.0 (Python 3.7.4) and then File -> Save As under different name without any other modifications Change-Id: I73023fc66d1ffd6c714a0610962c005395dc126b --- M apps/grgsm_livemon.grc M apps/grgsm_livemon_headless.grc 2 files changed, 1,810 insertions(+), 5,924 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/apps/grgsm_livemon.grc b/apps/grgsm_livemon.grc index 176aa6c..3d80268 100644 --- a/apps/grgsm_livemon.grc +++ b/apps/grgsm_livemon.grc @@ -1,3183 +1,959 @@ - - - - Sat Dec 13 10:49:59 2014 - - options - - author - Piotr Krysik - - - window_size - 2280, 1024 - - - category - Custom - - - comment - - - - description - Interactive monitor of a single C0 channel with analysis performed by Wireshark (command to run wireshark: sudo wireshark -k -f udp -Y gsmtap -i lo) - - - _enabled - True - - - _coordinate - (16, 11) - - - _rotation - 0 - - - generate_options - qt_gui - - - hier_block_src_path - .: - - - id - grgsm_livemon - - - max_nouts - 0 - - - qt_qss_theme - - - - realtime_scheduling - - - - run_command - {python} -u {filename} - - - run_options - prompt - - - run - True - - - sizing_mode - fixed - - - thread_safe_setters - - - - title - Gr-gsm Livemon - - - placement - (0,0) - - - - variable_qtgui_range - - comment - - - - value - fc - - - _enabled - True - - - _coordinate - (304, 11) - - - gui_hint - - - - _rotation - 0 - - - id - fc_slider - - - label - Frequency - - - min_len - 100 - - - orient - Qt.Horizontal - - - start - 800e6 - - - step - 2e5 - - - stop - 1990e6 - - - rangeType - float - - - widget - counter_slider - - - - variable_qtgui_range - - comment - - - - value - gain - - - _enabled - True - - - _coordinate - (192, 11) - - - gui_hint - - - - _rotation - 0 - - - id - gain_slider - - - label - Gain - - - min_len - 100 - - - orient - Qt.Horizontal - - - start - 0 - - - step - 0.5 - - - stop - 100 - - - rangeType - float - - - widget - counter - - - - variable_qtgui_range - - comment - - - - value - ppm - - - _enabled - True - - - _coordinate - (440, 11) - - - gui_hint - - - - _rotation - 0 - - - id - ppm_slider - - - label - PPM Offset - - - min_len - 100 - - - orient - Qt.Horizontal - - - start - -150 - - - step - 0.1 - - - stop - 150 - - - rangeType - float - - - widget - counter - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (872, 11) - - - _rotation - 0 - - - id - args - - - label - Device Arguments - - - short_id - - - - hide - none - - - type - string - - - value - "" - - - - blocks_rotator_cc - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (256, 300) - - - _rotation - 0 - - - id - blocks_rotator_cc_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - phase_inc - -2*pi*shiftoff/samp_rate - - - - blocks_socket_pdu - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1632, 295) - - - _rotation - 0 - - - host - 127.0.0.1 - - - id - blocks_socket_pdu_0_0 - - - mtu - 10000 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - port - serverport - - - tcp_no_delay - False - - - type - "UDP_SERVER" - - - - blocks_socket_pdu - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1504, 295) - - - _rotation - 0 - - - host - collector - - - id - blocks_socket_pdu_0_1 - - - mtu - 1500 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - port - collectorport - - - tcp_no_delay - False - - - type - "UDP_CLIENT" - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (1240, 7) - - - _rotation - 0 - - - id - collector - - - label - IP or DNS name of collector point - - - short_id - - - - hide - none - - - type - string - - - value - localhost - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (1240, 95) - - - _rotation - 0 - - - id - collectorport - - - label - UDP port number of collector - - - short_id - - - - hide - none - - - type - string - - - value - 4729 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (624, 11) - - - _rotation - 0 - - - id - fc - - - label - GSM channel's central frequency - - - short_id - f - - - hide - none - - - type - eng_float - - - value - 941.8e6 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (552, 11) - - - _rotation - 0 - - - id - gain - - - label - gain - - - short_id - g - - - hide - none - - - type - eng_float - - - value - 30 - - - - gsm_bcch_ccch_demapper - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (896, 284) - - - _rotation - 0 - - - id - gsm_bcch_ccch_demapper_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - timeslot_nr - 0 - - - - gsm_clock_offset_control - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (552, 411) - - - _rotation - 180 - - - id - gsm_clock_offset_control_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - osr - osr - - - fc - fc_slider-shiftoff - - - samp_rate - samp_rate - - - - gsm_control_channels_decoder - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1264, 289) - - - _rotation - 0 - - - id - gsm_control_channels_decoder_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - - gsm_control_channels_decoder - - alias - - - - comment - - - - affinity - - - - _enabled - 1 - - - _coordinate - (1264, 345) - - - _rotation - 0 - - - id - gsm_control_channels_decoder_0_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - - gsm_decryption - - a5_version - 1 - - - alias - - - - comment - - - - affinity - - - - _enabled - 1 - - - _coordinate - (1104, 333) - - - _rotation - 0 - - - id - gsm_decryption_0 - - - k_c - [] - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - - gsm_input - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (488, 305) - - - _rotation - 0 - - - id - gsm_input_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - osr - osr - - - fc - fc_slider-shiftoff - - - ppm - ppm-int(ppm) - - - samp_rate_in - samp_rate - - - - gsm_message_printer - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1776, 302) - - - _rotation - 0 - - - id - gsm_message_printer_1 - - - prepend_frame_count - False - - - prepend_fnr - False - - - prepend_string - "" - - - print_gsmtap_header - False - - - - gsm_receiver - - alias - - - - cell_allocation - [arfcn.downlink2arfcn(fc)] - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (672, 289) - - - _rotation - 0 - - - id - gsm_receiver_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - num_streams - 1 - - - osr - osr - - - tseq_nums - [] - - - - gsm_sdcch8_demapper - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (896, 340) - - - _rotation - 0 - - - id - gsm_sdcch8_demapper_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - timeslot_nr - 1 - - - - import - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (1016, 11) - - - _rotation - 0 - - - id - import_0 - - - import - from math import pi - - - - import - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (1016, 60) - - - _rotation - 0 - - - id - import_1 - - - import - from grgsm import arfcn - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (1088, 7) - - - _rotation - 0 - - - id - osr - - - label - OverSampling Ratio - - - short_id - - - - hide - none - - - type - intx - - - value - 4 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (712, 11) - - - _rotation - 0 - - - id - ppm - - - label - ppm - - - short_id - p - - - hide - none - - - type - eng_float - - - value - 0 - - - - qtgui_freq_sink_x - - autoscale - False - - - average - 1.0 - - - axislabels - True - - - bw - samp_rate - - - alias - - - - fc - fc_slider - - - comment - - - - ctrlpanel - False - - - affinity - - - - _enabled - True - - - fftsize - 1024 - - - _coordinate - (488, 187) - - - gui_hint - - - - _rotation - 0 - - - grid - False - - - id - qtgui_freq_sink_x_0 - - - legend - True - - - alpha1 - 1.0 - - - color1 - "blue" - - - label1 - - - - width1 - 1 - - - alpha10 - 1.0 - - - color10 - "dark blue" - - - label10 - - - - width10 - 1 - - - alpha2 - 1.0 - - - color2 - "red" - - - label2 - - - - width2 - 1 - - - alpha3 - 1.0 - - - color3 - "green" - - - label3 - - - - width3 - 1 - - - alpha4 - 1.0 - - - color4 - "black" - - - label4 - - - - width4 - 1 - - - alpha5 - 1.0 - - - color5 - "cyan" - - - label5 - - - - width5 - 1 - - - alpha6 - 1.0 - - - color6 - "magenta" - - - label6 - - - - width6 - 1 - - - alpha7 - 1.0 - - - color7 - "yellow" - - - label7 - - - - width7 - 1 - - - alpha8 - 1.0 - - - color8 - "dark red" - - - label8 - - - - width8 - 1 - - - alpha9 - 1.0 - - - color9 - "dark green" - - - label9 - - - - width9 - 1 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - name - "" - - - nconnections - 1 - - - showports - True - - - freqhalf - True - - - tr_chan - 0 - - - tr_level - 0.0 - - - tr_mode - qtgui.TRIG_MODE_FREE - - - tr_tag - "" - - - type - complex - - - update_time - 0.10 - - - wintype - firdes.WIN_BLACKMAN_hARRIS - - - label - Relative Gain - - - ymax - 10 - - - ymin - -140 - - - units - dB - - - - rtlsdr_source - - alias - - - - ant0 - - - - bb_gain0 - 20 - - - bw0 - 250e3+abs(shiftoff) - - - dc_offset_mode0 - 2 - - - corr0 - ppm_slider - - - freq0 - fc_slider-shiftoff - - - gain_mode0 - False - - - if_gain0 - 20 - - - iq_balance_mode0 - 2 - - - gain0 - gain_slider - - - ant10 - - - - bb_gain10 - 20 - - - bw10 - 0 - - - dc_offset_mode10 - 0 - - - corr10 - 0 - - - freq10 - 100e6 - - - gain_mode10 - False - - - if_gain10 - 20 - - - iq_balance_mode10 - 0 - - - gain10 - 10 - - - ant11 - - - - bb_gain11 - 20 - - - bw11 - 0 - - - dc_offset_mode11 - 0 - - - corr11 - 0 - - - freq11 - 100e6 - - - gain_mode11 - False - - - if_gain11 - 20 - - - iq_balance_mode11 - 0 - - - gain11 - 10 - - - ant12 - - - - bb_gain12 - 20 - - - bw12 - 0 - - - dc_offset_mode12 - 0 - - - corr12 - 0 - - - freq12 - 100e6 - - - gain_mode12 - False - - - if_gain12 - 20 - - - iq_balance_mode12 - 0 - - - gain12 - 10 - - - ant13 - - - - bb_gain13 - 20 - - - bw13 - 0 - - - dc_offset_mode13 - 0 - - - corr13 - 0 - - - freq13 - 100e6 - - - gain_mode13 - False - - - if_gain13 - 20 - - - iq_balance_mode13 - 0 - - - gain13 - 10 - - - ant14 - - - - bb_gain14 - 20 - - - bw14 - 0 - - - dc_offset_mode14 - 0 - - - corr14 - 0 - - - freq14 - 100e6 - - - gain_mode14 - False - - - if_gain14 - 20 - - - iq_balance_mode14 - 0 - - - gain14 - 10 - - - ant15 - - - - bb_gain15 - 20 - - - bw15 - 0 - - - dc_offset_mode15 - 0 - - - corr15 - 0 - - - freq15 - 100e6 - - - gain_mode15 - False - - - if_gain15 - 20 - - - iq_balance_mode15 - 0 - - - gain15 - 10 - - - ant16 - - - - bb_gain16 - 20 - - - bw16 - 0 - - - dc_offset_mode16 - 0 - - - corr16 - 0 - - - freq16 - 100e6 - - - gain_mode16 - False - - - if_gain16 - 20 - - - iq_balance_mode16 - 0 - - - gain16 - 10 - - - ant17 - - - - bb_gain17 - 20 - - - bw17 - 0 - - - dc_offset_mode17 - 0 - - - corr17 - 0 - - - freq17 - 100e6 - - - gain_mode17 - False - - - if_gain17 - 20 - - - iq_balance_mode17 - 0 - - - gain17 - 10 - - - ant18 - - - - bb_gain18 - 20 - - - bw18 - 0 - - - dc_offset_mode18 - 0 - - - corr18 - 0 - - - freq18 - 100e6 - - - gain_mode18 - False - - - if_gain18 - 20 - - - iq_balance_mode18 - 0 - - - gain18 - 10 - - - ant19 - - - - bb_gain19 - 20 - - - bw19 - 0 - - - dc_offset_mode19 - 0 - - - corr19 - 0 - - - freq19 - 100e6 - - - gain_mode19 - False - - - if_gain19 - 20 - - - iq_balance_mode19 - 0 - - - gain19 - 10 - - - ant1 - - - - bb_gain1 - 20 - - - bw1 - 0 - - - dc_offset_mode1 - 0 - - - corr1 - 0 - - - freq1 - 100e6 - - - gain_mode1 - True - - - if_gain1 - 20 - - - iq_balance_mode1 - 0 - - - gain1 - 10 - - - ant20 - - - - bb_gain20 - 20 - - - bw20 - 0 - - - dc_offset_mode20 - 0 - - - corr20 - 0 - - - freq20 - 100e6 - - - gain_mode20 - False - - - if_gain20 - 20 - - - iq_balance_mode20 - 0 - - - gain20 - 10 - - - ant21 - - - - bb_gain21 - 20 - - - bw21 - 0 - - - dc_offset_mode21 - 0 - - - corr21 - 0 - - - freq21 - 100e6 - - - gain_mode21 - False - - - if_gain21 - 20 - - - iq_balance_mode21 - 0 - - - gain21 - 10 - - - ant22 - - - - bb_gain22 - 20 - - - bw22 - 0 - - - dc_offset_mode22 - 0 - - - corr22 - 0 - - - freq22 - 100e6 - - - gain_mode22 - False - - - if_gain22 - 20 - - - iq_balance_mode22 - 0 - - - gain22 - 10 - - - ant23 - - - - bb_gain23 - 20 - - - bw23 - 0 - - - dc_offset_mode23 - 0 - - - corr23 - 0 - - - freq23 - 100e6 - - - gain_mode23 - False - - - if_gain23 - 20 - - - iq_balance_mode23 - 0 - - - gain23 - 10 - - - ant24 - - - - bb_gain24 - 20 - - - bw24 - 0 - - - dc_offset_mode24 - 0 - - - corr24 - 0 - - - freq24 - 100e6 - - - gain_mode24 - False - - - if_gain24 - 20 - - - iq_balance_mode24 - 0 - - - gain24 - 10 - - - ant25 - - - - bb_gain25 - 20 - - - bw25 - 0 - - - dc_offset_mode25 - 0 - - - corr25 - 0 - - - freq25 - 100e6 - - - gain_mode25 - False - - - if_gain25 - 20 - - - iq_balance_mode25 - 0 - - - gain25 - 10 - - - ant26 - - - - bb_gain26 - 20 - - - bw26 - 0 - - - dc_offset_mode26 - 0 - - - corr26 - 0 - - - freq26 - 100e6 - - - gain_mode26 - False - - - if_gain26 - 20 - - - iq_balance_mode26 - 0 - - - gain26 - 10 - - - ant27 - - - - bb_gain27 - 20 - - - bw27 - 0 - - - dc_offset_mode27 - 0 - - - corr27 - 0 - - - freq27 - 100e6 - - - gain_mode27 - False - - - if_gain27 - 20 - - - iq_balance_mode27 - 0 - - - gain27 - 10 - - - ant28 - - - - bb_gain28 - 20 - - - bw28 - 0 - - - dc_offset_mode28 - 0 - - - corr28 - 0 - - - freq28 - 100e6 - - - gain_mode28 - False - - - if_gain28 - 20 - - - iq_balance_mode28 - 0 - - - gain28 - 10 - - - ant29 - - - - bb_gain29 - 20 - - - bw29 - 0 - - - dc_offset_mode29 - 0 - - - corr29 - 0 - - - freq29 - 100e6 - - - gain_mode29 - False - - - if_gain29 - 20 - - - iq_balance_mode29 - 0 - - - gain29 - 10 - - - ant2 - - - - bb_gain2 - 20 - - - bw2 - 0 - - - dc_offset_mode2 - 0 - - - corr2 - 0 - - - freq2 - 100e6 - - - gain_mode2 - True - - - if_gain2 - 20 - - - iq_balance_mode2 - 0 - - - gain2 - 10 - - - ant30 - - - - bb_gain30 - 20 - - - bw30 - 0 - - - dc_offset_mode30 - 0 - - - corr30 - 0 - - - freq30 - 100e6 - - - gain_mode30 - False - - - if_gain30 - 20 - - - iq_balance_mode30 - 0 - - - gain30 - 10 - - - ant31 - - - - bb_gain31 - 20 - - - bw31 - 0 - - - dc_offset_mode31 - 0 - - - corr31 - 0 - - - freq31 - 100e6 - - - gain_mode31 - False - - - if_gain31 - 20 - - - iq_balance_mode31 - 0 - - - gain31 - 10 - - - ant3 - - - - bb_gain3 - 20 - - - bw3 - 0 - - - dc_offset_mode3 - 0 - - - corr3 - 0 - - - freq3 - 100e6 - - - gain_mode3 - True - - - if_gain3 - 20 - - - iq_balance_mode3 - 0 - - - gain3 - 10 - - - ant4 - - - - bb_gain4 - 20 - - - bw4 - 0 - - - dc_offset_mode4 - 0 - - - corr4 - 0 - - - freq4 - 100e6 - - - gain_mode4 - True - - - if_gain4 - 20 - - - iq_balance_mode4 - 0 - - - gain4 - 10 - - - ant5 - - - - bb_gain5 - 20 - - - bw5 - 0 - - - dc_offset_mode5 - 0 - - - corr5 - 0 - - - freq5 - 100e6 - - - gain_mode5 - False - - - if_gain5 - 20 - - - iq_balance_mode5 - 0 - - - gain5 - 10 - - - ant6 - - - - bb_gain6 - 20 - - - bw6 - 0 - - - dc_offset_mode6 - 0 - - - corr6 - 0 - - - freq6 - 100e6 - - - gain_mode6 - False - - - if_gain6 - 20 - - - iq_balance_mode6 - 0 - - - gain6 - 10 - - - ant7 - - - - bb_gain7 - 20 - - - bw7 - 0 - - - dc_offset_mode7 - 0 - - - corr7 - 0 - - - freq7 - 100e6 - - - gain_mode7 - False - - - if_gain7 - 20 - - - iq_balance_mode7 - 0 - - - gain7 - 10 - - - ant8 - - - - bb_gain8 - 20 - - - bw8 - 0 - - - dc_offset_mode8 - 0 - - - corr8 - 0 - - - freq8 - 100e6 - - - gain_mode8 - False - - - if_gain8 - 20 - - - iq_balance_mode8 - 0 - - - gain8 - 10 - - - ant9 - - - - bb_gain9 - 20 - - - bw9 - 0 - - - dc_offset_mode9 - 0 - - - corr9 - 0 - - - freq9 - 100e6 - - - gain_mode9 - False - - - if_gain9 - 20 - - - iq_balance_mode9 - 0 - - - gain9 - 10 - - - comment - - - - affinity - - - - args - str(grgsm.device.get_default_args(args)) - - - _enabled - True - - - _coordinate - (8, 237) - - - _rotation - 0 - - - id - rtlsdr_source_0 - - - maxoutbuf - 0 - - - clock_source0 - - - - time_source0 - - - - clock_source1 - - - - time_source1 - - - - clock_source2 - - - - time_source2 - - - - clock_source3 - - - - time_source3 - - - - clock_source4 - - - - time_source4 - - - - clock_source5 - - - - time_source5 - - - - clock_source6 - - - - time_source6 - - - - clock_source7 - - - - time_source7 - - - - minoutbuf - 0 - - - nchan - 1 - - - num_mboards - 1 - - - type - fc32 - - - sample_rate - samp_rate - - - sync - - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (16, 115) - - - _rotation - 0 - - - id - samp_rate - - - label - samp_rate - - - short_id - s - - - hide - none - - - type - eng_float - - - value - 2000000.052982 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (1400, 7) - - - _rotation - 0 - - - id - serverport - - - label - UDP server listening port - - - short_id - - - - hide - none - - - type - string - - - value - 4729 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (784, 11) - - - _rotation - 0 - - - id - shiftoff - - - label - Frequency Shiftoff - - - short_id - o - - - hide - none - - - type - eng_float - - - value - 400e3 - - - - blocks_rotator_cc_0 - gsm_input_0 - 0 - 0 - - - blocks_rotator_cc_0 - qtgui_freq_sink_x_0 - 0 - 0 - - - blocks_socket_pdu_0_0 - gsm_message_printer_1 - pdus - msgs - - - gsm_bcch_ccch_demapper_0 - gsm_control_channels_decoder_0 - bursts - bursts - - - gsm_clock_offset_control_0 - gsm_input_0 - ctrl - ctrl_in - - - gsm_control_channels_decoder_0 - blocks_socket_pdu_0_1 - msgs - pdus - - - gsm_control_channels_decoder_0_0 - blocks_socket_pdu_0_1 - msgs - pdus - - - gsm_decryption_0 - gsm_control_channels_decoder_0_0 - bursts - bursts - - - gsm_input_0 - gsm_receiver_0 - 0 - 0 - - - gsm_receiver_0 - gsm_bcch_ccch_demapper_0 - C0 - bursts - - - gsm_receiver_0 - gsm_sdcch8_demapper_0 - C0 - bursts - - - gsm_receiver_0 - gsm_clock_offset_control_0 - measurements - measurements - - - gsm_sdcch8_demapper_0 - gsm_decryption_0 - bursts - bursts - - - rtlsdr_source_0 - blocks_rotator_cc_0 - 0 - 0 - - +options: + parameters: + author: Piotr Krysik + category: Custom + cmake_opt: '' + comment: '' + copyright: '' + description: 'Interactive monitor of a single C0 channel with analysis performed + by Wireshark (command to run wireshark: sudo wireshark -k -f udp -Y gsmtap -i + lo)' + gen_cmake: 'On' + gen_linking: dynamic + generate_options: qt_gui + hier_block_src_path: '.:' + id: grgsm_livemon + max_nouts: '0' + output_language: python + placement: (0,0) + qt_qss_theme: '' + realtime_scheduling: '' + run: 'True' + run_command: '{python} -u {filename}' + run_options: prompt + sizing_mode: fixed + thread_safe_setters: '' + title: Gr-gsm Livemon + window_size: 2280, 1024 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [16, 11] + rotation: 0 + state: enabled + +blocks: +- name: fc_slider + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: '' + label: Frequency + min_len: '100' + orient: Qt.Horizontal + rangeType: float + start: 800e6 + step: 2e5 + stop: 1990e6 + value: fc + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [304, 11] + rotation: 0 + state: enabled +- name: gain_slider + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: '' + label: Gain + min_len: '100' + orient: Qt.Horizontal + rangeType: float + start: '0' + step: '0.5' + stop: '100' + value: gain + widget: counter + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [192, 11] + rotation: 0 + state: enabled +- name: ppm_slider + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: '' + label: PPM Offset + min_len: '100' + orient: Qt.Horizontal + rangeType: float + start: '-150' + step: '0.1' + stop: '150' + value: ppm + widget: counter + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [440, 11] + rotation: 0 + state: enabled +- name: args + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: Device Arguments + short_id: '' + type: '' + value: '""' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [872, 11] + rotation: 0 + state: enabled +- name: blocks_rotator_cc_0 + id: blocks_rotator_cc + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + phase_inc: -2*pi*shiftoff/samp_rate + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [256, 300] + rotation: 0 + state: enabled +- name: blocks_socket_pdu_0_0 + id: blocks_socket_pdu + parameters: + affinity: '' + alias: '' + comment: '' + host: 127.0.0.1 + maxoutbuf: '0' + minoutbuf: '0' + mtu: '10000' + port: serverport + tcp_no_delay: 'False' + type: TCP_SERVER + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1632, 295] + rotation: 0 + state: enabled +- name: blocks_socket_pdu_0_1 + id: blocks_socket_pdu + parameters: + affinity: '' + alias: '' + comment: '' + host: collector + maxoutbuf: '0' + minoutbuf: '0' + mtu: '1500' + port: collectorport + tcp_no_delay: 'False' + type: TCP_SERVER + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1504, 295] + rotation: 0 + state: enabled +- name: collector + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: IP or DNS name of collector point + short_id: '' + type: '' + value: 'localhost' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1240, 7] + rotation: 0 + state: enabled +- name: collectorport + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: UDP port number of collector + short_id: '' + type: '' + value: '4729' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1240, 95] + rotation: 0 + state: enabled +- name: fc + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: GSM channel's central frequency + short_id: f + type: eng_float + value: 941.8e6 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [624, 11] + rotation: 0 + state: enabled +- name: gain + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: gain + short_id: g + type: eng_float + value: '30' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [552, 11] + rotation: 0 + state: enabled +- name: gsm_bcch_ccch_demapper_0 + id: gsm_bcch_ccch_demapper + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + timeslot_nr: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [896, 284] + rotation: 0 + state: enabled +- name: gsm_clock_offset_control_0 + id: gsm_clock_offset_control + parameters: + affinity: '' + alias: '' + comment: '' + fc: fc_slider-shiftoff + maxoutbuf: '0' + minoutbuf: '0' + osr: osr + samp_rate: samp_rate + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [552, 411] + rotation: 180 + state: enabled +- name: gsm_control_channels_decoder_0 + id: gsm_control_channels_decoder + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1264, 289] + rotation: 0 + state: enabled +- name: gsm_control_channels_decoder_0_0 + id: gsm_control_channels_decoder + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1264, 345] + rotation: 0 + state: enabled +- name: gsm_decryption_0 + id: gsm_decryption + parameters: + a5_version: '1' + affinity: '' + alias: '' + comment: '' + k_c: '[]' + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1104, 333] + rotation: 0 + state: enabled +- name: gsm_input_0 + id: gsm_input + parameters: + affinity: '' + alias: '' + comment: '' + fc: fc_slider-shiftoff + maxoutbuf: '0' + minoutbuf: '0' + osr: osr + ppm: ppm-int(ppm) + samp_rate_in: samp_rate + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [488, 305] + rotation: 0 + state: enabled +- name: gsm_message_printer_1 + id: gsm_message_printer + parameters: + affinity: '' + alias: '' + comment: '' + prepend_fnr: 'False' + prepend_frame_count: 'False' + prepend_string: '""' + print_gsmtap_header: 'False' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1776, 302] + rotation: 0 + state: enabled +- name: gsm_receiver_0 + id: gsm_receiver + parameters: + affinity: '' + alias: '' + cell_allocation: '[arfcn.downlink2arfcn(fc)]' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + num_streams: '1' + osr: osr + tseq_nums: '[]' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [672, 289] + rotation: 0 + state: enabled +- name: gsm_sdcch8_demapper_0 + id: gsm_sdcch8_demapper + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + timeslot_nr: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [896, 340] + rotation: 0 + state: enabled +- name: import_0 + id: import + parameters: + alias: '' + comment: '' + imports: from math import pi + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1016, 11] + rotation: 0 + state: enabled +- name: import_1 + id: import + parameters: + alias: '' + comment: '' + imports: from grgsm import arfcn + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1016, 60] + rotation: 0 + state: enabled +- name: osr + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: OverSampling Ratio + short_id: '' + type: intx + value: '4' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1088, 7] + rotation: 0 + state: enabled +- name: ppm + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: ppm + short_id: p + type: eng_float + value: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [712, 11] + rotation: 0 + state: enabled +- name: qtgui_freq_sink_x_0 + id: qtgui_freq_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + autoscale: 'False' + average: '1.0' + axislabels: 'True' + bw: samp_rate + color1: '"blue"' + color10: '"dark blue"' + color2: '"red"' + color3: '"green"' + color4: '"black"' + color5: '"cyan"' + color6: '"magenta"' + color7: '"yellow"' + color8: '"dark red"' + color9: '"dark green"' + comment: '' + ctrlpanel: 'False' + fc: fc_slider + fftsize: '1024' + freqhalf: 'True' + grid: 'False' + gui_hint: '' + label: Relative Gain + label1: '' + label10: '' + label2: '' + label3: '' + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + legend: 'True' + maxoutbuf: '0' + minoutbuf: '0' + name: '""' + nconnections: '1' + showports: 'True' + tr_chan: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_tag: '""' + type: complex + units: dB + update_time: '0.10' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + wintype: firdes.WIN_BLACKMAN_hARRIS + ymax: '10' + ymin: '-140' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [488, 187] + rotation: 0 + state: enabled +- name: rtlsdr_source_0 + id: rtlsdr_source + parameters: + affinity: '' + alias: '' + ant0: '' + ant1: '' + ant10: '' + ant11: '' + ant12: '' + ant13: '' + ant14: '' + ant15: '' + ant16: '' + ant17: '' + ant18: '' + ant19: '' + ant2: '' + ant20: '' + ant21: '' + ant22: '' + ant23: '' + ant24: '' + ant25: '' + ant26: '' + ant27: '' + ant28: '' + ant29: '' + ant3: '' + ant30: '' + ant31: '' + ant4: '' + ant5: '' + ant6: '' + ant7: '' + ant8: '' + ant9: '' + args: str(grgsm.device.get_default_args(args)) + bb_gain0: '20' + bb_gain1: '20' + bb_gain10: '20' + bb_gain11: '20' + bb_gain12: '20' + bb_gain13: '20' + bb_gain14: '20' + bb_gain15: '20' + bb_gain16: '20' + bb_gain17: '20' + bb_gain18: '20' + bb_gain19: '20' + bb_gain2: '20' + bb_gain20: '20' + bb_gain21: '20' + bb_gain22: '20' + bb_gain23: '20' + bb_gain24: '20' + bb_gain25: '20' + bb_gain26: '20' + bb_gain27: '20' + bb_gain28: '20' + bb_gain29: '20' + bb_gain3: '20' + bb_gain30: '20' + bb_gain31: '20' + bb_gain4: '20' + bb_gain5: '20' + bb_gain6: '20' + bb_gain7: '20' + bb_gain8: '20' + bb_gain9: '20' + bw0: 250e3+abs(shiftoff) + bw1: '0' + bw10: '0' + bw11: '0' + bw12: '0' + bw13: '0' + bw14: '0' + bw15: '0' + bw16: '0' + bw17: '0' + bw18: '0' + bw19: '0' + bw2: '0' + bw20: '0' + bw21: '0' + bw22: '0' + bw23: '0' + bw24: '0' + bw25: '0' + bw26: '0' + bw27: '0' + bw28: '0' + bw29: '0' + bw3: '0' + bw30: '0' + bw31: '0' + bw4: '0' + bw5: '0' + bw6: '0' + bw7: '0' + bw8: '0' + bw9: '0' + clock_source0: '' + clock_source1: '' + clock_source2: '' + clock_source3: '' + clock_source4: '' + clock_source5: '' + clock_source6: '' + clock_source7: '' + comment: '' + corr0: ppm_slider + corr1: '0' + corr10: '0' + corr11: '0' + corr12: '0' + corr13: '0' + corr14: '0' + corr15: '0' + corr16: '0' + corr17: '0' + corr18: '0' + corr19: '0' + corr2: '0' + corr20: '0' + corr21: '0' + corr22: '0' + corr23: '0' + corr24: '0' + corr25: '0' + corr26: '0' + corr27: '0' + corr28: '0' + corr29: '0' + corr3: '0' + corr30: '0' + corr31: '0' + corr4: '0' + corr5: '0' + corr6: '0' + corr7: '0' + corr8: '0' + corr9: '0' + dc_offset_mode0: '2' + dc_offset_mode1: '0' + dc_offset_mode10: '0' + dc_offset_mode11: '0' + dc_offset_mode12: '0' + dc_offset_mode13: '0' + dc_offset_mode14: '0' + dc_offset_mode15: '0' + dc_offset_mode16: '0' + dc_offset_mode17: '0' + dc_offset_mode18: '0' + dc_offset_mode19: '0' + dc_offset_mode2: '0' + dc_offset_mode20: '0' + dc_offset_mode21: '0' + dc_offset_mode22: '0' + dc_offset_mode23: '0' + dc_offset_mode24: '0' + dc_offset_mode25: '0' + dc_offset_mode26: '0' + dc_offset_mode27: '0' + dc_offset_mode28: '0' + dc_offset_mode29: '0' + dc_offset_mode3: '0' + dc_offset_mode30: '0' + dc_offset_mode31: '0' + dc_offset_mode4: '0' + dc_offset_mode5: '0' + dc_offset_mode6: '0' + dc_offset_mode7: '0' + dc_offset_mode8: '0' + dc_offset_mode9: '0' + freq0: fc_slider-shiftoff + freq1: 100e6 + freq10: 100e6 + freq11: 100e6 + freq12: 100e6 + freq13: 100e6 + freq14: 100e6 + freq15: 100e6 + freq16: 100e6 + freq17: 100e6 + freq18: 100e6 + freq19: 100e6 + freq2: 100e6 + freq20: 100e6 + freq21: 100e6 + freq22: 100e6 + freq23: 100e6 + freq24: 100e6 + freq25: 100e6 + freq26: 100e6 + freq27: 100e6 + freq28: 100e6 + freq29: 100e6 + freq3: 100e6 + freq30: 100e6 + freq31: 100e6 + freq4: 100e6 + freq5: 100e6 + freq6: 100e6 + freq7: 100e6 + freq8: 100e6 + freq9: 100e6 + gain0: gain_slider + gain1: '10' + gain10: '10' + gain11: '10' + gain12: '10' + gain13: '10' + gain14: '10' + gain15: '10' + gain16: '10' + gain17: '10' + gain18: '10' + gain19: '10' + gain2: '10' + gain20: '10' + gain21: '10' + gain22: '10' + gain23: '10' + gain24: '10' + gain25: '10' + gain26: '10' + gain27: '10' + gain28: '10' + gain29: '10' + gain3: '10' + gain30: '10' + gain31: '10' + gain4: '10' + gain5: '10' + gain6: '10' + gain7: '10' + gain8: '10' + gain9: '10' + gain_mode0: 'False' + gain_mode1: 'True' + gain_mode10: 'False' + gain_mode11: 'False' + gain_mode12: 'False' + gain_mode13: 'False' + gain_mode14: 'False' + gain_mode15: 'False' + gain_mode16: 'False' + gain_mode17: 'False' + gain_mode18: 'False' + gain_mode19: 'False' + gain_mode2: 'True' + gain_mode20: 'False' + gain_mode21: 'False' + gain_mode22: 'False' + gain_mode23: 'False' + gain_mode24: 'False' + gain_mode25: 'False' + gain_mode26: 'False' + gain_mode27: 'False' + gain_mode28: 'False' + gain_mode29: 'False' + gain_mode3: 'True' + gain_mode30: 'False' + gain_mode31: 'False' + gain_mode4: 'True' + gain_mode5: 'False' + gain_mode6: 'False' + gain_mode7: 'False' + gain_mode8: 'False' + gain_mode9: 'False' + if_gain0: '20' + if_gain1: '20' + if_gain10: '20' + if_gain11: '20' + if_gain12: '20' + if_gain13: '20' + if_gain14: '20' + if_gain15: '20' + if_gain16: '20' + if_gain17: '20' + if_gain18: '20' + if_gain19: '20' + if_gain2: '20' + if_gain20: '20' + if_gain21: '20' + if_gain22: '20' + if_gain23: '20' + if_gain24: '20' + if_gain25: '20' + if_gain26: '20' + if_gain27: '20' + if_gain28: '20' + if_gain29: '20' + if_gain3: '20' + if_gain30: '20' + if_gain31: '20' + if_gain4: '20' + if_gain5: '20' + if_gain6: '20' + if_gain7: '20' + if_gain8: '20' + if_gain9: '20' + iq_balance_mode0: '2' + iq_balance_mode1: '0' + iq_balance_mode10: '0' + iq_balance_mode11: '0' + iq_balance_mode12: '0' + iq_balance_mode13: '0' + iq_balance_mode14: '0' + iq_balance_mode15: '0' + iq_balance_mode16: '0' + iq_balance_mode17: '0' + iq_balance_mode18: '0' + iq_balance_mode19: '0' + iq_balance_mode2: '0' + iq_balance_mode20: '0' + iq_balance_mode21: '0' + iq_balance_mode22: '0' + iq_balance_mode23: '0' + iq_balance_mode24: '0' + iq_balance_mode25: '0' + iq_balance_mode26: '0' + iq_balance_mode27: '0' + iq_balance_mode28: '0' + iq_balance_mode29: '0' + iq_balance_mode3: '0' + iq_balance_mode30: '0' + iq_balance_mode31: '0' + iq_balance_mode4: '0' + iq_balance_mode5: '0' + iq_balance_mode6: '0' + iq_balance_mode7: '0' + iq_balance_mode8: '0' + iq_balance_mode9: '0' + maxoutbuf: '0' + minoutbuf: '0' + nchan: '1' + num_mboards: '1' + sample_rate: samp_rate + sync: sync + time_source0: '' + time_source1: '' + time_source2: '' + time_source3: '' + time_source4: '' + time_source5: '' + time_source6: '' + time_source7: '' + type: fc32 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [8, 237] + rotation: 0 + state: enabled +- name: samp_rate + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: samp_rate + short_id: s + type: eng_float + value: '2000000.052982' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [16, 115] + rotation: 0 + state: enabled +- name: serverport + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: UDP server listening port + short_id: '' + type: '' + value: '4729' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1400, 7] + rotation: 0 + state: enabled +- name: shiftoff + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: Frequency Shiftoff + short_id: o + type: eng_float + value: 400e3 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [784, 11] + rotation: 0 + state: enabled + +connections: +- [blocks_rotator_cc_0, '0', gsm_input_0, '0'] +- [blocks_rotator_cc_0, '0', qtgui_freq_sink_x_0, '0'] +- [blocks_socket_pdu_0_0, pdus, gsm_message_printer_1, msgs] +- [gsm_bcch_ccch_demapper_0, bursts, gsm_control_channels_decoder_0, bursts] +- [gsm_clock_offset_control_0, ctrl, gsm_input_0, ctrl_in] +- [gsm_control_channels_decoder_0, msgs, blocks_socket_pdu_0_1, pdus] +- [gsm_control_channels_decoder_0_0, msgs, blocks_socket_pdu_0_1, pdus] +- [gsm_decryption_0, bursts, gsm_control_channels_decoder_0_0, bursts] +- [gsm_input_0, '0', gsm_receiver_0, '0'] +- [gsm_receiver_0, C0, gsm_bcch_ccch_demapper_0, bursts] +- [gsm_receiver_0, C0, gsm_sdcch8_demapper_0, bursts] +- [gsm_receiver_0, measurements, gsm_clock_offset_control_0, measurements] +- [gsm_sdcch8_demapper_0, bursts, gsm_decryption_0, bursts] +- [rtlsdr_source_0, '0', blocks_rotator_cc_0, '0'] + +metadata: + file_format: 1 diff --git a/apps/grgsm_livemon_headless.grc b/apps/grgsm_livemon_headless.grc index 2f3e981..e6728b7 100644 --- a/apps/grgsm_livemon_headless.grc +++ b/apps/grgsm_livemon_headless.grc @@ -1,2741 +1,851 @@ - - - - Sat Dec 13 10:49:59 2014 - - options - - author - Piotr Krysik - - - window_size - 2280, 1024 - - - category - Custom - - - comment - - - - description - Interactive monitor of a single C0 channel with analysis performed by Wireshark (command to run wireshark: sudo wireshark -k -f udp -Y gsmtap -i lo) - - - _enabled - True - - - _coordinate - (16, 11) - - - _rotation - 0 - - - generate_options - no_gui - - - hier_block_src_path - .: - - - id - grgsm_livemon_headless - - - max_nouts - 0 - - - qt_qss_theme - - - - realtime_scheduling - - - - run_command - {python} -u {filename} - - - run_options - run - - - run - True - - - thread_safe_setters - - - - title - Gr-gsm Livemon - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (752, 7) - - - _rotation - 0 - - - id - args - - - label - Device Arguments - - - short_id - - - - type - string - - - value - "" - - - - blocks_head - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (256, 300) - - - _rotation - 0 - - - id - blocks_head_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - num_items - int(rec_len*samp_rate) - - - type - complex - - - vlen - 1 - - - - blocks_rotator_cc - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (416, 300) - - - _rotation - 0 - - - id - blocks_rotator_cc_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - phase_inc - -2*pi*shiftoff/samp_rate - - - - blocks_socket_pdu - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1736, 295) - - - _rotation - 0 - - - host - 127.0.0.1 - - - id - blocks_socket_pdu_0_0 - - - mtu - 10000 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - port - serverport - - - tcp_no_delay - False - - - type - "UDP_SERVER" - - - - blocks_socket_pdu - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1608, 295) - - - _rotation - 0 - - - host - collector - - - id - blocks_socket_pdu_0_1 - - - mtu - 1500 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - port - collectorport - - - tcp_no_delay - False - - - type - "UDP_CLIENT" - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (1048, 7) - - - _rotation - 0 - - - id - collector - - - label - IP or DNS name of collector point - - - short_id - - - - type - string - - - value - localhost - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (1208, 7) - - - _rotation - 0 - - - id - collectorport - - - label - UDP port number of collector - - - short_id - - - - type - string - - - value - 4729 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (584, 8) - - - _rotation - 0 - - - id - fc - - - label - GSM channel's central frequency - - - short_id - f - - - type - eng_float - - - value - 957e6 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (480, 8) - - - _rotation - 0 - - - id - gain - - - label - RF Gain - - - short_id - g - - - type - eng_float - - - value - 30 - - - - gsm_bcch_ccch_sdcch4_demapper - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1016, 284) - - - _rotation - 0 - - - id - gsm_bcch_ccch_sdcch4_demapper_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - timeslot_nr - 0 - - - - gsm_clock_offset_control - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (688, 414) - - - _rotation - 180 - - - id - gsm_clock_offset_control_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - osr - osr - - - fc - fc-shiftoff - - - samp_rate - samp_rate - - - - gsm_control_channels_decoder - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1368, 289) - - - _rotation - 0 - - - id - gsm_control_channels_decoder_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - - gsm_control_channels_decoder - - alias - - - - comment - - - - affinity - - - - _enabled - 1 - - - _coordinate - (1368, 345) - - - _rotation - 0 - - - id - gsm_control_channels_decoder_0_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - - gsm_decryption - - a5_version - 1 - - - alias - - - - comment - - - - affinity - - - - _enabled - 1 - - - _coordinate - (1208, 333) - - - _rotation - 0 - - - id - gsm_decryption_0 - - - k_c - [] - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - - gsm_input - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (624, 305) - - - _rotation - 0 - - - id - gsm_input_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - osr - osr - - - fc - fc - - - ppm - ppm-int(ppm) - - - samp_rate_in - samp_rate - - - - gsm_message_printer - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1880, 302) - - - _rotation - 0 - - - id - gsm_message_printer_1 - - - prepend_frame_count - False - - - prepend_fnr - False - - - prepend_string - "" - - - print_gsmtap_header - False - - - - gsm_receiver - - alias - - - - cell_allocation - [arfcn.downlink2arfcn(fc)] - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (808, 289) - - - _rotation - 0 - - - id - gsm_receiver_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - num_streams - 1 - - - osr - osr - - - tseq_nums - [] - - - - gsm_sdcch8_demapper - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (1016, 340) - - - _rotation - 0 - - - id - gsm_sdcch8_demapper_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - timeslot_nr - 1 - - - - import - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (200, 12) - - - _rotation - 0 - - - id - import_0 - - - import - from math import pi - - - - import - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (200, 60) - - - _rotation - 0 - - - id - import_1 - - - import - from grgsm import arfcn - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (896, 7) - - - _rotation - 0 - - - id - osr - - - label - OverSampling Ratio - - - short_id - - - - type - intx - - - value - 4 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (312, 112) - - - _rotation - 0 - - - id - ppm - - - label - Clock frequency offset in ppms (1/1e6 parts) - - - short_id - p - - - type - eng_float - - - value - 0 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (312, 8) - - - _rotation - 0 - - - id - rec_len - - - label - Recording length in seconds - - - short_id - T - - - type - eng_float - - - value - 1000000 - - - - rtlsdr_source - - alias - - - - ant0 - - - - bb_gain0 - 20 - - - bw0 - 250e3+abs(shiftoff) - - - dc_offset_mode0 - 2 - - - corr0 - ppm - - - freq0 - fc-shiftoff - - - gain_mode0 - False - - - if_gain0 - 20 - - - iq_balance_mode0 - 2 - - - gain0 - gain - - - ant10 - - - - bb_gain10 - 20 - - - bw10 - 0 - - - dc_offset_mode10 - 0 - - - corr10 - 0 - - - freq10 - 100e6 - - - gain_mode10 - False - - - if_gain10 - 20 - - - iq_balance_mode10 - 0 - - - gain10 - 10 - - - ant11 - - - - bb_gain11 - 20 - - - bw11 - 0 - - - dc_offset_mode11 - 0 - - - corr11 - 0 - - - freq11 - 100e6 - - - gain_mode11 - False - - - if_gain11 - 20 - - - iq_balance_mode11 - 0 - - - gain11 - 10 - - - ant12 - - - - bb_gain12 - 20 - - - bw12 - 0 - - - dc_offset_mode12 - 0 - - - corr12 - 0 - - - freq12 - 100e6 - - - gain_mode12 - False - - - if_gain12 - 20 - - - iq_balance_mode12 - 0 - - - gain12 - 10 - - - ant13 - - - - bb_gain13 - 20 - - - bw13 - 0 - - - dc_offset_mode13 - 0 - - - corr13 - 0 - - - freq13 - 100e6 - - - gain_mode13 - False - - - if_gain13 - 20 - - - iq_balance_mode13 - 0 - - - gain13 - 10 - - - ant14 - - - - bb_gain14 - 20 - - - bw14 - 0 - - - dc_offset_mode14 - 0 - - - corr14 - 0 - - - freq14 - 100e6 - - - gain_mode14 - False - - - if_gain14 - 20 - - - iq_balance_mode14 - 0 - - - gain14 - 10 - - - ant15 - - - - bb_gain15 - 20 - - - bw15 - 0 - - - dc_offset_mode15 - 0 - - - corr15 - 0 - - - freq15 - 100e6 - - - gain_mode15 - False - - - if_gain15 - 20 - - - iq_balance_mode15 - 0 - - - gain15 - 10 - - - ant16 - - - - bb_gain16 - 20 - - - bw16 - 0 - - - dc_offset_mode16 - 0 - - - corr16 - 0 - - - freq16 - 100e6 - - - gain_mode16 - False - - - if_gain16 - 20 - - - iq_balance_mode16 - 0 - - - gain16 - 10 - - - ant17 - - - - bb_gain17 - 20 - - - bw17 - 0 - - - dc_offset_mode17 - 0 - - - corr17 - 0 - - - freq17 - 100e6 - - - gain_mode17 - False - - - if_gain17 - 20 - - - iq_balance_mode17 - 0 - - - gain17 - 10 - - - ant18 - - - - bb_gain18 - 20 - - - bw18 - 0 - - - dc_offset_mode18 - 0 - - - corr18 - 0 - - - freq18 - 100e6 - - - gain_mode18 - False - - - if_gain18 - 20 - - - iq_balance_mode18 - 0 - - - gain18 - 10 - - - ant19 - - - - bb_gain19 - 20 - - - bw19 - 0 - - - dc_offset_mode19 - 0 - - - corr19 - 0 - - - freq19 - 100e6 - - - gain_mode19 - False - - - if_gain19 - 20 - - - iq_balance_mode19 - 0 - - - gain19 - 10 - - - ant1 - - - - bb_gain1 - 20 - - - bw1 - 0 - - - dc_offset_mode1 - 0 - - - corr1 - 0 - - - freq1 - 100e6 - - - gain_mode1 - True - - - if_gain1 - 20 - - - iq_balance_mode1 - 0 - - - gain1 - 10 - - - ant20 - - - - bb_gain20 - 20 - - - bw20 - 0 - - - dc_offset_mode20 - 0 - - - corr20 - 0 - - - freq20 - 100e6 - - - gain_mode20 - False - - - if_gain20 - 20 - - - iq_balance_mode20 - 0 - - - gain20 - 10 - - - ant21 - - - - bb_gain21 - 20 - - - bw21 - 0 - - - dc_offset_mode21 - 0 - - - corr21 - 0 - - - freq21 - 100e6 - - - gain_mode21 - False - - - if_gain21 - 20 - - - iq_balance_mode21 - 0 - - - gain21 - 10 - - - ant22 - - - - bb_gain22 - 20 - - - bw22 - 0 - - - dc_offset_mode22 - 0 - - - corr22 - 0 - - - freq22 - 100e6 - - - gain_mode22 - False - - - if_gain22 - 20 - - - iq_balance_mode22 - 0 - - - gain22 - 10 - - - ant23 - - - - bb_gain23 - 20 - - - bw23 - 0 - - - dc_offset_mode23 - 0 - - - corr23 - 0 - - - freq23 - 100e6 - - - gain_mode23 - False - - - if_gain23 - 20 - - - iq_balance_mode23 - 0 - - - gain23 - 10 - - - ant24 - - - - bb_gain24 - 20 - - - bw24 - 0 - - - dc_offset_mode24 - 0 - - - corr24 - 0 - - - freq24 - 100e6 - - - gain_mode24 - False - - - if_gain24 - 20 - - - iq_balance_mode24 - 0 - - - gain24 - 10 - - - ant25 - - - - bb_gain25 - 20 - - - bw25 - 0 - - - dc_offset_mode25 - 0 - - - corr25 - 0 - - - freq25 - 100e6 - - - gain_mode25 - False - - - if_gain25 - 20 - - - iq_balance_mode25 - 0 - - - gain25 - 10 - - - ant26 - - - - bb_gain26 - 20 - - - bw26 - 0 - - - dc_offset_mode26 - 0 - - - corr26 - 0 - - - freq26 - 100e6 - - - gain_mode26 - False - - - if_gain26 - 20 - - - iq_balance_mode26 - 0 - - - gain26 - 10 - - - ant27 - - - - bb_gain27 - 20 - - - bw27 - 0 - - - dc_offset_mode27 - 0 - - - corr27 - 0 - - - freq27 - 100e6 - - - gain_mode27 - False - - - if_gain27 - 20 - - - iq_balance_mode27 - 0 - - - gain27 - 10 - - - ant28 - - - - bb_gain28 - 20 - - - bw28 - 0 - - - dc_offset_mode28 - 0 - - - corr28 - 0 - - - freq28 - 100e6 - - - gain_mode28 - False - - - if_gain28 - 20 - - - iq_balance_mode28 - 0 - - - gain28 - 10 - - - ant29 - - - - bb_gain29 - 20 - - - bw29 - 0 - - - dc_offset_mode29 - 0 - - - corr29 - 0 - - - freq29 - 100e6 - - - gain_mode29 - False - - - if_gain29 - 20 - - - iq_balance_mode29 - 0 - - - gain29 - 10 - - - ant2 - - - - bb_gain2 - 20 - - - bw2 - 0 - - - dc_offset_mode2 - 0 - - - corr2 - 0 - - - freq2 - 100e6 - - - gain_mode2 - True - - - if_gain2 - 20 - - - iq_balance_mode2 - 0 - - - gain2 - 10 - - - ant30 - - - - bb_gain30 - 20 - - - bw30 - 0 - - - dc_offset_mode30 - 0 - - - corr30 - 0 - - - freq30 - 100e6 - - - gain_mode30 - False - - - if_gain30 - 20 - - - iq_balance_mode30 - 0 - - - gain30 - 10 - - - ant31 - - - - bb_gain31 - 20 - - - bw31 - 0 - - - dc_offset_mode31 - 0 - - - corr31 - 0 - - - freq31 - 100e6 - - - gain_mode31 - False - - - if_gain31 - 20 - - - iq_balance_mode31 - 0 - - - gain31 - 10 - - - ant3 - - - - bb_gain3 - 20 - - - bw3 - 0 - - - dc_offset_mode3 - 0 - - - corr3 - 0 - - - freq3 - 100e6 - - - gain_mode3 - True - - - if_gain3 - 20 - - - iq_balance_mode3 - 0 - - - gain3 - 10 - - - ant4 - - - - bb_gain4 - 20 - - - bw4 - 0 - - - dc_offset_mode4 - 0 - - - corr4 - 0 - - - freq4 - 100e6 - - - gain_mode4 - True - - - if_gain4 - 20 - - - iq_balance_mode4 - 0 - - - gain4 - 10 - - - ant5 - - - - bb_gain5 - 20 - - - bw5 - 0 - - - dc_offset_mode5 - 0 - - - corr5 - 0 - - - freq5 - 100e6 - - - gain_mode5 - False - - - if_gain5 - 20 - - - iq_balance_mode5 - 0 - - - gain5 - 10 - - - ant6 - - - - bb_gain6 - 20 - - - bw6 - 0 - - - dc_offset_mode6 - 0 - - - corr6 - 0 - - - freq6 - 100e6 - - - gain_mode6 - False - - - if_gain6 - 20 - - - iq_balance_mode6 - 0 - - - gain6 - 10 - - - ant7 - - - - bb_gain7 - 20 - - - bw7 - 0 - - - dc_offset_mode7 - 0 - - - corr7 - 0 - - - freq7 - 100e6 - - - gain_mode7 - False - - - if_gain7 - 20 - - - iq_balance_mode7 - 0 - - - gain7 - 10 - - - ant8 - - - - bb_gain8 - 20 - - - bw8 - 0 - - - dc_offset_mode8 - 0 - - - corr8 - 0 - - - freq8 - 100e6 - - - gain_mode8 - False - - - if_gain8 - 20 - - - iq_balance_mode8 - 0 - - - gain8 - 10 - - - ant9 - - - - bb_gain9 - 20 - - - bw9 - 0 - - - dc_offset_mode9 - 0 - - - corr9 - 0 - - - freq9 - 100e6 - - - gain_mode9 - False - - - if_gain9 - 20 - - - iq_balance_mode9 - 0 - - - gain9 - 10 - - - comment - - - - affinity - - - - args - str(grgsm.device.get_default_args(args)) - - - _enabled - True - - - _coordinate - (8, 237) - - - _rotation - 0 - - - id - rtlsdr_source_0 - - - maxoutbuf - 0 - - - clock_source0 - - - - time_source0 - - - - clock_source1 - - - - time_source1 - - - - clock_source2 - - - - time_source2 - - - - clock_source3 - - - - time_source3 - - - - clock_source4 - - - - time_source4 - - - - clock_source5 - - - - time_source5 - - - - clock_source6 - - - - time_source6 - - - - clock_source7 - - - - time_source7 - - - - minoutbuf - 0 - - - nchan - 1 - - - num_mboards - 1 - - - type - fc32 - - - sample_rate - samp_rate - - - sync - - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (16, 128) - - - _rotation - 0 - - - id - samp_rate - - - label - samp_rate - - - short_id - s - - - type - eng_float - - - value - 2000000.052982 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (1368, 7) - - - _rotation - 0 - - - id - serverport - - - label - UDP server listening port - - - short_id - - - - type - string - - - value - 4729 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (584, 112) - - - _rotation - 0 - - - id - shiftoff - - - label - Frequency Shiftoff - - - short_id - o - - - type - eng_float - - - value - 400e3 - - - - blocks_head_0 - blocks_rotator_cc_0 - 0 - 0 - - - blocks_rotator_cc_0 - gsm_input_0 - 0 - 0 - - - blocks_socket_pdu_0_0 - gsm_message_printer_1 - pdus - msgs - - - gsm_bcch_ccch_sdcch4_demapper_0 - gsm_control_channels_decoder_0 - bursts - bursts - - - gsm_clock_offset_control_0 - gsm_input_0 - ctrl - ctrl_in - - - gsm_control_channels_decoder_0 - blocks_socket_pdu_0_1 - msgs - pdus - - - gsm_control_channels_decoder_0_0 - blocks_socket_pdu_0_1 - msgs - pdus - - - gsm_decryption_0 - gsm_control_channels_decoder_0_0 - bursts - bursts - - - gsm_input_0 - gsm_receiver_0 - 0 - 0 - - - gsm_receiver_0 - gsm_bcch_ccch_sdcch4_demapper_0 - C0 - bursts - - - gsm_receiver_0 - gsm_sdcch8_demapper_0 - C0 - bursts - - - gsm_receiver_0 - gsm_clock_offset_control_0 - measurements - measurements - - - gsm_sdcch8_demapper_0 - gsm_decryption_0 - bursts - bursts - - - rtlsdr_source_0 - blocks_head_0 - 0 - 0 - - +options: + parameters: + author: Piotr Krysik + category: Custom + cmake_opt: '' + comment: '' + copyright: '' + description: 'Interactive monitor of a single C0 channel with analysis performed + by Wireshark (command to run wireshark: sudo wireshark -k -f udp -Y gsmtap -i + lo)' + gen_cmake: 'On' + gen_linking: dynamic + generate_options: no_gui + hier_block_src_path: '.:' + id: grgsm_livemon_headless + max_nouts: '0' + output_language: python + placement: (0,0) + qt_qss_theme: '' + realtime_scheduling: '' + run: 'True' + run_command: '{python} -u {filename}' + run_options: run + sizing_mode: fixed + thread_safe_setters: '' + title: Gr-gsm Livemon + window_size: 2280, 1024 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [16, 11] + rotation: 0 + state: enabled + +blocks: +- name: args + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: Device Arguments + short_id: '' + type: '' + value: '""' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [752, 7] + rotation: 0 + state: enabled +- name: blocks_head_0 + id: blocks_head + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + num_items: int(rec_len*samp_rate) + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [256, 300] + rotation: 0 + state: enabled +- name: blocks_rotator_cc_0 + id: blocks_rotator_cc + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + phase_inc: -2*pi*shiftoff/samp_rate + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [416, 300] + rotation: 0 + state: enabled +- name: blocks_socket_pdu_0_0 + id: blocks_socket_pdu + parameters: + affinity: '' + alias: '' + comment: '' + host: 127.0.0.1 + maxoutbuf: '0' + minoutbuf: '0' + mtu: '10000' + port: serverport + tcp_no_delay: 'False' + type: TCP_SERVER + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1736, 295] + rotation: 0 + state: enabled +- name: blocks_socket_pdu_0_1 + id: blocks_socket_pdu + parameters: + affinity: '' + alias: '' + comment: '' + host: collector + maxoutbuf: '0' + minoutbuf: '0' + mtu: '1500' + port: collectorport + tcp_no_delay: 'False' + type: TCP_SERVER + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1608, 295] + rotation: 0 + state: enabled +- name: collector + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: IP or DNS name of collector point + short_id: '' + type: '' + value: 'localhost' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1048, 7] + rotation: 0 + state: enabled +- name: collectorport + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: UDP port number of collector + short_id: '' + type: '' + value: '4729' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1208, 7] + rotation: 0 + state: enabled +- name: fc + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: GSM channel's central frequency + short_id: f + type: eng_float + value: 957e6 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [584, 8] + rotation: 0 + state: enabled +- name: gain + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: RF Gain + short_id: g + type: eng_float + value: '30' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [480, 8] + rotation: 0 + state: enabled +- name: gsm_bcch_ccch_sdcch4_demapper_0 + id: gsm_bcch_ccch_sdcch4_demapper + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + timeslot_nr: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1016, 284] + rotation: 0 + state: enabled +- name: gsm_clock_offset_control_0 + id: gsm_clock_offset_control + parameters: + affinity: '' + alias: '' + comment: '' + fc: fc-shiftoff + maxoutbuf: '0' + minoutbuf: '0' + osr: osr + samp_rate: samp_rate + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [688, 414] + rotation: 180 + state: enabled +- name: gsm_control_channels_decoder_0 + id: gsm_control_channels_decoder + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1368, 289] + rotation: 0 + state: enabled +- name: gsm_control_channels_decoder_0_0 + id: gsm_control_channels_decoder + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1368, 345] + rotation: 0 + state: enabled +- name: gsm_decryption_0 + id: gsm_decryption + parameters: + a5_version: '1' + affinity: '' + alias: '' + comment: '' + k_c: '[]' + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1208, 333] + rotation: 0 + state: enabled +- name: gsm_input_0 + id: gsm_input + parameters: + affinity: '' + alias: '' + comment: '' + fc: fc + maxoutbuf: '0' + minoutbuf: '0' + osr: osr + ppm: ppm-int(ppm) + samp_rate_in: samp_rate + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [624, 305] + rotation: 0 + state: enabled +- name: gsm_message_printer_1 + id: gsm_message_printer + parameters: + affinity: '' + alias: '' + comment: '' + prepend_fnr: 'False' + prepend_frame_count: 'False' + prepend_string: '""' + print_gsmtap_header: 'False' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1880, 302] + rotation: 0 + state: enabled +- name: gsm_receiver_0 + id: gsm_receiver + parameters: + affinity: '' + alias: '' + cell_allocation: '[arfcn.downlink2arfcn(fc)]' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + num_streams: '1' + osr: osr + tseq_nums: '[]' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [808, 289] + rotation: 0 + state: enabled +- name: gsm_sdcch8_demapper_0 + id: gsm_sdcch8_demapper + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + timeslot_nr: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1016, 340] + rotation: 0 + state: enabled +- name: import_0 + id: import + parameters: + alias: '' + comment: '' + imports: from math import pi + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [200, 12] + rotation: 0 + state: enabled +- name: import_1 + id: import + parameters: + alias: '' + comment: '' + imports: from grgsm import arfcn + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [200, 60] + rotation: 0 + state: enabled +- name: osr + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: OverSampling Ratio + short_id: '' + type: intx + value: '4' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [896, 7] + rotation: 0 + state: enabled +- name: ppm + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: Clock frequency offset in ppms (1/1e6 parts) + short_id: p + type: eng_float + value: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [312, 112] + rotation: 0 + state: enabled +- name: rec_len + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: Recording length in seconds + short_id: T + type: eng_float + value: '1000000' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [312, 8] + rotation: 0 + state: enabled +- name: rtlsdr_source_0 + id: rtlsdr_source + parameters: + affinity: '' + alias: '' + ant0: '' + ant1: '' + ant10: '' + ant11: '' + ant12: '' + ant13: '' + ant14: '' + ant15: '' + ant16: '' + ant17: '' + ant18: '' + ant19: '' + ant2: '' + ant20: '' + ant21: '' + ant22: '' + ant23: '' + ant24: '' + ant25: '' + ant26: '' + ant27: '' + ant28: '' + ant29: '' + ant3: '' + ant30: '' + ant31: '' + ant4: '' + ant5: '' + ant6: '' + ant7: '' + ant8: '' + ant9: '' + args: str(grgsm.device.get_default_args(args)) + bb_gain0: '20' + bb_gain1: '20' + bb_gain10: '20' + bb_gain11: '20' + bb_gain12: '20' + bb_gain13: '20' + bb_gain14: '20' + bb_gain15: '20' + bb_gain16: '20' + bb_gain17: '20' + bb_gain18: '20' + bb_gain19: '20' + bb_gain2: '20' + bb_gain20: '20' + bb_gain21: '20' + bb_gain22: '20' + bb_gain23: '20' + bb_gain24: '20' + bb_gain25: '20' + bb_gain26: '20' + bb_gain27: '20' + bb_gain28: '20' + bb_gain29: '20' + bb_gain3: '20' + bb_gain30: '20' + bb_gain31: '20' + bb_gain4: '20' + bb_gain5: '20' + bb_gain6: '20' + bb_gain7: '20' + bb_gain8: '20' + bb_gain9: '20' + bw0: 250e3+abs(shiftoff) + bw1: '0' + bw10: '0' + bw11: '0' + bw12: '0' + bw13: '0' + bw14: '0' + bw15: '0' + bw16: '0' + bw17: '0' + bw18: '0' + bw19: '0' + bw2: '0' + bw20: '0' + bw21: '0' + bw22: '0' + bw23: '0' + bw24: '0' + bw25: '0' + bw26: '0' + bw27: '0' + bw28: '0' + bw29: '0' + bw3: '0' + bw30: '0' + bw31: '0' + bw4: '0' + bw5: '0' + bw6: '0' + bw7: '0' + bw8: '0' + bw9: '0' + clock_source0: '' + clock_source1: '' + clock_source2: '' + clock_source3: '' + clock_source4: '' + clock_source5: '' + clock_source6: '' + clock_source7: '' + comment: '' + corr0: ppm + corr1: '0' + corr10: '0' + corr11: '0' + corr12: '0' + corr13: '0' + corr14: '0' + corr15: '0' + corr16: '0' + corr17: '0' + corr18: '0' + corr19: '0' + corr2: '0' + corr20: '0' + corr21: '0' + corr22: '0' + corr23: '0' + corr24: '0' + corr25: '0' + corr26: '0' + corr27: '0' + corr28: '0' + corr29: '0' + corr3: '0' + corr30: '0' + corr31: '0' + corr4: '0' + corr5: '0' + corr6: '0' + corr7: '0' + corr8: '0' + corr9: '0' + dc_offset_mode0: '2' + dc_offset_mode1: '0' + dc_offset_mode10: '0' + dc_offset_mode11: '0' + dc_offset_mode12: '0' + dc_offset_mode13: '0' + dc_offset_mode14: '0' + dc_offset_mode15: '0' + dc_offset_mode16: '0' + dc_offset_mode17: '0' + dc_offset_mode18: '0' + dc_offset_mode19: '0' + dc_offset_mode2: '0' + dc_offset_mode20: '0' + dc_offset_mode21: '0' + dc_offset_mode22: '0' + dc_offset_mode23: '0' + dc_offset_mode24: '0' + dc_offset_mode25: '0' + dc_offset_mode26: '0' + dc_offset_mode27: '0' + dc_offset_mode28: '0' + dc_offset_mode29: '0' + dc_offset_mode3: '0' + dc_offset_mode30: '0' + dc_offset_mode31: '0' + dc_offset_mode4: '0' + dc_offset_mode5: '0' + dc_offset_mode6: '0' + dc_offset_mode7: '0' + dc_offset_mode8: '0' + dc_offset_mode9: '0' + freq0: fc-shiftoff + freq1: 100e6 + freq10: 100e6 + freq11: 100e6 + freq12: 100e6 + freq13: 100e6 + freq14: 100e6 + freq15: 100e6 + freq16: 100e6 + freq17: 100e6 + freq18: 100e6 + freq19: 100e6 + freq2: 100e6 + freq20: 100e6 + freq21: 100e6 + freq22: 100e6 + freq23: 100e6 + freq24: 100e6 + freq25: 100e6 + freq26: 100e6 + freq27: 100e6 + freq28: 100e6 + freq29: 100e6 + freq3: 100e6 + freq30: 100e6 + freq31: 100e6 + freq4: 100e6 + freq5: 100e6 + freq6: 100e6 + freq7: 100e6 + freq8: 100e6 + freq9: 100e6 + gain0: gain + gain1: '10' + gain10: '10' + gain11: '10' + gain12: '10' + gain13: '10' + gain14: '10' + gain15: '10' + gain16: '10' + gain17: '10' + gain18: '10' + gain19: '10' + gain2: '10' + gain20: '10' + gain21: '10' + gain22: '10' + gain23: '10' + gain24: '10' + gain25: '10' + gain26: '10' + gain27: '10' + gain28: '10' + gain29: '10' + gain3: '10' + gain30: '10' + gain31: '10' + gain4: '10' + gain5: '10' + gain6: '10' + gain7: '10' + gain8: '10' + gain9: '10' + gain_mode0: 'False' + gain_mode1: 'True' + gain_mode10: 'False' + gain_mode11: 'False' + gain_mode12: 'False' + gain_mode13: 'False' + gain_mode14: 'False' + gain_mode15: 'False' + gain_mode16: 'False' + gain_mode17: 'False' + gain_mode18: 'False' + gain_mode19: 'False' + gain_mode2: 'True' + gain_mode20: 'False' + gain_mode21: 'False' + gain_mode22: 'False' + gain_mode23: 'False' + gain_mode24: 'False' + gain_mode25: 'False' + gain_mode26: 'False' + gain_mode27: 'False' + gain_mode28: 'False' + gain_mode29: 'False' + gain_mode3: 'True' + gain_mode30: 'False' + gain_mode31: 'False' + gain_mode4: 'True' + gain_mode5: 'False' + gain_mode6: 'False' + gain_mode7: 'False' + gain_mode8: 'False' + gain_mode9: 'False' + if_gain0: '20' + if_gain1: '20' + if_gain10: '20' + if_gain11: '20' + if_gain12: '20' + if_gain13: '20' + if_gain14: '20' + if_gain15: '20' + if_gain16: '20' + if_gain17: '20' + if_gain18: '20' + if_gain19: '20' + if_gain2: '20' + if_gain20: '20' + if_gain21: '20' + if_gain22: '20' + if_gain23: '20' + if_gain24: '20' + if_gain25: '20' + if_gain26: '20' + if_gain27: '20' + if_gain28: '20' + if_gain29: '20' + if_gain3: '20' + if_gain30: '20' + if_gain31: '20' + if_gain4: '20' + if_gain5: '20' + if_gain6: '20' + if_gain7: '20' + if_gain8: '20' + if_gain9: '20' + iq_balance_mode0: '2' + iq_balance_mode1: '0' + iq_balance_mode10: '0' + iq_balance_mode11: '0' + iq_balance_mode12: '0' + iq_balance_mode13: '0' + iq_balance_mode14: '0' + iq_balance_mode15: '0' + iq_balance_mode16: '0' + iq_balance_mode17: '0' + iq_balance_mode18: '0' + iq_balance_mode19: '0' + iq_balance_mode2: '0' + iq_balance_mode20: '0' + iq_balance_mode21: '0' + iq_balance_mode22: '0' + iq_balance_mode23: '0' + iq_balance_mode24: '0' + iq_balance_mode25: '0' + iq_balance_mode26: '0' + iq_balance_mode27: '0' + iq_balance_mode28: '0' + iq_balance_mode29: '0' + iq_balance_mode3: '0' + iq_balance_mode30: '0' + iq_balance_mode31: '0' + iq_balance_mode4: '0' + iq_balance_mode5: '0' + iq_balance_mode6: '0' + iq_balance_mode7: '0' + iq_balance_mode8: '0' + iq_balance_mode9: '0' + maxoutbuf: '0' + minoutbuf: '0' + nchan: '1' + num_mboards: '1' + sample_rate: samp_rate + sync: sync + time_source0: '' + time_source1: '' + time_source2: '' + time_source3: '' + time_source4: '' + time_source5: '' + time_source6: '' + time_source7: '' + type: fc32 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [8, 237] + rotation: 0 + state: enabled +- name: samp_rate + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: samp_rate + short_id: s + type: eng_float + value: '2000000.052982' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [16, 128] + rotation: 0 + state: enabled +- name: serverport + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: UDP server listening port + short_id: '' + type: '' + value: '4729' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1368, 7] + rotation: 0 + state: enabled +- name: shiftoff + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: Frequency Shiftoff + short_id: o + type: eng_float + value: 400e3 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [584, 112] + rotation: 0 + state: enabled + +connections: +- [blocks_head_0, '0', blocks_rotator_cc_0, '0'] +- [blocks_rotator_cc_0, '0', gsm_input_0, '0'] +- [blocks_socket_pdu_0_0, pdus, gsm_message_printer_1, msgs] +- [gsm_bcch_ccch_sdcch4_demapper_0, bursts, gsm_control_channels_decoder_0, bursts] +- [gsm_clock_offset_control_0, ctrl, gsm_input_0, ctrl_in] +- [gsm_control_channels_decoder_0, msgs, blocks_socket_pdu_0_1, pdus] +- [gsm_control_channels_decoder_0_0, msgs, blocks_socket_pdu_0_1, pdus] +- [gsm_decryption_0, bursts, gsm_control_channels_decoder_0_0, bursts] +- [gsm_input_0, '0', gsm_receiver_0, '0'] +- [gsm_receiver_0, C0, gsm_bcch_ccch_sdcch4_demapper_0, bursts] +- [gsm_receiver_0, C0, gsm_sdcch8_demapper_0, bursts] +- [gsm_receiver_0, measurements, gsm_clock_offset_control_0, measurements] +- [gsm_sdcch8_demapper_0, bursts, gsm_decryption_0, bursts] +- [rtlsdr_source_0, '0', blocks_head_0, '0'] + +metadata: + file_format: 1 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24064 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I73023fc66d1ffd6c714a0610962c005395dc126b Gerrit-Change-Number: 24064 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:40 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:40 +0000 Subject: Change in gr-gsm[master]: travis: Install only python3 packages In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24065 ) Change subject: travis: Install only python3 packages ...................................................................... travis: Install only python3 packages Change-Id: I3548fa7340afc63557cc65a7a396ecf96c607806 --- M tests/dockerfiles/Debian_testing.docker M tests/dockerfiles/Kali.docker 2 files changed, 4 insertions(+), 6 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/tests/dockerfiles/Debian_testing.docker b/tests/dockerfiles/Debian_testing.docker index 6cc4949..b95d958 100644 --- a/tests/dockerfiles/Debian_testing.docker +++ b/tests/dockerfiles/Debian_testing.docker @@ -7,13 +7,12 @@ libtool \ pkg-config \ build-essential \ - python-docutils \ libcppunit-dev \ swig \ doxygen \ liblog4cpp5-dev \ - python-gtk2 \ - python-scipy \ + python3-docutils \ + python3-scipy \ gnuradio-dev gnuradio libgmp-dev libboost-regex-dev \ libosmocore-dev diff --git a/tests/dockerfiles/Kali.docker b/tests/dockerfiles/Kali.docker index b4a9719..f386049 100644 --- a/tests/dockerfiles/Kali.docker +++ b/tests/dockerfiles/Kali.docker @@ -7,13 +7,12 @@ libtool \ pkg-config \ build-essential \ - python-docutils \ libcppunit-dev \ swig \ doxygen \ liblog4cpp5-dev \ - python-gtk2 \ - python-scipy \ + python3-docutils \ + python3-scipy \ gnuradio-dev gnuradio libgmp-dev libboost-regex-dev \ libosmocore-dev -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24065 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I3548fa7340afc63557cc65a7a396ecf96c607806 Gerrit-Change-Number: 24065 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:40 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:40 +0000 Subject: Change in gr-gsm[master]: travis: Manually install gr-iqbal and gr-osmosdr In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24066 ) Change subject: travis: Manually install gr-iqbal and gr-osmosdr ...................................................................... travis: Manually install gr-iqbal and gr-osmosdr Currently these two packages still depends on gnuradio 3.8 in debian testing and kali rolling. Change-Id: I4f956577293c48d803b8b45d06ba508792501274 --- M tests/dockerfiles/Debian_testing.docker M tests/dockerfiles/Kali.docker 2 files changed, 35 insertions(+), 2 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/tests/dockerfiles/Debian_testing.docker b/tests/dockerfiles/Debian_testing.docker index b95d958..e81d299 100644 --- a/tests/dockerfiles/Debian_testing.docker +++ b/tests/dockerfiles/Debian_testing.docker @@ -16,11 +16,28 @@ gnuradio-dev gnuradio libgmp-dev libboost-regex-dev \ libosmocore-dev +# packages needed for gr-iqbal and gr-osmosdr +RUN apt-get install -y git libuhd-dev + COPY ./ /src/ -RUN ls /src + +RUN git clone --branch maint-3.8 --recurse-submodules https://github.com/velichkov/gr-iqbal && \ + cd gr-iqbal && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make -j $(nproc) install + +RUN git clone --branch maint-3.8 https://github.com/velichkov/gr-osmosdr && \ + cd gr-osmosdr && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make -j $(nproc) install RUN mkdir /src/build WORKDIR /src/build + RUN cmake .. && \ # The parallel build sometimes fails when the .grc_gnuradio # and .gnuradio directories do not exist diff --git a/tests/dockerfiles/Kali.docker b/tests/dockerfiles/Kali.docker index f386049..32548ca 100644 --- a/tests/dockerfiles/Kali.docker +++ b/tests/dockerfiles/Kali.docker @@ -16,8 +16,24 @@ gnuradio-dev gnuradio libgmp-dev libboost-regex-dev \ libosmocore-dev +# packages needed for gr-iqbal and gr-osmosdr +RUN apt-get install -y git libuhd-dev + COPY ./ /src/ -RUN ls /src + +RUN git clone --branch maint-3.8 --recurse-submodules https://github.com/velichkov/gr-iqbal && \ + cd gr-iqbal && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make -j $(nproc) install + +RUN git clone --branch maint-3.8 https://github.com/velichkov/gr-osmosdr && \ + cd gr-osmosdr && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make -j $(nproc) install RUN mkdir /src/build WORKDIR /src/build -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24066 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I4f956577293c48d803b8b45d06ba508792501274 Gerrit-Change-Number: 24066 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:40 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:40 +0000 Subject: Change in gr-gsm[master]: grgsm_livemon: Disable PPS sync In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24067 ) Change subject: grgsm_livemon: Disable PPS sync ...................................................................... grgsm_livemon: Disable PPS sync Because of the following error when used with USRP B100 [INFO] [MULTI_USRP] 1) catch time transition at pps edge Traceback (most recent call last): File "./grgsm_livemon.py", line 365, in main() File "./grgsm_livemon.py", line 343, in main tb = top_block_cls(fc=options.fc, gain=options.gain, osr=options.osr, ppm=options.ppm, samp_rate=options.samp_rate, shiftoff=options.shiftoff) File "./grgsm_livemon.py", line 114, in __init__ self.rtlsdr_source_0.set_time_unknown_pps(osmosdr.time_spec_t()) File "/home/vasko/gr38/lib/python3.7/dist-packages/osmosdr/osmosdr_swig.py", line 2543, in set_time_unknown_pps return _osmosdr_swig.source_sptr_set_time_unknown_pps(self, time_spec) RuntimeError: RuntimeError: Board 0 may not be getting a PPS signal! No PPS detected within the time interval. See the application notes for your device. Change-Id: Iee6124bdb2441666a53ac9ee5239894aea61dfde --- M apps/grgsm_livemon.grc M apps/grgsm_livemon_headless.grc 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/apps/grgsm_livemon.grc b/apps/grgsm_livemon.grc index 3d80268..2f6d29c 100644 --- a/apps/grgsm_livemon.grc +++ b/apps/grgsm_livemon.grc @@ -870,7 +870,7 @@ nchan: '1' num_mboards: '1' sample_rate: samp_rate - sync: sync + sync: none time_source0: '' time_source1: '' time_source2: '' diff --git a/apps/grgsm_livemon_headless.grc b/apps/grgsm_livemon_headless.grc index e6728b7..4d0c83e 100644 --- a/apps/grgsm_livemon_headless.grc +++ b/apps/grgsm_livemon_headless.grc @@ -762,7 +762,7 @@ nchan: '1' num_mboards: '1' sample_rate: samp_rate - sync: sync + sync: none time_source0: '' time_source1: '' time_source2: '' -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iee6124bdb2441666a53ac9ee5239894aea61dfde Gerrit-Change-Number: 24067 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:40 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:40 +0000 Subject: Change in gr-gsm[master]: grgsm_livemon: Change the type of several parameters to string In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24068 ) Change subject: grgsm_livemon: Change the type of several parameters to string ...................................................................... grgsm_livemon: Change the type of several parameters to string It seems gnuradio 3.8 does not like parameters with type None and does not put them as command line arguments Change-Id: Id67e37e826aa1cc14640d57207a92def682f11e3 --- M apps/grgsm_livemon.grc M apps/grgsm_livemon_headless.grc 2 files changed, 8 insertions(+), 8 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/apps/grgsm_livemon.grc b/apps/grgsm_livemon.grc index 2f6d29c..4e07e88 100644 --- a/apps/grgsm_livemon.grc +++ b/apps/grgsm_livemon.grc @@ -105,7 +105,7 @@ hide: none label: Device Arguments short_id: '' - type: '' + type: str value: '""' states: bus_sink: false @@ -178,7 +178,7 @@ hide: none label: IP or DNS name of collector point short_id: '' - type: '' + type: str value: 'localhost' states: bus_sink: false @@ -195,7 +195,7 @@ hide: none label: UDP port number of collector short_id: '' - type: '' + type: str value: '4729' states: bus_sink: false @@ -912,7 +912,7 @@ hide: none label: UDP server listening port short_id: '' - type: '' + type: str value: '4729' states: bus_sink: false diff --git a/apps/grgsm_livemon_headless.grc b/apps/grgsm_livemon_headless.grc index 4d0c83e..1bea77c 100644 --- a/apps/grgsm_livemon_headless.grc +++ b/apps/grgsm_livemon_headless.grc @@ -42,7 +42,7 @@ hide: none label: Device Arguments short_id: '' - type: '' + type: str value: '""' states: bus_sink: false @@ -133,7 +133,7 @@ hide: none label: IP or DNS name of collector point short_id: '' - type: '' + type: str value: 'localhost' states: bus_sink: false @@ -150,7 +150,7 @@ hide: none label: UDP port number of collector short_id: '' - type: '' + type: str value: '4729' states: bus_sink: false @@ -804,7 +804,7 @@ hide: none label: UDP server listening port short_id: '' - type: '' + type: str value: '4729' states: bus_sink: false -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24068 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Id67e37e826aa1cc14640d57207a92def682f11e3 Gerrit-Change-Number: 24068 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:41 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:41 +0000 Subject: Change in gr-gsm[master]: grgsm_livemon: Fix UDP client and server blocks In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24069 ) Change subject: grgsm_livemon: Fix UDP client and server blocks ...................................................................... grgsm_livemon: Fix UDP client and server blocks During the convertion to YAML the block types was changed from TCP to UDP Change-Id: I542d7c36c30dc8179fa0ee84fc87e134cd2ba9f5 --- M apps/grgsm_livemon.grc M apps/grgsm_livemon_headless.grc 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/apps/grgsm_livemon.grc b/apps/grgsm_livemon.grc index 4e07e88..fa96cfb 100644 --- a/apps/grgsm_livemon.grc +++ b/apps/grgsm_livemon.grc @@ -142,7 +142,7 @@ mtu: '10000' port: serverport tcp_no_delay: 'False' - type: TCP_SERVER + type: UDP_SERVER states: bus_sink: false bus_source: false @@ -162,7 +162,7 @@ mtu: '1500' port: collectorport tcp_no_delay: 'False' - type: TCP_SERVER + type: UDP_CLIENT states: bus_sink: false bus_source: false diff --git a/apps/grgsm_livemon_headless.grc b/apps/grgsm_livemon_headless.grc index 1bea77c..47db941 100644 --- a/apps/grgsm_livemon_headless.grc +++ b/apps/grgsm_livemon_headless.grc @@ -97,7 +97,7 @@ mtu: '10000' port: serverport tcp_no_delay: 'False' - type: TCP_SERVER + type: UDP_SERVER states: bus_sink: false bus_source: false @@ -117,7 +117,7 @@ mtu: '1500' port: collectorport tcp_no_delay: 'False' - type: TCP_SERVER + type: UDP_CLIENT states: bus_sink: false bus_source: false -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24069 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I542d7c36c30dc8179fa0ee84fc87e134cd2ba9f5 Gerrit-Change-Number: 24069 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:41 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:41 +0000 Subject: Change in gr-gsm[master]: grgsm_livemon: Set cell_allocation to [0] In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24070 ) Change subject: grgsm_livemon: Set cell_allocation to [0] ...................................................................... grgsm_livemon: Set cell_allocation to [0] Gnuradio 3.8 does not like cell_allocation: '[arfcn.downlink2arfcn(fc)]' and the Receiver block does not work with an empty cell allocation array gnuradio.grc.core.platform:["Param - Cell allocation(cell_allocation):\n\tExpression None is invalid for type'float_vector'."] Change-Id: Iae6de844509b13bdf834c9c7443382b1ab3b0a28 --- M apps/grgsm_livemon.grc M apps/grgsm_livemon_headless.grc 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/apps/grgsm_livemon.grc b/apps/grgsm_livemon.grc index fa96cfb..a11b243 100644 --- a/apps/grgsm_livemon.grc +++ b/apps/grgsm_livemon.grc @@ -360,7 +360,7 @@ parameters: affinity: '' alias: '' - cell_allocation: '[arfcn.downlink2arfcn(fc)]' + cell_allocation: '[0]' comment: '' maxoutbuf: '0' minoutbuf: '0' diff --git a/apps/grgsm_livemon_headless.grc b/apps/grgsm_livemon_headless.grc index 47db941..27d43b8 100644 --- a/apps/grgsm_livemon_headless.grc +++ b/apps/grgsm_livemon_headless.grc @@ -315,7 +315,7 @@ parameters: affinity: '' alias: '' - cell_allocation: '[arfcn.downlink2arfcn(fc)]' + cell_allocation: '[0]' comment: '' maxoutbuf: '0' minoutbuf: '0' -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iae6de844509b13bdf834c9c7443382b1ab3b0a28 Gerrit-Change-Number: 24070 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:41 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:41 +0000 Subject: Change in gr-gsm[master]: grgsm_livemon: Specify localhost as string In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24071 ) Change subject: grgsm_livemon: Specify localhost as string ...................................................................... grgsm_livemon: Specify localhost as string Traceback (most recent call last): File "/home/vasko/gr38/lib/python3.7/dist-packages/gnuradio/grc/core/FlowGraph.py", line 216, in renew_namespace value = eval(parameter_block.params['value'].to_code(), namespace) File "", line 1, in NameError: name 'localhost' is not defined Change-Id: I6bae2fb1f09038cb0cd3410533d3b3fdc79ed354 --- M apps/grgsm_livemon.grc M apps/grgsm_livemon_headless.grc 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/apps/grgsm_livemon.grc b/apps/grgsm_livemon.grc index a11b243..941f816 100644 --- a/apps/grgsm_livemon.grc +++ b/apps/grgsm_livemon.grc @@ -179,7 +179,7 @@ label: IP or DNS name of collector point short_id: '' type: str - value: 'localhost' + value: '"localhost"' states: bus_sink: false bus_source: false diff --git a/apps/grgsm_livemon_headless.grc b/apps/grgsm_livemon_headless.grc index 27d43b8..f4d5945 100644 --- a/apps/grgsm_livemon_headless.grc +++ b/apps/grgsm_livemon_headless.grc @@ -134,7 +134,7 @@ label: IP or DNS name of collector point short_id: '' type: str - value: 'localhost' + value: '"localhost"' states: bus_sink: false bus_source: false -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I6bae2fb1f09038cb0cd3410533d3b3fdc79ed354 Gerrit-Change-Number: 24071 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:42 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:42 +0000 Subject: Change in gr-gsm[master]: grgsm_decode: Print frequency or ARFCN message on stderr In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24072 ) Change subject: grgsm_decode: Print frequency or ARFCN message on stderr ...................................................................... grgsm_decode: Print frequency or ARFCN message on stderr For some yet unknown reasons in travis on Debian testing and Kali rolling the message gets printed after the burst and decode.sh and decrypt.sh tests fails because of this. Instead of filtering this messages in the tests I think it is better such messages to be printed on the standard error output Change-Id: Ib18be898cac74769cabf1b748e40e21d23f08e98 --- M apps/grgsm_decode 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/apps/grgsm_decode b/apps/grgsm_decode index 034014e..d754fc7 100755 --- a/apps/grgsm_decode +++ b/apps/grgsm_decode @@ -30,6 +30,7 @@ import grgsm import pmt import socket +import sys class grgsm_decoder(gr.top_block): @@ -368,7 +369,7 @@ parser.error("Invalid A5 version\n") if options.cfile and (options.fc is None and options.arfcn is None): - print("You haven't provided a frequency or an ARFCN - working without automatic frequency offset correction.\n") + print("You haven't provided a frequency or an ARFCN - working without automatic frequency offset correction.\n", file=sys.stderr) # handle frequency / arfcn input arfcn = None -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24072 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ib18be898cac74769cabf1b748e40e21d23f08e98 Gerrit-Change-Number: 24072 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:42 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:42 +0000 Subject: Change in gr-gsm[master]: travis: gnuradio-companion 3.8 does not have --version parameter In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24073 ) Change subject: travis: gnuradio-companion 3.8 does not have --version parameter ...................................................................... travis: gnuradio-companion 3.8 does not have --version parameter And currently grgsm, gr-osmosdr and gr-iqbal are installed in /usr/local/lib/python3/dist-packages/ which is not in the default python search path. Change-Id: I7e00c84a4b72e9fa1dcf5ac453882f1733724ac0 --- M tests/scripts/decode.sh M tests/scripts/decrypt.sh 2 files changed, 14 insertions(+), 4 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/tests/scripts/decode.sh b/tests/scripts/decode.sh index c71b26e..b982709 100755 --- a/tests/scripts/decode.sh +++ b/tests/scripts/decode.sh @@ -3,7 +3,11 @@ TEST_DIR=`dirname "$0"` # PYTHONPATH and LD_LIBRARY_PATH are needed on Fedora 26 -export PYTHONPATH=/usr/local/lib64/python2.7/site-packages/:/usr/local/lib64/python2.7/site-packages/grgsm/:$PYTHONPATH +# +# /usr/local/lib/python3/dist-packages/ is currently needed on Debian Testing and Kali Rolling +# https://salsa.debian.org/bottoms/pkg-gnuradio/blob/unstable/debian/patches/debian-python-install#L8 +# +export PYTHONPATH=/usr/local/lib/python3/dist-packages/:/usr/local/lib64/python2.7/site-packages/:/usr/local/lib64/python2.7/site-packages/grgsm/:$PYTHONPATH export LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH export AP_DECODE="grgsm_decode" @@ -14,7 +18,8 @@ export RUNLINE="$AP_DECODE -c $SHORTENED_CAPFILE -s $((100000000/174)) -m BCCH -t 0 -v --ppm -10" echo "Testing with:" echo " $RUNLINE" -gnuradio-companion --version +#gnuradio 3.8 does not have --version parameter +#gnuradio-companion --version cd $TEST_DIR cat $CAPFILE | head -c 6000000 > $SHORTENED_CAPFILE diff --git a/tests/scripts/decrypt.sh b/tests/scripts/decrypt.sh index afd12cc..7f9bc60 100755 --- a/tests/scripts/decrypt.sh +++ b/tests/scripts/decrypt.sh @@ -3,7 +3,11 @@ TEST_DIR=`dirname "$0"` # PYTHONPATH and LD_LIBRARY_PATH are needed on Fedora 26 -export PYTHONPATH=/usr/local/lib64/python2.7/site-packages/:/usr/local/lib64/python2.7/site-packages/grgsm/:$PYTHONPATH +# +# /usr/local/lib/python3/dist-packages/ is currently needed on Debian Testing and Kali Rolling +# https://salsa.debian.org/bottoms/pkg-gnuradio/blob/unstable/debian/patches/debian-python-install#L8 +# +export PYTHONPATH=/usr/local/lib/python3/dist-packages/:/usr/local/lib64/python2.7/site-packages/:/usr/local/lib64/python2.7/site-packages/grgsm/:$PYTHONPATH export LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH export AP_DECODE="grgsm_decode" @@ -14,7 +18,8 @@ export RUNLINE="$AP_DECODE -c $SHORTENED_CAPFILE -s $((100000000/174)) -m SDCCH8 -t 1 -k 0x1E,0xF0,0x0B,0xAB,0x3B,0xAC,0x70,0x02 -v --ppm -10" echo "Testing with:" echo " $RUNLINE" -gnuradio-companion --version +#gnuradio 3.8 does not have --version parameter +#gnuradio-companion --version cd $TEST_DIR cat $CAPFILE | head -c -37000000 | head -c 35800000 > $SHORTENED_CAPFILE -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I7e00c84a4b72e9fa1dcf5ac453882f1733724ac0 Gerrit-Change-Number: 24073 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:42 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:42 +0000 Subject: Change in gr-gsm[master]: Remove the RTLD_GLOBAL hack In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24074 ) Change subject: Remove the RTLD_GLOBAL hack ...................................................................... Remove the RTLD_GLOBAL hack It was removed from gnuradio back in 2014 https://github.com/gnuradio/gnuradio/commit/39f14138ac9158eb0610e89a2ae1f8290f184c44 Change-Id: I1604ad5b9eefe3d4a2228b2a09e2069962844c97 --- M python/__init__.py 1 file changed, 0 insertions(+), 26 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/python/__init__.py b/python/__init__.py index 557a8d6..ba5fc00 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -23,23 +23,6 @@ description here (python/__init__.py). ''' -# ---------------------------------------------------------------- -# Temporary workaround for ticket:181 (swig+python problem) -import sys -_RTLD_GLOBAL = 0 -try: - from dl import RTLD_GLOBAL as _RTLD_GLOBAL -except ImportError: - try: - from DLFCN import RTLD_GLOBAL as _RTLD_GLOBAL - except ImportError: - pass - -if _RTLD_GLOBAL != 0: - _dlopenflags = sys.getdlopenflags() - sys.setdlopenflags(_dlopenflags|_RTLD_GLOBAL) -# ---------------------------------------------------------------- - # import swig generated symbols into the gsm namespace from .grgsm_swig import * @@ -59,12 +42,3 @@ from .txtime_bursts_tagger import * from .arfcn import * from .device import * - - -# - -# ---------------------------------------------------------------- -# Tail of workaround -if _RTLD_GLOBAL != 0: - sys.setdlopenflags(_dlopenflags) # Restore original flags -# ---------------------------------------------------------------- -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I1604ad5b9eefe3d4a2228b2a09e2069962844c97 Gerrit-Change-Number: 24074 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:42 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:42 +0000 Subject: Change in gr-gsm[master]: Fix grcc compilation with python3 by adding local subdirs to __path__ In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24075 ) Change subject: Fix grcc compilation with python3 by adding local subdirs to __path__ ...................................................................... Fix grcc compilation with python3 by adding local subdirs to __path__ As the directory structure in the repository is different then the one after the package gets installed we need to add those subdirectories to the __path__ otherwise python3 is not able to load the modules using the relative import syntax and grcc compilation and some unit tests fail. Mofiy __path__ only when the CMAKE_BINARY_DIR environment variable is present. Revert "grgsm_livemon: Set cell_allocation to [0]" This reverts commit 013d4c258c6ad31c2581f0caa4eee3aa609fd9de. Change-Id: I223fd6181e8e36027039301186b671712a597ff8 --- M apps/grgsm_livemon.grc M apps/grgsm_livemon_headless.grc M cmake/Modules/GrccCompile.cmake M python/CMakeLists.txt M python/__init__.py 5 files changed, 24 insertions(+), 3 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/apps/grgsm_livemon.grc b/apps/grgsm_livemon.grc index 941f816..e8bf4a5 100644 --- a/apps/grgsm_livemon.grc +++ b/apps/grgsm_livemon.grc @@ -360,7 +360,7 @@ parameters: affinity: '' alias: '' - cell_allocation: '[0]' + cell_allocation: '[arfcn.downlink2arfcn(fc)]' comment: '' maxoutbuf: '0' minoutbuf: '0' diff --git a/apps/grgsm_livemon_headless.grc b/apps/grgsm_livemon_headless.grc index f4d5945..8e2e3fa 100644 --- a/apps/grgsm_livemon_headless.grc +++ b/apps/grgsm_livemon_headless.grc @@ -315,7 +315,7 @@ parameters: affinity: '' alias: '' - cell_allocation: '[0]' + cell_allocation: '[arfcn.downlink2arfcn(fc)]' comment: '' maxoutbuf: '0' minoutbuf: '0' diff --git a/cmake/Modules/GrccCompile.cmake b/cmake/Modules/GrccCompile.cmake index 4589fd4..d2bc2d8 100644 --- a/cmake/Modules/GrccCompile.cmake +++ b/cmake/Modules/GrccCompile.cmake @@ -39,6 +39,7 @@ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${file_name} COMMAND "${CMAKE_COMMAND}" -E env PYTHONPATH="${PYTHONPATH}" GRC_BLOCKS_PATH=${CMAKE_SOURCE_DIR}/grc + CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR} ${GRCC} -o ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/${file_name}.grc COMMAND "${CMAKE_COMMAND}" -E rename ${CMAKE_CURRENT_BINARY_DIR}/${file_name}.py ${CMAKE_CURRENT_BINARY_DIR}/${file_name} diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index f0c984d..9cd7045 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -47,7 +47,8 @@ include(GrTest) set(GR_TEST_TARGET_DEPS gr-gsm) -set(GR_TEST_PYTHON_DIRS ${CMAKE_BINARY_DIR}/swig:${CMAKE_BINARY_DIR}/python/misc_utils:${CMAKE_BINARY_DIR}/python/receiver:${CMAKE_BINARY_DIR}/python/demapping:${CMAKE_BINARY_DIR}/python/transmitter) +set(GR_TEST_PYTHON_DIRS ${CMAKE_BINARY_DIR}/swig:${CMAKE_BINARY_DIR}/python/misc_utils) +set(GR_TEST_ENVIRONS "CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR}") GR_ADD_TEST(qa_arfcn ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_arfcn.py) GR_ADD_TEST(qa_decryption ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_decryption.py) GR_ADD_TEST(qa_burst_printer ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_burst_printer.py) diff --git a/python/__init__.py b/python/__init__.py index ba5fc00..87a62d6 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -23,6 +23,25 @@ description here (python/__init__.py). ''' +import os + +if "CMAKE_BINARY_DIR" in os.environ: + dirname, filename = os.path.split(os.path.abspath(__file__)) + + # As the directory structure in the repository is different then the one after the package + # gets installed we need to add those subdirectories to the __path__ otherwise python3 is + # not able to load the modules using the relative import syntax and grcc compilation and + # some unit tests fail. + __path__ += [ + # Load the local (not yet installed) grgsm_swig from the ../swig subdirectory. + os.path.join(os.environ.get("CMAKE_BINARY_DIR"), "swig"), + + # Load the local (not yet installed) python modules from the local subdirectories + os.path.join(dirname, "misc_utils"), + os.path.join(dirname, "receiver"), + os.path.join(dirname, "demapping"), + os.path.join(dirname, "transmitter"), + os.path.join(dirname, "trx")] # import swig generated symbols into the gsm namespace from .grgsm_swig import * -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I223fd6181e8e36027039301186b671712a597ff8 Gerrit-Change-Number: 24075 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:43 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:43 +0000 Subject: Change in gr-gsm[master]: Do not add python/misc_utils to PYTHONPATH when executing tests In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24076 ) Change subject: Do not add python/misc_utils to PYTHONPATH when executing tests ...................................................................... Do not add python/misc_utils to PYTHONPATH when executing tests Change-Id: Ib19a181a3fd9bb78c1d3989bad0e55433f060950 --- M python/CMakeLists.txt M python/qa_arfcn.py 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 9cd7045..31efedb 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -47,7 +47,7 @@ include(GrTest) set(GR_TEST_TARGET_DEPS gr-gsm) -set(GR_TEST_PYTHON_DIRS ${CMAKE_BINARY_DIR}/swig:${CMAKE_BINARY_DIR}/python/misc_utils) +set(GR_TEST_PYTHON_DIRS ${CMAKE_BINARY_DIR}/swig) set(GR_TEST_ENVIRONS "CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR}") GR_ADD_TEST(qa_arfcn ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_arfcn.py) GR_ADD_TEST(qa_decryption ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_decryption.py) diff --git a/python/qa_arfcn.py b/python/qa_arfcn.py index 8fc4695..53c8fff 100755 --- a/python/qa_arfcn.py +++ b/python/qa_arfcn.py @@ -23,7 +23,7 @@ from gnuradio import gr, gr_unittest, blocks import grgsm_swig as grgsm -import arfcn +from misc_utils import arfcn import os import sys -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ib19a181a3fd9bb78c1d3989bad0e55433f060950 Gerrit-Change-Number: 24076 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:44 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:44 +0000 Subject: Change in gr-gsm[master]: travis: Install liborc-0.4-dev needed for gr-iqbal In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24077 ) Change subject: travis: Install liborc-0.4-dev needed for gr-iqbal ...................................................................... travis: Install liborc-0.4-dev needed for gr-iqbal on Debian Testing and Kali with gnuradio (3.8.0.0-5) Change-Id: I4512bb734691f553d63cac59fd2c7ba3ccf3f881 --- M tests/dockerfiles/Debian_testing.docker M tests/dockerfiles/Kali.docker 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/tests/dockerfiles/Debian_testing.docker b/tests/dockerfiles/Debian_testing.docker index e81d299..7fb7760 100644 --- a/tests/dockerfiles/Debian_testing.docker +++ b/tests/dockerfiles/Debian_testing.docker @@ -17,7 +17,7 @@ libosmocore-dev # packages needed for gr-iqbal and gr-osmosdr -RUN apt-get install -y git libuhd-dev +RUN apt-get install -y git libuhd-dev liborc-0.4-dev COPY ./ /src/ diff --git a/tests/dockerfiles/Kali.docker b/tests/dockerfiles/Kali.docker index 32548ca..8b03930 100644 --- a/tests/dockerfiles/Kali.docker +++ b/tests/dockerfiles/Kali.docker @@ -17,7 +17,7 @@ libosmocore-dev # packages needed for gr-iqbal and gr-osmosdr -RUN apt-get install -y git libuhd-dev +RUN apt-get install -y git libuhd-dev liborc-0.4-dev COPY ./ /src/ -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24077 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I4512bb734691f553d63cac59fd2c7ba3ccf3f881 Gerrit-Change-Number: 24077 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:45 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:45 +0000 Subject: Change in gr-gsm[master]: travis: Add /usr/local/lib/python3/dist-packages/ to PYTHONPATH In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24078 ) Change subject: travis: Add /usr/local/lib/python3/dist-packages/ to PYTHONPATH ...................................................................... travis: Add /usr/local/lib/python3/dist-packages/ to PYTHONPATH and run ldconfig after installing gr-iqbal and gr-osmosdr. Due to debian-python-install patch [1] the OOT packages are installed in /usr/local/lib/python3/dist-packages but this path is not in the python3 default search paths (sys.path) and because of this importing OOT modules fails. [1] https://salsa.debian.org/bottoms/pkg-gnuradio/blob/25e1de07/debian/patches/debian-python-install Change-Id: I260c82d1a53dab85f7aac86f23e61309d8841255 --- M tests/dockerfiles/Debian_testing.docker M tests/dockerfiles/Kali.docker 2 files changed, 10 insertions(+), 6 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/tests/dockerfiles/Debian_testing.docker b/tests/dockerfiles/Debian_testing.docker index 7fb7760..c482c52 100644 --- a/tests/dockerfiles/Debian_testing.docker +++ b/tests/dockerfiles/Debian_testing.docker @@ -26,19 +26,21 @@ mkdir build && \ cd build && \ cmake .. && \ - make -j $(nproc) install + make -j $(nproc) install && \ + ldconfig RUN git clone --branch maint-3.8 https://github.com/velichkov/gr-osmosdr && \ cd gr-osmosdr && \ mkdir build && \ cd build && \ cmake .. && \ - make -j $(nproc) install + make -j $(nproc) install && \ + ldconfig RUN mkdir /src/build WORKDIR /src/build -RUN cmake .. && \ +RUN PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH cmake .. && \ # The parallel build sometimes fails when the .grc_gnuradio # and .gnuradio directories do not exist mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ diff --git a/tests/dockerfiles/Kali.docker b/tests/dockerfiles/Kali.docker index 8b03930..8949bb5 100644 --- a/tests/dockerfiles/Kali.docker +++ b/tests/dockerfiles/Kali.docker @@ -26,18 +26,20 @@ mkdir build && \ cd build && \ cmake .. && \ - make -j $(nproc) install + make -j $(nproc) install && \ + ldconfig RUN git clone --branch maint-3.8 https://github.com/velichkov/gr-osmosdr && \ cd gr-osmosdr && \ mkdir build && \ cd build && \ cmake .. && \ - make -j $(nproc) install + make -j $(nproc) install && \ + ldconfig RUN mkdir /src/build WORKDIR /src/build -RUN cmake .. && \ +RUN PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH cmake .. && \ # The parallel build sometimes fails when the .grc_gnuradio # and .gnuradio directories do not exist mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24078 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I260c82d1a53dab85f7aac86f23e61309d8841255 Gerrit-Change-Number: 24078 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:46 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:46 +0000 Subject: Change in gr-gsm[master]: Remove build_utils.py and build_utils_codes.py In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24079 ) Change subject: Remove build_utils.py and build_utils_codes.py ...................................................................... Remove build_utils.py and build_utils_codes.py These two files are no longer used Change-Id: I80a364c729e75681a0afd926ea3ecd0eb2d65381 --- D python/build_utils.py D python/build_utils_codes.py 2 files changed, 0 insertions(+), 278 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/python/build_utils.py b/python/build_utils.py deleted file mode 100644 index cf58a97..0000000 --- a/python/build_utils.py +++ /dev/null @@ -1,226 +0,0 @@ -# -# Copyright 2004,2009,2012 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -"""Misc utilities used at build time -""" - -import re, os, os.path -from build_utils_codes import * - - -# set srcdir to the directory that contains Makefile.am -try: - srcdir = os.environ['srcdir'] -except KeyError, e: - srcdir = "." -srcdir = srcdir + '/' - -# set do_makefile to either true or false dependeing on the environment -try: - if os.environ['do_makefile'] == '0': - do_makefile = False - else: - do_makefile = True -except KeyError, e: - do_makefile = False - -# set do_sources to either true or false dependeing on the environment -try: - if os.environ['do_sources'] == '0': - do_sources = False - else: - do_sources = True -except KeyError, e: - do_sources = True - -name_dict = {} - -def log_output_name (name): - (base, ext) = os.path.splitext (name) - ext = ext[1:] # drop the leading '.' - - entry = name_dict.setdefault (ext, []) - entry.append (name) - -def open_and_log_name (name, dir): - global do_sources - if do_sources: - f = open (name, dir) - else: - f = None - log_output_name (name) - return f - -def expand_template (d, template_filename, extra = ""): - '''Given a dictionary D and a TEMPLATE_FILENAME, expand template into output file - ''' - global do_sources - output_extension = extract_extension (template_filename) - template = open_src (template_filename, 'r') - output_name = d['NAME'] + extra + '.' + output_extension - log_output_name (output_name) - if do_sources: - output = open (output_name, 'w') - do_substitution (d, template, output) - output.close () - template.close () - -def output_glue (dirname): - output_makefile_fragment () - output_ifile_include (dirname) - -def output_makefile_fragment (): - global do_makefile - if not do_makefile: - return -# overwrite the source, which must be writable; this should have been -# checked for beforehand in the top-level Makefile.gen.gen . - f = open (os.path.join (os.environ.get('gendir', os.environ.get('srcdir', '.')), 'Makefile.gen'), 'w') - f.write ('#\n# This file is machine generated. All edits will be overwritten\n#\n') - output_subfrag (f, 'h') - output_subfrag (f, 'i') - output_subfrag (f, 'cc') - f.close () - -def output_ifile_include (dirname): - global do_sources - if do_sources: - f = open ('%s_generated.i' % (dirname,), 'w') - f.write ('//\n// This file is machine generated. All edits will be overwritten\n//\n') - files = name_dict.setdefault ('i', []) - files.sort () - f.write ('%{\n') - for file in files: - f.write ('#include <%s>\n' % (file[0:-1] + 'h',)) - f.write ('%}\n\n') - for file in files: - f.write ('%%include <%s>\n' % (file,)) - -def output_subfrag (f, ext): - files = name_dict.setdefault (ext, []) - files.sort () - f.write ("GENERATED_%s =" % (ext.upper ())) - for file in files: - f.write (" \\\n\t%s" % (file,)) - f.write ("\n\n") - -def extract_extension (template_name): - # template name is something like: GrFIRfilterXXX.h.t - # we return everything between the penultimate . and .t - mo = re.search (r'\.([a-z]+)\.t$', template_name) - if not mo: - raise ValueError, "Incorrectly formed template_name '%s'" % (template_name,) - return mo.group (1) - -def open_src (name, mode): - global srcdir - return open (os.path.join (srcdir, name), mode) - -def do_substitution (d, in_file, out_file): - def repl (match_obj): - key = match_obj.group (1) - # print key - return d[key] - - inp = in_file.read () - out = re.sub (r"@([a-zA-Z0-9_]+)@", repl, inp) - out_file.write (out) - - - -copyright = '''/* -*- c++ -*- */ -/* - * Copyright 2003,2004 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ -''' - -def is_complex (code3): - if i_code (code3) == 'c' or o_code (code3) == 'c': - return '1' - else: - return '0' - - -def standard_dict (name, code3, package='gr'): - d = {} - d['NAME'] = name - d['NAME_IMPL'] = name+'_impl' - d['GUARD_NAME'] = 'INCLUDED_%s_%s_H' % (package.upper(), name.upper()) - d['GUARD_NAME_IMPL'] = 'INCLUDED_%s_%s_IMPL_H' % (package.upper(), name.upper()) - d['BASE_NAME'] = re.sub ('^' + package + '_', '', name) - d['SPTR_NAME'] = '%s_sptr' % name - d['WARNING'] = 'WARNING: this file is machine generated. Edits will be overwritten' - d['COPYRIGHT'] = copyright - d['TYPE'] = i_type (code3) - d['I_TYPE'] = i_type (code3) - d['O_TYPE'] = o_type (code3) - d['TAP_TYPE'] = tap_type (code3) - d['IS_COMPLEX'] = is_complex (code3) - return d - - -def standard_dict2 (name, code3, package): - d = {} - d['NAME'] = name - d['BASE_NAME'] = name - d['GUARD_NAME'] = 'INCLUDED_%s_%s_H' % (package.upper(), name.upper()) - d['WARNING'] = 'WARNING: this file is machine generated. Edits will be overwritten' - d['COPYRIGHT'] = copyright - d['TYPE'] = i_type (code3) - d['I_TYPE'] = i_type (code3) - d['O_TYPE'] = o_type (code3) - d['TAP_TYPE'] = tap_type (code3) - d['IS_COMPLEX'] = is_complex (code3) - return d - -def standard_impl_dict2 (name, code3, package): - d = {} - d['NAME'] = name - d['IMPL_NAME'] = name - d['BASE_NAME'] = name.rstrip("impl").rstrip("_") - d['GUARD_NAME'] = 'INCLUDED_%s_%s_H' % (package.upper(), name.upper()) - d['WARNING'] = 'WARNING: this file is machine generated. Edits will be overwritten' - d['COPYRIGHT'] = copyright - d['FIR_TYPE'] = "fir_filter_" + code3 - d['CFIR_TYPE'] = "fir_filter_" + code3[0:2] + 'c' - d['TYPE'] = i_type (code3) - d['I_TYPE'] = i_type (code3) - d['O_TYPE'] = o_type (code3) - d['TAP_TYPE'] = tap_type (code3) - d['IS_COMPLEX'] = is_complex (code3) - return d diff --git a/python/build_utils_codes.py b/python/build_utils_codes.py deleted file mode 100644 index 9ea96ba..0000000 --- a/python/build_utils_codes.py +++ /dev/null @@ -1,52 +0,0 @@ -# -# Copyright 2004 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -def i_code (code3): - return code3[0] - -def o_code (code3): - if len (code3) >= 2: - return code3[1] - else: - return code3[0] - -def tap_code (code3): - if len (code3) >= 3: - return code3[2] - else: - return code3[0] - -def i_type (code3): - return char_to_type[i_code (code3)] - -def o_type (code3): - return char_to_type[o_code (code3)] - -def tap_type (code3): - return char_to_type[tap_code (code3)] - - -char_to_type = {} -char_to_type['s'] = 'short' -char_to_type['i'] = 'int' -char_to_type['f'] = 'float' -char_to_type['c'] = 'gr_complex' -char_to_type['b'] = 'unsigned char' -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24079 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I80a364c729e75681a0afd926ea3ecd0eb2d65381 Gerrit-Change-Number: 24079 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:46 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:46 +0000 Subject: Change in gr-gsm[master]: tests: Do not specify filename when runing gr_unittest In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24080 ) Change subject: tests: Do not specify filename when runing gr_unittest ...................................................................... tests: Do not specify filename when runing gr_unittest This fixes the following warning DEPRECATED: Using filename with gr_unittest does no longer have any effect. Change-Id: I7d6dbc32ff794ebf2bc116fa7437062e6780b85f --- M python/qa_arfcn.py M python/qa_burst_file_source.py M python/qa_burst_fnr_filter.py M python/qa_burst_printer.py M python/qa_burst_sdcch_subslot_filter.py M python/qa_burst_sdcch_subslot_splitter.py M python/qa_burst_timeslot_filter.py M python/qa_burst_timeslot_splitter.py M python/qa_controlled_fractional_resampler_cc.py M python/qa_decryption.py M python/qa_dummy_burst_filter.py M python/qa_message_printer.py M python/qa_message_source_sink.py M python/qa_msg_to_tag.py M python/qa_tch_f_chans_demapper.py M python/qa_tch_f_decoder.py M python/qa_tch_h_chans_demapper.py M python/qa_tch_h_decoder.py M python/qa_txtime_bursts_tagger.py M python/qa_txtime_setter.py M python/qa_uplink_downlink_splitter.py 21 files changed, 21 insertions(+), 22 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/python/qa_arfcn.py b/python/qa_arfcn.py index 53c8fff..0a3cc4e 100755 --- a/python/qa_arfcn.py +++ b/python/qa_arfcn.py @@ -267,4 +267,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_arfcn, "qa_arfcn.xml") + gr_unittest.run(qa_arfcn) diff --git a/python/qa_burst_file_source.py b/python/qa_burst_file_source.py index cf8835e..c83c9c4 100644 --- a/python/qa_burst_file_source.py +++ b/python/qa_burst_file_source.py @@ -101,4 +101,4 @@ list(dst.get_burst_data())) if __name__ == '__main__': - gr_unittest.run(qa_burst_file_sink, "qa_burst_file_sink.xml") + gr_unittest.run(qa_burst_file_sink) diff --git a/python/qa_burst_fnr_filter.py b/python/qa_burst_fnr_filter.py index 4602ec7..945cd0b 100755 --- a/python/qa_burst_fnr_filter.py +++ b/python/qa_burst_fnr_filter.py @@ -165,4 +165,4 @@ self.assertEqual(bursts_expected, bursts_result) if __name__ == '__main__': - gr_unittest.run(qa_burst_fnr_filter, "qa_burst_fnr_filter.xml") + gr_unittest.run(qa_burst_fnr_filter) diff --git a/python/qa_burst_printer.py b/python/qa_burst_printer.py index c1fdfaf..15a7fc8 100755 --- a/python/qa_burst_printer.py +++ b/python/qa_burst_printer.py @@ -294,4 +294,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_burst_printer, "qa_burst_printer.xml") + gr_unittest.run(qa_burst_printer) diff --git a/python/qa_burst_sdcch_subslot_filter.py b/python/qa_burst_sdcch_subslot_filter.py index 4940286..bce74fd 100755 --- a/python/qa_burst_sdcch_subslot_filter.py +++ b/python/qa_burst_sdcch_subslot_filter.py @@ -208,4 +208,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_burst_sdcch_subslot_filter, "qa_burst_sdcch_subslot_filter.xml") + gr_unittest.run(qa_burst_sdcch_subslot_filter) diff --git a/python/qa_burst_sdcch_subslot_splitter.py b/python/qa_burst_sdcch_subslot_splitter.py index 7d8b8e0..a72ec01 100755 --- a/python/qa_burst_sdcch_subslot_splitter.py +++ b/python/qa_burst_sdcch_subslot_splitter.py @@ -398,4 +398,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_burst_sdcch_subslot_splitter, "qa_burst_sdcch_subslot_splitter.xml") + gr_unittest.run(qa_burst_sdcch_subslot_splitter) diff --git a/python/qa_burst_timeslot_filter.py b/python/qa_burst_timeslot_filter.py index 16001f0..041c95a 100755 --- a/python/qa_burst_timeslot_filter.py +++ b/python/qa_burst_timeslot_filter.py @@ -89,4 +89,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_burst_timeslot_filter, "qa_burst_timeslot_filter.xml") + gr_unittest.run(qa_burst_timeslot_filter) diff --git a/python/qa_burst_timeslot_splitter.py b/python/qa_burst_timeslot_splitter.py index 2f8738b..e99b44d 100755 --- a/python/qa_burst_timeslot_splitter.py +++ b/python/qa_burst_timeslot_splitter.py @@ -158,4 +158,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_burst_timeslot_splitter, "qa_burst_timeslot_splitter.xml") + gr_unittest.run(qa_burst_timeslot_splitter) diff --git a/python/qa_controlled_fractional_resampler_cc.py b/python/qa_controlled_fractional_resampler_cc.py index e00f6bc..57939de 100755 --- a/python/qa_controlled_fractional_resampler_cc.py +++ b/python/qa_controlled_fractional_resampler_cc.py @@ -40,4 +40,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_controlled_fractional_resampler_cc, "qa_controlled_fractional_resampler_cc.xml") + gr_unittest.run(qa_controlled_fractional_resampler_cc) diff --git a/python/qa_decryption.py b/python/qa_decryption.py index 663471c..995a530 100755 --- a/python/qa_decryption.py +++ b/python/qa_decryption.py @@ -199,4 +199,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_decryption, "qa_decryption.xml") + gr_unittest.run(qa_decryption) diff --git a/python/qa_dummy_burst_filter.py b/python/qa_dummy_burst_filter.py index 3215b12..fada415 100755 --- a/python/qa_dummy_burst_filter.py +++ b/python/qa_dummy_burst_filter.py @@ -99,4 +99,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_dummy_burst_filter, "qa_dummy_burst_filter.xml") + gr_unittest.run(qa_dummy_burst_filter) diff --git a/python/qa_message_printer.py b/python/qa_message_printer.py index 21e6852..b1bf05e 100755 --- a/python/qa_message_printer.py +++ b/python/qa_message_printer.py @@ -162,5 +162,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_message_printer, "qa_message_printer.xml") - + gr_unittest.run(qa_message_printer) diff --git a/python/qa_message_source_sink.py b/python/qa_message_source_sink.py index 1638345..8c375d4 100755 --- a/python/qa_message_source_sink.py +++ b/python/qa_message_source_sink.py @@ -77,4 +77,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_message_source_sink, "qa_message_source_sink.xml") + gr_unittest.run(qa_message_source_sink) diff --git a/python/qa_msg_to_tag.py b/python/qa_msg_to_tag.py index f4b6829..b897b66 100755 --- a/python/qa_msg_to_tag.py +++ b/python/qa_msg_to_tag.py @@ -40,4 +40,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_msg_to_tag, "qa_msg_to_tag.xml") + gr_unittest.run(qa_msg_to_tag) diff --git a/python/qa_tch_f_chans_demapper.py b/python/qa_tch_f_chans_demapper.py index 6643653..f101ca9 100755 --- a/python/qa_tch_f_chans_demapper.py +++ b/python/qa_tch_f_chans_demapper.py @@ -151,4 +151,4 @@ self.assertEqual(odd, self.sacch_fr_test(ts=7, frames=[90, 103, 116, 129, 142, 155, 168, 181], bursts=bursts)) if __name__ == '__main__': - gr_unittest.run(qa_tch_f_chans_demapper, "qa_tch_f_chans_demapper.xml") + gr_unittest.run(qa_tch_f_chans_demapper) diff --git a/python/qa_tch_f_decoder.py b/python/qa_tch_f_decoder.py index b6a8b65..1cac84f 100755 --- a/python/qa_tch_f_decoder.py +++ b/python/qa_tch_f_decoder.py @@ -105,4 +105,4 @@ self.assertEqual(dst.num_messages(), 0) if __name__ == '__main__': - gr_unittest.run(qa_tch_f_decoder, "qa_tch_f_decoder.xml") + gr_unittest.run(qa_tch_f_decoder) diff --git a/python/qa_tch_h_chans_demapper.py b/python/qa_tch_h_chans_demapper.py index 4348f98..15e9bfc 100755 --- a/python/qa_tch_h_chans_demapper.py +++ b/python/qa_tch_h_chans_demapper.py @@ -206,4 +206,4 @@ self.assertEqual(odd, self.sacch_hr_test(ts=7, sub=1, frames=[90, 103, 116, 129, 142, 155, 168, 181], bursts=bursts)) if __name__ == '__main__': - gr_unittest.run(qa_tch_h_chans_demapper, "qa_tch_h_chans_demapper.xml") + gr_unittest.run(qa_tch_h_chans_demapper) diff --git a/python/qa_tch_h_decoder.py b/python/qa_tch_h_decoder.py index b0bd469..7d64d64 100755 --- a/python/qa_tch_h_decoder.py +++ b/python/qa_tch_h_decoder.py @@ -187,4 +187,4 @@ []) #Must return an empty array if __name__ == '__main__': - gr_unittest.run(qa_tch_h_decoder, "qa_tch_h_decoder.xml") + gr_unittest.run(qa_tch_h_decoder) diff --git a/python/qa_txtime_bursts_tagger.py b/python/qa_txtime_bursts_tagger.py index fd15b10..8b4c990 100755 --- a/python/qa_txtime_bursts_tagger.py +++ b/python/qa_txtime_bursts_tagger.py @@ -103,4 +103,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_txtime_bursts_tagger, "qa_txtime_bursts_tagger.xml") + gr_unittest.run(qa_txtime_bursts_tagger) diff --git a/python/qa_txtime_setter.py b/python/qa_txtime_setter.py index d5509a9..9d9d839 100755 --- a/python/qa_txtime_setter.py +++ b/python/qa_txtime_setter.py @@ -40,4 +40,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_txtime_setter, "qa_txtime_setter.xml") + gr_unittest.run(qa_txtime_setter) diff --git a/python/qa_uplink_downlink_splitter.py b/python/qa_uplink_downlink_splitter.py index 681331b..b129ae3 100755 --- a/python/qa_uplink_downlink_splitter.py +++ b/python/qa_uplink_downlink_splitter.py @@ -40,4 +40,4 @@ if __name__ == '__main__': - gr_unittest.run(qa_uplink_downlink_splitter, "qa_uplink_downlink_splitter.xml") + gr_unittest.run(qa_uplink_downlink_splitter) -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24080 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I7d6dbc32ff794ebf2bc116fa7437062e6780b85f Gerrit-Change-Number: 24080 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:47 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:47 +0000 Subject: Change in gr-gsm[master]: Build the grgsm_livemon man page In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24081 ) Change subject: Build the grgsm_livemon man page ...................................................................... Build the grgsm_livemon man page Change-Id: Ie128d68965b5cb2c919afa408b4c8aa7ca87ea8c --- M docs/CMakeLists.txt 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index f9b8b40..ed0fe3d 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -53,7 +53,7 @@ if(NOT RST2MAN_EXECUTABLE) message(WARNING "rst2man from python-docutils is required to build man pages") else() - #build_man_page(MAN1_OUTPUT grgsm_livemon.rst grgsm_livemon.1) + build_man_page(MAN1_OUTPUT grgsm_livemon.rst grgsm_livemon.1) install(FILES ${MAN1_OUTPUT} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1) endif() -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24081 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ie128d68965b5cb2c919afa408b4c8aa7ca87ea8c Gerrit-Change-Number: 24081 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:47 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:47 +0000 Subject: Change in gr-gsm[master]: Python 3 compatibility changes in fn_time.py In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24082 ) Change subject: Python 3 compatibility changes in fn_time.py ...................................................................... Python 3 compatibility changes in fn_time.py - Use range instead of xrange as it has been removed - Use integer division operator (//) - Import uniform and fn_time_delta_cpp only when started as a script - Remove the unused imports Change-Id: I268e0aec8fb8e6d490bfb8b0e9e6d169a9f6c352 --- M python/misc_utils/fn_time.py 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/python/misc_utils/fn_time.py b/python/misc_utils/fn_time.py index 17c6295..93342bd 100644 --- a/python/misc_utils/fn_time.py +++ b/python/misc_utils/fn_time.py @@ -20,9 +20,6 @@ # Boston, MA 02110-1301, USA. # # -from math import floor, ceil -from random import uniform -from grgsm import fn_time_delta_cpp __hyper_frame = 26*51*2048 __symb_rate = 13.0e6/48.0 @@ -72,10 +69,13 @@ if __name__ == "__main__": + from random import uniform + from grgsm import fn_time_delta_cpp + fn1 = 10000 ts_ref = 4 time1 = 10.5 - for fn2 in xrange(__hyper_frame/2+fn1-10,__hyper_frame/2*10+fn1+100,10): + for fn2 in range(__hyper_frame//2+fn1-10,__hyper_frame//2*10+fn1+100,10): ts_x = int(uniform(0,8)) time2 = time1 + (fn2-fn1)*__frame_period + (ts_x-ts_ref)*__ts_period error = uniform(-6200,6200) -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I268e0aec8fb8e6d490bfb8b0e9e6d169a9f6c352 Gerrit-Change-Number: 24082 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:47 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:47 +0000 Subject: Change in gr-gsm[master]: tests: Close the temp file handle in qa_burst_file_source In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24083 ) Change subject: tests: Close the temp file handle in qa_burst_file_source ...................................................................... tests: Close the temp file handle in qa_burst_file_source This fixes the following warning ./usr/lib64/python3.7/unittest/case.py:645: ResourceWarning: unclosed file <_io.BufferedWriter name='/tmp/tmpkkz_akd6'> testMethod() ResourceWarning: Enable tracemalloc to get the object allocation traceback Change-Id: I66c2be2e5bf6915e3df253b3a69f5516534e3750 --- M python/qa_burst_file_source.py 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/python/qa_burst_file_source.py b/python/qa_burst_file_source.py index c83c9c4..bfdcc73 100644 --- a/python/qa_burst_file_source.py +++ b/python/qa_burst_file_source.py @@ -51,6 +51,7 @@ 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01 ])) handle.flush(); + handle.close(); src = grgsm.burst_file_source(temp.name); dst = grgsm.burst_sink(); @@ -88,6 +89,7 @@ 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01 ])) handle.flush(); + handle.close(); src = grgsm.burst_file_source(temp.name); dst = grgsm.burst_sink(); -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I66c2be2e5bf6915e3df253b3a69f5516534e3750 Gerrit-Change-Number: 24083 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:48 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:48 +0000 Subject: Change in gr-gsm[master]: Add .dockerignore file In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24084 ) Change subject: Add .dockerignore file ...................................................................... Add .dockerignore file Change-Id: I8d4b527a2e5c7b69e5c7338cafba3fbdac381ae1 --- A .dockerignore 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..1b2211d --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +build* -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24084 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I8d4b527a2e5c7b69e5c7338cafba3fbdac381ae1 Gerrit-Change-Number: 24084 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:48 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:48 +0000 Subject: Change in gr-gsm[master]: travis: Install gr-osmosdr from the apt repository In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24085 ) Change subject: travis: Install gr-osmosdr from the apt repository ...................................................................... travis: Install gr-osmosdr from the apt repository Also install liborc-dev as gnuradio depends on it Change-Id: I0bbc33a39ef1e4edc1636c338e429639e0b15066 --- M tests/dockerfiles/Debian_testing.docker M tests/dockerfiles/Kali.docker 2 files changed, 9 insertions(+), 44 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/tests/dockerfiles/Debian_testing.docker b/tests/dockerfiles/Debian_testing.docker index c482c52..c4c3057 100644 --- a/tests/dockerfiles/Debian_testing.docker +++ b/tests/dockerfiles/Debian_testing.docker @@ -13,31 +13,13 @@ liblog4cpp5-dev \ python3-docutils \ python3-scipy \ - gnuradio-dev gnuradio libgmp-dev libboost-regex-dev \ - libosmocore-dev - -# packages needed for gr-iqbal and gr-osmosdr -RUN apt-get install -y git libuhd-dev liborc-0.4-dev + gnuradio-dev gnuradio libgmp-dev libboost-regex-dev liborc-dev \ + libosmocore-dev \ + gr-osmosdr COPY ./ /src/ -RUN git clone --branch maint-3.8 --recurse-submodules https://github.com/velichkov/gr-iqbal && \ - cd gr-iqbal && \ - mkdir build && \ - cd build && \ - cmake .. && \ - make -j $(nproc) install && \ - ldconfig - -RUN git clone --branch maint-3.8 https://github.com/velichkov/gr-osmosdr && \ - cd gr-osmosdr && \ - mkdir build && \ - cd build && \ - cmake .. && \ - make -j $(nproc) install && \ - ldconfig - -RUN mkdir /src/build +RUN mkdir -p /src/build WORKDIR /src/build RUN PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH cmake .. && \ diff --git a/tests/dockerfiles/Kali.docker b/tests/dockerfiles/Kali.docker index 8949bb5..a953ece 100644 --- a/tests/dockerfiles/Kali.docker +++ b/tests/dockerfiles/Kali.docker @@ -13,32 +13,15 @@ liblog4cpp5-dev \ python3-docutils \ python3-scipy \ - gnuradio-dev gnuradio libgmp-dev libboost-regex-dev \ - libosmocore-dev - -# packages needed for gr-iqbal and gr-osmosdr -RUN apt-get install -y git libuhd-dev liborc-0.4-dev + gnuradio-dev gnuradio libgmp-dev libboost-regex-dev liborc-dev \ + libosmocore-dev \ + gr-osmosdr COPY ./ /src/ -RUN git clone --branch maint-3.8 --recurse-submodules https://github.com/velichkov/gr-iqbal && \ - cd gr-iqbal && \ - mkdir build && \ - cd build && \ - cmake .. && \ - make -j $(nproc) install && \ - ldconfig - -RUN git clone --branch maint-3.8 https://github.com/velichkov/gr-osmosdr && \ - cd gr-osmosdr && \ - mkdir build && \ - cd build && \ - cmake .. && \ - make -j $(nproc) install && \ - ldconfig - -RUN mkdir /src/build +RUN mkdir -p /src/build WORKDIR /src/build + RUN PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH cmake .. && \ # The parallel build sometimes fails when the .grc_gnuradio # and .gnuradio directories do not exist -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24085 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I0bbc33a39ef1e4edc1636c338e429639e0b15066 Gerrit-Change-Number: 24085 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:50 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:50 +0000 Subject: Change in gr-gsm[master]: travis: Use bionic build environment In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24086 ) Change subject: travis: Use bionic build environment ...................................................................... travis: Use bionic build environment https: //docs.travis-ci.com/user/reference/bionic/ Change-Id: I8f622506329ee97ff3555c2a43a2165303d9ae82 --- M .travis.yml 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/.travis.yml b/.travis.yml index 5230b46..182e006 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,5 @@ sudo: required +dist: bionic language: ruby -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24086 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I8f622506329ee97ff3555c2a43a2165303d9ae82 Gerrit-Change-Number: 24086 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:50 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:50 +0000 Subject: Change in gr-gsm[master]: tests: fix some shellcheck errors. In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24087 ) Change subject: tests: fix some shellcheck errors. ...................................................................... tests: fix some shellcheck errors. Execute "gnuradio-config-info --version" instead of "gnuradio-companion --version" Change-Id: Ia399324ae7a39e120e338c86d449d7c4d54bd866 --- M tests/scripts/decode.sh M tests/scripts/decrypt.sh 2 files changed, 8 insertions(+), 10 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/tests/scripts/decode.sh b/tests/scripts/decode.sh index b982709..98aa165 100755 --- a/tests/scripts/decode.sh +++ b/tests/scripts/decode.sh @@ -1,6 +1,6 @@ #!/bin/bash -TEST_DIR=`dirname "$0"` +TEST_DIR=$(dirname "$0") # PYTHONPATH and LD_LIBRARY_PATH are needed on Fedora 26 # @@ -18,11 +18,10 @@ export RUNLINE="$AP_DECODE -c $SHORTENED_CAPFILE -s $((100000000/174)) -m BCCH -t 0 -v --ppm -10" echo "Testing with:" echo " $RUNLINE" -#gnuradio 3.8 does not have --version parameter -#gnuradio-companion --version +gnuradio-config-info --version -cd $TEST_DIR -cat $CAPFILE | head -c 6000000 > $SHORTENED_CAPFILE +cd "$TEST_DIR" || exit 1 +head -c 6000000 $CAPFILE > $SHORTENED_CAPFILE $RUNLINE | grep -A 999999 "860933 1329237: 59 06 1a 8f 6d 18 10 80 00 00 00 00 00 00 00 00 00 00 00 78 b9 00 00" | tee $RESULT_OBTAINED diff $RESULT_EXPECTED $RESULT_OBTAINED diff --git a/tests/scripts/decrypt.sh b/tests/scripts/decrypt.sh index 7f9bc60..824955f 100755 --- a/tests/scripts/decrypt.sh +++ b/tests/scripts/decrypt.sh @@ -1,6 +1,6 @@ #!/bin/bash -TEST_DIR=`dirname "$0"` +TEST_DIR=$(dirname "$0") # PYTHONPATH and LD_LIBRARY_PATH are needed on Fedora 26 # @@ -18,11 +18,10 @@ export RUNLINE="$AP_DECODE -c $SHORTENED_CAPFILE -s $((100000000/174)) -m SDCCH8 -t 1 -k 0x1E,0xF0,0x0B,0xAB,0x3B,0xAC,0x70,0x02 -v --ppm -10" echo "Testing with:" echo " $RUNLINE" -#gnuradio 3.8 does not have --version parameter -#gnuradio-companion --version +gnuradio-config-info --version -cd $TEST_DIR -cat $CAPFILE | head -c -37000000 | head -c 35800000 > $SHORTENED_CAPFILE +cd "$TEST_DIR" || exit 1 +head -c -37000000 $CAPFILE | head -c 35800000 > $SHORTENED_CAPFILE $RUNLINE | grep -A 999999 "862210 1331352: 03 03 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b" | tee $RESULT_OBTAINED diff -u $RESULT_EXPECTED $RESULT_OBTAINED -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ia399324ae7a39e120e338c86d449d7c4d54bd866 Gerrit-Change-Number: 24087 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:51 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:51 +0000 Subject: Change in gr-gsm[master]: tests: Get more information about CPU and user limits In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24088 ) Change subject: tests: Get more information about CPU and user limits ...................................................................... tests: Get more information about CPU and user limits Change-Id: I0bd3c206f422e11a59070a1c9aace38201ff7c85 --- M tests/scripts/decode.sh M tests/scripts/decrypt.sh 2 files changed, 4 insertions(+), 0 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/tests/scripts/decode.sh b/tests/scripts/decode.sh index 98aa165..1ec7bf8 100755 --- a/tests/scripts/decode.sh +++ b/tests/scripts/decode.sh @@ -19,6 +19,8 @@ echo "Testing with:" echo " $RUNLINE" gnuradio-config-info --version +cat /proc/cpuinfo +ulimit -a cd "$TEST_DIR" || exit 1 head -c 6000000 $CAPFILE > $SHORTENED_CAPFILE diff --git a/tests/scripts/decrypt.sh b/tests/scripts/decrypt.sh index 824955f..5c33537 100755 --- a/tests/scripts/decrypt.sh +++ b/tests/scripts/decrypt.sh @@ -19,6 +19,8 @@ echo "Testing with:" echo " $RUNLINE" gnuradio-config-info --version +cat /proc/cpuinfo +ulimit -a cd "$TEST_DIR" || exit 1 head -c -37000000 $CAPFILE | head -c 35800000 > $SHORTENED_CAPFILE -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24088 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I0bd3c206f422e11a59070a1c9aace38201ff7c85 Gerrit-Change-Number: 24088 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:51 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:51 +0000 Subject: Change in gr-gsm[master]: tests: export VOLK_GENERIC=1 to workaround VOLK's bug 278 In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24089 ) Change subject: tests: export VOLK_GENERIC=1 to workaround VOLK's bug 278 ...................................................................... tests: export VOLK_GENERIC=1 to workaround VOLK's bug 278 Change-Id: Ib9ad4384388e480b8fa2f91e02359c85c749e802 --- M tests/scripts/decode.sh M tests/scripts/decrypt.sh 2 files changed, 11 insertions(+), 0 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/tests/scripts/decode.sh b/tests/scripts/decode.sh index 1ec7bf8..402e818 100755 --- a/tests/scripts/decode.sh +++ b/tests/scripts/decode.sh @@ -25,7 +25,13 @@ cd "$TEST_DIR" || exit 1 head -c 6000000 $CAPFILE > $SHORTENED_CAPFILE +# VOLK_GENERIC=1 is a temporary workaround for the following VOLK's bug +# https://github.com/gnuradio/volk/pull/278 +# https://github.com/gnuradio/gnuradio/issues/2748 +export VOLK_GENERIC=1 + $RUNLINE | grep -A 999999 "860933 1329237: 59 06 1a 8f 6d 18 10 80 00 00 00 00 00 00 00 00 00 00 00 78 b9 00 00" | tee $RESULT_OBTAINED + diff $RESULT_EXPECTED $RESULT_OBTAINED TEST_RESULT=$? diff --git a/tests/scripts/decrypt.sh b/tests/scripts/decrypt.sh index 5c33537..335528a 100755 --- a/tests/scripts/decrypt.sh +++ b/tests/scripts/decrypt.sh @@ -25,6 +25,11 @@ cd "$TEST_DIR" || exit 1 head -c -37000000 $CAPFILE | head -c 35800000 > $SHORTENED_CAPFILE +# VOLK_GENERIC=1 is a temporary workaround for the following VOLK's bug +# https://github.com/gnuradio/volk/pull/278 +# https://github.com/gnuradio/gnuradio/issues/2748 +export VOLK_GENERIC=1 + $RUNLINE | grep -A 999999 "862210 1331352: 03 03 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b" | tee $RESULT_OBTAINED diff -u $RESULT_EXPECTED $RESULT_OBTAINED TEST_RESULT=$? -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24089 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ib9ad4384388e480b8fa2f91e02359c85c749e802 Gerrit-Change-Number: 24089 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:51 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:51 +0000 Subject: Change in gr-gsm[master]: Print the error message on stderr in a python2 compatible way In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24090 ) Change subject: Print the error message on stderr in a python2 compatible way ...................................................................... Print the error message on stderr in a python2 compatible way Change-Id: Iaea1510b02a2df924ef9777d107d22c45cb37d12 --- M apps/grgsm_decode 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/apps/grgsm_decode b/apps/grgsm_decode index d754fc7..000440f 100755 --- a/apps/grgsm_decode +++ b/apps/grgsm_decode @@ -369,7 +369,7 @@ parser.error("Invalid A5 version\n") if options.cfile and (options.fc is None and options.arfcn is None): - print("You haven't provided a frequency or an ARFCN - working without automatic frequency offset correction.\n", file=sys.stderr) + sys.stderr.write("You haven't provided a frequency or an ARFCN - working without automatic frequency offset correction.\n") # handle frequency / arfcn input arfcn = None -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iaea1510b02a2df924ef9777d107d22c45cb37d12 Gerrit-Change-Number: 24090 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:52 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:52 +0000 Subject: Change in gr-gsm[master]: travis: Test in Ubuntu 18.04 container In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24091 ) Change subject: travis: Test in Ubuntu 18.04 container ...................................................................... travis: Test in Ubuntu 18.04 container - Install gnuradio from the new official PPA repository https://launchpad.net/~gnuradio/+archive/ubuntu/gnuradio-releases Change-Id: Iaa8813ab0ae91b667285ab3ef42ffaa279e3a885 --- M .dockerignore M .travis.yml A tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker 3 files changed, 53 insertions(+), 0 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/.dockerignore b/.dockerignore index 1b2211d..ef67c26 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1 +1,2 @@ build* +.git diff --git a/.travis.yml b/.travis.yml index 182e006..437e66e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,6 +9,7 @@ # - DOCKERFILE=tests/dockerfiles/Ubuntu_16_04_nolibosmo.docker IMGNAME=ubu16.04-grgsm-nolibosmo - DOCKERFILE=tests/dockerfiles/Kali.docker IMGNAME=kali-grgsm # - DOCKERFILE=tests/dockerfiles/Fedora_26.Dockerfile IMGNAME=fedora26-grgsm + - DOCKERFILE=tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker IMGNAME=ubuntu_18_04_gnuradio_ppa services: diff --git a/tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker b/tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker new file mode 100644 index 0000000..e0f45a5 --- /dev/null +++ b/tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker @@ -0,0 +1,51 @@ +FROM ubuntu:18.04 +MAINTAINER Vasil Velichkov + +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ + software-properties-common && \ + add-apt-repository --yes ppa:gnuradio/gnuradio-releases && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y \ + git \ + cmake \ + autoconf \ + libtool \ + pkg-config \ + build-essential \ + python-docutils \ + libcppunit-dev \ + swig \ + doxygen \ + liblog4cpp5-dev \ + python-scipy \ + gnuradio-dev gnuradio libgmp-dev libboost-regex-dev liborc-dev libuhd-dev \ + libosmocore-dev + +RUN git clone --branch maint-3.8 --recurse-submodules https://github.com/velichkov/gr-iqbal && \ + cd gr-iqbal && \ + mkdir build && \ + cd build && \ + cmake -DENABLE_DOXYGEN=OFF .. && \ + make -j $(nproc) install + +RUN git clone --branch maint-3.8 https://github.com/velichkov/gr-osmosdr && \ + cd gr-osmosdr && \ + mkdir build && \ + cd build && \ + cmake -DENABLE_DOXYGEN=OFF .. && \ + make -j $(nproc) install + +COPY ./ /src/ +RUN mkdir /src/build +WORKDIR /src/build + +#PYTHONPATH is needed as gr-osmosdr gets installed in /usr/local/lib/python3/... +ENV PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH + +RUN cmake .. && \ + # The parallel build sometimes fails when the .grc_gnuradio + # and .gnuradio directories do not exist + mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ + make -j $(nproc) && \ + make install && \ + ldconfig && \ + make CTEST_OUTPUT_ON_FAILURE=1 test -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iaa8813ab0ae91b667285ab3ef42ffaa279e3a885 Gerrit-Change-Number: 24091 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:52 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:52 +0000 Subject: Change in gr-gsm[master]: Log import errors as currently GRC 3.8 suppress them In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24092 ) Change subject: Log import errors as currently GRC 3.8 suppress them ...................................................................... Log import errors as currently GRC 3.8 suppress them See gnuradio/grc/core/FlowGraph.py:194 Change-Id: Ie6213428c218720692a544c98dc32c16bd50cbe1 --- M python/__init__.py 1 file changed, 20 insertions(+), 16 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/python/__init__.py b/python/__init__.py index 87a62d6..b68df4a 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -43,21 +43,25 @@ os.path.join(dirname, "transmitter"), os.path.join(dirname, "trx")] -# import swig generated symbols into the gsm namespace -from .grgsm_swig import * +try: + # import swig generated symbols into the gsm namespace + from .grgsm_swig import * -# import any pure python here + # import any pure python here -#from fcch_burst_tagger import fcch_burst_tagger -#from sch_detector import sch_detector -#from fcch_detector import fcch_detector -from .clock_offset_corrector_tagged import clock_offset_corrector_tagged -from .gsm_input import gsm_input -from .gsm_bcch_ccch_demapper import gsm_bcch_ccch_demapper -from .gsm_bcch_ccch_sdcch4_demapper import gsm_bcch_ccch_sdcch4_demapper -from .gsm_sdcch8_demapper import gsm_sdcch8_demapper -from .gsm_gmsk_mod import gsm_gmsk_mod -from .fn_time import * -from .txtime_bursts_tagger import * -from .arfcn import * -from .device import * + #from fcch_burst_tagger import fcch_burst_tagger + #from sch_detector import sch_detector + #from fcch_detector import fcch_detector + from .clock_offset_corrector_tagged import clock_offset_corrector_tagged + from .gsm_input import gsm_input + from .gsm_bcch_ccch_demapper import gsm_bcch_ccch_demapper + from .gsm_bcch_ccch_sdcch4_demapper import gsm_bcch_ccch_sdcch4_demapper + from .gsm_sdcch8_demapper import gsm_sdcch8_demapper + from .gsm_gmsk_mod import gsm_gmsk_mod + from .fn_time import * + from .txtime_bursts_tagger import * + from .arfcn import * + from .device import * +except ImportError as e: + import traceback; traceback.print_exc() + raise -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ie6213428c218720692a544c98dc32c16bd50cbe1 Gerrit-Change-Number: 24092 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:52 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:52 +0000 Subject: Change in gr-gsm[master]: Fix compiling with the local libosmocore copy In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24093 ) Change subject: Fix compiling with the local libosmocore copy ...................................................................... Fix compiling with the local libosmocore copy Change-Id: Ic72e6ca7f9cc40bc2d78b931e54e66cd71444835 --- M lib/CMakeLists.txt 1 file changed, 16 insertions(+), 6 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index e7dae14..bc1baeb 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -77,22 +77,32 @@ add_subdirectory(trx) if(NOT LOCAL_OSMOCOM) - list (APPEND grgsm_link_libraries ${LIBOSMOCORE_LIBRARIES} ${LIBOSMOCODEC_LIBRARIES} ${LIBOSMOGSM_LIBRARY}) + list (APPEND grgsm_link_libraries ${LIBOSMOCORE_LIBRARY} ${LIBOSMOCODEC_LIBRARY} ${LIBOSMOGSM_LIBRARY}) if(LIBOSMOCODING_FOUND) list (APPEND grgsm_link_libraries - ${LIBOSMOCODING_LIBRARIES} - ) + ${LIBOSMOCODING_LIBRARY} + ) list (APPEND grgsm_include_directories - ${LIBOSMOCORE_INCLUDE_DIR} + PUBLIC $ + ) + else() + list (APPEND grgsm_include_directories + PUBLIC $ ) endif() -endif() +else(NOT LOCAL_OSMOCOM) + list (APPEND grgsm_include_directories + PUBLIC $ + ) +endif(NOT LOCAL_OSMOCOM) + add_library(grgsm SHARED ${grgsm_sources}) -target_link_libraries(grgsm gnuradio::gnuradio-runtime gnuradio::gnuradio-filter volk osmocoding) +target_link_libraries(grgsm gnuradio::gnuradio-runtime gnuradio::gnuradio-filter volk ${grgsm_link_libraries}) target_include_directories(grgsm PUBLIC $ PUBLIC $ + ${grgsm_include_directories} PUBLIC $ PUBLIC $ ) -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ic72e6ca7f9cc40bc2d78b931e54e66cd71444835 Gerrit-Change-Number: 24093 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:52 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:52 +0000 Subject: Change in gr-gsm[master]: trx: Removing old and unused grc based radio_if In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24094 ) Change subject: trx: Removing old and unused grc based radio_if ...................................................................... trx: Removing old and unused grc based radio_if Change-Id: I7d43e6f2962b21ff03601cf1b1aafc222f2c4661 --- M python/trx/CMakeLists.txt D python/trx/radio_if_grc.py 2 files changed, 0 insertions(+), 269 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/python/trx/CMakeLists.txt b/python/trx/CMakeLists.txt index 697687b..1069db8 100644 --- a/python/trx/CMakeLists.txt +++ b/python/trx/CMakeLists.txt @@ -26,7 +26,6 @@ radio_if.py radio_if_uhd.py radio_if_lms.py - radio_if_grc.py transceiver.py dict_toggle_sign.py DESTINATION ${GR_PYTHON_DIR}/grgsm/trx diff --git a/python/trx/radio_if_grc.py b/python/trx/radio_if_grc.py deleted file mode 100755 index fb9b100..0000000 --- a/python/trx/radio_if_grc.py +++ /dev/null @@ -1,268 +0,0 @@ -#!/usr/bin/env python2 -# -*- coding: utf-8 -*- -################################################## -# GNU Radio Python Flow Graph -# Title: Trx radio interface -# Author: (C) Piotr Krysik 2017 -# Description: Alpha version of trx radio interface -# Generated: Fri Dec 1 10:49:25 2017 -################################################## - -from dict_toggle_sign import dict_toggle_sign -from gnuradio import blocks -from gnuradio import digital -from gnuradio import eng_notation -from gnuradio import filter -from gnuradio import gr -from gnuradio import uhd -from gnuradio.eng_option import eng_option -from gnuradio.filter import firdes -from grgsm import gsm_gmsk_mod -from optparse import OptionParser -import grgsm -import math -import time - - -class RadioInterfaceGRC(gr.top_block): - - def __init__(self, delay_correction=285.616e-6, osr=4, ppm=-0.799427, rx_freq=935e6+36*0.2e6, rx_gain=40, samp_rate=13e6/12.0, timing_advance=0, trx_base_port="5710", trx_remote_addr="127.0.0.1", tx_freq=935e6+36*0.2e6-45e6, tx_gain=40, uplink_shift=-(6.0/1625000*(156.25)*3)): - gr.top_block.__init__(self, "Trx radio interface") - - ################################################## - # Parameters - ################################################## - self.delay_correction = delay_correction - self.osr = osr - self.ppm = ppm - self.rx_freq = rx_freq - self.rx_gain = rx_gain - self.samp_rate = samp_rate - self.timing_advance = timing_advance - self.trx_base_port = trx_base_port - self.trx_remote_addr = trx_remote_addr - self.tx_freq = tx_freq - self.tx_gain = tx_gain - self.uplink_shift = uplink_shift - - ################################################## - # Blocks - ################################################## - self.uhd_usrp_source_0 = uhd.usrp_source( - ",".join(("", "")), - uhd.stream_args( - cpu_format="fc32", - channels=range(1), - ), - ) - self.uhd_usrp_source_0.set_clock_rate(26e6, uhd.ALL_MBOARDS) - self.uhd_usrp_source_0.set_samp_rate(samp_rate) - self.uhd_usrp_source_0.set_center_freq(rx_freq, 0) - self.uhd_usrp_source_0.set_gain(rx_gain, 0) - self.uhd_usrp_source_0.set_antenna("RX2", 0) - self.uhd_usrp_sink_0 = uhd.usrp_sink( - ",".join(("", "")), - uhd.stream_args( - cpu_format="fc32", - channels=range(1), - ), - "packet_len", - ) - self.uhd_usrp_sink_0.set_clock_rate(26e6, uhd.ALL_MBOARDS) - self.uhd_usrp_sink_0.set_subdev_spec("A:B", 0) - self.uhd_usrp_sink_0.set_samp_rate(samp_rate) - self.uhd_usrp_sink_0.set_center_freq(tx_freq, 0) - self.uhd_usrp_sink_0.set_gain(tx_gain, 0) - self.uhd_usrp_sink_0.set_antenna("TX/RX", 0) - self.ts_filter = grgsm.burst_timeslot_filter(0) - self.low_pass_filter_0_0 = filter.fir_filter_ccf(1, firdes.low_pass( - 1, samp_rate, 125e3, 5e3, firdes.WIN_HAMMING, 6.76)) - self.gsm_txtime_setter_0 = grgsm.txtime_setter(None if (None is not None) else 0xffffffff, 0, 0, 0, 0, timing_advance, delay_correction+uplink_shift) - self.gsm_trx_burst_if_0 = grgsm.trx_burst_if(trx_remote_addr, trx_base_port) - self.gsm_receiver_0 = grgsm.receiver(4, ([0]), ([4]), False) - self.gsm_preprocess_tx_burst_0 = grgsm.preprocess_tx_burst() - self.gsm_msg_to_tag_0_0 = grgsm.msg_to_tag() - self.gsm_msg_to_tag_0 = grgsm.msg_to_tag() - self.gsm_gmsk_mod_0 = gsm_gmsk_mod( - BT=0.3, - pulse_duration=4, - sps=osr, - ) - self.gsm_controlled_rotator_cc_0_0 = grgsm.controlled_rotator_cc(-ppm/1.0e6*2*math.pi*tx_freq/samp_rate) - self.gsm_controlled_rotator_cc_0 = grgsm.controlled_rotator_cc(ppm/1.0e6*2*math.pi*rx_freq/samp_rate) - self.gsm_clock_offset_control_0 = grgsm.clock_offset_control(rx_freq, samp_rate, osr) - self.gsm_burst_type_filter_0 = grgsm.burst_type_filter(([3])) - self.gsm_burst_to_fn_time_0 = grgsm.burst_to_fn_time() - self.digital_burst_shaper_xx_0 = digital.burst_shaper_cc((firdes.window(firdes.WIN_HANN, 16, 0)), 0, 20, False, "packet_len") - self.dict_toggle_sign = dict_toggle_sign() - self.blocks_pdu_to_tagged_stream_0_0 = blocks.pdu_to_tagged_stream(blocks.byte_t, "packet_len") - - ################################################## - # Connections - ################################################## - self.msg_connect((self.dict_toggle_sign, 'dict_out'), (self.gsm_msg_to_tag_0_0, 'msg')) - self.msg_connect((self.gsm_burst_to_fn_time_0, 'fn_time_out'), (self.gsm_txtime_setter_0, 'fn_time')) - self.msg_connect((self.gsm_burst_type_filter_0, 'bursts_out'), (self.gsm_burst_to_fn_time_0, 'bursts_in')) - self.msg_connect((self.gsm_clock_offset_control_0, 'ctrl'), (self.dict_toggle_sign, 'dict_in')) - self.msg_connect((self.gsm_clock_offset_control_0, 'ctrl'), (self.gsm_msg_to_tag_0, 'msg')) - self.msg_connect((self.gsm_preprocess_tx_burst_0, 'bursts_out'), (self.blocks_pdu_to_tagged_stream_0_0, 'pdus')) - self.msg_connect((self.gsm_receiver_0, 'C0'), (self.gsm_burst_type_filter_0, 'bursts_in')) - self.msg_connect((self.gsm_receiver_0, 'measurements'), (self.gsm_clock_offset_control_0, 'measurements')) - self.msg_connect((self.gsm_receiver_0, 'C0'), (self.ts_filter, 'in')) - self.msg_connect((self.gsm_trx_burst_if_0, 'bursts'), (self.gsm_txtime_setter_0, 'bursts_in')) - self.msg_connect((self.gsm_txtime_setter_0, 'bursts_out'), (self.gsm_preprocess_tx_burst_0, 'bursts_in')) - self.msg_connect((self.ts_filter, 'out'), (self.gsm_trx_burst_if_0, 'bursts')) - self.connect((self.blocks_pdu_to_tagged_stream_0_0, 0), (self.gsm_gmsk_mod_0, 0)) - self.connect((self.digital_burst_shaper_xx_0, 0), (self.gsm_msg_to_tag_0_0, 0)) - self.connect((self.gsm_controlled_rotator_cc_0, 0), (self.low_pass_filter_0_0, 0)) - self.connect((self.gsm_controlled_rotator_cc_0_0, 0), (self.uhd_usrp_sink_0, 0)) - self.connect((self.gsm_gmsk_mod_0, 0), (self.digital_burst_shaper_xx_0, 0)) - self.connect((self.gsm_msg_to_tag_0, 0), (self.gsm_controlled_rotator_cc_0, 0)) - self.connect((self.gsm_msg_to_tag_0_0, 0), (self.gsm_controlled_rotator_cc_0_0, 0)) - self.connect((self.low_pass_filter_0_0, 0), (self.gsm_receiver_0, 0)) - self.connect((self.uhd_usrp_source_0, 0), (self.gsm_msg_to_tag_0, 0)) - - def get_delay_correction(self): - return self.delay_correction - - def set_delay_correction(self, delay_correction): - self.delay_correction = delay_correction - self.gsm_txtime_setter_0.set_delay_correction(self.delay_correction+self.uplink_shift) - - def get_osr(self): - return self.osr - - def set_osr(self, osr): - self.osr = osr - self.gsm_gmsk_mod_0.set_sps(self.osr) - - def get_ppm(self): - return self.ppm - - def set_ppm(self, ppm): - self.ppm = ppm - self.gsm_controlled_rotator_cc_0.set_phase_inc(self.ppm/1.0e6*2*math.pi*self.rx_freq/self.samp_rate) - self.gsm_controlled_rotator_cc_0_0.set_phase_inc(-self.ppm/1.0e6*2*math.pi*self.tx_freq/self.samp_rate) - - def get_rx_freq(self): - return self.rx_freq - - def set_rx_freq(self, rx_freq): - self.rx_freq = rx_freq - self.gsm_controlled_rotator_cc_0.set_phase_inc(self.ppm/1.0e6*2*math.pi*self.rx_freq/self.samp_rate) - self.uhd_usrp_source_0.set_center_freq(self.rx_freq, 0) - - def get_rx_gain(self): - return self.rx_gain - - def set_rx_gain(self, rx_gain): - self.rx_gain = rx_gain - self.uhd_usrp_source_0.set_gain(self.rx_gain, 0) - - - def get_samp_rate(self): - return self.samp_rate - - def set_samp_rate(self, samp_rate): - self.samp_rate = samp_rate - self.gsm_controlled_rotator_cc_0.set_phase_inc(self.ppm/1.0e6*2*math.pi*self.rx_freq/self.samp_rate) - self.gsm_controlled_rotator_cc_0_0.set_phase_inc(-self.ppm/1.0e6*2*math.pi*self.tx_freq/self.samp_rate) - self.low_pass_filter_0_0.set_taps(firdes.low_pass(1, self.samp_rate, 125e3, 5e3, firdes.WIN_HAMMING, 6.76)) - self.uhd_usrp_sink_0.set_samp_rate(self.samp_rate) - self.uhd_usrp_source_0.set_samp_rate(self.samp_rate) - - def get_timing_advance(self): - return self.timing_advance - - def set_timing_advance(self, timing_advance): - self.timing_advance = timing_advance - self.gsm_txtime_setter_0.set_timing_advance(self.timing_advance) - - def get_trx_base_port(self): - return self.trx_base_port - - def set_trx_base_port(self, trx_base_port): - self.trx_base_port = trx_base_port - - def get_trx_remote_addr(self): - return self.trx_remote_addr - - def set_trx_remote_addr(self, trx_remote_addr): - self.trx_remote_addr = trx_remote_addr - - def get_tx_freq(self): - return self.tx_freq - - def set_tx_freq(self, tx_freq): - self.tx_freq = tx_freq - self.gsm_controlled_rotator_cc_0_0.set_phase_inc(-self.ppm/1.0e6*2*math.pi*self.tx_freq/self.samp_rate) - self.uhd_usrp_sink_0.set_center_freq(self.tx_freq, 0) - - def get_tx_gain(self): - return self.tx_gain - - def set_tx_gain(self, tx_gain): - self.tx_gain = tx_gain - self.uhd_usrp_sink_0.set_gain(self.tx_gain, 0) - - - def get_uplink_shift(self): - return self.uplink_shift - - def set_uplink_shift(self, uplink_shift): - self.uplink_shift = uplink_shift - self.gsm_txtime_setter_0.set_delay_correction(self.delay_correction+self.uplink_shift) - - -def argument_parser(): - parser = OptionParser(option_class=eng_option, usage="%prog: [options]") - parser.add_option( - "", "--delay-correction", dest="delay_correction", type="eng_float", default=eng_notation.num_to_str(285.616e-6), - help="Set delay_correction [default=%default]") - parser.add_option( - "", "--osr", dest="osr", type="intx", default=4, - help="Set OSR [default=%default]") - parser.add_option( - "", "--ppm", dest="ppm", type="eng_float", default=eng_notation.num_to_str(-0.799427), - help="Set Clock offset correction [default=%default]") - parser.add_option( - "-d", "--rx-freq", dest="rx_freq", type="eng_float", default=eng_notation.num_to_str(935e6+36*0.2e6), - help="Set rx_freq [default=%default]") - parser.add_option( - "-g", "--rx-gain", dest="rx_gain", type="eng_float", default=eng_notation.num_to_str(40), - help="Set rx_gain [default=%default]") - parser.add_option( - "", "--samp-rate", dest="samp_rate", type="eng_float", default=eng_notation.num_to_str(13e6/12.0), - help="Set samp_rate [default=%default]") - parser.add_option( - "", "--timing-advance", dest="timing_advance", type="eng_float", default=eng_notation.num_to_str(0), - help="Set timing_advance [default=%default]") - parser.add_option( - "", "--trx-base-port", dest="trx_base_port", type="string", default="5710", - help="Set 5710 [default=%default]") - parser.add_option( - "", "--trx-remote-addr", dest="trx_remote_addr", type="string", default="127.0.0.1", - help="Set 127.0.0.1 [default=%default]") - parser.add_option( - "-u", "--tx-freq", dest="tx_freq", type="eng_float", default=eng_notation.num_to_str(935e6+36*0.2e6-45e6), - help="Set tx_freq [default=%default]") - parser.add_option( - "-r", "--tx-gain", dest="tx_gain", type="eng_float", default=eng_notation.num_to_str(40), - help="Set tx_gain [default=%default]") - parser.add_option( - "", "--uplink-shift", dest="uplink_shift", type="eng_float", default=eng_notation.num_to_str(-(6.0/1625000*(156.25)*3)), - help="Set uplink_shift [default=%default]") - return parser - - -def main(top_block_cls=RadioInterfaceGRC, options=None): - if options is None: - options, _ = argument_parser().parse_args() - - tb = top_block_cls(delay_correction=options.delay_correction, osr=options.osr, ppm=options.ppm, rx_freq=options.rx_freq, rx_gain=options.rx_gain, samp_rate=options.samp_rate, timing_advance=options.timing_advance, trx_base_port=options.trx_base_port, trx_remote_addr=options.trx_remote_addr, tx_freq=options.tx_freq, tx_gain=options.tx_gain, uplink_shift=options.uplink_shift) - tb.start() - tb.wait() - - -if __name__ == '__main__': - main() -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I7d43e6f2962b21ff03601cf1b1aafc222f2c4661 Gerrit-Change-Number: 24094 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:53 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:53 +0000 Subject: Change in gr-gsm[master]: cmake: change 'gsm' to 'grgsm' In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24095 ) Change subject: cmake: change 'gsm' to 'grgsm' ...................................................................... cmake: change 'gsm' to 'grgsm' Change-Id: I130a7912e179b1f04e68eb131e06800becca5a00 --- M CMakeLists.txt M lib/CMakeLists.txt 2 files changed, 6 insertions(+), 6 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/CMakeLists.txt b/CMakeLists.txt index f73bfbe..e8d7ef0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -176,5 +176,5 @@ ######################################################################## install(FILES cmake/Modules/gr-gsmConfig.cmake - DESTINATION ${CMAKE_MODULES_DIR}/gsm + DESTINATION ${CMAKE_MODULES_DIR}/grgsm ) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index bc1baeb..88aa635 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -136,18 +136,18 @@ # If your unit tests require special include paths, add them here #include_directories() # List all files that contain Boost.UTF unit tests here -list(APPEND test_gsm_sources +list(APPEND test_grgsm_sources ) # Anything we need to link to for the unit tests go here list(APPEND GR_TEST_TARGET_DEPS grgsm) -if(NOT test_gsm_sources) +if(NOT test_grgsm_sources) MESSAGE(STATUS "No C++ unit tests... skipping") return() -endif(NOT test_gsm_sources) +endif(NOT test_grgsm_sources) -foreach(qa_file ${test_gsm_sources}) - GR_ADD_CPP_TEST("gsm_${qa_file}" +foreach(qa_file ${test_grgsm_sources}) + GR_ADD_CPP_TEST("grgsm_${qa_file}" ${CMAKE_CURRENT_SOURCE_DIR}/${qa_file} ) endforeach(qa_file) -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I130a7912e179b1f04e68eb131e06800becca5a00 Gerrit-Change-Number: 24095 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:54 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:54 +0000 Subject: Change in gr-gsm[master]: cmake: make formatting of install statements follow one pattern In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24096 ) Change subject: cmake: make formatting of install statements follow one pattern ...................................................................... cmake: make formatting of install statements follow one pattern Change-Id: Ib7d571af629b0af78397a411b0cca409a6d218d8 --- M CMakeLists.txt M apps/apps_data/CMakeLists.txt M docs/CMakeLists.txt M docs/doxygen/CMakeLists.txt M grc/CMakeLists.txt M grc/decoding/CMakeLists.txt M grc/decryption/CMakeLists.txt M grc/demapping/CMakeLists.txt M grc/flow_control/CMakeLists.txt M grc/misc_utils/CMakeLists.txt M grc/qa_utils/CMakeLists.txt M grc/receiver/CMakeLists.txt M grc/transmitter/CMakeLists.txt M grc/trx/CMakeLists.txt M include/grgsm/CMakeLists.txt M include/grgsm/decoding/CMakeLists.txt M include/grgsm/decryption/CMakeLists.txt M include/grgsm/demapping/CMakeLists.txt M include/grgsm/flow_control/CMakeLists.txt M include/grgsm/misc_utils/CMakeLists.txt M include/grgsm/qa_utils/CMakeLists.txt M include/grgsm/receiver/CMakeLists.txt M include/grgsm/transmitter/CMakeLists.txt M include/grgsm/trx/CMakeLists.txt M python/demapping/CMakeLists.txt M python/receiver/CMakeLists.txt M python/transmitter/CMakeLists.txt 27 files changed, 79 insertions(+), 38 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/CMakeLists.txt b/CMakeLists.txt index e8d7ef0..2231bc3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -175,6 +175,8 @@ # Install cmake search helper for this library ######################################################################## -install(FILES cmake/Modules/gr-gsmConfig.cmake +install( + FILES + cmake/Modules/gr-gsmConfig.cmake DESTINATION ${CMAKE_MODULES_DIR}/grgsm ) diff --git a/apps/apps_data/CMakeLists.txt b/apps/apps_data/CMakeLists.txt index db8a843..24ed3f0 100644 --- a/apps/apps_data/CMakeLists.txt +++ b/apps/apps_data/CMakeLists.txt @@ -35,7 +35,9 @@ ${CMAKE_CURRENT_BINARY_DIR}/grgsm_setup_freedesktop @ONLY) install( - PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/grgsm_setup_freedesktop - DESTINATION ${GR_PKG_LIBEXEC_DIR} COMPONENT "gr-gsm" + PROGRAMS + ${CMAKE_CURRENT_BINARY_DIR}/grgsm_setup_freedesktop + DESTINATION ${GR_PKG_LIBEXEC_DIR} + COMPONENT "gr-gsm" ) endif(UNIX AND HAVE_XDG_UTILS) diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index ed0fe3d..d2f9b1c 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -54,7 +54,11 @@ message(WARNING "rst2man from python-docutils is required to build man pages") else() build_man_page(MAN1_OUTPUT grgsm_livemon.rst grgsm_livemon.1) - install(FILES ${MAN1_OUTPUT} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1) + install( + FILES + ${MAN1_OUTPUT} + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1 + ) endif() diff --git a/docs/doxygen/CMakeLists.txt b/docs/doxygen/CMakeLists.txt index 6ade92c..ce64cec 100644 --- a/docs/doxygen/CMakeLists.txt +++ b/docs/doxygen/CMakeLists.txt @@ -50,4 +50,8 @@ add_custom_target(doxygen_target ALL DEPENDS ${BUILT_DIRS}) -install(DIRECTORY ${BUILT_DIRS} DESTINATION ${GR_PKG_DOC_DIR}) +install( + DIRECTORY + ${BUILT_DIRS} + DESTINATION ${GR_PKG_DOC_DIR} +) diff --git a/grc/CMakeLists.txt b/grc/CMakeLists.txt index deee6e0..173b642 100644 --- a/grc/CMakeLists.txt +++ b/grc/CMakeLists.txt @@ -25,6 +25,8 @@ add_subdirectory(misc_utils) add_subdirectory(transmitter) add_subdirectory(trx) -install(FILES - gsm.tree.yml DESTINATION share/gnuradio/grc/blocks +install( + FILES + gsm.tree.yml + DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/decoding/CMakeLists.txt b/grc/decoding/CMakeLists.txt index 63a2ee6..71953f0 100644 --- a/grc/decoding/CMakeLists.txt +++ b/grc/decoding/CMakeLists.txt @@ -17,7 +17,8 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. -install(FILES +install( + FILES gsm_control_channels_decoder.block.yml gsm_tch_f_decoder.block.yml gsm_tch_h_decoder.block.yml diff --git a/grc/decryption/CMakeLists.txt b/grc/decryption/CMakeLists.txt index e71e466..455ee0b 100644 --- a/grc/decryption/CMakeLists.txt +++ b/grc/decryption/CMakeLists.txt @@ -17,7 +17,8 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. -install(FILES +install( + FILES gsm_decryption.block.yml DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/demapping/CMakeLists.txt b/grc/demapping/CMakeLists.txt index 2572235..2bc5750 100644 --- a/grc/demapping/CMakeLists.txt +++ b/grc/demapping/CMakeLists.txt @@ -17,7 +17,8 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. -install(FILES +install( + FILES gsm_universal_ctrl_chans_demapper.block.yml gsm_bcch_ccch_demapper.block.yml gsm_bcch_ccch_sdcch4_demapper.block.yml diff --git a/grc/flow_control/CMakeLists.txt b/grc/flow_control/CMakeLists.txt index 2876512..4e878df 100644 --- a/grc/flow_control/CMakeLists.txt +++ b/grc/flow_control/CMakeLists.txt @@ -17,7 +17,8 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. -install(FILES +install( + FILES gsm_burst_timeslot_splitter.block.yml gsm_burst_fnr_filter.block.yml gsm_burst_timeslot_filter.block.yml diff --git a/grc/misc_utils/CMakeLists.txt b/grc/misc_utils/CMakeLists.txt index 73869d3..3acb63e 100644 --- a/grc/misc_utils/CMakeLists.txt +++ b/grc/misc_utils/CMakeLists.txt @@ -17,7 +17,8 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. -install(FILES +install( + FILES gsm_extract_system_info.block.yml gsm_extract_immediate_assignment.block.yml gsm_collect_system_info.block.yml diff --git a/grc/qa_utils/CMakeLists.txt b/grc/qa_utils/CMakeLists.txt index 2ed15a1..f849a3e 100644 --- a/grc/qa_utils/CMakeLists.txt +++ b/grc/qa_utils/CMakeLists.txt @@ -17,7 +17,8 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. -install(FILES +install( + FILES gsm_burst_source.block.xml gsm_burst_sink.block.xml gsm_message_source.block.xml diff --git a/grc/receiver/CMakeLists.txt b/grc/receiver/CMakeLists.txt index 3db5983..06a3c0c 100644 --- a/grc/receiver/CMakeLists.txt +++ b/grc/receiver/CMakeLists.txt @@ -17,7 +17,8 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. -install(FILES +install( + FILES gsm_input.block.yml gsm_receiver.block.yml gsm_receiver_with_uplink.block.yml diff --git a/grc/transmitter/CMakeLists.txt b/grc/transmitter/CMakeLists.txt index d66ea32..a012435 100644 --- a/grc/transmitter/CMakeLists.txt +++ b/grc/transmitter/CMakeLists.txt @@ -17,7 +17,8 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. -install(FILES +install( + FILES gsm_gmsk_mod.block.yml gsm_txtime_bursts_tagger.block.yml gsm_txtime_setter.block.yml diff --git a/grc/trx/CMakeLists.txt b/grc/trx/CMakeLists.txt index e448cdd..bcbac28 100644 --- a/grc/trx/CMakeLists.txt +++ b/grc/trx/CMakeLists.txt @@ -17,7 +17,8 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. -install(FILES +install( + FILES gsm_trx_burst_if.block.yml DESTINATION share/gnuradio/grc/blocks ) diff --git a/include/grgsm/CMakeLists.txt b/include/grgsm/CMakeLists.txt index 2982ef1..2f64ff4 100644 --- a/include/grgsm/CMakeLists.txt +++ b/include/grgsm/CMakeLists.txt @@ -20,7 +20,8 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES +install( + FILES plotting.hpp api.h gsmtap.h diff --git a/include/grgsm/decoding/CMakeLists.txt b/include/grgsm/decoding/CMakeLists.txt index 1014955..6210dad 100644 --- a/include/grgsm/decoding/CMakeLists.txt +++ b/include/grgsm/decoding/CMakeLists.txt @@ -20,9 +20,10 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES - control_channels_decoder.h +install( + FILES + control_channels_decoder.h tch_f_decoder.h tch_h_decoder.h - DESTINATION include/grgsm/decoding + DESTINATION include/grgsm/decoding ) diff --git a/include/grgsm/decryption/CMakeLists.txt b/include/grgsm/decryption/CMakeLists.txt index 3a0c6b6..f267201 100644 --- a/include/grgsm/decryption/CMakeLists.txt +++ b/include/grgsm/decryption/CMakeLists.txt @@ -20,6 +20,8 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES - decryption.h DESTINATION include/grgsm/decoding +install( + FILES + decryption.h + DESTINATION include/grgsm/decoding ) diff --git a/include/grgsm/demapping/CMakeLists.txt b/include/grgsm/demapping/CMakeLists.txt index 0165d24..25462fb 100644 --- a/include/grgsm/demapping/CMakeLists.txt +++ b/include/grgsm/demapping/CMakeLists.txt @@ -20,7 +20,8 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES +install( + FILES universal_ctrl_chans_demapper.h tch_f_chans_demapper.h tch_h_chans_demapper.h diff --git a/include/grgsm/flow_control/CMakeLists.txt b/include/grgsm/flow_control/CMakeLists.txt index d86f1c7..6feee61 100644 --- a/include/grgsm/flow_control/CMakeLists.txt +++ b/include/grgsm/flow_control/CMakeLists.txt @@ -20,7 +20,8 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES +install( + FILES common.h burst_timeslot_splitter.h burst_sdcch_subslot_splitter.h @@ -28,6 +29,7 @@ burst_sdcch_subslot_filter.h burst_fnr_filter.h burst_type_filter.h - dummy_burst_filter.h - uplink_downlink_splitter.h DESTINATION include/grgsm/flow_control + dummy_burst_filter.h + uplink_downlink_splitter.h + DESTINATION include/grgsm/flow_control ) diff --git a/include/grgsm/misc_utils/CMakeLists.txt b/include/grgsm/misc_utils/CMakeLists.txt index f8d8cbc..b151527 100644 --- a/include/grgsm/misc_utils/CMakeLists.txt +++ b/include/grgsm/misc_utils/CMakeLists.txt @@ -20,7 +20,8 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES +install( + FILES bursts_printer.h burst_file_source.h burst_file_sink.h @@ -38,5 +39,6 @@ burst_to_fn_time.h controlled_fractional_resampler_cc.h time_spec.h - fn_time.h DESTINATION include/grgsm/misc_utils + fn_time.h + DESTINATION include/grgsm/misc_utils ) diff --git a/include/grgsm/qa_utils/CMakeLists.txt b/include/grgsm/qa_utils/CMakeLists.txt index 44bbbfb..a74a358 100644 --- a/include/grgsm/qa_utils/CMakeLists.txt +++ b/include/grgsm/qa_utils/CMakeLists.txt @@ -20,9 +20,11 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES +install( + FILES burst_sink.h burst_source.h message_source.h - message_sink.h DESTINATION include/grgsm/qa_utils + message_sink.h + DESTINATION include/grgsm/qa_utils ) diff --git a/include/grgsm/receiver/CMakeLists.txt b/include/grgsm/receiver/CMakeLists.txt index bb4515d..8bf6370 100644 --- a/include/grgsm/receiver/CMakeLists.txt +++ b/include/grgsm/receiver/CMakeLists.txt @@ -20,8 +20,10 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES +install( + FILES clock_offset_control.h cx_channel_hopper.h - receiver.h DESTINATION include/grgsm/receiver + receiver.h + DESTINATION include/grgsm/receiver ) diff --git a/include/grgsm/transmitter/CMakeLists.txt b/include/grgsm/transmitter/CMakeLists.txt index fab6f7c..cdd140d 100644 --- a/include/grgsm/transmitter/CMakeLists.txt +++ b/include/grgsm/transmitter/CMakeLists.txt @@ -20,8 +20,9 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES - txtime_setter.h +install( + FILES + txtime_setter.h preprocess_tx_burst.h gen_test_ab.h DESTINATION include/grgsm/transmitter diff --git a/include/grgsm/trx/CMakeLists.txt b/include/grgsm/trx/CMakeLists.txt index a9847dd..0869701 100644 --- a/include/grgsm/trx/CMakeLists.txt +++ b/include/grgsm/trx/CMakeLists.txt @@ -20,7 +20,8 @@ ######################################################################## # Install public header files ######################################################################## -install(FILES +install( + FILES trx_burst_if.h DESTINATION include/grgsm/trx ) diff --git a/python/demapping/CMakeLists.txt b/python/demapping/CMakeLists.txt index 9f0efb4..0de1d98 100644 --- a/python/demapping/CMakeLists.txt +++ b/python/demapping/CMakeLists.txt @@ -21,5 +21,6 @@ FILES gsm_bcch_ccch_demapper.py gsm_bcch_ccch_sdcch4_demapper.py - gsm_sdcch8_demapper.py DESTINATION ${GR_PYTHON_DIR}/grgsm + gsm_sdcch8_demapper.py + DESTINATION ${GR_PYTHON_DIR}/grgsm ) diff --git a/python/receiver/CMakeLists.txt b/python/receiver/CMakeLists.txt index 8ab902b..a7a9e3e 100644 --- a/python/receiver/CMakeLists.txt +++ b/python/receiver/CMakeLists.txt @@ -23,5 +23,6 @@ fcch_burst_tagger.py sch_detector.py fcch_detector.py - chirpz.py DESTINATION ${GR_PYTHON_DIR}/grgsm + chirpz.py + DESTINATION ${GR_PYTHON_DIR}/grgsm ) diff --git a/python/transmitter/CMakeLists.txt b/python/transmitter/CMakeLists.txt index c32d6e1..3a5bbe8 100644 --- a/python/transmitter/CMakeLists.txt +++ b/python/transmitter/CMakeLists.txt @@ -20,5 +20,6 @@ GR_PYTHON_INSTALL( FILES txtime_bursts_tagger.py - gsm_gmsk_mod.py DESTINATION ${GR_PYTHON_DIR}/grgsm + gsm_gmsk_mod.py + DESTINATION ${GR_PYTHON_DIR}/grgsm ) -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24096 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ib7d571af629b0af78397a411b0cca409a6d218d8 Gerrit-Change-Number: 24096 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:55 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:55 +0000 Subject: Change in gr-gsm[master]: Remove local copy of associated osmo libraries In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24097 ) Change subject: Remove local copy of associated osmo libraries ...................................................................... Remove local copy of associated osmo libraries Change-Id: I2b4afedd9f2d568b5287d791891b2c2893fc6843 --- M CMakeLists.txt M lib/CMakeLists.txt M lib/decoding/CMakeLists.txt D lib/decoding/osmocom/codec/CMakeLists.txt D lib/decoding/osmocom/codec/codec.h D lib/decoding/osmocom/codec/gsm610.c D lib/decoding/osmocom/codec/gsm610_bits.h D lib/decoding/osmocom/codec/gsm620.c D lib/decoding/osmocom/codec/gsm660.c D lib/decoding/osmocom/codec/gsm690.c D lib/decoding/osmocom/coding/CMakeLists.txt D lib/decoding/osmocom/coding/gsm0503_coding.c D lib/decoding/osmocom/coding/gsm0503_coding.h D lib/decoding/osmocom/coding/gsm0503_conv.c D lib/decoding/osmocom/coding/gsm0503_interleaving.c D lib/decoding/osmocom/coding/gsm0503_interleaving.h D lib/decoding/osmocom/coding/gsm0503_mapping.c D lib/decoding/osmocom/coding/gsm0503_mapping.h D lib/decoding/osmocom/coding/gsm0503_parity.c D lib/decoding/osmocom/coding/gsm0503_parity.h D lib/decoding/osmocom/coding/gsm0503_tables.c D lib/decoding/osmocom/coding/gsm0503_tables.h D lib/decoding/osmocom/core/CMakeLists.txt D lib/decoding/osmocom/core/bit16gen.h D lib/decoding/osmocom/core/bit32gen.h D lib/decoding/osmocom/core/bit64gen.h D lib/decoding/osmocom/core/bits.c D lib/decoding/osmocom/core/bits.h D lib/decoding/osmocom/core/bitvec.c D lib/decoding/osmocom/core/bitvec.h D lib/decoding/osmocom/core/conv.c D lib/decoding/osmocom/core/conv.h D lib/decoding/osmocom/core/conv_acc.c D lib/decoding/osmocom/core/conv_acc_generic.c D lib/decoding/osmocom/core/crc16gen.c D lib/decoding/osmocom/core/crc16gen.h D lib/decoding/osmocom/core/crc32gen.h D lib/decoding/osmocom/core/crc64gen.c D lib/decoding/osmocom/core/crc64gen.h D lib/decoding/osmocom/core/crc8gen.c D lib/decoding/osmocom/core/crc8gen.h D lib/decoding/osmocom/core/crcgen.h D lib/decoding/osmocom/core/defs.h D lib/decoding/osmocom/core/endian.h D lib/decoding/osmocom/core/linuxlist.h D lib/decoding/osmocom/core/panic.c D lib/decoding/osmocom/core/panic.h D lib/decoding/osmocom/core/utils.h D lib/decoding/osmocom/crypt/auth.h D lib/decoding/osmocom/gsm/CMakeLists.txt D lib/decoding/osmocom/gsm/a5.c D lib/decoding/osmocom/gsm/a5.h D lib/decoding/osmocom/gsm/auth_core.c D lib/decoding/osmocom/gsm/gsm0503.h D lib/decoding/osmocom/gsm/gsm48_ie.c D lib/decoding/osmocom/gsm/gsm48_ie.h D lib/decoding/osmocom/gsm/kasumi.c D lib/decoding/osmocom/gsm/kasumi.h D lib/decoding/osmocom/gsm/protocol/gsm_04_08.h 59 files changed, 2 insertions(+), 17,859 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I2b4afedd9f2d568b5287d791891b2c2893fc6843 Gerrit-Change-Number: 24097 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:56 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:56 +0000 Subject: Change in gr-gsm[master]: Execute python apps with use of python3 In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24098 ) Change subject: Execute python apps with use of python3 ...................................................................... Execute python apps with use of python3 Change-Id: Ib9ab805cc5a3878d168787736463dc495b96ddcf --- M apps/helpers/grgsm_capture M apps/helpers/grgsm_channelize 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/apps/helpers/grgsm_capture b/apps/helpers/grgsm_capture index f3886ba..43dce33 100755 --- a/apps/helpers/grgsm_capture +++ b/apps/helpers/grgsm_capture @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # -*- coding: utf-8 -*- # @file # @author (C) 2015 by Roman Khassraf diff --git a/apps/helpers/grgsm_channelize b/apps/helpers/grgsm_channelize index 5eaeb3b..92b252e 100755 --- a/apps/helpers/grgsm_channelize +++ b/apps/helpers/grgsm_channelize @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # -*- coding: utf-8 -*- # @file # @author (C) 2015 by Pieter Robyns -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24098 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ib9ab805cc5a3878d168787736463dc495b96ddcf Gerrit-Change-Number: 24098 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:56 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:56 +0000 Subject: Change in gr-gsm[master]: Port compile_demappers helper script to gr3.8 In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24099 ) Change subject: Port compile_demappers helper script to gr3.8 ...................................................................... Port compile_demappers helper script to gr3.8 Change-Id: Iadcc19288496558fc65a46b72d36dcf047489ac3 --- M hier_blocks/compile_demappers 1 file changed, 9 insertions(+), 7 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/hier_blocks/compile_demappers b/hier_blocks/compile_demappers index 96d652b..d492620 100755 --- a/hier_blocks/compile_demappers +++ b/hier_blocks/compile_demappers @@ -8,23 +8,25 @@ for p in *.grc do echo $p - grcc $p -d `pwd` + grcc $p -o `pwd` done cd .. mv ~/.grc_gnuradio/gsm_* . -for file in *.py.xml +for file in *.py.block.yml do - cat $file | sed 's/.*\.*/ import grgsm<\/import>/' \ - | sed 's//grgsm./' \ + echo $file + cat $file | sed "s/ imports: .*\(#.*\)/ imports: \\'import grgsm\\' \1/" \ + | sed 's/make: "/make: "grgsm./' \ | sed "s/.*.py//" \ - | sed 's/.*hier_blocks/gr-gsm\/hier_blocks/' \ + | sed 's/grc_source:.*hier_blocks/grc_source: gr-gsm\/hier_blocks/' \ > ${file}2 + mv ${file}2 $file - mv "$file" "`basename $file .py.xml`.xml" + mv "$file" "`basename $file .py.block.yml`.block.yml" done for py in *.py @@ -34,4 +36,4 @@ done mv *.py ../python/demapping -mv *.xml ../grc/demapping \ No newline at end of file +mv *.yml ../grc/demapping -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24099 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iadcc19288496558fc65a46b72d36dcf047489ac3 Gerrit-Change-Number: 24099 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:57 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:57 +0000 Subject: Change in gr-gsm[master]: tests: Remove test that don't work In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24100 ) Change subject: tests: Remove test that don't work ...................................................................... tests: Remove test that don't work Change-Id: I9f37131c565e6d87ae94f583d36a2de3d9500b38 --- M .travis.yml D tests/dockerfiles/CentOS_7.Dockerfile D tests/dockerfiles/CentOS_7_pygtk2.patch M tests/dockerfiles/Debian_testing.docker D tests/dockerfiles/Debian_testing_package.docker D tests/dockerfiles/Fedora_26.Dockerfile D tests/dockerfiles/Kali.docker D tests/dockerfiles/Ubuntu_16_04.docker D tests/dockerfiles/Ubuntu_16_04_nolibosmo.docker D tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker 10 files changed, 5 insertions(+), 257 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/.travis.yml b/.travis.yml index 437e66e..5dcec4d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,13 +4,7 @@ language: ruby env: - - DOCKERFILE=tests/dockerfiles/Debian_testing.docker IMGNAME=debtest-grgsm -# - DOCKERFILE=tests/dockerfiles/Ubuntu_16_04.docker IMGNAME=ubu16.04-grgsm -# - DOCKERFILE=tests/dockerfiles/Ubuntu_16_04_nolibosmo.docker IMGNAME=ubu16.04-grgsm-nolibosmo - - DOCKERFILE=tests/dockerfiles/Kali.docker IMGNAME=kali-grgsm -# - DOCKERFILE=tests/dockerfiles/Fedora_26.Dockerfile IMGNAME=fedora26-grgsm - - DOCKERFILE=tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker IMGNAME=ubuntu_18_04_gnuradio_ppa - + - DOCKERFILE=tests/dockerfiles/Debian_testing.docker IMGNAME=debian_testing services: - docker diff --git a/tests/dockerfiles/CentOS_7.Dockerfile b/tests/dockerfiles/CentOS_7.Dockerfile deleted file mode 100644 index b5c235d..0000000 --- a/tests/dockerfiles/CentOS_7.Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -FROM centos:7 - -RUN yum install -y \ - https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && \ - yum install -y \ - gcc-c++ \ - make \ - cmake3 \ - pkgconfig \ - boost-devel \ - gnuradio-devel \ - libosmocore-devel \ - gr-osmosdr \ - swig \ - doxygen \ - python2-docutils \ - cppunit-devel - -COPY ./ /src/ - -RUN yum install -y patch && \ - patch -p0 < /src/tests/dockerfiles/CentOS_7_pygtk2.patch - -WORKDIR /src/build -RUN cmake3 -DENABLE_GRGSM_LIVEMON=OFF .. && \ - # The parallel build sometimes fails when the .grc_gnuradio - # and .gnuradio directories do not exist - mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ - make -j $(nproc) && \ - make install && \ - ldconfig && \ - make test diff --git a/tests/dockerfiles/CentOS_7_pygtk2.patch b/tests/dockerfiles/CentOS_7_pygtk2.patch deleted file mode 100644 index a5ed29c..0000000 --- a/tests/dockerfiles/CentOS_7_pygtk2.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- /usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py 2018-04-23 17:29:19.555209060 +0000 -+++ /usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py 2018-04-23 17:32:53.448304174 +0000 -@@ -47,14 +47,19 @@ - def _init(): - import sys - -- sys_path = sys.path[:] -+ try: -+ sys_path = sys.path[:] - -- _gtk.init_check() -- -- # init_check calls PySys_SetArgv which calls sys.path.insert(0, ''), -- # which causes problems for pychecker, restore it if modified. -- if sys.path != sys_path: -- sys.path[:] = sys_path -+ try: -+ _gtk.init_check() -+ except RuntimeError, e: -+ import warnings -+ warnings.warn(str(e), _gtk.Warning) -+ finally: -+ # init_check calls PySys_SetArgv which calls sys.path.insert(0, ''), -+ # which causes problems for pychecker, restore it if modified. -+ if sys.path != sys_path: -+ sys.path[:] = sys_path - - # install the default log handlers - _gtk.add_log_handlers() - diff --git a/tests/dockerfiles/Debian_testing.docker b/tests/dockerfiles/Debian_testing.docker index c4c3057..8a9f84b 100644 --- a/tests/dockerfiles/Debian_testing.docker +++ b/tests/dockerfiles/Debian_testing.docker @@ -13,16 +13,16 @@ liblog4cpp5-dev \ python3-docutils \ python3-scipy \ - gnuradio-dev gnuradio libgmp-dev libboost-regex-dev liborc-dev \ + gnuradio-dev \ + liborc-dev \ libosmocore-dev \ gr-osmosdr COPY ./ /src/ - -RUN mkdir -p /src/build +RUN mkdir /src/build WORKDIR /src/build -RUN PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH cmake .. && \ +RUN cmake .. && \ # The parallel build sometimes fails when the .grc_gnuradio # and .gnuradio directories do not exist mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ diff --git a/tests/dockerfiles/Debian_testing_package.docker b/tests/dockerfiles/Debian_testing_package.docker deleted file mode 100644 index 35d31cd..0000000 --- a/tests/dockerfiles/Debian_testing_package.docker +++ /dev/null @@ -1,10 +0,0 @@ -FROM debian:testing -MAINTAINER Piotr Krysik - -RUN apt-get update && apt-get install -y \ - gr-gsm - -COPY ./ /src/ -RUN ls /src - - diff --git a/tests/dockerfiles/Fedora_26.Dockerfile b/tests/dockerfiles/Fedora_26.Dockerfile deleted file mode 100644 index 38a5a52..0000000 --- a/tests/dockerfiles/Fedora_26.Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -FROM fedora:26 - -RUN dnf install -y \ - gcc-c++ \ - make \ - cmake \ - pkgconfig \ - boost-devel \ - gnuradio-devel \ - libosmocore-devel \ - gr-osmosdr \ - swig \ - doxygen \ - python2-docutils \ - cppunit-devel - -COPY ./ /src/ - -WORKDIR /src/build -RUN cmake .. && \ - # The parallel build sometimes fails when the .grc_gnuradio - # and .gnuradio directories do not exist - mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ - make && \ - make -j $(nproc) && \ - make install && \ - ldconfig && \ - make CTEST_OUTPUT_ON_FAILURE=1 test diff --git a/tests/dockerfiles/Kali.docker b/tests/dockerfiles/Kali.docker deleted file mode 100644 index a953ece..0000000 --- a/tests/dockerfiles/Kali.docker +++ /dev/null @@ -1,32 +0,0 @@ -FROM kalilinux/kali-linux-docker -MAINTAINER Piotr Krysik - -RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - cmake \ - autoconf \ - libtool \ - pkg-config \ - build-essential \ - libcppunit-dev \ - swig \ - doxygen \ - liblog4cpp5-dev \ - python3-docutils \ - python3-scipy \ - gnuradio-dev gnuradio libgmp-dev libboost-regex-dev liborc-dev \ - libosmocore-dev \ - gr-osmosdr - -COPY ./ /src/ - -RUN mkdir -p /src/build -WORKDIR /src/build - -RUN PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH cmake .. && \ - # The parallel build sometimes fails when the .grc_gnuradio - # and .gnuradio directories do not exist - mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ - make -j $(nproc) && \ - make install && \ - ldconfig && \ - make CTEST_OUTPUT_ON_FAILURE=1 test diff --git a/tests/dockerfiles/Ubuntu_16_04.docker b/tests/dockerfiles/Ubuntu_16_04.docker deleted file mode 100644 index fe1c35f..0000000 --- a/tests/dockerfiles/Ubuntu_16_04.docker +++ /dev/null @@ -1,32 +0,0 @@ -FROM ubuntu:16.04 -MAINTAINER Piotr Krysik - -RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - cmake \ - autoconf \ - libtool \ - pkg-config \ - build-essential \ - python-docutils \ - libcppunit-dev \ - swig \ - doxygen \ - liblog4cpp5-dev \ - python-scipy \ - gnuradio-dev \ - gr-osmosdr \ - libosmocore-dev - -COPY ./ /src/ -RUN ls /src - -RUN mkdir /src/build -WORKDIR /src/build -RUN cmake .. && \ - # The parallel build sometimes fails when the .grc_gnuradio - # and .gnuradio directories do not exist - mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ - make -j $(nproc) && \ - make install && \ - ldconfig && \ - make CTEST_OUTPUT_ON_FAILURE=1 test diff --git a/tests/dockerfiles/Ubuntu_16_04_nolibosmo.docker b/tests/dockerfiles/Ubuntu_16_04_nolibosmo.docker deleted file mode 100644 index ba70afd..0000000 --- a/tests/dockerfiles/Ubuntu_16_04_nolibosmo.docker +++ /dev/null @@ -1,31 +0,0 @@ -FROM ubuntu:16.04 -MAINTAINER Piotr Krysik - -RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - cmake \ - autoconf \ - libtool \ - pkg-config \ - build-essential \ - python-docutils \ - libcppunit-dev \ - swig \ - doxygen \ - liblog4cpp5-dev \ - python-scipy \ - gnuradio-dev \ - gr-osmosdr - -COPY ./ /src/ -RUN ls /src - -RUN mkdir /src/build -WORKDIR /src/build -RUN cmake .. && \ - # The parallel build sometimes fails when the .grc_gnuradio - # and .gnuradio directories do not exist - mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ - make -j $(nproc) && \ - make install && \ - ldconfig && \ - make CTEST_OUTPUT_ON_FAILURE=1 test diff --git a/tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker b/tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker deleted file mode 100644 index e0f45a5..0000000 --- a/tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker +++ /dev/null @@ -1,51 +0,0 @@ -FROM ubuntu:18.04 -MAINTAINER Vasil Velichkov - -RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - software-properties-common && \ - add-apt-repository --yes ppa:gnuradio/gnuradio-releases && \ - DEBIAN_FRONTEND=noninteractive apt-get install -y \ - git \ - cmake \ - autoconf \ - libtool \ - pkg-config \ - build-essential \ - python-docutils \ - libcppunit-dev \ - swig \ - doxygen \ - liblog4cpp5-dev \ - python-scipy \ - gnuradio-dev gnuradio libgmp-dev libboost-regex-dev liborc-dev libuhd-dev \ - libosmocore-dev - -RUN git clone --branch maint-3.8 --recurse-submodules https://github.com/velichkov/gr-iqbal && \ - cd gr-iqbal && \ - mkdir build && \ - cd build && \ - cmake -DENABLE_DOXYGEN=OFF .. && \ - make -j $(nproc) install - -RUN git clone --branch maint-3.8 https://github.com/velichkov/gr-osmosdr && \ - cd gr-osmosdr && \ - mkdir build && \ - cd build && \ - cmake -DENABLE_DOXYGEN=OFF .. && \ - make -j $(nproc) install - -COPY ./ /src/ -RUN mkdir /src/build -WORKDIR /src/build - -#PYTHONPATH is needed as gr-osmosdr gets installed in /usr/local/lib/python3/... -ENV PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH - -RUN cmake .. && \ - # The parallel build sometimes fails when the .grc_gnuradio - # and .gnuradio directories do not exist - mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ - make -j $(nproc) && \ - make install && \ - ldconfig && \ - make CTEST_OUTPUT_ON_FAILURE=1 test -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24100 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I9f37131c565e6d87ae94f583d36a2de3d9500b38 Gerrit-Change-Number: 24100 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:31:57 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Mon, 3 May 2021 10:31:57 +0000 Subject: Change in gr-gsm[master]: tests: Add test for Ubuntu 20.04 In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24101 ) Change subject: tests: Add test for Ubuntu 20.04 ...................................................................... tests: Add test for Ubuntu 20.04 Change-Id: I38bbde4fad7bdc72ad99a1957678539ea813013e --- M .travis.yml A tests/dockerfiles/Ubuntu_20_04.docker 2 files changed, 34 insertions(+), 1 deletion(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/.travis.yml b/.travis.yml index 5dcec4d..8ef60ed 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,7 @@ language: ruby env: + - DOCKERFILE=tests/dockerfiles/Ubuntu_20_04.docker IMGNAME=ubuntu_20_04 - DOCKERFILE=tests/dockerfiles/Debian_testing.docker IMGNAME=debian_testing services: @@ -13,6 +14,6 @@ - cat $DOCKERFILE > Dockerfile ; docker build -t $IMGNAME . script: -# - docker run -it --rm $IMGNAME sh -c 'cd /src/build;make test' + - docker run -it --rm $IMGNAME sh -c 'cd /src/build;make test' - docker run -it --rm $IMGNAME /src/tests/scripts/decode.sh - docker run -it --rm $IMGNAME /src/tests/scripts/decrypt.sh diff --git a/tests/dockerfiles/Ubuntu_20_04.docker b/tests/dockerfiles/Ubuntu_20_04.docker new file mode 100644 index 0000000..f972d9e --- /dev/null +++ b/tests/dockerfiles/Ubuntu_20_04.docker @@ -0,0 +1,32 @@ +FROM ubuntu:20.04 +MAINTAINER Piotr Krysik + +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ + cmake \ + autoconf \ + libtool \ + pkg-config \ + build-essential \ + libcppunit-dev \ + swig \ + doxygen \ + liblog4cpp5-dev \ + python3-docutils \ + python3-scipy \ + gnuradio-dev \ + liborc-dev \ + libosmocore-dev \ + gr-osmosdr + +COPY ./ /src/ +RUN mkdir /src/build +WORKDIR /src/build + +RUN cmake .. && \ + # The parallel build sometimes fails when the .grc_gnuradio + # and .gnuradio directories do not exist + mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \ + make -j $(nproc) && \ + make install && \ + ldconfig && \ + make CTEST_OUTPUT_ON_FAILURE=1 test -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I38bbde4fad7bdc72ad99a1957678539ea813013e Gerrit-Change-Number: 24101 Gerrit-PatchSet: 1 Gerrit-Owner: ptrkrysik Gerrit-Reviewer: ptrkrysik Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:32:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:32:47 +0000 Subject: Change in osmo-gsm-tester[master]: 4g: add overlay template path for all suites In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24051 ) Change subject: 4g: add overlay template path for all suites ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24051 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifc43ac41b16813116f2559da5223a6fecc186125 Gerrit-Change-Number: 24051 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:32:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:34:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:34:08 +0000 Subject: Change in osmo-gsm-tester[master]: ping: add a short delay after UE is attached before starting ping In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052 ) Change subject: ping: add a short delay after UE is attached before starting ping ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052/2/sysmocom/suites/4g/ping.py File sysmocom/suites/4g/ping.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052/2/sysmocom/suites/4g/ping.py at 28 PS2, Line 28: sleep(5) I'm not really liking all this sleepes here. Cannot we adapt ue.is_registered() implementation to return true only when really prepared? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic507dc4a24e8576b0ec3b301ee8e340ed553b300 Gerrit-Change-Number: 24052 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:34:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:34:13 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 3 May 2021 10:34:13 +0000 Subject: Change in osmo-bsc[master]: test_gsm48_multirate_config: rather keep 4x amr_mode In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24002 ) Change subject: test_gsm48_multirate_config: rather keep 4x amr_mode ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24002 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I545de6fb66a4b74a3f08899795b4b4d9c4538f58 Gerrit-Change-Number: 24002 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:34:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:35:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:35:22 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: extend prach_sent counter with NR version In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24053 ) Change subject: ms_srs: extend prach_sent counter with NR version ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24053 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8192dc3b4dae27417c93b68d33a686bca4783f4d Gerrit-Change-Number: 24053 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:35:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:35:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:35:58 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: update args for 21.04 changes to include NSA In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24054 ) Change subject: srsue.conf.tmpl: update args for 21.04 changes to include NSA ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24054 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icb9e8e7b1c68cf024db3a7273af791f017c32003 Gerrit-Change-Number: 24054 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:35:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:36:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:36:38 +0000 Subject: Change in osmo-gsm-tester[master]: enb_amarisoft: add "sdr" as rf_dev_type and rx_ant parameter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24055 ) Change subject: enb_amarisoft: add "sdr" as rf_dev_type and rx_ant parameter ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24055 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia373a78f59538d6dfca390431f85a7af26c9d914 Gerrit-Change-Number: 24055 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:36:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:37:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:37:04 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add short_sn as config option for srsUE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24056 ) Change subject: ms_srs: add short_sn as config option for srsUE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ibcf72dbb424ae3b6a87b60febb4dadf716407612 Gerrit-Change-Number: 24056 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:37:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:37:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:37:45 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_rf_driver.cfg.tmpl: only set trx offset for B210 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24057 ) Change subject: amarisoft_rf_driver.cfg.tmpl: only set trx offset for B210 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Id4c5f0bede5b09d59237cdd6a959a3663f1a1b37 Gerrit-Change-Number: 24057 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:37:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:37:46 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 10:37:46 +0000 Subject: Change in osmo-gsm-tester[master]: epc_amarisoft: launch ltesim server when starting In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342 to look at the new patch set (#5). Change subject: epc_amarisoft: launch ltesim server when starting ...................................................................... epc_amarisoft: launch ltesim server when starting this allows to use the lteue to generate DL traffic. the server listens on the default spgw address. Change-Id: Iad081e57e2fd9d3cbc3e59e4f729a4721ad778c9 --- M src/osmo_gsm_tester/obj/epc_amarisoft.py 1 file changed, 14 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/42/23342/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iad081e57e2fd9d3cbc3e59e4f729a4721ad778c9 Gerrit-Change-Number: 23342 Gerrit-PatchSet: 5 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:37:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:37:57 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: set srate param with the X310 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24058 ) Change subject: srsue.conf.tmpl: set srate param with the X310 ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24058 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icb04ed51ace97d4467558639aeb3f556dbe8678a Gerrit-Change-Number: 24058 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:37:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:38:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:38:52 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb.conf.tmpl: use LTE sample rates when Lime is found in rf args In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24059 ) Change subject: srsenb.conf.tmpl: use LTE sample rates when Lime is found in rf args ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24059 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d3dbdf5ff62980854ef67b20469f072ce31612e Gerrit-Change-Number: 24059 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:38:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:41:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:41:31 +0000 Subject: Change in osmo-gsm-tester[master]: epc_amarisoft: launch ltesim server when starting In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342 ) Change subject: epc_amarisoft: launch ltesim server when starting ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iad081e57e2fd9d3cbc3e59e4f729a4721ad778c9 Gerrit-Change-Number: 23342 Gerrit-PatchSet: 5 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:41:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:41:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:41:45 +0000 Subject: Change in osmo-gsm-tester[master]: epc_amarisoft: launch ltesim server when starting In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342 ) Change subject: epc_amarisoft: launch ltesim server when starting ...................................................................... Patch Set 5: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iad081e57e2fd9d3cbc3e59e4f729a4721ad778c9 Gerrit-Change-Number: 23342 Gerrit-PatchSet: 5 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:41:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:41:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:41:47 +0000 Subject: Change in osmo-gsm-tester[master]: epc_amarisoft: launch ltesim server when starting In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342 ) Change subject: epc_amarisoft: launch ltesim server when starting ...................................................................... epc_amarisoft: launch ltesim server when starting this allows to use the lteue to generate DL traffic. the server listens on the default spgw address. Change-Id: Iad081e57e2fd9d3cbc3e59e4f729a4721ad778c9 --- M src/osmo_gsm_tester/obj/epc_amarisoft.py 1 file changed, 14 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py index 3b184ae..1534d87 100644 --- a/src/osmo_gsm_tester/obj/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -19,6 +19,7 @@ import os import pprint +import time from ..core import log, util, config, template, process, remote from ..core import schema @@ -37,6 +38,7 @@ CFGFILE = 'amarisoft_ltemme.cfg' LOGFILE = 'ltemme.log' IFUPFILE = 'mme-ifup' + LTESIM_BINFILE = 'ltesim_server' def __init__(self, testenv, run_node): super().__init__(testenv, run_node, 'amarisoftepc') @@ -50,7 +52,7 @@ self.remote_inst = None self.remote_config_file = None self.remote_log_file = None - self.remote_ifup_file =None + self.remote_ifup_file = None self._bin_prefix = None self.inst = None self.subscriber_list = [] @@ -81,6 +83,7 @@ self.start_locally() else: self.start_remotely() + self.start_ltesim_remotely() def start_remotely(self): remote_binary = self.remote_inst.child('', AmarisoftEPC.BINFILE) @@ -115,6 +118,16 @@ self.testenv.remember_to_stop(self.process) self.process.launch() + def start_ltesim_remotely(self): + # Sleep for a moment to give MME time to start up create TUN device + time.sleep(5) + remote_binary = self.remote_inst.child('', AmarisoftEPC.LTESIM_BINFILE) + args = (remote_binary, "-a " + self.tun_addr()) + self.log('Launching ltesim_server') + self.ltesim_process = self.rem_host.RemoteProcess(AmarisoftEPC.LTESIM_BINFILE, args) + self.testenv.remember_to_stop(self.ltesim_process) + self.ltesim_process.launch() + def configure(self): self.inst = util.Dir(os.path.abspath(self.bin_prefix())) if not self.inst.isfile('', AmarisoftEPC.BINFILE): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iad081e57e2fd9d3cbc3e59e4f729a4721ad778c9 Gerrit-Change-Number: 23342 Gerrit-PatchSet: 5 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:58:16 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 10:58:16 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-amarisoft: adjusting lib name to srsran and update vers... In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24045 ) Change subject: jenkins-build-amarisoft: adjusting lib name to srsran and update versions ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24045/2/contrib/jenkins-build-amarisoft.sh File contrib/jenkins-build-amarisoft.sh: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24045/2/contrib/jenkins-build-amarisoft.sh at 96 PS2, Line 96: tar --strip-components=1 -zxf inst-tmp/*/lteue-linux-2021-03-15.tar.gz -C inst-amarisoftue/ > So above you use lteute version 2018-10-18 and here 2021-03-15. [?] That's right. We don't have a licence for the never 2021 versions of the UE. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24045 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2174aec3c7ded8c966877a87f4cc6a39ce1325c2 Gerrit-Change-Number: 24045 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:58:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 10:59:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 10:59:58 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-amarisoft: adjusting lib name to srsran and update vers... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24045 ) Change subject: jenkins-build-amarisoft: adjusting lib name to srsran and update versions ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24045 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2174aec3c7ded8c966877a87f4cc6a39ce1325c2 Gerrit-Change-Number: 24045 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 10:59:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 11:55:31 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 11:55:31 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add rx_ant param In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24050 ) Change subject: enb: add rx_ant param ...................................................................... Patch Set 3: > Patch Set 2: > > I don't see this param being used at all? Canyo uexplain why? True. It will be used in future patches that add NR capabilities. NR uses TDD and we need to set the rx ant then. I've made the patch based on the main branch that's why you already see it here. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iada98fce3608808914562d9f7e2af2c230e03cae Gerrit-Change-Number: 24050 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 03 May 2021 11:55:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 11:58:13 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 11:58:13 +0000 Subject: Change in osmo-gsm-tester[master]: ping: add a short delay after UE is attached before starting ping In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052 ) Change subject: ping: add a short delay after UE is attached before starting ping ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052/2/sysmocom/suites/4g/ping.py File sysmocom/suites/4g/ping.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052/2/sysmocom/suites/4g/ping.py at 28 PS2, Line 28: sleep(5) > I'm not really liking all this sleepes here. Cannot we adapt ue. [?] I am not a big fan of this either. But right now there is no easy way to solve it I am afraid. In 5G when the main data path switches between 4G to 5G, there is a loss of communication and packets aren't recovered. So if we start the ping too early in NSA, we might get lost pings and the tests fails. After 5s in the current setup, its safe to start the test because we know the 5G carrier has been activated. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic507dc4a24e8576b0ec3b301ee8e340ed553b300 Gerrit-Change-Number: 24052 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 03 May 2021 11:58:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 11:59:13 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 11:59:13 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add resource scheme to configure fixed DL and UL freq In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346 to look at the new patch set (#8). Change subject: ms_srs: add resource scheme to configure fixed DL and UL freq ...................................................................... ms_srs: add resource scheme to configure fixed DL and UL freq this config option overwrites the EARFCN config that is typically used to tell the UE the bands to scan for cells. When custom frequencies are used, this option allows to set them explicitly. Change-Id: Ice070ea6755e273d916db2dc941068d33bbe206a --- M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/46/23346/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ice070ea6755e273d916db2dc941068d33bbe206a Gerrit-Change-Number: 23346 Gerrit-PatchSet: 8 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 11:59:13 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 11:59:13 +0000 Subject: Change in osmo-gsm-tester[master]: ms_amarisoft: extend AmariUE to support custom frequency bands In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24042 to look at the new patch set (#3). Change subject: ms_amarisoft: extend AmariUE to support custom frequency bands ...................................................................... ms_amarisoft: extend AmariUE to support custom frequency bands this patch adds generic support for custom frequency bands to the ms class. it then extends the config template for AmariUE to use them. we set the default values for EARFCNs for DL/UL to the old values. Change-Id: I7b2250e13fc1161be1a1d73a4348f07b31c0f724 --- M src/osmo_gsm_tester/obj/ms.py M src/osmo_gsm_tester/obj/ms_amarisoft.py M src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl M sysmocom/defaults.conf 4 files changed, 35 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/42/24042/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I7b2250e13fc1161be1a1d73a4348f07b31c0f724 Gerrit-Change-Number: 24042 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 11:59:13 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 11:59:13 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_ltemme.cfg.tmpl: add gbr to the template In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24046 to look at the new patch set (#4). Change subject: amarisoft_ltemme.cfg.tmpl: add gbr to the template ...................................................................... amarisoft_ltemme.cfg.tmpl: add gbr to the template newer version of the amarisoft mme requires the GBR to be set Change-Id: Ib0b046ea9fcc26b6bbe03461ca6308acc35175d1 --- M src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/46/24046/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24046 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib0b046ea9fcc26b6bbe03461ca6308acc35175d1 Gerrit-Change-Number: 24046 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 11:59:13 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 3 May 2021 11:59:13 +0000 Subject: Change in osmo-gsm-tester[master]: enb_amarisoft: add "sdr" as rf_dev_type and rx_ant parameter In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24055 to look at the new patch set (#4). Change subject: enb_amarisoft: add "sdr" as rf_dev_type and rx_ant parameter ...................................................................... enb_amarisoft: add "sdr" as rf_dev_type and rx_ant parameter this allows to use the Amarisoft PCIe cards with OGT Change-Id: Ia373a78f59538d6dfca390431f85a7af26c9d914 --- M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl 2 files changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/55/24055/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24055 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia373a78f59538d6dfca390431f85a7af26c9d914 Gerrit-Change-Number: 24055 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:16:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:16:08 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add rx_ant param In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24050 ) Change subject: enb: add rx_ant param ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iada98fce3608808914562d9f7e2af2c230e03cae Gerrit-Change-Number: 24050 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:16:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:18:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 12:18:07 +0000 Subject: Change in pysim[master]: utils: Introduce DataObject representation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24035 ) Change subject: utils: Introduce DataObject representation ...................................................................... Patch Set 2: (6 comments) https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 869 PS2, Line 869: DataObject > Is this an abstract class? I still have my troubles understanding the 'abc' documentation. I read it several times during past mongs, to no help. It seems to discuss all kinds of things we're not really doing here and uses al ot of language that's hard to understand for me. Your recent examples look super simlpe in terms of what they do to the code, but I somehow am not certain enough that we're using it like it's documented. So to answer your question: I have no fxcing clue if what I'm doing here falls within the documented use cases of an abc.ABC, sorry. https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 873 PS2, Line 873: this > cosmetic: missing dot Ack https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 884 PS2, Line 884: self.encoded = None > One of these should be 'decoded' I guess, and this is why pylint complains. Ack https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 972 PS2, Line 972: from_value > Sounds more like from_bytes() given that it accepts 'bytes'? Ack https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 985 PS2, Line 985: members=[] > Using objects, lists, and tuples as a default argument value is dangerous because all instances of t [?] Ah yes, I read about this some time ago, but forgot it. How would you work around this here? I don't want to manually call the 'add' operator here inf my use cases (see following patch) where I want a compact syntax to intiialize a collection/choice with various members. https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 991 PS2, Line 991: for m in self.members: > This could be done using the comprehension: [?] but how would I select the m.tag / m.name here? self.members_by_tag = { m.tag:m for m in members } -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iac18e7665481c9323cc7d22a3cd93e3da7869deb Gerrit-Change-Number: 24035 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 03 May 2021 12:18:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:18:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 12:18:57 +0000 Subject: Change in pysim[master]: utils: Introduce DataObject representation In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24035 to look at the new patch set (#3). Change subject: utils: Introduce DataObject representation ...................................................................... utils: Introduce DataObject representation Represents DataObject (DO) in the sense of ISO 7816-4. Contrary to 'normal' TLVs where one simply has any number of different TLVs that may occur in any order at any point, ISO 7816 has the habit of specifying TLV data but with very specific ordering, or specific choices of tags at specific points in a stream. This is represented by DataObjectChoice, DataObjectCollection and DataObjectSequence classes. Change-Id: Iac18e7665481c9323cc7d22a3cd93e3da7869deb --- M pySim/utils.py 1 file changed, 299 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/35/24035/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iac18e7665481c9323cc7d22a3cd93e3da7869deb Gerrit-Change-Number: 24035 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:18:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 12:18:57 +0000 Subject: Change in pysim[master]: Implement EF.ARR (Access Rule Reference) decoding In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24037 to look at the new patch set (#4). Change subject: Implement EF.ARR (Access Rule Reference) decoding ...................................................................... Implement EF.ARR (Access Rule Reference) decoding The Access Mode (AM) and Security Condition (SC) DOs are incredibly convoluted, so we need a lot of code to properly decode them. Change-Id: If4f0725a849d41fd93de327ed00996d8179f2b0e --- M README.md M contrib/jenkins.sh M pySim/ts_102_221.py M requirements.txt M setup.py 5 files changed, 386 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/37/24037/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If4f0725a849d41fd93de327ed00996d8179f2b0e Gerrit-Change-Number: 24037 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:18:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 12:18:58 +0000 Subject: Change in pysim[master]: BER-TLV EF support (command, filesystem, shell) References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24102 ) Change subject: BER-TLV EF support (command, filesystem, shell) ...................................................................... BER-TLV EF support (command, filesystem, shell) This adds support for a new EF file type: BER-TLV files. They are different from transparent and linear fixed EFs in that they neither operate on a byte stream nor fixed-sized records, but on BER-TLV encoded objects. One can specify a tag value, and the card will return the entire TLV for that tag. As indicated in the spec, the magic tag value 0x5C (92) will return a list of tags existing in the file. Change-Id: Ibfcce757dcd477fd0d6857f64fbb4346d6d62e63 --- M docs/shell.rst M pySim-shell.py M pySim/commands.py M pySim/filesystem.py M pySim/ts_102_221.py M pySim/utils.py 6 files changed, 300 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/02/24102/1 diff --git a/docs/shell.rst b/docs/shell.rst index 4cdf9e0..5170999 100644 --- a/docs/shell.rst +++ b/docs/shell.rst @@ -334,6 +334,43 @@ This allows for easy interactive modification of file contents. + +BER-TLV EF commands +------------------- + +BER-TLV EFs are files that contain BER-TLV structured data. Every file can contain any number +of variable-length IEs (DOs). The tag within a BER-TLV EF must be unique within the file. + +The commands below become enabled only when your currently selected file is of *BER-TLV EF* type. + +retrieve_tags +~~~~~~~~~~~~~ + +Retrieve a list of all tags present in the currently selected file. + + +retrieve_data +~~~~~~~~~~~~~ +.. argparse:: + :module: pySim.filesystem + :func: BerTlvEF.ShellCommands.retrieve_data_parser + + +set_data +~~~~~~~~ +.. argparse:: + :module: pySim.filesystem + :func: BerTlvEF.ShellCommands.set_data_parser + + +del_data +~~~~~~~~ +.. argparse:: + :module: pySim.filesystem + :func: BerTlvEF.ShellCommands.del_data_parser + + + USIM commands ------------- diff --git a/pySim-shell.py b/pySim-shell.py index 659c12c..5b5768a 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -38,7 +38,7 @@ from pySim.commands import SimCardCommands from pySim.transport import init_reader, ApduTracer, argparse_add_reader_args from pySim.cards import card_detect, Card -from pySim.utils import h2b, swap_nibbles, rpad, h2s, JsonEncoder +from pySim.utils import h2b, swap_nibbles, rpad, b2h, h2s, JsonEncoder, bertlv_parse_one from pySim.utils import dec_st, sanitize_pin_adm, tabulate_str_list, is_hex, boxed_heading_str from pySim.card_handler import card_handler @@ -256,11 +256,19 @@ if structure == 'transparent': result = self._cmd.rs.read_binary() self._cmd.poutput("update_binary " + str(result[0])) - if structure == 'cyclic' or structure == 'linear_fixed': + elif structure == 'cyclic' or structure == 'linear_fixed': num_of_rec = fd['num_of_rec'] for r in range(1, num_of_rec + 1): result = self._cmd.rs.read_record(r) self._cmd.poutput("update_record %d %s" % (r, str(result[0]))) + elif structure == 'ber_tlv': + tags = self._cmd.rs.retrieve_tags() + for t in tags: + result = self._cmd.rs.retrieve_data(t) + (tag, l, val) = bertlv_parse_one(h2b(result[0])) + self._cmd.poutput("set_data 0x%02x %s" % (t, b2h(val))) + else: + raise RuntimeError('Unsupported structure "%s" of file "%s"' % (structure, filename)) except Exception as e: bad_file_str = '/'.join(df_path_list) + "/" + str(filename) + ", " + str(e) self._cmd.poutput("# bad file: %s" % bad_file_str) diff --git a/pySim/commands.py b/pySim/commands.py index 33aec12..0b3d9b6 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -5,7 +5,7 @@ # # Copyright (C) 2009-2010 Sylvain Munaut -# Copyright (C) 2010 Harald Welte +# Copyright (C) 2010-2021 Harald Welte # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -23,7 +23,7 @@ from construct import * from pySim.construct import LV -from pySim.utils import rpad, b2h, sw_match +from pySim.utils import rpad, b2h, h2b, sw_match, bertlv_encode_len from pySim.exceptions import SwMatchError class SimCardCommands(object): @@ -269,6 +269,76 @@ r = self.select_path(ef) return self.__len(r) + # TS 102 221 Section 11.3.1 low-level helper + def _retrieve_data(self, tag:int, first:bool=True): + if first: + pdu = '80cb008001%02x' % (tag) + else: + pdu = '80cb000000' + return self._tp.send_apdu_checksw(pdu) + + # TS 102 221 Section 11.3.1 + def retrieve_data(self, ef, tag:int): + """Execute RETRIEVE DATA. + + Args + ef : string or list of strings indicating name or path of transparent EF + tag : BER-TLV Tag of value to be retrieved + """ + r = self.select_path(ef) + if len(r[-1]) == 0: + return (None, None) + total_data = '' + # retrieve first block + data, sw = self._retrieve_data(tag, first=True) + total_data += data + while sw == '62f1' or sw == '62f2': + data, sw = self._retrieve_data(tag, first=False) + total_data += data + return total_data, sw + + # TS 102 221 Section 11.3.2 low-level helper + def _set_data(self, data:str, first:bool=True): + if first: + p1 = 0x80 + else: + p1 = 0x00 + if isinstance(data, bytes) or isinstance(data, bytearray): + data = b2h(data) + pdu = '80db00%02x%02x%s' % (p1, len(data)//2, data) + return self._tp.send_apdu_checksw(pdu) + + def set_data(self, ef, tag:int, value:str, verify:bool=False, conserve:bool=False): + """Execute SET DATA. + + Args + ef : string or list of strings indicating name or path of transparent EF + tag : BER-TLV Tag of value to be stored + value : BER-TLV value to be stored + """ + r = self.select_path(ef) + if len(r[-1]) == 0: + return (None, None) + + # in case of deleting the data, we only have 'tag' but no 'value' + if not value: + return self._set_data('%02x' % tag, first=True) + + # FIXME: proper BER-TLV encode + tl = '%02x%s' % (tag, b2h(bertlv_encode_len(len(value)//2))) + tlv = tl + value + tlv_bin = h2b(tlv) + + first = True + total_len = len(tlv_bin) + remaining = tlv_bin + while len(remaining) > 0: + fragment = remaining[:255] + rdata, sw = self._set_data(fragment, first=first) + first = False + remaining = remaining[255:] + return rdata, sw + def run_gsm(self, rand:str): """Execute RUN GSM ALGORITHM.""" if len(rand) != 32: diff --git a/pySim/filesystem.py b/pySim/filesystem.py index edfe85d..b3e28ef 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -34,7 +34,7 @@ from typing import cast, Optional, Iterable, List, Any, Dict, Tuple -from pySim.utils import sw_match, h2b, b2h, is_hex +from pySim.utils import sw_match, h2b, b2h, is_hex, auto_int, bertlv_parse_one from pySim.construct import filter_dict from pySim.exceptions import * from pySim.jsonpath import js_path_find, js_path_modify @@ -914,7 +914,7 @@ return b''.join(chunks) -class BerTlvEF(TransparentEF): +class BerTlvEF(CardEF): """BER-TLV EF (Entry File) in the smart card filesystem. A BER-TLV EF is a binary file with a BER (Basic Encoding Rules) TLV structure @@ -922,6 +922,61 @@ around TransparentEF as a place-holder, so we can already define EFs of BER-TLV type without fully supporting them.""" + @with_default_category('BER-TLV EF Commands') + class ShellCommands(CommandSet): + """Shell commands specific for BER-TLV EFs.""" + def __init__(self): + super().__init__() + + retrieve_data_parser = argparse.ArgumentParser() + retrieve_data_parser.add_argument('tag', type=auto_int, help='BER-TLV Tag of value to retrieve') + @cmd2.with_argparser(retrieve_data_parser) + def do_retrieve_data(self, opts): + """Retrieve (Read) data from a BER-TLV EF""" + (data, sw) = self._cmd.rs.retrieve_data(opts.tag) + self._cmd.poutput(data) + + def do_retrieve_tags(self, opts): + """List tags available in a given BER-TLV EF""" + tags = self._cmd.rs.retrieve_tags() + self._cmd.poutput(tags) + + set_data_parser = argparse.ArgumentParser() + set_data_parser.add_argument('tag', type=auto_int, help='BER-TLV Tag of value to set') + set_data_parser.add_argument('data', help='Data bytes (hex format) to write') + @cmd2.with_argparser(set_data_parser) + def do_set_data(self, opts): + """Set (Write) data for a given tag in a BER-TLV EF""" + (data, sw) = self._cmd.rs.set_data(opts.tag, opts.data) + if data: + self._cmd.poutput(data) + + del_data_parser = argparse.ArgumentParser() + del_data_parser.add_argument('tag', type=auto_int, help='BER-TLV Tag of value to set') + @cmd2.with_argparser(del_data_parser) + def do_delete_data(self, opts): + """Delete data for a given tag in a BER-TLV EF""" + (data, sw) = self._cmd.rs.set_data(opts.tag, None) + if data: + self._cmd.poutput(data) + + + def __init__(self, fid:str, sfid:str=None, name:str=None, desc:str=None, parent:CardDF=None, + size={1,None}): + """ + Args: + fid : File Identifier (4 hex digits) + sfid : Short File Identifier (2 hex digits, optional) + name : Brief name of the file, lik EF_ICCID + desc : Description of the file + parent : Parent CardFile object within filesystem hierarchy + size : tuple of (minimum_size, recommended_size) + """ + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, parent=parent) + self._construct = None + self.size = size + self.shell_commands = [self.ShellCommands()] + class RuntimeState(object): """Represent the runtime state of a session with a card.""" @@ -1172,6 +1227,43 @@ data_hex = self.selected_file.encode_record_hex(data) return self.update_record(rec_nr, data_hex) + def retrieve_data(self, tag:int=0): + """Read a DO/TLV as binary data. + + Args: + tag : Tag of TLV/DO to read + Returns: + hex string of full BER-TLV DO including Tag and Length + """ + if not isinstance(self.selected_file, BerTlvEF): + raise TypeError("Only works with BER-TLV EF") + # returns a string of hex nibbles + return self.card._scc.retrieve_data(self.selected_file.fid, tag) + + def retrieve_tags(self): + """Retrieve tags available on BER-TLV EF. + + Returns: + list of integer tags contained in EF + """ + if not isinstance(self.selected_file, BerTlvEF): + raise TypeError("Only works with BER-TLV EF") + data, sw = self.card._scc.retrieve_data(self.selected_file.fid, 0x5c) + tag, length, value = bertlv_parse_one(h2b(data)) + return list(value) + + def set_data(self, tag:int, data_hex:str): + """Update a TLV/DO with given binary data + + Args: + tag : Tag of TLV/DO to be written + data_hex : Hex string binary data to be written (value portion) + """ + if not isinstance(self.selected_file, BerTlvEF): + raise TypeError("Only works with BER-TLV EF") + return self.card._scc.set_data(self.selected_file.fid, tag, data_hex, conserve=self.conserve_write) + + class FileData(object): diff --git a/pySim/ts_102_221.py b/pySim/ts_102_221.py index 2c335a6..bb49fe5 100644 --- a/pySim/ts_102_221.py +++ b/pySim/ts_102_221.py @@ -113,10 +113,14 @@ 1: 'transparent', 2: 'linear_fixed', 6: 'cyclic', + 0x39: 'ber_tlv', } fdb = in_bin[0] ftype = (fdb >> 3) & 7 - fstruct = fdb & 7 + if fdb & 0xbf == 0x39: + fstruct = 0x39 + else: + fstruct = fdb & 7 out['shareable'] = True if fdb & 0x40 else False out['file_type'] = ft_dict[ftype] if ftype in ft_dict else ftype out['structure'] = fs_dict[fstruct] if fstruct in fs_dict else fstruct diff --git a/pySim/utils.py b/pySim/utils.py index c8ad775..922fea2 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -4,6 +4,7 @@ """ import json +import struct from io import BytesIO from typing import Optional, List, Dict, Any, Tuple @@ -88,6 +89,83 @@ def half_round_up(n:int) -> int: return (n + 1)//2 +######################################################################### +# poor man's BER-TLV decoder. To be a more sophisticated OO library later +######################################################################### + +def bertlv_parse_tag(binary:bytes) -> (dict, bytes): + """Parse a single Tag value according to ITU-T X.690 8.1.2 + Args: + binary : binary input data of BER-TLV length field + Returns: + Tuple of ({class:int, constructed:bool, tag:int}, remainder:bytes) + """ + cls = binary[0] >> 6 + constructed = True if binary[0] & 0x20 else False + tag = binary[0] & 0x1f + if tag <= 30: + return ({'class':cls, 'constructed':constructed, 'tag': tag}, binary[1:]) + else: # multi-byte tag + tag = 0 + i = 1 + last = False + while not last: + last = False if binary[i] & 0x80 else True + tag <<= 7 + tag |= binary[i] & 0x7f + i += 1 + return ({'class':cls, 'constructed':constructed, 'tag':tag}, binary[i:]) + +def bertlv_parse_len(binary:bytes) -> (int, bytes): + """Parse a single Length value according to ITU-T X.690 8.1.3; + only the definite form is supported here. + Args: + binary : binary input data of BER-TLV length field + Returns: + Tuple of (length, remainder) + """ + if binary[0] < 0x80: + return (binary[0], binary[1:]) + else: + num_len_oct = binary[0] & 0x7f + length = 0 + for i in range(1, 1+num_len_oct): + length <<= 8 + length |= binary[i] + return (length, binary[num_len_oct:]) + +def bertlv_encode_len(length:int) -> bytes: + """Encode a single Length value according to ITU-T X.690 8.1.3; + only the definite form is supported here. + Args: + length : length value to be encoded + Returns: + binary output data of BER-TLV length field + """ + if length < 0x80: + return length.to_bytes(1, 'big') + elif length <= 0xff: + return struct.pack('!B', length) + elif length <= 0xffff: + return struct.pack('!H', length) + elif length <= 0xffffffff: + return struct.pack('!L', length) + else: + raise ValueError("Length > 32bits not supported") + +def bertlv_parse_one(binary:bytes) -> (dict, int, bytes): + """Parse a single TLV IE at the start of the given binary data. + Args: + binary : binary input data of BER-TLV length field + Returns: + Tuple of (tag:dict, len:int, remainder:bytes) + """ + (tagdict, remainder) = bertlv_parse_tag(binary) + (length, remainder) = bertlv_parse_len(remainder) + return (tagdict, length, remainder) + + + # IMSI encoded format: # For IMSI 0123456789ABCDE: # @@ -845,6 +923,10 @@ table.append(format_str_row % tuple(str_list_row)) return '\n'.join(table) +def auto_int(x): + """Helper function for argparse to accept hexadecimal integers.""" + return int(x, 0) + class JsonEncoder(json.JSONEncoder): """Extend the standard library JSONEncoder with support for more types.""" def default(self, o): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24102 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibfcce757dcd477fd0d6857f64fbb4346d6d62e63 Gerrit-Change-Number: 24102 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:19:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:19:10 +0000 Subject: Change in osmo-gsm-tester[master]: ping: add a short delay after UE is attached before starting ping In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052 ) Change subject: ping: add a short delay after UE is attached before starting ping ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052/2/sysmocom/suites/4g/ping.py File sysmocom/suites/4g/ping.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052/2/sysmocom/suites/4g/ping.py at 28 PS2, Line 28: sleep(5) > I am not a big fan of this either. But right now there is no easy way to solve it I am afraid. [?] So cannot you add some logging or alike whenver the 5G carrier is activated? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic507dc4a24e8576b0ec3b301ee8e340ed553b300 Gerrit-Change-Number: 24052 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:19:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: srs_andre Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:19:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:19:23 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add resource scheme to configure fixed DL and UL freq In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346 ) Change subject: ms_srs: add resource scheme to configure fixed DL and UL freq ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ice070ea6755e273d916db2dc941068d33bbe206a Gerrit-Change-Number: 23346 Gerrit-PatchSet: 8 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:19:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:19:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:19:47 +0000 Subject: Change in osmo-gsm-tester[master]: ping: add a short delay after UE is attached before starting ping In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052 ) Change subject: ping: add a short delay after UE is attached before starting ping ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic507dc4a24e8576b0ec3b301ee8e340ed553b300 Gerrit-Change-Number: 24052 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:19:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:20:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:20:15 +0000 Subject: Change in osmo-gsm-tester[master]: ms_amarisoft: extend AmariUE to support custom frequency bands In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24042 ) Change subject: ms_amarisoft: extend AmariUE to support custom frequency bands ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I7b2250e13fc1161be1a1d73a4348f07b31c0f724 Gerrit-Change-Number: 24042 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:20:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:21:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:21:03 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_ltemme.cfg.tmpl: add gbr to the template In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24046 ) Change subject: amarisoft_ltemme.cfg.tmpl: add gbr to the template ...................................................................... Patch Set 4: Code-Review+2 the idnentation is still wrong as per how's done in the rest of the file, but OK. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24046 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib0b046ea9fcc26b6bbe03461ca6308acc35175d1 Gerrit-Change-Number: 24046 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:21:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:21:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:21:33 +0000 Subject: Change in osmo-gsm-tester[master]: enb_amarisoft: add "sdr" as rf_dev_type and rx_ant parameter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24055 ) Change subject: enb_amarisoft: add "sdr" as rf_dev_type and rx_ant parameter ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24055 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia373a78f59538d6dfca390431f85a7af26c9d914 Gerrit-Change-Number: 24055 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:21:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:21:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:21:39 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add resource scheme to configure fixed DL and UL freq In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346 ) Change subject: ms_srs: add resource scheme to configure fixed DL and UL freq ...................................................................... Patch Set 8: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ice070ea6755e273d916db2dc941068d33bbe206a Gerrit-Change-Number: 23346 Gerrit-PatchSet: 8 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:21:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:21:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:21:42 +0000 Subject: Change in osmo-gsm-tester[master]: enb_srs: add support for eNB traces In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24041 ) Change subject: enb_srs: add support for eNB traces ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icb2342acac5db87a0889cbf1b6c7bb1ad26c16fa Gerrit-Change-Number: 24041 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:21:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:21:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:21:44 +0000 Subject: Change in osmo-gsm-tester[master]: ms_amarisoft: extend AmariUE to support custom frequency bands In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24042 ) Change subject: ms_amarisoft: extend AmariUE to support custom frequency bands ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I7b2250e13fc1161be1a1d73a4348f07b31c0f724 Gerrit-Change-Number: 24042 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:21:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:21:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:21:47 +0000 Subject: Change in osmo-gsm-tester[master]: ping.py: add stricter pass/fail check In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24043 ) Change subject: ping.py: add stricter pass/fail check ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24043 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If089f77df1ffe991f26f1546558d51aac242df83 Gerrit-Change-Number: 24043 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:21:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:21:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:21:50 +0000 Subject: Change in osmo-gsm-tester[master]: schema: add 5G as UE feature In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24044 ) Change subject: schema: add 5G as UE feature ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24044 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I851e95fb0b763f2a838b161be4938715770eaa83 Gerrit-Change-Number: 24044 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:21:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:21:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:21:52 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-amarisoft: adjusting lib name to srsran and update vers... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24045 ) Change subject: jenkins-build-amarisoft: adjusting lib name to srsran and update versions ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24045 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2174aec3c7ded8c966877a87f4cc6a39ce1325c2 Gerrit-Change-Number: 24045 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:21:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:21:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:21:54 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_ltemme.cfg.tmpl: add gbr to the template In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24046 ) Change subject: amarisoft_ltemme.cfg.tmpl: add gbr to the template ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24046 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib0b046ea9fcc26b6bbe03461ca6308acc35175d1 Gerrit-Change-Number: 24046 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:21:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:21:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:21:57 +0000 Subject: Change in osmo-gsm-tester[master]: rfemu_srsenb_stdin: catch exception in rfemu and log error In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24048 ) Change subject: rfemu_srsenb_stdin: catch exception in rfemu and log error ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24048 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I496313ef8412c8cb18a3c2cb32c52a3b5a672853 Gerrit-Change-Number: 24048 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:21:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:21:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:21:59 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_drb.conf.tmpl: decrease pollPDU for QCI9 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24049 ) Change subject: srsenb_drb.conf.tmpl: decrease pollPDU for QCI9 ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4114fb36e675b3f91c471558f716276ab24f1db5 Gerrit-Change-Number: 24049 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:21:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:02 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add rx_ant param In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24050 ) Change subject: enb: add rx_ant param ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iada98fce3608808914562d9f7e2af2c230e03cae Gerrit-Change-Number: 24050 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:22:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:04 +0000 Subject: Change in osmo-gsm-tester[master]: 4g: add overlay template path for all suites In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24051 ) Change subject: 4g: add overlay template path for all suites ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24051 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifc43ac41b16813116f2559da5223a6fecc186125 Gerrit-Change-Number: 24051 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:22:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:06 +0000 Subject: Change in osmo-gsm-tester[master]: ping: add a short delay after UE is attached before starting ping In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052 ) Change subject: ping: add a short delay after UE is attached before starting ping ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic507dc4a24e8576b0ec3b301ee8e340ed553b300 Gerrit-Change-Number: 24052 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:22:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:08 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: extend prach_sent counter with NR version In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24053 ) Change subject: ms_srs: extend prach_sent counter with NR version ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24053 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8192dc3b4dae27417c93b68d33a686bca4783f4d Gerrit-Change-Number: 24053 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:22:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:11 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: update args for 21.04 changes to include NSA In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24054 ) Change subject: srsue.conf.tmpl: update args for 21.04 changes to include NSA ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24054 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icb9e8e7b1c68cf024db3a7273af791f017c32003 Gerrit-Change-Number: 24054 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:22:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:13 +0000 Subject: Change in osmo-gsm-tester[master]: enb_amarisoft: add "sdr" as rf_dev_type and rx_ant parameter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24055 ) Change subject: enb_amarisoft: add "sdr" as rf_dev_type and rx_ant parameter ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24055 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia373a78f59538d6dfca390431f85a7af26c9d914 Gerrit-Change-Number: 24055 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:22:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:16 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add short_sn as config option for srsUE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24056 ) Change subject: ms_srs: add short_sn as config option for srsUE ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ibcf72dbb424ae3b6a87b60febb4dadf716407612 Gerrit-Change-Number: 24056 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:22:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:18 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_rf_driver.cfg.tmpl: only set trx offset for B210 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24057 ) Change subject: amarisoft_rf_driver.cfg.tmpl: only set trx offset for B210 ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Id4c5f0bede5b09d59237cdd6a959a3663f1a1b37 Gerrit-Change-Number: 24057 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:22:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:21 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: set srate param with the X310 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24058 ) Change subject: srsue.conf.tmpl: set srate param with the X310 ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24058 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icb04ed51ace97d4467558639aeb3f556dbe8678a Gerrit-Change-Number: 24058 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:22:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:23 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb.conf.tmpl: use LTE sample rates when Lime is found in rf args In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24059 ) Change subject: srsenb.conf.tmpl: use LTE sample rates when Lime is found in rf args ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24059 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d3dbdf5ff62980854ef67b20469f072ce31612e Gerrit-Change-Number: 24059 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 12:22:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:34 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add resource scheme to configure fixed DL and UL freq In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346 ) Change subject: ms_srs: add resource scheme to configure fixed DL and UL freq ...................................................................... ms_srs: add resource scheme to configure fixed DL and UL freq this config option overwrites the EARFCN config that is typically used to tell the UE the bands to scan for cells. When custom frequencies are used, this option allows to set them explicitly. Change-Id: Ice070ea6755e273d916db2dc941068d33bbe206a --- M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 8 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 767f887..041fd91 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -43,6 +43,8 @@ 'rx_gain': schema.INT, 'freq_offset': schema.INT, 'force_ul_amplitude': schema.STR, + 'dl_freq': schema.STR, + 'ul_freq': schema.STR } for key, val in RunNode.schema().items(): resource_schema['run_node.%s' % key] = val diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index a953459..bdca6bd 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -38,6 +38,12 @@ % else: dl_earfcn = 2850 % endif +% if ue.get('dl_freq', -1) != -1: +dl_freq = ${ue.dl_freq} +% endif +% if ue.get('ul_freq', -1) != -1: +ul_freq = ${ue.ul_freq} +% endif freq_offset = ${ue.freq_offset} % if int(ue.tx_gain) > 0: tx_gain = ${ue.tx_gain} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ice070ea6755e273d916db2dc941068d33bbe206a Gerrit-Change-Number: 23346 Gerrit-PatchSet: 8 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:34 +0000 Subject: Change in osmo-gsm-tester[master]: enb_srs: add support for eNB traces In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24041 ) Change subject: enb_srs: add support for eNB traces ...................................................................... enb_srs: add support for eNB traces this patch adds support for srsENB event tracing. it provides a cfg scenario to enable it. Change-Id: Icb2342acac5db87a0889cbf1b6c7bb1ad26c16fa --- M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M sysmocom/defaults.conf A sysmocom/scenarios/cfg-enb-tracing.conf 4 files changed, 59 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 83df5ed..05488af 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -31,6 +31,7 @@ def on_register_schemas(): config_schema = { 'enable_pcap': schema.BOOL_STR, + 'enable_tracing': schema.BOOL_STR, 'enable_ul_qam64': schema.BOOL_STR, 'log_all_level': schema.STR, } @@ -49,6 +50,8 @@ CFGFILE_DRB = 'srsenb_drb.conf' LOGFILE = 'srsenb.log' PCAPFILE = 'srsenb.pcap' + TRACINGFILE = 'srsenb_tracing.log' + METRICSFILE = 'srsenb_metrics.csv' def __init__(self, testenv, conf): super().__init__(testenv, conf, srsENB.BINFILE) @@ -60,6 +63,7 @@ self.config_sib_file = None self.config_rr_file = None self.config_drb_file = None + self.tracing_file = None self.log_file = None self.pcap_file = None self.process = None @@ -71,9 +75,13 @@ self.remote_config_drb_file = None self.remote_log_file = None self.remote_pcap_file = None + self.remote_tracing_file = None + self.remote_metrics_file = None self.enable_pcap = False self.enable_ul_qam64 = False + self.enable_tracing = False self.metrics_file = None + self.have_metrics_file = False self.stop_sleep_time = 6 # We require at most 5s to stop self.testenv = testenv self._additional_args = [] @@ -90,6 +98,9 @@ self.sleep_after_stop() # copy back files (may not exist, for instance if there was an early error of process): + self.scp_back_metrics(raiseException=False) + + # copy back files (may not exist, for instance if there was an early error of process): try: self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file) except Exception as e: @@ -99,12 +110,40 @@ self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file) except Exception as e: self.log(repr(e)) + if self.enable_tracing: + try: + self.rem_host.scpfrom('scp-back-tracing', self.remote_tracing_file, self.tracing_file) + except Exception as e: + self.log(repr(e)) # Collect KPIs for each TC self.testenv.test().set_kpis(self.get_kpi_tree()) # Clean up for parent class: super().cleanup() + def scp_back_metrics(self, raiseException=True): + ''' Copy back metrics only if they have not been copied back yet ''' + if not self.have_metrics_file: + # file is not properly flushed until the process has stopped. + if self.running(): + self.stop() + + # only SCP back if not running locally + if not self._run_node.is_local(): + try: + self.rem_host.scpfrom('scp-back-metrics', self.remote_metrics_file, self.metrics_file) + except Exception as e: + if raiseException: + self.err('Failed copying back metrics file from remote host') + raise e + else: + # only log error + self.log(repr(e)) + # make sure to only call it once + self.have_metrics_file = True + else: + self.dbg('Metrics have already been copied back') + def start(self, epc): self.log('Starting srsENB') self._epc = epc @@ -165,6 +204,8 @@ self.config_drb_file = self.run_dir.child(srsENB.CFGFILE_DRB) self.log_file = self.run_dir.child(srsENB.LOGFILE) self.pcap_file = self.run_dir.child(srsENB.PCAPFILE) + self.metrics_file = self.run_dir.child(srsENB.METRICSFILE) + self.tracing_file = self.run_dir.child(srsENB.TRACINGFILE) if not self._run_node.is_local(): self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) @@ -178,15 +219,21 @@ self.remote_config_drb_file = self.remote_run_dir.child(srsENB.CFGFILE_DRB) self.remote_log_file = self.remote_run_dir.child(srsENB.LOGFILE) self.remote_pcap_file = self.remote_run_dir.child(srsENB.PCAPFILE) + self.remote_metrics_file = self.remote_run_dir.child(srsENB.METRICSFILE) + self.remote_tracing_file = self.remote_run_dir.child(srsENB.TRACINGFILE) values = super().configure(['srsenb']) + metricsfile = self.metrics_file if self._run_node.is_local() else self.remote_metrics_file + tracingfile = self.tracing_file if self._run_node.is_local() else self.remote_tracing_file sibfile = self.config_sib_file if self._run_node.is_local() else self.remote_config_sib_file rrfile = self.config_rr_file if self._run_node.is_local() else self.remote_config_rr_file drbfile = self.config_drb_file if self._run_node.is_local() else self.remote_config_drb_file logfile = self.log_file if self._run_node.is_local() else self.remote_log_file pcapfile = self.pcap_file if self._run_node.is_local() else self.remote_pcap_file - config.overlay(values, dict(enb=dict(sib_filename=sibfile, + config.overlay(values, dict(enb=dict(metrics_filename=metricsfile, + tracing_filename=tracingfile, + sib_filename=sibfile, rr_filename=rrfile, drb_filename=drbfile, log_filename=logfile, @@ -197,6 +244,9 @@ self.enable_pcap = util.str2bool(values['enb'].get('enable_pcap', 'false')) config.overlay(values, dict(enb={'enable_pcap': self.enable_pcap})) + self.enable_tracing = util.str2bool(values['enb'].get('enable_tracing', 'false')) + config.overlay(values, dict(enb={'enable_tracing': self.enable_tracing})) + self.enable_ul_qam64 = util.str2bool(values['enb'].get('enable_ul_qam64', 'false')) config.overlay(values, dict(enb={'enable_ul_qam64': self.enable_ul_qam64})) diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index 794edea..4ae176e 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -278,8 +278,10 @@ #pusch_8bit_decoder = false #nof_phy_threads = 3 #metrics_period_secs = 1 -#metrics_csv_enable = false -#metrics_csv_filename = /tmp/enb_metrics.csv +metrics_csv_enable = true +metrics_csv_filename = ${enb.metrics_filename} +tracing_enable = ${enb.enable_tracing} +tracing_filename = ${enb.tracing_filename} #pregenerate_signals = false #tx_amplitude = 0.6 #link_failure_nof_err = 50 diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index eeb2b83..39b81a8 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -158,6 +158,7 @@ srsenb: num_prb: 100 enable_pcap: false + enable_tracing: false tx_gain: 80 rx_gain: 40 log_all_level: warning diff --git a/sysmocom/scenarios/cfg-enb-tracing.conf b/sysmocom/scenarios/cfg-enb-tracing.conf new file mode 100644 index 0000000..d8b373b --- /dev/null +++ b/sysmocom/scenarios/cfg-enb-tracing.conf @@ -0,0 +1,3 @@ +config: + enb: + enable_tracing: true \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icb2342acac5db87a0889cbf1b6c7bb1ad26c16fa Gerrit-Change-Number: 24041 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:34 +0000 Subject: Change in osmo-gsm-tester[master]: ms_amarisoft: extend AmariUE to support custom frequency bands In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24042 ) Change subject: ms_amarisoft: extend AmariUE to support custom frequency bands ...................................................................... ms_amarisoft: extend AmariUE to support custom frequency bands this patch adds generic support for custom frequency bands to the ms class. it then extends the config template for AmariUE to use them. we set the default values for EARFCNs for DL/UL to the old values. Change-Id: I7b2250e13fc1161be1a1d73a4348f07b31c0f724 --- M src/osmo_gsm_tester/obj/ms.py M src/osmo_gsm_tester/obj/ms_amarisoft.py M src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl M sysmocom/defaults.conf 4 files changed, 35 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/ms.py b/src/osmo_gsm_tester/obj/ms.py index cd4a8a1..1ee9ef8 100644 --- a/src/osmo_gsm_tester/obj/ms.py +++ b/src/osmo_gsm_tester/obj/ms.py @@ -32,7 +32,9 @@ 'auth_algo': schema.AUTH_ALGO, 'apn_ipaddr': schema.IPV4, 'ciphers[]': schema.CIPHER_2G, - 'features[]': schema.MODEM_FEATURE + 'features[]': schema.MODEM_FEATURE, + 'dl_earfcn': schema.UINT, + 'ul_earfcn': schema.UINT } schema.register_resource_schema('modem', resource_schema) diff --git a/src/osmo_gsm_tester/obj/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py index 9b6d64a..7e0cc13 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -27,7 +27,16 @@ from .ms import MS def on_register_schemas(): - resource_schema = {} + resource_schema = { + 'use_custom_band255': schema.BOOL_STR, + 'custom_band_list[].number': schema.UINT, + 'custom_band_list[].dl_earfcn_min': schema.UINT, + 'custom_band_list[].dl_earfcn_max': schema.UINT, + 'custom_band_list[].dl_freq_min': schema.UINT, + 'custom_band_list[].ul_freq_min': schema.UINT, + 'custom_band_list[].ul_earfcn_min': schema.UINT, + 'custom_band_list[].ul_earfcn_max': schema.UINT, + } for key, val in RunNode.schema().items(): resource_schema['run_node.%s' % key] = val schema.register_resource_schema('modem', resource_schema) @@ -245,6 +254,9 @@ config.overlay(values, dict(ue=dict(log_filename=logfile, ifup_filename=ifupfile))) + # Convert to Python bool and overlay config + config.overlay(values, dict(ue={'use_custom_band255': util.str2bool(values['ue'].get('use_custom_band255', 'false'))})) + # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': base_srate = num_prb2base_srate(self.enb.num_prb()) diff --git a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl index 6f38491..f9b2933 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl @@ -30,9 +30,24 @@ allow dynamic UE creation from remote API */ multi_ue: true, + custom_freq_band: [ +%for band in ue.custom_band_list: + { + band: ${band.number}, + dl_earfcn_min: ${band.dl_earfcn_min}, + dl_earfcn_max: ${band.dl_earfcn_max}, + dl_freq_min: ${band.dl_freq_min}, + ul_freq_min: ${band.ul_freq_min}, + ul_earfcn_min: ${band.ul_earfcn_min}, + ul_earfcn_max: ${band.ul_earfcn_max}, + }, +%endfor + ], + cells: [ { - dl_earfcn: 2850, + dl_earfcn: ${ue.dl_earfcn}, + ul_earfcn: ${ue.ul_earfcn}, n_antenna_dl: 1, n_antenna_ul: 1, diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index 39b81a8..8bbae42 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -192,6 +192,9 @@ tx_gain: 89 rx_gain: 60 rf_dev_sync: none + custom_band_list: [] + dl_earfcn: 2850 + ul_earfcn: 20850 iperf3cli: time: 60 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I7b2250e13fc1161be1a1d73a4348f07b31c0f724 Gerrit-Change-Number: 24042 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:35 +0000 Subject: Change in osmo-gsm-tester[master]: ping.py: add stricter pass/fail check In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24043 ) Change subject: ping.py: add stricter pass/fail check ...................................................................... ping.py: add stricter pass/fail check the ping test should only pass if not a single ping is lost Change-Id: If089f77df1ffe991f26f1546558d51aac242df83 --- M sysmocom/suites/4g/ping.py 1 file changed, 8 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/sysmocom/suites/4g/ping.py b/sysmocom/suites/4g/ping.py index 0297317..a78b8d6 100755 --- a/sysmocom/suites/4g/ping.py +++ b/sysmocom/suites/4g/ping.py @@ -20,6 +20,13 @@ print('UE is attached') proc = ue.run_netns_wait('ping', ('ping', '-c', '10', epc.tun_addr())) + +# Check zero lost pings +num_sent = int([x for x in proc.get_stdout().split('\n') if x.find('packets transmitted') != -1][0].split(' ')[0]) +num_received = int([x for x in proc.get_stdout().split('\n') if x.find('packets transmitted, ') != -1][0].split('packets transmitted, ')[1].split(' received')[0]) +if num_received != num_sent: + raise Exception("{}\n\nError: Detected {} lost pings".format(proc.get_stdout(), num_sent - num_received)) + output = proc.get_stdout() print(output) -test.set_report_stdout(output) +test.set_report_stdout(output) \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24043 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If089f77df1ffe991f26f1546558d51aac242df83 Gerrit-Change-Number: 24043 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:35 +0000 Subject: Change in osmo-gsm-tester[master]: schema: add 5G as UE feature In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24044 ) Change subject: schema: add 5G as UE feature ...................................................................... schema: add 5G as UE feature Change-Id: I851e95fb0b763f2a838b161be4938715770eaa83 --- M src/osmo_gsm_tester/core/schema.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/core/schema.py b/src/osmo_gsm_tester/core/schema.py index 4064c20..735662d 100644 --- a/src/osmo_gsm_tester/core/schema.py +++ b/src/osmo_gsm_tester/core/schema.py @@ -122,7 +122,7 @@ raise ValueError('Unknown 4G integrity value %r' % val) def modem_feature(val): - if val in ('sms', 'gprs', 'voice', 'ussd', 'sim', '2g', '3g', '4g', 'dl_qam256', 'ul_qam64', 'qc_diag'): + if val in ('sms', 'gprs', 'voice', 'ussd', 'sim', '2g', '3g', '4g', '5g', 'dl_qam256', 'ul_qam64', 'qc_diag'): return True raise ValueError('Unknown Modem Feature: %r' % val) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24044 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I851e95fb0b763f2a838b161be4938715770eaa83 Gerrit-Change-Number: 24044 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:35 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-amarisoft: adjusting lib name to srsran and update vers... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24045 ) Change subject: jenkins-build-amarisoft: adjusting lib name to srsran and update versions ...................................................................... jenkins-build-amarisoft: adjusting lib name to srsran and update versions fix rename of srslte to srsran libs and also update Amarisoft versions. Change-Id: I2174aec3c7ded8c966877a87f4cc6a39ce1325c2 --- M contrib/jenkins-build-amarisoft.sh 1 file changed, 26 insertions(+), 12 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/contrib/jenkins-build-amarisoft.sh b/contrib/jenkins-build-amarisoft.sh index 1ed7d7d..fec77fd 100755 --- a/contrib/jenkins-build-amarisoft.sh +++ b/contrib/jenkins-build-amarisoft.sh @@ -36,23 +36,29 @@ rm -rf inst-tmp && mkdir inst-tmp rm -rf inst-tmp-uhd && mkdir inst-tmp-uhd tar -zxf $amarisoft_tgz -C inst-tmp/ -tar -zxf inst-tmp/*/trx_uhd*.tar.gz -C inst-tmp/ +for file in inst-tmp/*/trx_uhd*.tar.gz; do tar -zxf "$file" -C inst-tmp/; done # Build trx_uhd.so: -cd ${base}/inst-tmp/trx_uhd-linux*/ -make -cd ${base} +for path in ${base}/inst-tmp/trx_uhd-linux*/; do (cd "$path"; make; cd ${base}); done # Create amarisoftenb inst: rm -rf inst-amarisoftenb && mkdir inst-amarisoftenb || exit 1 tar --strip-components=1 -zxf inst-tmp/*/lteenb-linux*.tar.gz -C inst-amarisoftenb/ if [ "x${BUILD_AMARISOFT_TRX_ZMQ}" = "x1" ]; then - cp ${base}/${project_name_srslte}/build/lib/src/phy/rf/libsrslte_rf.so inst-amarisoftenb/ - cp ${base}/${project_name_zmq}/build/libtrx_zmq-linux-2018-10-18.so inst-amarisoftenb/trx_zmq.so + cp ${base}/${project_name_srslte}/build/lib/src/phy/rf/libsrsran_rf.so inst-amarisoftenb/ + cp ${base}/${project_name_zmq}/build/libtrx_zmq-linux-2021-03-15.so inst-amarisoftenb/trx_zmq.so patchelf --set-rpath '$ORIGIN/' inst-amarisoftenb/trx_zmq.so - cd inst-amarisoftenb && ln -s libsrslte_rf.so libsrslte_rf.so.0 && cd .. + cd inst-amarisoftenb && ln -s libsrsran_rf.so libsrsran_rf.so.0 && cd .. fi -cp ${base}/inst-tmp/trx_uhd-linux*/trx_uhd.so inst-amarisoftenb/ + +# Untar trx_sdr and copy the libraries to enb. +tar -xzf inst-tmp/*/trx_sdr*.tar.gz -C inst-tmp/ +cp ${base}/inst-tmp/trx_sdr-linux-2021-03-15/trx_sdr.so inst-amarisoftenb/ +cp ${base}/inst-tmp/trx_sdr-linux-2021-03-15/libsdr.so inst-amarisoftenb/ +cp ${base}/inst-tmp/trx_sdr-linux-2021-03-15/libc_wrapper_sdr.so inst-amarisoftenb/ + +# Copy the uhd library and create the tarball. +cp ${base}/inst-tmp/trx_uhd-linux-2021-03-15/trx_uhd.so inst-amarisoftenb/ this="amarisoftenb.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" tar="${this}.tgz" tar -czf "$tar" -C inst-amarisoftenb/ . @@ -61,14 +67,14 @@ # Create amarisoftue inst: if [ "x${HAVE_AMARISOFT_LTEUE}" = "x1" ]; then rm -rf inst-amarisoftue && mkdir inst-amarisoftue || exit 1 - tar --strip-components=1 -zxf inst-tmp/*/lteue-linux*.tar.gz -C inst-amarisoftue/ + tar --strip-components=1 -zxf inst-tmp/*/lteue-linux-2018-10-18.tar.gz -C inst-amarisoftue/ if [ "x${BUILD_AMARISOFT_TRX_ZMQ}" = "x1" ]; then - cp ${base}/${project_name_srslte}/build/lib/src/phy/rf/libsrslte_rf.so inst-amarisoftue/ + cp ${base}/${project_name_srslte}/build/lib/src/phy/rf/libsrsran_rf.so inst-amarisoftue/ cp ${base}/${project_name_zmq}/build/libtrx_zmq-linux-2018-10-18.so inst-amarisoftue/trx_zmq.so patchelf --set-rpath '$ORIGIN/' inst-amarisoftue/trx_zmq.so - cd inst-amarisoftue && ln -s libsrslte_rf.so libsrslte_rf.so.0 && cd .. + cd inst-amarisoftue && ln -s libsrsran_rf.so libsrsran_rf.so.0 && cd .. fi - cp ${base}/inst-tmp/trx_uhd-linux*/trx_uhd.so inst-amarisoftue/ + cp ${base}/inst-tmp/trx_uhd-linux-2018-10-18/trx_uhd.so inst-amarisoftue/ this="amarisoftue.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" tar="${this}.tgz" tar -czf "$tar" -C inst-amarisoftue/ . @@ -78,8 +84,16 @@ # Create amarisoftepc inst: rm -rf inst-amarisoftepc && mkdir inst-amarisoftepc || exit 1 tar --strip-components=1 -zxf inst-tmp/*/ltemme-linux*.tar.gz -C inst-amarisoftepc/ + +# place newer libssl-1.1 and libcrypto-1.1 for older OS distributions inside the EPC folder +cp inst-tmp/*/libs/libssl* inst-amarisoftepc/ +cp inst-tmp/*/libs/libcrypto* inst-amarisoftepc/ + # Copy ltesim_server from UE package if available if [ "x${HAVE_AMARISOFT_LTEUE}" = "x1" ]; then + # Untar newer lteue version for fresh ltesim_server (2018 uses libssl-1.0.0) + rm -rf inst-amarisoftue && mkdir inst-amarisoftue || exit 1 + tar --strip-components=1 -zxf inst-tmp/*/lteue-linux-2021-03-15.tar.gz -C inst-amarisoftue/ cp inst-amarisoftue/ltesim_server inst-amarisoftepc/ fi this="amarisoftepc.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24045 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2174aec3c7ded8c966877a87f4cc6a39ce1325c2 Gerrit-Change-Number: 24045 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:36 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_ltemme.cfg.tmpl: add gbr to the template In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24046 ) Change subject: amarisoft_ltemme.cfg.tmpl: add gbr to the template ...................................................................... amarisoft_ltemme.cfg.tmpl: add gbr to the template newer version of the amarisoft mme requires the GBR to be set Change-Id: Ib0b046ea9fcc26b6bbe03461ca6308acc35175d1 --- M src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl 1 file changed, 14 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl index b2df9ca..a6de3c0 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl @@ -74,6 +74,13 @@ pre_emption_capability: "shall_not_trigger_pre_emption", pre_emption_vulnerability: "not_pre_emptable", setup_type: "on_demand", + gbr: + { + maximum_bitrate_dl: 2000000, + maximum_bitrate_ul: 2000000, + guaranteed_bitrate_dl: 1000000, + guaranteed_bitrate_ul: 1000000 + }, filters: [ { direction: "both", @@ -99,6 +106,13 @@ pre_emption_capability: "shall_not_trigger_pre_emption", pre_emption_vulnerability: "not_pre_emptable", setup_type: "on_demand", + gbr: + { + maximum_bitrate_dl: 2000000, + maximum_bitrate_ul: 2000000, + guaranteed_bitrate_dl: 1000000, + guaranteed_bitrate_ul: 1000000 + }, filters: [ { direction: "both", -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24046 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib0b046ea9fcc26b6bbe03461ca6308acc35175d1 Gerrit-Change-Number: 24046 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:37 +0000 Subject: Change in osmo-gsm-tester[master]: rfemu_srsenb_stdin: catch exception in rfemu and log error In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24048 ) Change subject: rfemu_srsenb_stdin: catch exception in rfemu and log error ...................................................................... rfemu_srsenb_stdin: catch exception in rfemu and log error not handling the exception causes all following tests to fail. Change-Id: I496313ef8412c8cb18a3c2cb32c52a3b5a672853 --- M src/osmo_gsm_tester/obj/rfemu_srsenb_stdin.py 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/rfemu_srsenb_stdin.py b/src/osmo_gsm_tester/obj/rfemu_srsenb_stdin.py index e4aec19..3f96b8b 100644 --- a/src/osmo_gsm_tester/obj/rfemu_srsenb_stdin.py +++ b/src/osmo_gsm_tester/obj/rfemu_srsenb_stdin.py @@ -44,7 +44,10 @@ def set_attenuation(self, db): msg_str = 'cell_gain %d %f' % (self.cell_id, -db) self.dbg('sending stdin msg: "%s"' % msg_str) - self.enb.process.stdin_write(msg_str + '\n') + try: + self.enb.process.stdin_write(msg_str + '\n') + except Exception as e: + self.log(repr(e)) def get_max_attenuation(self): return 200 # maximum cell_gain value in srs. Is this correct value? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24048 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I496313ef8412c8cb18a3c2cb32c52a3b5a672853 Gerrit-Change-Number: 24048 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:38 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_drb.conf.tmpl: decrease pollPDU for QCI9 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24049 ) Change subject: srsenb_drb.conf.tmpl: decrease pollPDU for QCI9 ...................................................................... srsenb_drb.conf.tmpl: decrease pollPDU for QCI9 due to internal PDU buffering between PDCP/RLC the poll frequency needs to be increase to get quicker feedback. Change-Id: I4114fb36e675b3f91c471558f716276ab24f1db5 --- M src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl index b1c69b7..0fce9cb 100644 --- a/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl @@ -78,7 +78,7 @@ rlc_config = { ul_am = { t_poll_retx = 120; - poll_pdu = 64; + poll_pdu = 8; poll_byte = 750; max_retx_thresh = 16; }; -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4114fb36e675b3f91c471558f716276ab24f1db5 Gerrit-Change-Number: 24049 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:38 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add rx_ant param In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24050 ) Change subject: enb: add rx_ant param ...................................................................... enb: add rx_ant param Change-Id: Iada98fce3608808914562d9f7e2af2c230e03cae --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py 2 files changed, 2 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 80f7b6e..252fa14 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -34,6 +34,7 @@ 'tdd_uldl_config': schema.UINT, 'tdd_special_subframe_pattern': schema.UINT, 'transmission_mode': schema.LTE_TRANSMISSION_MODE, + 'rx_ant': schema.STR, 'tx_gain': schema.UINT, 'rx_gain': schema.UINT, 'rf_dev_type': schema.STR, diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index 01aed18..65c94dd 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -227,6 +227,7 @@ rf_dev_sync=values['enb'].get('rf_dev_sync', None), rx_gain=values['enb'].get('rx_gain', None), tx_gain=values['enb'].get('tx_gain', None), + rx_ant=values['enb'].get('rx_ant', None), ))) self.gen_conf = values -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iada98fce3608808914562d9f7e2af2c230e03cae Gerrit-Change-Number: 24050 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:38 +0000 Subject: Change in osmo-gsm-tester[master]: 4g: add overlay template path for all suites In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24051 ) Change subject: 4g: add overlay template path for all suites ...................................................................... 4g: add overlay template path for all suites this allows, without changing the test case, to use a custom template, which is useful for development. By default, nothing changes and the OGT template is used Change-Id: Ifc43ac41b16813116f2559da5223a6fecc186125 --- M sysmocom/suites/4g/iperf3_bidir.py M sysmocom/suites/4g/iperf3_dl.py M sysmocom/suites/4g/iperf3_ul.py M sysmocom/suites/4g/ping.py M sysmocom/suites/4g/rrc_idle_mo_ping.py M sysmocom/suites/4g/rrc_idle_mt_ping.py 6 files changed, 30 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/sysmocom/suites/4g/iperf3_bidir.py b/sysmocom/suites/4g/iperf3_bidir.py index bb1d73a..3c94a88 100755 --- a/sysmocom/suites/4g/iperf3_bidir.py +++ b/sysmocom/suites/4g/iperf3_bidir.py @@ -1,5 +1,10 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * +import os + +# Overlay suite-specific templates folder if it exists +if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')): + tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates')) epc = tenv.epc() enb = tenv.enb() diff --git a/sysmocom/suites/4g/iperf3_dl.py b/sysmocom/suites/4g/iperf3_dl.py index bf5b1f0..9e172c4 100755 --- a/sysmocom/suites/4g/iperf3_dl.py +++ b/sysmocom/suites/4g/iperf3_dl.py @@ -1,5 +1,10 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * +import os + +# Overlay suite-specific templates folder if it exists +if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')): + tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates')) epc = tenv.epc() enb = tenv.enb() diff --git a/sysmocom/suites/4g/iperf3_ul.py b/sysmocom/suites/4g/iperf3_ul.py index 6c0d25d..e243774 100755 --- a/sysmocom/suites/4g/iperf3_ul.py +++ b/sysmocom/suites/4g/iperf3_ul.py @@ -1,5 +1,10 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * +import os + +# Overlay suite-specific templates folder if it exists +if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')): + tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates')) epc = tenv.epc() enb = tenv.enb() diff --git a/sysmocom/suites/4g/ping.py b/sysmocom/suites/4g/ping.py index a78b8d6..9b9993c 100755 --- a/sysmocom/suites/4g/ping.py +++ b/sysmocom/suites/4g/ping.py @@ -1,5 +1,10 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * +import os + +# Overlay suite-specific templates folder if it exists +if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')): + tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates')) epc = tenv.epc() enb = tenv.enb() diff --git a/sysmocom/suites/4g/rrc_idle_mo_ping.py b/sysmocom/suites/4g/rrc_idle_mo_ping.py index 389e5a2..1fc55d7 100755 --- a/sysmocom/suites/4g/rrc_idle_mo_ping.py +++ b/sysmocom/suites/4g/rrc_idle_mo_ping.py @@ -1,5 +1,10 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * +import os + +# Overlay suite-specific templates folder if it exists +if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')): + tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates')) epc = tenv.epc() enb = tenv.enb() diff --git a/sysmocom/suites/4g/rrc_idle_mt_ping.py b/sysmocom/suites/4g/rrc_idle_mt_ping.py index 3360dba..21650e7 100755 --- a/sysmocom/suites/4g/rrc_idle_mt_ping.py +++ b/sysmocom/suites/4g/rrc_idle_mt_ping.py @@ -1,5 +1,10 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * +import os + +# Overlay suite-specific templates folder if it exists +if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')): + tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates')) epc = tenv.epc() enb = tenv.enb() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24051 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifc43ac41b16813116f2559da5223a6fecc186125 Gerrit-Change-Number: 24051 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:39 +0000 Subject: Change in osmo-gsm-tester[master]: ping: add a short delay after UE is attached before starting ping In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052 ) Change subject: ping: add a short delay after UE is attached before starting ping ...................................................................... ping: add a short delay after UE is attached before starting ping this is mainly to avoid ping losses in 5G NSA during NR attach. No impact on 4G though. Change-Id: Ic507dc4a24e8576b0ec3b301ee8e340ed553b300 --- M sysmocom/suites/4g/ping.py 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/sysmocom/suites/4g/ping.py b/sysmocom/suites/4g/ping.py index 9b9993c..b4537d6 100755 --- a/sysmocom/suites/4g/ping.py +++ b/sysmocom/suites/4g/ping.py @@ -24,6 +24,9 @@ wait(ue.is_registered) print('UE is attached') +# Wait a bit +sleep(5) + proc = ue.run_netns_wait('ping', ('ping', '-c', '10', epc.tun_addr())) # Check zero lost pings -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24052 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic507dc4a24e8576b0ec3b301ee8e340ed553b300 Gerrit-Change-Number: 24052 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:39 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: extend prach_sent counter with NR version In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24053 ) Change subject: ms_srs: extend prach_sent counter with NR version ...................................................................... ms_srs: extend prach_sent counter with NR version make LTE version more explicit and add another counter for NR Change-Id: I8192dc3b4dae27417c93b68d33a686bca4783f4d --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 041fd91..1cc17df 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -390,7 +390,9 @@ if counter_name == 'handover_success': return self.process.get_counter_stdout('HO successful') if counter_name == 'prach_sent': - return self.process.get_counter_stdout('Random Access Transmission') + return self.process.get_counter_stdout('Random Access Transmission: seq=') + if counter_name == 'prach_sent_nr': + return self.process.get_counter_stdout('Random Access Transmission: prach_occasion=') if counter_name == 'paging_received': return self.process.get_counter_stdout('S-TMSI match in paging message') if counter_name == 'reestablishment_attempts': -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24053 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8192dc3b4dae27417c93b68d33a686bca4783f4d Gerrit-Change-Number: 24053 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:39 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: update args for 21.04 changes to include NSA In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24054 ) Change subject: srsue.conf.tmpl: update args for 21.04 changes to include NSA ...................................................................... srsue.conf.tmpl: update args for 21.04 changes to include NSA this also removes the entire help text around arguments (that were very outdated already) and only leaves the actual values with changes. Change-Id: Icb9e8e7b1c68cf024db3a7273af791f017c32003 --- M src/osmo_gsm_tester/templates/srsue.conf.tmpl 1 file changed, 21 insertions(+), 323 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index bdca6bd..8fd405b 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -2,35 +2,22 @@ # srsUE configuration file ##################################################################### -##################################################################### -# RF configuration -# -# dl_earfcn: Downlink EARFCN code. -# freq_offset: Uplink and Downlink optional frequency offset (in Hz) -# tx_gain: Transmit gain (dB). -# rx_gain: Optional receive gain (dB). If disabled, AGC if enabled -# -# Optional parameters: -# dl_freq: Override DL frequency corresponding to dl_earfcn -# ul_freq: Override UL frequency corresponding to dl_earfcn -# nof_radios: Number of available RF devices -# nof_rf_channels: Number of RF channels per radio -# nof_rx_ant: Number of RX antennas per channel -# device_name: Device driver family. Supported options: "auto" (uses first found), "UHD" or "bladeRF" -# device_args: Arguments for the device driver. Options are "auto" or any string. -# Default for UHD: "recv_frame_size=9232,send_frame_size=9232" -# Default for bladeRF: "" -# device_args_2: Arguments for the RF device driver 2. -# device_args_3: Arguments for the RF device driver 3. -# time_adv_nsamples: Transmission time advance (in number of samples) to compensate for RF delay -# from antenna to timestamp insertion. -# Default "auto". B210 USRP: 100 samples, bladeRF: 27. -# burst_preamble_us: Preamble length to transmit before start of burst. -# Default "auto". B210 USRP: 400 us, bladeRF: 0 us. -# continuous_tx: Transmit samples continuously to the radio or on bursts (auto/yes/no). -# Default is auto (yes for UHD, no for rest) -##################################################################### [rf] +% if int(ue.tx_gain) > 0: +tx_gain = ${ue.tx_gain} +% endif +% if int(ue.rx_gain) > 0: +rx_gain = ${ue.rx_gain} +% endif + +freq_offset = ${ue.freq_offset} + +nof_antennas = ${ue.num_antennas} + +device_name = ${ue.rf_dev_type} +device_args = ${ue.rf_dev_args},${ue.rf_dev_sync} + +[rat.eutra] % if int(ue.num_carriers) == 4: dl_earfcn = 2850,3050,3250,3350 % elif int(ue.num_carriers) == 2: @@ -44,75 +31,17 @@ % if ue.get('ul_freq', -1) != -1: ul_freq = ${ue.ul_freq} % endif -freq_offset = ${ue.freq_offset} -% if int(ue.tx_gain) > 0: -tx_gain = ${ue.tx_gain} -% endif -% if int(ue.rx_gain) > 0: -rx_gain = ${ue.rx_gain} -% endif -#nof_radios = 1 -nof_antennas = ${ue.num_antennas} nof_carriers = ${ue.num_carriers} -device_name = ${ue.rf_dev_type} -# For best performance in 2x2 MIMO and >= 15 MHz use the following device_args settings: -# USRP B210: num_recv_frames=64,num_send_frames=64 - -# For best performance when BW<5 MHz (25 PRB), use the following device_args settings: -# USRP B210: send_frame_size=512,recv_frame_size=512 - -device_args = ${ue.rf_dev_args},${ue.rf_dev_sync} -#time_adv_nsamples = auto -#burst_preamble_us = auto -#continuous_tx = auto - - -##################################################################### -# Packet capture configuration -# -# Packet capture is supported at both MAC and NAS layers. -# MAC-layer packets are captured to file in the compact format -# decoded by the Wireshark mac-lte-framed dissector. -# To use this dissector, edit the preferences for DLT_USER to -# add an entry with DLT=147, Payload Protocol=mac-lte-framed. -# For more information see: https://wiki.wireshark.org/MAC-LTE -# NAS-layer packets are dissected with DLT=148, and -# Payload Protocol = nas-eps. -# -# enable: Enable MAC layer packet captures (true/false) -# filename: File path to use for MAC packet captures -# nas_enable: Enable NAS layer packet captures (true/false) -# nas_filename: File path to use for NAS packet captures -##################################################################### [pcap] enable = ${'mac' if ue.enable_pcap else 'none'} mac_filename = ${ue.pcap_filename} mac_nr_filename = /tmp/ue_mac_nr.pcap nas_filename = /tmp/ue_nas.pcap -##################################################################### -# Log configuration -# -# Log levels can be set for individual layers. "all_level" sets log -# level for all layers unless otherwise configured. -# Format: e.g. phy_level = info -# -# In the same way, packet hex dumps can be limited for each level. -# "all_hex_limit" sets the hex limit for all layers unless otherwise -# configured. -# Format: e.g. phy_hex_limit = 32 -# -# Logging layers: rf, phy, mac, rlc, pdcp, rrc, nas, gw, usim, all -# Logging levels: debug, info, warning, error, none -# -# filename: File path to use for log output. Can be set to stdout -# to print logs to standard output -# file_max_size: Maximum file size (in kilobytes). When passed, multiple files are created. -# If set to negative, a single log file will be created. -##################################################################### + [log] all_level = ${ue.log_all_level} phy_lib_level = none @@ -121,19 +50,7 @@ file_max_size = -1 nas_level = ${ue.log_nas_level} -##################################################################### -# USIM configuration -# -# mode: USIM mode (soft/pcsc) -# algo: Authentication algorithm (xor/milenage) -# op/opc: 128-bit Operator Variant Algorithm Configuration Field (hex) -# - Specify either op or opc (only used in milenage) -# k: 128-bit subscriber key (hex) -# imsi: 15 digit International Mobile Subscriber Identity -# imei: 15 digit International Mobile Station Equipment Identity -# pin: PIN in case real SIM card is used -# reader: Specify card reader by it's name as listed by 'pcsc_scan'. If empty, try all available readers. -##################################################################### + [usim] mode = soft algo = ${ue.auth_algo} @@ -143,20 +60,8 @@ k = ${ue.ki} imsi = ${ue.imsi} imei = 353490069873319 -#reader = -#pin = 1234 -##################################################################### -# RRC configuration -# -# ue_category: Sets UE category (range 1-5). Default: 4 -# release: UE Release (8 to 10) -# feature_group: Hex value of the featureGroupIndicators field in the -# UECapabilityInformation message. Default 0xe6041000 -# mbms_service_id: MBMS service id for autostarting MBMS reception -# (default -1 means disabled) -# mbms_service_port: Port of the MBMS service -##################################################################### + [rrc] % if "dl_qam256" in ue.features or "ul_qam64" in ue.features: ue_category = 8 @@ -170,234 +75,27 @@ #ue_category = 4 #release = 8 % endif -#feature_group = 0xe6041000 -#mbms_service_id = -1 -#mbms_service_port = 4321 -##################################################################### -# NAS configuration -# -# apn: Set Access Point Name (APN) -# apn_protocol: Set APN protocol (IPv4, IPv6 or IPv4v6.) -# user: Username for CHAP authentication -# pass: Password for CHAP authentication -# force_imsi_attach: Whether to always perform an IMSI attach -# eia: List of integrity algorithms included in UE capabilities -# Supported: 1 - Snow3G, 2 - AES -# eea: List of ciphering algorithms included in UE capabilities -# Supported: 0 - NULL, 1 - Snow3G, 2 - AES -##################################################################### -[nas] -#apn = internetinternet -#apn_protocol = ipv4 -#user = srsuser -#pass = srspass -#force_imsi_attach = false -#eia = 1,2 -#eea = 0,1,2 -##################################################################### -# GW configuration -# -# netns: Network namespace to create TUN device. Default: empty -# ip_devname: Name of the tun_srsue device. Default: tun_srsue -# ip_netmask: Netmask of the tun_srsue device. Default: 255.255.255.0 -##################################################################### -[gw] -#netns = -#ip_devname = tun_srsue -#ip_netmask = 255.255.255.0 - -##################################################################### -# GUI configuration -# -# Simple GUI displaying PDSCH constellation and channel freq response. -# (Requires building with srsGUI) -# enable: Enable the graphical interface (true/false) -##################################################################### -[gui] -enable = false - -##################################################################### -# Channel emulator options: -# enable: Enable/Disable internal Downlink/Uplink channel emulator -# -# -- Fading emulator -# fading.enable: Enable/disable fading simulator -# fading.model: Fading model + maximum doppler (E.g. none, epa5, eva70, etu300, etc) -# -# -- Delay Emulator delay(t) = delay_min + (delay_max - delay_min) * (1 + sin(2pi*t/period)) / 2 -# Maximum speed [m/s]: (delay_max - delay_min) * pi * 300 / period -# delay.enable: Enable/disable delay simulator -# delay.period_s: Delay period in seconds. -# delay.init_time_s: Delay initial time in seconds. -# delay.maximum_us: Maximum delay in microseconds -# delay.minumum_us: Minimum delay in microseconds -# -# -- Radio-Link Failure (RLF) Emulator -# rlf.enable: Enable/disable RLF simulator -# rlf.t_on_ms: Time for On state of the channel (ms) -# rlf.t_off_ms: Time for Off state of the channel (ms) -# -# -- High Speed Train Doppler model simulator -# hst.enable: Enable/Disable HST simulator -# hst.period_s: HST simulation period in seconds -# hst.fd_hz: Doppler frequency in Hz -# hst.init_time_s: Initial time in seconds -##################################################################### -[channel.dl] -#enable = false - -[channel.dl.fading] -#enable = false -#model = none - -[channel.dl.delay] -#enable = false -#period_s = 3600 -#init_time_s = 0 -#maximum_us = 100 -#minimum_us = 10 - -[channel.dl.rlf] -#enable = false -#t_on_ms = 10000 -#t_off_ms = 2000 - -[channel.dl.hst] -#enable = false -#period_s = 7.2 -#fd_hz = 750.0 -#init_time_s = 0.0 - -[channel.ul] -#enable = false - -[channel.ul.fading] -#enable = false -#model = none - -[channel.ul.delay] -#enable = false -#period_s = 3600 -#init_time_s = 0 -#maximum_us = 100 -#minimum_us = 10 - -[channel.ul.rlf] -#enable = false -#t_on_ms = 10000 -#t_off_ms = 2000 - -[channel.ul.hst] -#enable = false -#period_s = 7.2 -#fd_hz = -750.0 -#init_time_s = 0.0 - -##################################################################### -# PHY configuration options -# -# rx_gain_offset: RX Gain offset to add to rx_gain to calibrate RSRP readings -# prach_gain: PRACH gain (dB). If defined, forces a gain for the tranmsission of PRACH only., -# Default is to use tx_gain in [rf] section. -# cqi_max: Upper bound on the maximum CQI to be reported. Default 15. -# cqi_fixed: Fixes the reported CQI to a constant value. Default disabled. -# snr_ema_coeff: Sets the SNR exponential moving average coefficient (Default 0.1) -# snr_estim_alg: Sets the noise estimation algorithm. (Default refs) -# Options: pss: use difference between received and known pss signal, -# refs: use difference between noise references and noiseless (after filtering) -# empty: use empty subcarriers in the boarder of pss/sss signal -# pdsch_max_its: Maximum number of turbo decoder iterations (Default 4) -# nof_phy_threads: Selects the number of PHY threads (maximum 4, minimum 1, default 3) -# equalizer_mode: Selects equalizer mode. Valid modes are: "mmse", "zf" or any -# non-negative real number to indicate a regularized zf coefficient. -# Default is MMSE. -# sfo_ema: EMA coefficient to average sample offsets used to compute SFO -# sfo_correct_period: Period in ms to correct sample time to adjust for SFO -# sss_algorithm: Selects the SSS estimation algorithm. Can choose between -# {full, partial, diff}. -# estimator_fil_auto: The channel estimator smooths the channel estimate with an adaptative filter. -# estimator_fil_stddev: Sets the channel estimator smooth gaussian filter standard deviation. -# estimator_fil_order: Sets the channel estimator smooth gaussian filter order (even values perform better). -# The taps are [w, 1-2w, w] -# -# snr_to_cqi_offset: Sets an offset in the SNR to CQI table. This is used to adjust the reported CQI. -# -# pregenerate_signals: Pregenerate uplink signals after attach. Improves CPU performance. -# -# interpolate_subframe_enabled: Interpolates in the time domain the channel estimates within 1 subframe. Default is to average. -# -# sic_pss_enabled: Applies Successive Interference Cancellation to PSS signals when searching for neighbour cells. -# Must be disabled if cells have identical channel and timing, for instance if generated from -# the same source. -# -# pdsch_csi_enabled: Stores the Channel State Information and uses it for weightening the softbits. It is only -# used in TM1. It is True by default. -# -# pdsch_8bit_decoder: Use 8-bit for LLR representation and turbo decoder trellis computation (Experimental) -# force_ul_amplitude: Forces the peak amplitude in the PUCCH, PUSCH and SRS (set 0.0 to 1.0, set to 0 or negative for disabling) -# -##################################################################### [phy] -#rx_gain_offset = 62 -#prach_gain = 30 -#cqi_max = 15 -#cqi_fixed = 10 -#snr_ema_coeff = 0.1 -#snr_estim_alg = refs -#pdsch_max_its = 8 # These are half iterations % if ue.rf_dev_type == 'zmq': nof_phy_threads = 2 % endif -#equalizer_mode = mmse -#sfo_ema = 0.1 -#sfo_correct_period = 10 -#sss_algorithm = full -#estimator_fil_auto = false -#estimator_fil_stddev = 1.0 -#estimator_fil_order = 4 -#snr_to_cqi_offset = 0.0 -#interpolate_subframe_enabled = false -#sic_pss_enabled = true -#pregenerate_signals = false -#pdsch_csi_enabled = true -#pdsch_8bit_decoder = false % if float(ue.force_ul_amplitude) > 0: force_ul_amplitude = ${ue.force_ul_amplitude} % endif -##################################################################### -# Simulation configuration options -# -# The UE simulation supports turning on and off airplane mode in the UE. -# The actions are carried periodically until the UE is stopped. -# -# airplane_t_on_ms: Time to leave airplane mode turned on (in ms) -# -# airplane_t_off_ms: Time to leave airplane mode turned off (in ms) -# -##################################################################### + [sim] airplane_t_on_ms = ${ue.airplane_t_on_ms} airplane_t_off_ms = ${ue.airplane_t_off_ms} -##################################################################### -# General configuration options -# -# metrics_csv_enable: Write UE metrics to CSV file. -# -# metrics_period_secs: Sets the period at which metrics are requested from the UE. -# -# metrics_csv_filename: File path to use for CSV metrics. -# -##################################################################### + [general] metrics_csv_enable = true -#metrics_period_secs = 1 metrics_csv_filename = ${ue.metrics_filename} % if ue.rf_dev_type == 'zmq': [stack] have_tti_time_stats = false -% endif +% endif \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24054 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icb9e8e7b1c68cf024db3a7273af791f017c32003 Gerrit-Change-Number: 24054 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:40 +0000 Subject: Change in osmo-gsm-tester[master]: enb_amarisoft: add "sdr" as rf_dev_type and rx_ant parameter In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24055 ) Change subject: enb_amarisoft: add "sdr" as rf_dev_type and rx_ant parameter ...................................................................... enb_amarisoft: add "sdr" as rf_dev_type and rx_ant parameter this allows to use the Amarisoft PCIe cards with OGT Change-Id: Ia373a78f59538d6dfca390431f85a7af26c9d914 --- M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl 2 files changed, 4 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index 65c94dd..405ed68 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -37,7 +37,7 @@ schema.register_config_schema('amarisoftenb', config_schema) def rf_type_valid(rf_type_str): - return rf_type_str in ('uhd', 'zmq') + return rf_type_str in ('uhd', 'zmq', 'sdr') class AmarisoftENB(enb.eNodeB): diff --git a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl index 05689c7..2587f97 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -2,6 +2,9 @@ name: "${trx.rf_dev_type}", args: "${trx.rf_dev_args}", sync: "${trx.rf_dev_sync}", +% if trx.get('rx_ant', None) != None: + rx_antenna: "${trx.rx_ant}", +% endif % if trx.rf_dev_type == 'zmq': dl_sample_bits: 16, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24055 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia373a78f59538d6dfca390431f85a7af26c9d914 Gerrit-Change-Number: 24055 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:40 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add short_sn as config option for srsUE In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24056 ) Change subject: ms_srs: add short_sn as config option for srsUE ...................................................................... ms_srs: add short_sn as config option for srsUE this allows to change the announced support for PDCP short sequence number lengths Change-Id: Ibcf72dbb424ae3b6a87b60febb4dadf716407612 --- M src/osmo_gsm_tester/obj/ms_srs.py M sysmocom/defaults.conf 2 files changed, 3 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 1cc17df..54dc5de 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -53,7 +53,8 @@ config_schema = { 'enable_pcap': schema.BOOL_STR, 'log_all_level': schema.STR, - 'log_nas_level': schema.STR + 'log_nas_level': schema.STR, + 'nr_short_sn_support': schema.BOOL_STR } schema.register_config_schema('modem', config_schema) diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index 8bbae42..8740d62 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -187,6 +187,7 @@ log_all_level: warning log_nas_level: warning force_ul_amplitude: 0 + nr_short_sn_support: true amarisoftue: tx_gain: 89 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ibcf72dbb424ae3b6a87b60febb4dadf716407612 Gerrit-Change-Number: 24056 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:40 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_rf_driver.cfg.tmpl: only set trx offset for B210 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24057 ) Change subject: amarisoft_rf_driver.cfg.tmpl: only set trx offset for B210 ...................................................................... amarisoft_rf_driver.cfg.tmpl: only set trx offset for B210 all other RF devices do not required any offset Change-Id: Id4c5f0bede5b09d59237cdd6a959a3663f1a1b37 --- M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl 1 file changed, 6 insertions(+), 4 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl index 2587f97..36d34ad 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -14,8 +14,10 @@ tx_gain: ${trx.tx_gain}, /* TX gain (in dB) B2x0: 0 to 89.8 dB */ rx_gain: ${trx.rx_gain}, /* RX gain (in dB) B2x0: 0 to 73 dB */ -% if trx.rf_dev_type == 'zmq': -tx_time_offset: 0, -% else: + +// only the B210 requires a sample offset +% if "b200" in trx.rf_dev_args: tx_time_offset: -150, -% endif +% else: +tx_time_offset: 0, +% endif \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Id4c5f0bede5b09d59237cdd6a959a3663f1a1b37 Gerrit-Change-Number: 24057 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:40 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: set srate param with the X310 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24058 ) Change subject: srsue.conf.tmpl: set srate param with the X310 ...................................................................... srsue.conf.tmpl: set srate param with the X310 Change-Id: Icb04ed51ace97d4467558639aeb3f556dbe8678a --- M src/osmo_gsm_tester/templates/srsue.conf.tmpl 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 8fd405b..8d206fa 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -14,6 +14,10 @@ nof_antennas = ${ue.num_antennas} +% if "x300" in ue.rf_dev_args: +srate = 23.04e6 +% endif + device_name = ${ue.rf_dev_type} device_args = ${ue.rf_dev_args},${ue.rf_dev_sync} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24058 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icb04ed51ace97d4467558639aeb3f556dbe8678a Gerrit-Change-Number: 24058 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:22:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 12:22:41 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb.conf.tmpl: use LTE sample rates when Lime is found in rf args In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24059 ) Change subject: srsenb.conf.tmpl: use LTE sample rates when Lime is found in rf args ...................................................................... srsenb.conf.tmpl: use LTE sample rates when Lime is found in rf args the lime doesn't work well with the shorter sample rates the eNB uses by default. Change-Id: I2d3dbdf5ff62980854ef67b20469f072ce31612e --- M src/osmo_gsm_tester/templates/srsenb.conf.tmpl 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index 4ae176e..ea18af7 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -289,3 +289,6 @@ #max_prach_offset_us = 30 eea_pref_list = ${', '.join(list(dict.fromkeys(enb.cipher_list))).upper()} eia_pref_list = ${', '.join(list(dict.fromkeys(enb.integrity_list))).upper()} +% if "lime" in enb.rf_dev_args: +lte_sample_rates = true +% endif \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24059 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d3dbdf5ff62980854ef67b20469f072ce31612e Gerrit-Change-Number: 24059 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 12:50:44 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 3 May 2021 12:50:44 +0000 Subject: Change in pysim[master]: ts_51_011: fix encoder of EF.CNL In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/24000 ) Change subject: ts_51_011: fix encoder of EF.CNL ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24000 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6b07c91042ae3a87c561671689ec236918254ddf Gerrit-Change-Number: 24000 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 13:02:00 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 3 May 2021 13:02:00 +0000 Subject: Change in pysim[master]: utils: specify paremeters of enc_plmn() as Hexstr In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23998 to look at the new patch set (#3). Change subject: utils: specify paremeters of enc_plmn() as Hexstr ...................................................................... utils: specify paremeters of enc_plmn() as Hexstr To prevent missunderstandings when using enc_plmn(), specify the input and return parameters as Hexstr. Change-Id: I57cf8e2de357650aef2a06fbffc7615ccb2a45b4 Related: OS#4963 --- M pySim/utils.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/98/23998/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23998 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I57cf8e2de357650aef2a06fbffc7615ccb2a45b4 Gerrit-Change-Number: 23998 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 13:02:26 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 3 May 2021 13:02:26 +0000 Subject: Change in pysim[master]: utils: specify paremeters of enc_plmn() as Hexstr In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23998 ) Change subject: utils: specify paremeters of enc_plmn() as Hexstr ...................................................................... Patch Set 3: I have changed it to Hexstr now. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23998 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I57cf8e2de357650aef2a06fbffc7615ccb2a45b4 Gerrit-Change-Number: 23998 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 03 May 2021 13:02:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 13:21:53 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 3 May 2021 13:21:53 +0000 Subject: Change in osmo-bsc[master]: test_gsm48_multirate_config: rather keep 4x amr_mode In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24002 ) Change subject: test_gsm48_multirate_config: rather keep 4x amr_mode ...................................................................... Patch Set 1: Code-Review+2 combine CR votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24002 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I545de6fb66a4b74a3f08899795b4b4d9c4538f58 Gerrit-Change-Number: 24002 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 03 May 2021 13:21:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 13:21:55 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 3 May 2021 13:21:55 +0000 Subject: Change in osmo-bsc[master]: test_gsm48_multirate_config: rather keep 4x amr_mode In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24002 ) Change subject: test_gsm48_multirate_config: rather keep 4x amr_mode ...................................................................... test_gsm48_multirate_config: rather keep 4x amr_mode In osmo-bsc, gsm48_multirate_config() is used in a way where the struct amr_mode *modes always points at the full set of configured modes, and only the AMR bits m4_75 thru m12_2 are unset to filter the used modes. In the current test, the bits are unset to filter, but also the struct amr_mode *modes is reduced accordingly. Instead, keep the modes fully populated and unset only bits, like osmo-bsc does in practice. The test results should not (and do not) differ. Change-Id: I545de6fb66a4b74a3f08899795b4b4d9c4538f58 --- M tests/gsm0408/gsm0408_test.c 1 file changed, 12 insertions(+), 9 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve neels: Looks good to me, approved dexter: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c index 9a1d3cf..8220c4f 100644 --- a/tests/gsm0408/gsm0408_test.c +++ b/tests/gsm0408/gsm0408_test.c @@ -824,12 +824,12 @@ mr.ms_mode[0].mode = 2; mr.ms_mode[1].mode = 4; mr.ms_mode[2].mode = 5; - mr.ms_mode[3].mode = 0; + mr.ms_mode[3].mode = 7; gsm48_ie->m12_2 = 0; mr.ms_mode[2].threshold = 0; mr.ms_mode[2].hysteresis = 0; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 3); + rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); OSMO_ASSERT(rc == 0); printf("gsm48_multirate_config(): rc=%i, lv=%s\n", rc, osmo_hexdump_nospc(lv, 1 + lv[0])); @@ -838,18 +838,19 @@ mr.ms_mode[0].mode = 2; mr.ms_mode[2].mode = 4; mr.ms_mode[1].mode = 5; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 3); + rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); OSMO_ASSERT(rc == -EINVAL); /* Test #5: Normal configuration with 2 active set members */ mr.ms_mode[0].mode = 2; mr.ms_mode[1].mode = 4; - mr.ms_mode[2].mode = 0; + mr.ms_mode[2].mode = 5; + mr.ms_mode[3].mode = 7; gsm48_ie->m7_95 = 0; mr.ms_mode[1].threshold = 0; mr.ms_mode[1].hysteresis = 0; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 2); + rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); OSMO_ASSERT(rc == 0); printf("gsm48_multirate_config(): rc=%i, lv=%s\n", rc, osmo_hexdump_nospc(lv, 1 + lv[0])); @@ -857,24 +858,26 @@ /* Test #6: 2 active set members, but wrong mode order: */ mr.ms_mode[1].mode = 2; mr.ms_mode[0].mode = 4; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 2); + rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); OSMO_ASSERT(rc == -EINVAL); /* Test #7: Normal configuration with 1 active set member */ mr.ms_mode[0].mode = 2; - mr.ms_mode[1].mode = 0; + mr.ms_mode[1].mode = 4; + mr.ms_mode[2].mode = 5; + mr.ms_mode[3].mode = 7; gsm48_ie->m7_40 = 0; mr.ms_mode[0].threshold = 0; mr.ms_mode[0].hysteresis = 0; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 1); + rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); OSMO_ASSERT(rc == 0); printf("gsm48_multirate_config(): rc=%i, lv=%s\n", rc, osmo_hexdump_nospc(lv, 1 + lv[0])); /* Test #8: 0 active set members: */ mr.ms_mode[0].mode = 0; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 1); + rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); OSMO_ASSERT(rc == -EINVAL); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24002 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I545de6fb66a4b74a3f08899795b4b4d9c4538f58 Gerrit-Change-Number: 24002 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 13:29:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 13:29:34 +0000 Subject: Change in pysim[master]: utils: fix mcc/mnc encoding in dec_plmn (EF_PLMNsel) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23999 ) Change subject: utils: fix mcc/mnc encoding in dec_plmn (EF_PLMNsel) ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23999 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I393e04836814d992d2a6d0a4e4e01850976d6e81 Gerrit-Change-Number: 23999 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 13:29:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 13:29:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 13:29:49 +0000 Subject: Change in pysim[master]: utils: fix dec_xplmn_w_act() and format_xplmn_w_act() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24003 ) Change subject: utils: fix dec_xplmn_w_act() and format_xplmn_w_act() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24003 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I57f7dff80f48071ef9a3732ae1088882b127a6d4 Gerrit-Change-Number: 24003 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 13:29:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 13:29:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 13:29:54 +0000 Subject: Change in pysim[master]: ts_51_011, utils: fix Access Technology Identifier coding In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24004 ) Change subject: ts_51_011, utils: fix Access Technology Identifier coding ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24004 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibfe8883a05f9ad6988d8e212cb9a598229954296 Gerrit-Change-Number: 24004 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 13:29:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 13:30:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 13:30:12 +0000 Subject: Change in pysim[master]: utils: specify type of parameter name in enc_spn In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24005 ) Change subject: utils: specify type of parameter name in enc_spn ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24005 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I43a1e68afe9e756346bc0cfe8bda4ac665ac6c54 Gerrit-Change-Number: 24005 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 03 May 2021 13:30:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 13:30:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 13:30:54 +0000 Subject: Change in pysim[master]: utils: specify paremeters of enc_plmn() as Hexstr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23998 ) Change subject: utils: specify paremeters of enc_plmn() as Hexstr ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23998 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I57cf8e2de357650aef2a06fbffc7615ccb2a45b4 Gerrit-Change-Number: 23998 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 03 May 2021 13:30:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Mon May 3 13:44:44 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 03 May 2021 13:44:44 +0000 Subject: Build failure of network:osmocom:nightly/neocon in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <608ffe6ac9e05_6ab22aae945685fc17984e2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/neocon/Debian_9.0/armv7l Package network:osmocom:nightly/neocon failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly neocon Last lines of build log: [ 0s] [ 0s] armbuild04 started "build neocon_1.0.1.202105030026.dsc" at Mon May 3 13:44:26 UTC 2021. [ 0s] [ 0s] Building neocon for project 'network:osmocom:nightly' repository 'Debian_9.0' arch 'armv7l' srcmd5 'd13ea3906245a9e9facff96d6732d62e' [ 0s] [ 0s] processing recipe /var/cache/obs/worker/root_2/.build-srcdir/neocon_1.0.1.202105030026.dsc ... [ 0s] running changelog2spec --target debian --file /var/cache/obs/worker/root_2/.build-srcdir/neocon_1.0.1.202105030026.dsc [ 0s] init_buildsystem --configdir /var/run/obs/worker/2/build/configs --cachedir /var/cache/build --prepare --clean --rpmlist /var/cache/obs/worker/root_2/.build.rpmlist /var/cache/obs/worker/root_2/.build-srcdir/neocon_1.0.1.202105030026.dsc build ... [ 1s] unknown keyword in config: [ 1s] could not autodetect package type [ 1s] [ 1s] armbuild04 failed "build neocon_1.0.1.202105030026.dsc" at Mon May 3 13:44:27 UTC 2021. [ 1s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon May 3 14:06:24 2021 From: gerrit-no-reply at lists.osmocom.org (iedemam) Date: Mon, 3 May 2021 14:06:24 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 to look at the new patch set (#6). Change subject: stats: add BTS uptime counter ...................................................................... stats: add BTS uptime counter Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bts.c 4 files changed, 50 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/34/23234/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 6 Gerrit-Owner: iedemam Gerrit-Assignee: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 14:10:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 14:10:25 +0000 Subject: Change in pysim[master]: Speed up AT command interface (~130 times faster) In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24034 ) Change subject: Speed up AT command interface (~130 times faster) ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69b1cbc0a20d54791e5800bf27ebafc2c8606d93 Gerrit-Change-Number: 24034 Gerrit-PatchSet: 3 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 03 May 2021 14:10:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 14:11:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 14:11:50 +0000 Subject: Change in pysim[master]: Speed up AT command interface (~130 times faster) In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24034 ) Change subject: Speed up AT command interface (~130 times faster) ...................................................................... Speed up AT command interface (~130 times faster) Previous implementation waits 300ms for response after each command issued. But many commands finish earlier. This patch improves the command execution time by frequently checking for the response to complete (i.e. ends with OK or ERROR), or the occurence of a timeout (default 200ms). Timeout can be adapted per command to support long response times of certain commands like AT+COPS=? (network search) Execution time benchmark (20 AT commands/responses): Previous: 6.010s (100.0%) New code: 0.045s ( 0.7%) Change-Id: I69b1cbc0a20d54791e5800bf27ebafc2c8606d93 --- M pySim/transport/modem_atcmd.py 1 file changed, 54 insertions(+), 22 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py index eef38cb..43614f1 100644 --- a/pySim/transport/modem_atcmd.py +++ b/pySim/transport/modem_atcmd.py @@ -32,53 +32,85 @@ def __init__(self, device:str='/dev/ttyUSB0', baudrate:int=115200, **kwargs): super().__init__(**kwargs) self._sl = serial.Serial(device, baudrate, timeout=5) + self._echo = False # this will be auto-detected by _check_echo() self._device = device self._atr = None + # Check the AT interface + self._check_echo() + # Trigger initial reset self.reset_card() def __del__(self): self._sl.close() - def send_at_cmd(self, cmd): + def send_at_cmd(self, cmd, timeout=0.2, patience=0.002): # Convert from string to bytes, if needed bcmd = cmd if type(cmd) is bytes else cmd.encode() bcmd += b'\r' + # Clean input buffer from previous/unexpected data + self._sl.reset_input_buffer() + # Send command to the modem - log.debug('Sending AT command: %s' % cmd) + log.debug('Sending AT command: %s', cmd) try: wlen = self._sl.write(bcmd) assert(wlen == len(bcmd)) except: raise ReaderError('Failed to send AT command: %s' % cmd) - # Give the modem some time... - time.sleep(0.3) + rsp = b'' + its = 1 + t_start = time.time() + while True: + rsp = rsp + self._sl.read(self._sl.in_waiting) + if rsp.endswith(b'OK\r\n'): + log.debug('Command finished with result: OK') + break + if rsp.endswith(b'ERROR\r\n'): + log.debug('Command finished with result: ERROR') + break + if time.time() - t_start >= timeout: + log.debug('Command finished with timeout >= %ss', timeout) + break + time.sleep(patience) + its += 1 + log.debug('Command took %0.6fs (%d cycles a %fs)', time.time() - t_start, its, patience) - # Read the response - try: - # Skip characters sent back - self._sl.read(wlen) - # Read the rest - rsp = self._sl.read_all() + if self._echo: + # Skip echo chars + rsp = rsp[wlen:] + rsp = rsp.strip() + rsp = rsp.split(b'\r\n\r\n') - # Strip '\r\n' - rsp = rsp.strip() - # Split into a list - rsp = rsp.split(b'\r\n\r\n') - except: - raise ReaderError('Failed parse response to AT command: %s' % cmd) - - log.debug('Got response from modem: %s' % rsp) + log.debug('Got response from modem: %s', rsp) return rsp - def reset_card(self): - # Make sure that we can talk to the modem - if self.send_at_cmd('AT') != [b'OK']: - raise ReaderError('Failed to connect to modem') + def _check_echo(self): + """Verify the correct response to 'AT' command + and detect if inputs are echoed by the device + Although echo of inputs can be enabled/disabled via + ATE1/ATE0, respectively, we rather detect the current + configuration of the modem without any change. + """ + # Next command shall not strip the echo from the response + self._echo = False + result = self.send_at_cmd('AT') + + # Verify the response + if len(result) > 0: + if result[-1] == b'OK': + self._echo = False + return + elif result[-1] == b'AT\r\r\nOK': + self._echo = True + return + raise ReaderError('Interface \'%s\' does not respond to \'AT\' command' % self._device) + + def reset_card(self): # Reset the modem, just to be sure if self.send_at_cmd('ATZ') != [b'OK']: raise ReaderError('Failed to reset the modem') -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69b1cbc0a20d54791e5800bf27ebafc2c8606d93 Gerrit-Change-Number: 24034 Gerrit-PatchSet: 3 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 14:13:14 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 14:13:14 +0000 Subject: Change in pysim[master]: ModemATCommandLink: fix AttributeError exception in __del__() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24039 ) Change subject: ModemATCommandLink: fix AttributeError exception in __del__() ...................................................................... ModemATCommandLink: fix AttributeError exception in __del__() self._sl will not be assigned if serial.Serial() fails. Change-Id: I179a7efd92eaa3469a17b6ef252b3949c44ea6ea --- M pySim/transport/modem_atcmd.py 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: dexter: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py index 43614f1..2018ac2 100644 --- a/pySim/transport/modem_atcmd.py +++ b/pySim/transport/modem_atcmd.py @@ -43,7 +43,8 @@ self.reset_card() def __del__(self): - self._sl.close() + if hasattr(self, '_sl'): + self._sl.close() def send_at_cmd(self, cmd, timeout=0.2, patience=0.002): # Convert from string to bytes, if needed -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24039 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I179a7efd92eaa3469a17b6ef252b3949c44ea6ea Gerrit-Change-Number: 24039 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 14:15:28 2021 From: gerrit-no-reply at lists.osmocom.org (iedemam) Date: Mon, 3 May 2021 14:15:28 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: iedemam has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23234 ) Change subject: stats: add BTS uptime counter ...................................................................... Patch Set 6: (1 comment) Hi, I think it's close now. Thanks for the tips in your last comment. -Michael https://gerrit.osmocom.org/c/osmo-bsc/+/23234/4/src/osmo-bsc/bts.c File src/osmo-bsc/bts.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23234/4/src/osmo-bsc/bts.c at 586 PS4, Line 586: int downtime_seconds = BTS_DOWNTIME_SAMPLE_INTERVAL - uptime_seconds; > while I still prefer my proposal (due to what I mentioned already about abusing stats here), I'm fin [?] This comment helped me a lot. Thanks! We already have a "became_up" timestamp for each BTS and I was referencing it to set my last_uptime_read value. The problem is I was recording an interval for something that should be an absolute value. This is what led to all the interval keeping and tracking and could introduce drift. I also wasn't treating the stat_item properly. I was still using it as a counter and expecting a derive value from statsd. I've now restructured the patch to be quite minimal. Every INTERVAL seconds I set the stat_item to current elapsed uptime for that BTS. Drift should be eliminated. The stat_item is now treated as a current value and not a difference-from-last value. I've also renamed a lot of the symbols to be very clear about what we're doing here. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 6 Gerrit-Owner: iedemam Gerrit-Assignee: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Mon, 03 May 2021 14:15:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: iedemam Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 14:16:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 14:16:41 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trxd_proto.py: fix encoding of TRXDv0 Tx PDUs In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24013 ) Change subject: trx_toolkit/trxd_proto.py: fix encoding of TRXDv0 Tx PDUs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24013 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9da59f7e7c47dd1cac833839165ba05de6b18144 Gerrit-Change-Number: 24013 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 14:16:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 14:16:45 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 14:16:45 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trxd_proto.py: fix missing field name for codec.Spare In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24014 ) Change subject: trx_toolkit/trxd_proto.py: fix missing field name for codec.Spare ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24014 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I110dbcebf86cf978f2de7275a91c48b999fade32 Gerrit-Change-Number: 24014 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 14:16:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 14:16:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 14:16:51 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trxd_proto.py: fix encoding of TRXDv0 Tx PDUs In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24013 ) Change subject: trx_toolkit/trxd_proto.py: fix encoding of TRXDv0 Tx PDUs ...................................................................... trx_toolkit/trxd_proto.py: fix encoding of TRXDv0 Tx PDUs Change-Id: I9da59f7e7c47dd1cac833839165ba05de6b18144 Related: OS#4006, SYS#4895 --- M src/target/trx_toolkit/trxd_proto.py 1 file changed, 4 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/target/trx_toolkit/trxd_proto.py b/src/target/trx_toolkit/trxd_proto.py index 7afa484..ded0336 100644 --- a/src/target/trx_toolkit/trxd_proto.py +++ b/src/target/trx_toolkit/trxd_proto.py @@ -125,9 +125,10 @@ class PDUv1Tx(PDUv0Tx): # Same structure as PDUv0Tx, only the version is different - def __init__(self, *args, **kw): - PDUv0Tx.__init__(self, *args, **kw) - self.STRUCT[0]._fields[0].val = 1 + STRUCT = ( + Header(ver=1), + *PDUv0Tx.STRUCT[1:] + ) class PDUv2Rx(codec.Envelope): -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24013 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9da59f7e7c47dd1cac833839165ba05de6b18144 Gerrit-Change-Number: 24013 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 14:16:52 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 14:16:52 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trxd_proto.py: fix missing field name for codec.Spare In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24014 ) Change subject: trx_toolkit/trxd_proto.py: fix missing field name for codec.Spare ...................................................................... trx_toolkit/trxd_proto.py: fix missing field name for codec.Spare Change-Id: I110dbcebf86cf978f2de7275a91c48b999fade32 Fixes: I482f72fd9305c51f43a0339d03904fb693d90ac9 Related: OS#4006, SYS#4895 --- M src/target/trx_toolkit/trxd_proto.py 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/target/trx_toolkit/trxd_proto.py b/src/target/trx_toolkit/trxd_proto.py index ded0336..74a3124 100644 --- a/src/target/trx_toolkit/trxd_proto.py +++ b/src/target/trx_toolkit/trxd_proto.py @@ -162,7 +162,7 @@ MTS(), codec.Uint('pwr'), codec.Int('scpir'), - codec.Spare(len=3), + codec.Spare('spare', len=3), BurstBits('hard-bits'), ) @@ -171,7 +171,7 @@ MTS(), codec.Uint('pwr'), codec.Int('scpir'), - codec.Spare(len=3), + codec.Spare('spare', len=3), codec.Uint32BE('fn'), BurstBits('hard-bits'), codec.Sequence(item=BPDU()).f('bpdu'), -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24014 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I110dbcebf86cf978f2de7275a91c48b999fade32 Gerrit-Change-Number: 24014 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 14:16:52 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 14:16:52 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/gsm_shared.py: s/GSM_BURST_LEN/GMSK_BURST_LEN/g In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24015 ) Change subject: trx_toolkit/gsm_shared.py: s/GSM_BURST_LEN/GMSK_BURST_LEN/g ...................................................................... trx_toolkit/gsm_shared.py: s/GSM_BURST_LEN/GMSK_BURST_LEN/g Change-Id: I7268196eb9fd822f0e7b65899e4c83c48a20ba5b --- M src/target/trx_toolkit/data_msg.py M src/target/trx_toolkit/gsm_shared.py M src/target/trx_toolkit/rand_burst_gen.py 3 files changed, 7 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve dexter: Looks good to me, approved diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index f5d570f..5e42964 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -347,7 +347,7 @@ raise ValueError("Tx burst bits are not set") # FIXME: properly handle IDLE / NOPE indications - if len(self.burst) not in (GSM_BURST_LEN, EDGE_BURST_LEN): + if len(self.burst) not in (GMSK_BURST_LEN, EDGE_BURST_LEN): raise ValueError("Tx burst has odd length %u" % len(self.burst)) def rand_pwr(self, min = None, max = None): @@ -411,9 +411,9 @@ if length >= EDGE_BURST_LEN: self.burst = list(burst[:EDGE_BURST_LEN]) else: - self.burst = list(burst[:GSM_BURST_LEN]) + self.burst = list(burst[:GMSK_BURST_LEN]) - def rand_burst(self, length = GSM_BURST_LEN): + def rand_burst(self, length = GMSK_BURST_LEN): ''' Generate a random message specific burst. ''' self.burst = [random.randint(0, 1) for _ in range(length)] @@ -578,7 +578,7 @@ raise ValueError("Rx burst bits are not set") # ... and can be either of GSM (GMSK) or EDGE (8-PSK) - if len(self.burst) not in (GSM_BURST_LEN, EDGE_BURST_LEN): + if len(self.burst) not in (GMSK_BURST_LEN, EDGE_BURST_LEN): raise ValueError("Rx burst has odd length %u" % len(self.burst)) def _validate_burst_v1(self): diff --git a/src/target/trx_toolkit/gsm_shared.py b/src/target/trx_toolkit/gsm_shared.py index aac152e..7c50245 100644 --- a/src/target/trx_toolkit/gsm_shared.py +++ b/src/target/trx_toolkit/gsm_shared.py @@ -29,8 +29,8 @@ GSM_HYPERFRAME = 2048 * GSM_SUPERFRAME # Burst length -GSM_BURST_LEN = 148 -EDGE_BURST_LEN = GSM_BURST_LEN * 3 +GMSK_BURST_LEN = 148 +EDGE_BURST_LEN = GMSK_BURST_LEN * 3 class BurstType(Enum): """ Burst types defined in 3GPP TS 45.002 """ diff --git a/src/target/trx_toolkit/rand_burst_gen.py b/src/target/trx_toolkit/rand_burst_gen.py index 0eb2e8f..b9846ab 100644 --- a/src/target/trx_toolkit/rand_burst_gen.py +++ b/src/target/trx_toolkit/rand_burst_gen.py @@ -80,7 +80,7 @@ # Generate a frequency correction burst def gen_fb(self): - return [0] * GSM_BURST_LEN + return [0] * GMSK_BURST_LEN # Generate a synchronization burst def gen_sb(self, tsc = None): -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24015 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I7268196eb9fd822f0e7b65899e4c83c48a20ba5b Gerrit-Change-Number: 24015 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 14:17:35 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 14:17:35 +0000 Subject: Change in docker-playground[master]: arm-none-eabi-gcc-4.8.2: install missing packages In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24040 ) Change subject: arm-none-eabi-gcc-4.8.2: install missing packages ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24040 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1cee58985225bd1c6600b0025d0417d66f441449 Gerrit-Change-Number: 24040 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 May 2021 14:17:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 14:17:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 14:17:41 +0000 Subject: Change in docker-playground[master]: arm-none-eabi-gcc-4.8.2: install missing packages In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24040 ) Change subject: arm-none-eabi-gcc-4.8.2: install missing packages ...................................................................... arm-none-eabi-gcc-4.8.2: install missing packages These are needed for building osmocom-bb and its libosmocore. Change-Id: I1cee58985225bd1c6600b0025d0417d66f441449 --- M arm-none-eabi-gcc-4.8.2/Dockerfile 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved; Verified diff --git a/arm-none-eabi-gcc-4.8.2/Dockerfile b/arm-none-eabi-gcc-4.8.2/Dockerfile index 8794a95..6c1373c 100644 --- a/arm-none-eabi-gcc-4.8.2/Dockerfile +++ b/arm-none-eabi-gcc-4.8.2/Dockerfile @@ -20,7 +20,11 @@ flex \ curl \ patch \ - file + file \ + python2.7-minimal \ + autoconf \ + libtool \ + git # Stage 0: Download and patch the source code RUN curl -SL ${BINUTILS_SRC} | tar -xj -C /usr/src && \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24040 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1cee58985225bd1c6600b0025d0417d66f441449 Gerrit-Change-Number: 24040 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 14:18:41 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 3 May 2021 14:18:41 +0000 Subject: Change in pysim[master]: utils: split string formatting from dec_addr_tlv In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24010 ) Change subject: utils: split string formatting from dec_addr_tlv ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/pysim/+/24010/2/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/24010/2/pySim/cards.py at 32 PS2, Line 32: def format_addr(addr, addr_type='00'): > Would be nice to always have type hints with the new API. Done https://gerrit.osmocom.org/c/pysim/+/24010/2/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/24010/2/pySim/utils.py at 642 PS2, Line 642: return (None, None) > Shouldn't this be considered an error? Before the split it was returning an empty string, this is the equivalent. Also when using this for decoding the result can be directly encoded to json. However I think its worth to throw an execption when an addr_type is detected that can not be decoded. (if no addr+type can be found in the TLV hex str its ok to return None) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id017b0786089adac4d6c5be688742eaa9699e529 Gerrit-Change-Number: 24010 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 03 May 2021 14:18:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 14:19:01 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 3 May 2021 14:19:01 +0000 Subject: Change in pysim[master]: utils: split string formatting from dec_addr_tlv In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24010 to look at the new patch set (#4). Change subject: utils: split string formatting from dec_addr_tlv ...................................................................... utils: split string formatting from dec_addr_tlv The function dec_addr_tlv() takes an encoded FQDN or IPv4 address and fromats it into a human readable string that contains the human readable form and the encoded hex form. Unfortunately this limits the usecase of dec_addr_tlv. Lets split the string generation into a separate function so that we can use dec_addr_tlv universally Change-Id: Id017b0786089adac4d6c5be688742eaa9699e529 Related: OS#4963 --- M pySim/cards.py M pySim/utils.py 2 files changed, 36 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/10/24010/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id017b0786089adac4d6c5be688742eaa9699e529 Gerrit-Change-Number: 24010 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 14:19:41 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 3 May 2021 14:19:41 +0000 Subject: Change in pysim[master]: utils: specify paremeters of enc_plmn() as Hexstr In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23998 ) Change subject: utils: specify paremeters of enc_plmn() as Hexstr ...................................................................... utils: specify paremeters of enc_plmn() as Hexstr To prevent missunderstandings when using enc_plmn(), specify the input and return parameters as Hexstr. Change-Id: I57cf8e2de357650aef2a06fbffc7615ccb2a45b4 Related: OS#4963 --- M pySim/utils.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/utils.py b/pySim/utils.py index a177c56..fc803de 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -134,7 +134,7 @@ def enc_iccid(iccid:str) -> Hexstr: return swap_nibbles(rpad(iccid, 20)) -def enc_plmn(mcc, mnc): +def enc_plmn(mcc:Hexstr, mnc:Hexstr) -> Hexstr: """Converts integer MCC/MNC into 3 bytes for EF""" if len(mnc) == 2: mnc += "F" # pad to 3 digits if needed -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23998 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I57cf8e2de357650aef2a06fbffc7615ccb2a45b4 Gerrit-Change-Number: 23998 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 14:51:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 14:51:22 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23234 ) Change subject: stats: add BTS uptime counter ...................................................................... Patch Set 6: (1 comment) The implementation looks good now, just look at my comment to avoid code duplication ? https://gerrit.osmocom.org/c/osmo-bsc/+/23234/6/src/osmo-bsc/bts.c File src/osmo-bsc/bts.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23234/6/src/osmo-bsc/bts.c at 576 PS6, Line 576: uptime_seconds = difftime(tp.tv_sec, bts->uptime); What about reusing bts_uptime() just below instead of rewriting all of it in this new function? bts_store_uptime() { int uptime_seconds = bts_uptime(bts); if (uptime_seconds <= 0) return; osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_UPTIME_SECONDS], uptime_seconds); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 6 Gerrit-Owner: iedemam Gerrit-Assignee: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Mon, 03 May 2021 14:51:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 15:07:50 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 3 May 2021 15:07:50 +0000 Subject: Change in pysim[master]: utils: fix mcc/mnc encoding in dec_plmn (EF_PLMNsel) In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23999 ) Change subject: utils: fix mcc/mnc encoding in dec_plmn (EF_PLMNsel) ...................................................................... utils: fix mcc/mnc encoding in dec_plmn (EF_PLMNsel) The dec_plmn function takes an hexstring and returns the decoded MCC and MNC as integer values. The result is then used by the json encoder in EF_PLMNsel, which means the json output will contrary to the input, use integer values instead of strings. This is not correct since there may be leading zeros (e.g. mnc 01 and 001 both exist are different) which must be retained in order to know the correct length of the MNC. Related: OS#4963 Change-Id: I393e04836814d992d2a6d0a4e4e01850976d6e81 --- M pySim/utils.py M tests/test_utils.py 2 files changed, 55 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/utils.py b/pySim/utils.py index fc803de..9694bfa 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -136,14 +136,35 @@ def enc_plmn(mcc:Hexstr, mnc:Hexstr) -> Hexstr: """Converts integer MCC/MNC into 3 bytes for EF""" - if len(mnc) == 2: - mnc += "F" # pad to 3 digits if needed + + # Make sure there are no excess whitespaces in the input + # parameters + mcc = mcc.strip() + mnc = mnc.strip() + + # Make sure that MCC/MNC are correctly padded with leading + # zeros or 'F', depending on the length. + if len(mnc) == 0: + mnc = "FFF" + elif len(mnc) == 1: + mnc = "F0" + mnc + elif len(mnc) == 2: + mnc += "F" + + if len(mcc) == 0: + mcc = "FFF" + elif len(mcc) == 1: + mcc = "00" + mcc + elif len(mcc) == 2: + mcc = "0" + mcc + return (mcc[1] + mcc[0]) + (mnc[2] + mcc[2]) + (mnc[1] + mnc[0]) def dec_plmn(threehexbytes:Hexstr) -> dict: - res = {'mcc': 0, 'mnc': 0 } - res['mcc'] = dec_mcc_from_plmn(threehexbytes) - res['mnc'] = dec_mnc_from_plmn(threehexbytes) + res = {'mcc': "0", 'mnc': "0" } + dec_mcc_from_plmn_str(threehexbytes) + res['mcc'] = dec_mcc_from_plmn_str(threehexbytes) + res['mnc'] = dec_mnc_from_plmn_str(threehexbytes) return res def dec_spn(ef): @@ -172,6 +193,13 @@ return 0xFFF # 4095 return derive_mcc(digit1, digit2, digit3) +def dec_mcc_from_plmn_str(plmn:Hexstr) -> str: + digit1 = plmn[1] # 1st byte, LSB + digit2 = plmn[0] # 1st byte, MSB + digit3 = plmn[3] # 2nd byte, LSB + res = digit1 + digit2 + digit3 + return res.upper().strip("F") + def dec_mnc_from_plmn(plmn:Hexstr) -> int: ia = h2i(plmn) digit1 = ia[2] & 0x0F # 3rd byte, LSB @@ -181,6 +209,13 @@ return 0xFFF # 4095 return derive_mnc(digit1, digit2, digit3) +def dec_mnc_from_plmn_str(plmn:Hexstr) -> str: + digit1 = plmn[5] # 3rd byte, LSB + digit2 = plmn[4] # 3rd byte, MSB + digit3 = plmn[2] # 2nd byte, MSB + res = digit1 + digit2 + digit3 + return res.upper().strip("F") + def dec_act(twohexbytes:Hexstr) -> List[str]: act_list = [ {'bit': 15, 'name': "UTRAN"}, diff --git a/tests/test_utils.py b/tests/test_utils.py index 71c0eb0..b70b17b 100755 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -37,6 +37,12 @@ def testDecMCCfromPLMN_unused(self): self.assertEqual(utils.dec_mcc_from_plmn("ff0f00"), 4095) + def testDecMCCfromPLMN_str(self): + self.assertEqual(utils.dec_mcc_from_plmn_str("92f501"), "295") + + def testDecMCCfromPLMN_unused_str(self): + self.assertEqual(utils.dec_mcc_from_plmn_str("ff0f00"), "") + def testDecMNCfromPLMN_twoDigitMNC(self): self.assertEqual(utils.dec_mnc_from_plmn("92f501"), 10) @@ -46,6 +52,15 @@ def testDecMNCfromPLMN_unused(self): self.assertEqual(utils.dec_mnc_from_plmn("00f0ff"), 4095) + def testDecMNCfromPLMN_twoDigitMNC_str(self): + self.assertEqual(utils.dec_mnc_from_plmn_str("92f501"), "10") + + def testDecMNCfromPLMN_threeDigitMNC_str(self): + self.assertEqual(utils.dec_mnc_from_plmn_str("031263"), "361") + + def testDecMNCfromPLMN_unused_str(self): + self.assertEqual(utils.dec_mnc_from_plmn_str("00f0ff"), "") + def test_enc_plmn(self): with self.subTest("2-digit MCC"): self.assertEqual(utils.enc_plmn("001", "01F"), "00F110") -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23999 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I393e04836814d992d2a6d0a4e4e01850976d6e81 Gerrit-Change-Number: 23999 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 15:08:27 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 3 May 2021 15:08:27 +0000 Subject: Change in pysim[master]: utils: fix dec_xplmn_w_act() and format_xplmn_w_act() In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24003 ) Change subject: utils: fix dec_xplmn_w_act() and format_xplmn_w_act() ...................................................................... utils: fix dec_xplmn_w_act() and format_xplmn_w_act() The function dec_xplmn_w_act(), which is also used by format_xplmn_w_act() is using integer numbers as MCC/MNC representation. This causes various problems since the information about leading zeros gets lost. Change-Id: I57f7dff80f48071ef9a3732ae1088882b127a6d4 --- M pySim/utils.py M pysim-testdata/Fairwaves-SIM.ok M pysim-testdata/Wavemobile-SIM.ok M pysim-testdata/sysmoISIM-SJA2.ok M pysim-testdata/sysmoUSIM-SJS1.ok M tests/test_utils.py 6 files changed, 17 insertions(+), 17 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/utils.py b/pySim/utils.py index 9694bfa..2253482 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -234,13 +234,13 @@ return sel def dec_xplmn_w_act(fivehexbytes:Hexstr) -> Dict[str,Any]: - res = {'mcc': 0, 'mnc': 0, 'act': []} + res = {'mcc': "0", 'mnc': "0", 'act': []} plmn_chars = 6 act_chars = 4 plmn_str = fivehexbytes[:plmn_chars] # first three bytes (six ascii hex chars) act_str = fivehexbytes[plmn_chars:plmn_chars + act_chars] # two bytes after first three bytes - res['mcc'] = dec_mcc_from_plmn(plmn_str) - res['mnc'] = dec_mnc_from_plmn(plmn_str) + res['mcc'] = dec_mcc_from_plmn_str(plmn_str) + res['mnc'] = dec_mnc_from_plmn_str(plmn_str) res['act'] = dec_act(act_str) return res @@ -248,10 +248,10 @@ s = "" for rec_data in hexstr_to_Nbytearr(hexstr, 5): rec_info = dec_xplmn_w_act(rec_data) - if rec_info['mcc'] == 0xFFF and rec_info['mnc'] == 0xFFF: + if rec_info['mcc'] == "" and rec_info['mnc'] == "": rec_str = "unused" else: - rec_str = "MCC: %03d MNC: %03d AcT: %s" % (rec_info['mcc'], rec_info['mnc'], ", ".join(rec_info['act'])) + rec_str = "MCC: %s MNC: %s AcT: %s" % (rec_info['mcc'], rec_info['mnc'], ", ".join(rec_info['act'])) s += "\t%s # %s\n" % (rec_data, rec_str) return s diff --git a/pysim-testdata/Fairwaves-SIM.ok b/pysim-testdata/Fairwaves-SIM.ok index f83f415..c577aa9 100644 --- a/pysim-testdata/Fairwaves-SIM.ok +++ b/pysim-testdata/Fairwaves-SIM.ok @@ -31,7 +31,7 @@ ffffff0000 # unused HPLMNAcT: - 00f110ffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok index 0682a70..c978891 100644 --- a/pysim-testdata/Wavemobile-SIM.ok +++ b/pysim-testdata/Wavemobile-SIM.ok @@ -11,7 +11,7 @@ Display OPLMN: False PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: - 00f110ffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused @@ -29,7 +29,7 @@ ffffff0000 # unused OPLMNwAcT: - 00f110ffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index d95387b..c463c3f 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -11,7 +11,7 @@ Display OPLMN: True PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: - 00f110ffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused @@ -25,7 +25,7 @@ ffffff0000 # unused OPLMNwAcT: - 00f110ffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused @@ -39,7 +39,7 @@ ffffff0000 # unused HPLMNAcT: - 00f110ffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused diff --git a/pysim-testdata/sysmoUSIM-SJS1.ok b/pysim-testdata/sysmoUSIM-SJS1.ok index bce3c9d..cd14114 100644 --- a/pysim-testdata/sysmoUSIM-SJS1.ok +++ b/pysim-testdata/sysmoUSIM-SJS1.ok @@ -11,7 +11,7 @@ Display OPLMN: True PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: - 00f110ffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused @@ -25,7 +25,7 @@ ffffff0000 # unused OPLMNwAcT: - 00f110ffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused @@ -39,7 +39,7 @@ ffffff0000 # unused HPLMNAcT: - 00f110ffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused diff --git a/tests/test_utils.py b/tests/test_utils.py index b70b17b..558b5e7 100755 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -96,13 +96,13 @@ self.assertEqual(utils.dec_act("ffff"), ["UTRAN", "E-UTRAN", "GSM", "GSM COMPACT", "cdma2000 HRPD", "cdma2000 1xRTT"]) def testDecxPlmn_w_act(self): - expected = {'mcc': 295, 'mnc': 10, 'act': ["UTRAN"]} + expected = {'mcc': '295', 'mnc': '10', 'act': ["UTRAN"]} self.assertEqual(utils.dec_xplmn_w_act("92f5018000"), expected) def testFormatxPlmn_w_act(self): input_str = "92f501800092f5508000ffffff0000ffffff0000ffffff0000ffffff0000ffffff0000ffffff0000ffffff0000ffffff0000" - expected = "\t92f5018000 # MCC: 295 MNC: 010 AcT: UTRAN\n" - expected += "\t92f5508000 # MCC: 295 MNC: 005 AcT: UTRAN\n" + expected = "\t92f5018000 # MCC: 295 MNC: 10 AcT: UTRAN\n" + expected += "\t92f5508000 # MCC: 295 MNC: 05 AcT: UTRAN\n" expected += "\tffffff0000 # unused\n" expected += "\tffffff0000 # unused\n" expected += "\tffffff0000 # unused\n" -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24003 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I57f7dff80f48071ef9a3732ae1088882b127a6d4 Gerrit-Change-Number: 24003 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 15:09:43 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 3 May 2021 15:09:43 +0000 Subject: Change in pysim[master]: filesystem: add unit tests for encoder/decoder methods In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24012 to look at the new patch set (#3). Change subject: filesystem: add unit tests for encoder/decoder methods ...................................................................... filesystem: add unit tests for encoder/decoder methods Some files have a custom _encode... and _decode... metod. Those methods can be detected automatically and tested with a test vector that is directly defined in the respective file class. Change-Id: I02d884547f4982e0b8ed7ef21b8cda75237942e2 Related: OS#4963 --- M pySim/ts_102_221.py M pySim/ts_31_102.py M pySim/ts_31_103.py M pySim/ts_51_011.py A tests/test_files.py 5 files changed, 126 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/12/24012/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I02d884547f4982e0b8ed7ef21b8cda75237942e2 Gerrit-Change-Number: 24012 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 15:20:29 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 3 May 2021 15:20:29 +0000 Subject: Change in pysim[master]: ts_51_011, utils: fix Access Technology Identifier coding In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24004 ) Change subject: ts_51_011, utils: fix Access Technology Identifier coding ...................................................................... ts_51_011, utils: fix Access Technology Identifier coding When the Access Technology Identifier encoder sets the bits for E-UTRAN it does not respect that bit "100" is also a valid bit combination that encodes E-UTRAN WB-S1 and E-UTRAN NB-S1. Lets encode this bit combination if the user is just specifying "E-UTRAN" without further spefication of WB or NB. The decoder only looks at bit 14 and decodes "1xx" always to "E-UTRAN". This is not specific enough. Lets make sure that the decoder is complementary to the encoder. Change-Id: Ibfe8883a05f9ad6988d8e212cb9a598229954296 Related: OS#4963 --- M pySim/ts_51_011.py M pySim/utils.py M pysim-testdata/Fairwaves-SIM.ok M pysim-testdata/Wavemobile-SIM.ok M pysim-testdata/sysmoISIM-SJA2.ok M pysim-testdata/sysmoUSIM-SJS1.ok M tests/test_utils.py 7 files changed, 26 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py index 7e8e627..4189e6e 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -707,6 +707,8 @@ if 'cdma2000 1xRTT' in in_list: u16 |= 0x0010 # E-UTRAN + if 'E-UTRAN' in in_list: + u16 |= 0x4000 if 'E-UTRAN WB-S1' in in_list: u16 |= 0x6000 if 'E-UTRAN NB-S1' in in_list: diff --git a/pySim/utils.py b/pySim/utils.py index 2253482..e268e42 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -230,7 +230,20 @@ sel = [] for a in act_list: if u16t & (1 << a['bit']): - sel.append(a['name']) + if a['name'] == "E-UTRAN": + # The Access technology identifier of E-UTRAN + # allows a more detailed specification: + if u16t & (1 << 13) and u16t & (1 << 12): + sel.append("E-UTRAN WB-S1") + sel.append("E-UTRAN NB-S1") + elif u16t & (1 << 13): + sel.append("E-UTRAN WB-S1") + elif u16t & (1 << 12): + sel.append("E-UTRAN NB-S1") + else: + sel.append("E-UTRAN") + else: + sel.append(a['name']) return sel def dec_xplmn_w_act(fivehexbytes:Hexstr) -> Dict[str,Any]: diff --git a/pysim-testdata/Fairwaves-SIM.ok b/pysim-testdata/Fairwaves-SIM.ok index c577aa9..eebf965 100644 --- a/pysim-testdata/Fairwaves-SIM.ok +++ b/pysim-testdata/Fairwaves-SIM.ok @@ -31,7 +31,7 @@ ffffff0000 # unused HPLMNAcT: - 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN WB-S1, E-UTRAN NB-S1, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok index c978891..a6bdeaa 100644 --- a/pysim-testdata/Wavemobile-SIM.ok +++ b/pysim-testdata/Wavemobile-SIM.ok @@ -11,7 +11,7 @@ Display OPLMN: False PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: - 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN WB-S1, E-UTRAN NB-S1, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused @@ -29,7 +29,7 @@ ffffff0000 # unused OPLMNwAcT: - 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN WB-S1, E-UTRAN NB-S1, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index c463c3f..8a5d30a 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -11,7 +11,7 @@ Display OPLMN: True PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: - 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN WB-S1, E-UTRAN NB-S1, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused @@ -25,7 +25,7 @@ ffffff0000 # unused OPLMNwAcT: - 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN WB-S1, E-UTRAN NB-S1, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused @@ -39,7 +39,7 @@ ffffff0000 # unused HPLMNAcT: - 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN WB-S1, E-UTRAN NB-S1, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused diff --git a/pysim-testdata/sysmoUSIM-SJS1.ok b/pysim-testdata/sysmoUSIM-SJS1.ok index cd14114..ab15f10 100644 --- a/pysim-testdata/sysmoUSIM-SJS1.ok +++ b/pysim-testdata/sysmoUSIM-SJS1.ok @@ -11,7 +11,7 @@ Display OPLMN: True PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: - 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN WB-S1, E-UTRAN NB-S1, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused @@ -25,7 +25,7 @@ ffffff0000 # unused OPLMNwAcT: - 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN WB-S1, E-UTRAN NB-S1, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused @@ -39,7 +39,7 @@ ffffff0000 # unused HPLMNAcT: - 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN WB-S1, E-UTRAN NB-S1, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused diff --git a/tests/test_utils.py b/tests/test_utils.py index 558b5e7..0fb502c 100755 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -93,7 +93,7 @@ self.assertEqual(utils.dec_act("0010"), ["cdma2000 1xRTT"]) def testDecAct_allSet(self): - self.assertEqual(utils.dec_act("ffff"), ["UTRAN", "E-UTRAN", "GSM", "GSM COMPACT", "cdma2000 HRPD", "cdma2000 1xRTT"]) + self.assertEqual(utils.dec_act("ffff"), ["UTRAN", "E-UTRAN WB-S1", "E-UTRAN NB-S1", "GSM", "GSM COMPACT", "cdma2000 HRPD", "cdma2000 1xRTT"]) def testDecxPlmn_w_act(self): expected = {'mcc': '295', 'mnc': '10', 'act': ["UTRAN"]} -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24004 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibfe8883a05f9ad6988d8e212cb9a598229954296 Gerrit-Change-Number: 24004 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 15:22:13 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 3 May 2021 15:22:13 +0000 Subject: Change in pysim[master]: utils: specify type of parameter name in enc_spn In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24005 ) Change subject: utils: specify type of parameter name in enc_spn ...................................................................... utils: specify type of parameter name in enc_spn Related: OS#4963 Change-Id: I43a1e68afe9e756346bc0cfe8bda4ac665ac6c54 --- M pySim/utils.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, approved diff --git a/pySim/utils.py b/pySim/utils.py index e268e42..c5075ed 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -174,7 +174,7 @@ name = h2s(ef[2:]) return (name, hplmn_disp, oplmn_disp) -def enc_spn(name, hplmn_disp=False, oplmn_disp=False): +def enc_spn(name:str, hplmn_disp=False, oplmn_disp=False): byte1 = 0x00 if hplmn_disp: byte1 = byte1|0x01 if oplmn_disp: byte1 = byte1|0x02 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24005 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I43a1e68afe9e756346bc0cfe8bda4ac665ac6c54 Gerrit-Change-Number: 24005 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 15:24:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 15:24:39 +0000 Subject: Change in osmo-ggsn[master]: cosmetic: gtpie.c: Fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24103 ) Change subject: cosmetic: gtpie.c: Fix trailing whitespace ...................................................................... cosmetic: gtpie.c: Fix trailing whitespace Change-Id: I552e3b5f694e1b49fe5e21fa4023e4a24ffc2784 --- M gtp/gtpie.c 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/03/24103/1 diff --git a/gtp/gtpie.c b/gtp/gtpie.c index fa21ab2..e413d11 100644 --- a/gtp/gtpie.c +++ b/gtp/gtpie.c @@ -1,17 +1,17 @@ -/* +/* * OsmoGGSN - Gateway GPRS Support Node * Copyright (C) 2002 Mondru AB. - * + * * The contents of this file may be used under the terms of the GNU * General Public License Version 2, provided that the above copyright * notice and this permission notice is included in all copies or * substantial portions of the software. - * + * */ /* - * gtpie.c: Contains functions to encapsulate and decapsulate GTP - * information elements + * gtpie.c: Contains functions to encapsulate and decapsulate GTP + * information elements * * * Encapsulation -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I552e3b5f694e1b49fe5e21fa4023e4a24ffc2784 Gerrit-Change-Number: 24103 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 16:17:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 16:17:47 +0000 Subject: Change in osmo-sgsn[master]: Drop unused GBRPOXY enum field References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24104 ) Change subject: Drop unused GBRPOXY enum field ...................................................................... Drop unused GBRPOXY enum field Change-Id: I85dbc65addfbb072a75b6f62fcc4306b7fbb6a91 --- M include/osmocom/sgsn/vty.h 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/04/24104/1 diff --git a/include/osmocom/sgsn/vty.h b/include/osmocom/sgsn/vty.h index d2e3d9a..d74c660 100644 --- a/include/osmocom/sgsn/vty.h +++ b/include/osmocom/sgsn/vty.h @@ -3,7 +3,7 @@ #include enum bsc_vty_node { - GBPROXY_NODE = _LAST_OSMOVTY_NODE + 1, - SGSN_NODE, + SGSN_NODE = _LAST_OSMOVTY_NODE + 1, GTPHUB_NODE, + }; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I85dbc65addfbb072a75b6f62fcc4306b7fbb6a91 Gerrit-Change-Number: 24104 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 16:19:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 May 2021 16:19:31 +0000 Subject: Change in osmo-sgsn[master]: Drop unused GBRPOXY enum field In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24104 ) Change subject: Drop unused GBRPOXY enum field ...................................................................... Drop unused GBRPOXY enum field Change-Id: I85dbc65addfbb072a75b6f62fcc4306b7fbb6a91 --- M include/osmocom/sgsn/vty.h 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/04/24104/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I85dbc65addfbb072a75b6f62fcc4306b7fbb6a91 Gerrit-Change-Number: 24104 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 17:01:39 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 17:01:39 +0000 Subject: Change in gr-gsm[master]: Fix compilation error: '_1' was not declared in this scope References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/gr-gsm/+/24105 ) Change subject: Fix compilation error: '_1' was not declared in this scope ...................................................................... Fix compilation error: '_1' was not declared in this scope Change-Id: I0f1f2df817a65f7d5b72c5280451346a0a011d47 --- M lib/decoding/control_channels_decoder_impl.cc M lib/decoding/tch_f_decoder_impl.cc M lib/decoding/tch_h_decoder_impl.cc M lib/decryption/decryption_impl.cc M lib/demapping/tch_f_chans_demapper_impl.cc M lib/demapping/tch_h_chans_demapper_impl.cc M lib/demapping/universal_ctrl_chans_demapper_impl.cc M lib/flow_control/burst_fnr_filter_impl.cc M lib/flow_control/burst_sdcch_subslot_filter_impl.cc M lib/flow_control/burst_sdcch_subslot_splitter_impl.cc M lib/flow_control/burst_timeslot_filter_impl.cc M lib/flow_control/burst_timeslot_splitter_impl.cc M lib/flow_control/burst_type_filter_impl.cc M lib/flow_control/dummy_burst_filter_impl.cc M lib/flow_control/uplink_downlink_splitter_impl.cc M lib/misc_utils/burst_file_sink_impl.cc M lib/misc_utils/burst_to_fn_time_impl.cc M lib/misc_utils/bursts_printer_impl.cc M lib/misc_utils/collect_system_info_impl.cc M lib/misc_utils/extract_assignment_cmd_impl.cc M lib/misc_utils/extract_cmc_impl.cc M lib/misc_utils/extract_immediate_assignment_impl.cc M lib/misc_utils/extract_system_info_impl.cc M lib/misc_utils/message_file_sink_impl.cc M lib/misc_utils/message_printer_impl.cc M lib/misc_utils/msg_to_tag_impl.cc M lib/misc_utils/tmsi_dumper_impl.cc M lib/qa_utils/burst_sink_impl.cc M lib/qa_utils/message_sink_impl.cc M lib/receiver/clock_offset_control_impl.cc M lib/receiver/cx_channel_hopper_impl.cc M lib/transmitter/gen_test_ab_impl.cc M lib/transmitter/preprocess_tx_burst_impl.cc M lib/transmitter/txtime_setter_impl.cc M lib/trx/trx_burst_if_impl.cc 35 files changed, 38 insertions(+), 38 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/05/24105/1 diff --git a/lib/decoding/control_channels_decoder_impl.cc b/lib/decoding/control_channels_decoder_impl.cc index 81ce161..b49582f 100644 --- a/lib/decoding/control_channels_decoder_impl.cc +++ b/lib/decoding/control_channels_decoder_impl.cc @@ -70,7 +70,7 @@ { //setup input/output ports message_port_register_in(pmt::mp("bursts")); - set_msg_handler(pmt::mp("bursts"), boost::bind(&control_channels_decoder_impl::decode, this, _1)); + set_msg_handler(pmt::mp("bursts"), boost::bind(&control_channels_decoder_impl::decode, this, boost::placeholders::_1)); message_port_register_out(pmt::mp("msgs")); } diff --git a/lib/decoding/tch_f_decoder_impl.cc b/lib/decoding/tch_f_decoder_impl.cc index 02dc45a..03e8fc8 100644 --- a/lib/decoding/tch_f_decoder_impl.cc +++ b/lib/decoding/tch_f_decoder_impl.cc @@ -92,7 +92,7 @@ { //setup input/output ports message_port_register_in(pmt::mp("bursts")); - set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_f_decoder_impl::decode, this, _1)); + set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_f_decoder_impl::decode, this, boost::placeholders::_1)); message_port_register_out(pmt::mp("msgs")); message_port_register_out(pmt::mp("voice")); diff --git a/lib/decoding/tch_h_decoder_impl.cc b/lib/decoding/tch_h_decoder_impl.cc index b6827f7..f1ba5ba 100644 --- a/lib/decoding/tch_h_decoder_impl.cc +++ b/lib/decoding/tch_h_decoder_impl.cc @@ -81,7 +81,7 @@ { //setup input/output ports message_port_register_in(pmt::mp("bursts")); - set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_h_decoder_impl::decode, this, _1)); + set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_h_decoder_impl::decode, this, boost::placeholders::_1)); message_port_register_out(pmt::mp("msgs")); message_port_register_out(pmt::mp("voice")); diff --git a/lib/decryption/decryption_impl.cc b/lib/decryption/decryption_impl.cc index 551afa4..d189596 100644 --- a/lib/decryption/decryption_impl.cc +++ b/lib/decryption/decryption_impl.cc @@ -61,7 +61,7 @@ validate_k_c(); message_port_register_in(pmt::mp("bursts")); - set_msg_handler(pmt::mp("bursts"), boost::bind(&decryption_impl::decrypt, this, _1)); + set_msg_handler(pmt::mp("bursts"), boost::bind(&decryption_impl::decrypt, this, boost::placeholders::_1)); message_port_register_out(pmt::mp("bursts")); } diff --git a/lib/demapping/tch_f_chans_demapper_impl.cc b/lib/demapping/tch_f_chans_demapper_impl.cc index bf1ff8f..ee0c05c 100644 --- a/lib/demapping/tch_f_chans_demapper_impl.cc +++ b/lib/demapping/tch_f_chans_demapper_impl.cc @@ -58,7 +58,7 @@ // } message_port_register_in(pmt::mp("bursts")); - set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_f_chans_demapper_impl::filter_tch_chans, this, _1)); + set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_f_chans_demapper_impl::filter_tch_chans, this, boost::placeholders::_1)); message_port_register_out(pmt::mp("tch_bursts")); message_port_register_out(pmt::mp("acch_bursts")); } diff --git a/lib/demapping/tch_h_chans_demapper_impl.cc b/lib/demapping/tch_h_chans_demapper_impl.cc index 73f49e1..101110c 100644 --- a/lib/demapping/tch_h_chans_demapper_impl.cc +++ b/lib/demapping/tch_h_chans_demapper_impl.cc @@ -57,7 +57,7 @@ //std::cout << "d_tch_type is " << d_tch_type << ", tch_h_channel is " << tch_h_channel << std::endl; message_port_register_in(pmt::mp("bursts")); - set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_h_chans_demapper_impl::filter_tch_chans, this, _1)); + set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_h_chans_demapper_impl::filter_tch_chans, this, boost::placeholders::_1)); message_port_register_out(pmt::mp("tch_bursts")); message_port_register_out(pmt::mp("acch_bursts")); } diff --git a/lib/demapping/universal_ctrl_chans_demapper_impl.cc b/lib/demapping/universal_ctrl_chans_demapper_impl.cc index 94e8648..c78f8b3 100644 --- a/lib/demapping/universal_ctrl_chans_demapper_impl.cc +++ b/lib/demapping/universal_ctrl_chans_demapper_impl.cc @@ -75,7 +75,7 @@ std::copy(uplink_subslots.begin(), uplink_subslots.end(), d_uplink_subslots.begin()); message_port_register_in(pmt::mp("bursts")); - set_msg_handler(pmt::mp("bursts"), boost::bind(&universal_ctrl_chans_demapper_impl::filter_ctrl_chans, this, _1)); + set_msg_handler(pmt::mp("bursts"), boost::bind(&universal_ctrl_chans_demapper_impl::filter_ctrl_chans, this, boost::placeholders::_1)); message_port_register_out(pmt::mp("bursts")); } diff --git a/lib/flow_control/burst_fnr_filter_impl.cc b/lib/flow_control/burst_fnr_filter_impl.cc index 49ddc4c..ae129ee 100644 --- a/lib/flow_control/burst_fnr_filter_impl.cc +++ b/lib/flow_control/burst_fnr_filter_impl.cc @@ -55,7 +55,7 @@ message_port_register_in(pmt::mp("in")); message_port_register_out(pmt::mp("out")); - set_msg_handler(pmt::mp("in"), boost::bind(&burst_fnr_filter_impl::process_burst, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&burst_fnr_filter_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/flow_control/burst_sdcch_subslot_filter_impl.cc b/lib/flow_control/burst_sdcch_subslot_filter_impl.cc index cc72f99..beb3f58 100644 --- a/lib/flow_control/burst_sdcch_subslot_filter_impl.cc +++ b/lib/flow_control/burst_sdcch_subslot_filter_impl.cc @@ -54,7 +54,7 @@ message_port_register_in(pmt::mp("in")); message_port_register_out(pmt::mp("out")); - set_msg_handler(pmt::mp("in"), boost::bind(&burst_sdcch_subslot_filter_impl::process_burst, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&burst_sdcch_subslot_filter_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/flow_control/burst_sdcch_subslot_splitter_impl.cc b/lib/flow_control/burst_sdcch_subslot_splitter_impl.cc index 267f6b4..ff86296 100644 --- a/lib/flow_control/burst_sdcch_subslot_splitter_impl.cc +++ b/lib/flow_control/burst_sdcch_subslot_splitter_impl.cc @@ -63,7 +63,7 @@ message_port_register_out(pmt::mp("out7")); } - set_msg_handler(pmt::mp("in"), boost::bind(&burst_sdcch_subslot_splitter_impl::process_burst, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&burst_sdcch_subslot_splitter_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/flow_control/burst_timeslot_filter_impl.cc b/lib/flow_control/burst_timeslot_filter_impl.cc index 4fcd847..e69c60d 100644 --- a/lib/flow_control/burst_timeslot_filter_impl.cc +++ b/lib/flow_control/burst_timeslot_filter_impl.cc @@ -54,7 +54,7 @@ message_port_register_in(pmt::mp("in")); message_port_register_out(pmt::mp("out")); - set_msg_handler(pmt::mp("in"), boost::bind(&burst_timeslot_filter_impl::process_burst, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&burst_timeslot_filter_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/flow_control/burst_timeslot_splitter_impl.cc b/lib/flow_control/burst_timeslot_splitter_impl.cc index 1f1572c..d0cea4e 100644 --- a/lib/flow_control/burst_timeslot_splitter_impl.cc +++ b/lib/flow_control/burst_timeslot_splitter_impl.cc @@ -60,7 +60,7 @@ message_port_register_out(pmt::mp("out6")); message_port_register_out(pmt::mp("out7")); - set_msg_handler(pmt::mp("in"), boost::bind(&burst_timeslot_splitter_impl::process_burst, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&burst_timeslot_splitter_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/flow_control/burst_type_filter_impl.cc b/lib/flow_control/burst_type_filter_impl.cc index c8bbd7e..113a4a6 100644 --- a/lib/flow_control/burst_type_filter_impl.cc +++ b/lib/flow_control/burst_type_filter_impl.cc @@ -55,7 +55,7 @@ message_port_register_in(pmt::mp("bursts_in")); message_port_register_out(pmt::mp("bursts_out")); - set_msg_handler(pmt::mp("bursts_in"), boost::bind(&burst_type_filter_impl::process_burst, this, _1)); + set_msg_handler(pmt::mp("bursts_in"), boost::bind(&burst_type_filter_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/flow_control/dummy_burst_filter_impl.cc b/lib/flow_control/dummy_burst_filter_impl.cc index 4621187..7e31990 100644 --- a/lib/flow_control/dummy_burst_filter_impl.cc +++ b/lib/flow_control/dummy_burst_filter_impl.cc @@ -66,7 +66,7 @@ message_port_register_in(pmt::mp("in")); message_port_register_out(pmt::mp("out")); - set_msg_handler(pmt::mp("in"), boost::bind(&dummy_burst_filter_impl::process_burst, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&dummy_burst_filter_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/flow_control/uplink_downlink_splitter_impl.cc b/lib/flow_control/uplink_downlink_splitter_impl.cc index de5ae30..424d025 100644 --- a/lib/flow_control/uplink_downlink_splitter_impl.cc +++ b/lib/flow_control/uplink_downlink_splitter_impl.cc @@ -50,7 +50,7 @@ message_port_register_in(pmt::mp("in")); message_port_register_out(pmt::mp("uplink")); message_port_register_out(pmt::mp("downlink")); - set_msg_handler(pmt::mp("in"), boost::bind(&uplink_downlink_splitter_impl::process_msg, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&uplink_downlink_splitter_impl::process_msg, this, boost::placeholders::_1)); } void uplink_downlink_splitter_impl::process_msg(pmt::pmt_t msg) diff --git a/lib/misc_utils/burst_file_sink_impl.cc b/lib/misc_utils/burst_file_sink_impl.cc index 9990d86..ddcd583 100644 --- a/lib/misc_utils/burst_file_sink_impl.cc +++ b/lib/misc_utils/burst_file_sink_impl.cc @@ -48,7 +48,7 @@ d_output_file(filename.c_str(), std::ofstream::binary) { message_port_register_in(pmt::mp("in")); - set_msg_handler(pmt::mp("in"), boost::bind(&burst_file_sink_impl::process_burst, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&burst_file_sink_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/burst_to_fn_time_impl.cc b/lib/misc_utils/burst_to_fn_time_impl.cc index 3e587f0..6f6c1de 100644 --- a/lib/misc_utils/burst_to_fn_time_impl.cc +++ b/lib/misc_utils/burst_to_fn_time_impl.cc @@ -52,7 +52,7 @@ // Bind a port handler set_msg_handler(pmt::mp("bursts_in"), - boost::bind(&burst_to_fn_time_impl::handle_burst, this, _1)); + boost::bind(&burst_to_fn_time_impl::handle_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/bursts_printer_impl.cc b/lib/misc_utils/bursts_printer_impl.cc index ab9c319..fbd9bd3 100644 --- a/lib/misc_utils/bursts_printer_impl.cc +++ b/lib/misc_utils/bursts_printer_impl.cc @@ -155,7 +155,7 @@ d_ignore_dummy_bursts = ignore_dummy_bursts; message_port_register_in(pmt::mp("bursts")); - set_msg_handler(pmt::mp("bursts"), boost::bind(&bursts_printer_impl::bursts_print, this, _1)); + set_msg_handler(pmt::mp("bursts"), boost::bind(&bursts_printer_impl::bursts_print, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/collect_system_info_impl.cc b/lib/misc_utils/collect_system_info_impl.cc index 072734a..6ab982e 100644 --- a/lib/misc_utils/collect_system_info_impl.cc +++ b/lib/misc_utils/collect_system_info_impl.cc @@ -172,7 +172,7 @@ gr::io_signature::make(0, 0, 0)) { message_port_register_in(pmt::mp("msgs")); - set_msg_handler(pmt::mp("msgs"), boost::bind(&collect_system_info_impl::process_messages, this, _1)); + set_msg_handler(pmt::mp("msgs"), boost::bind(&collect_system_info_impl::process_messages, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/extract_assignment_cmd_impl.cc b/lib/misc_utils/extract_assignment_cmd_impl.cc index e4aa319..fe75f21 100644 --- a/lib/misc_utils/extract_assignment_cmd_impl.cc +++ b/lib/misc_utils/extract_assignment_cmd_impl.cc @@ -70,7 +70,7 @@ gr::io_signature::make(0, 0, 0)) { message_port_register_in(pmt::mp("msgs")); - set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_assignment_cmd_impl::process_messages, this, _1)); + set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_assignment_cmd_impl::process_messages, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/extract_cmc_impl.cc b/lib/misc_utils/extract_cmc_impl.cc index 04b0afc..c313b58 100644 --- a/lib/misc_utils/extract_cmc_impl.cc +++ b/lib/misc_utils/extract_cmc_impl.cc @@ -83,7 +83,7 @@ gr::io_signature::make(0, 0, 0)) { message_port_register_in(pmt::mp("msgs")); - set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_cmc_impl::process_messages, this, _1)); + set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_cmc_impl::process_messages, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/extract_immediate_assignment_impl.cc b/lib/misc_utils/extract_immediate_assignment_impl.cc index a6d1658..579fe61 100644 --- a/lib/misc_utils/extract_immediate_assignment_impl.cc +++ b/lib/misc_utils/extract_immediate_assignment_impl.cc @@ -332,7 +332,7 @@ d_ignore_gprs = ignore_gprs; d_unique_references = unique_references; message_port_register_in(pmt::mp("msgs")); - set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_immediate_assignment_impl::process_message, this, _1)); + set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_immediate_assignment_impl::process_message, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/extract_system_info_impl.cc b/lib/misc_utils/extract_system_info_impl.cc index ad7adb8..3fef7d3 100644 --- a/lib/misc_utils/extract_system_info_impl.cc +++ b/lib/misc_utils/extract_system_info_impl.cc @@ -304,9 +304,9 @@ after_reset(false) { message_port_register_in(pmt::mp("bursts")); - set_msg_handler(pmt::mp("bursts"), boost::bind(&extract_system_info_impl::process_bursts, this, _1)); + set_msg_handler(pmt::mp("bursts"), boost::bind(&extract_system_info_impl::process_bursts, this, boost::placeholders::_1)); message_port_register_in(pmt::mp("msgs")); - set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_system_info_impl::process_sysinfo, this, _1)); + set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_system_info_impl::process_sysinfo, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/message_file_sink_impl.cc b/lib/misc_utils/message_file_sink_impl.cc index 7857e6b..3f42d21 100644 --- a/lib/misc_utils/message_file_sink_impl.cc +++ b/lib/misc_utils/message_file_sink_impl.cc @@ -48,7 +48,7 @@ d_output_file(filename.c_str(), std::ofstream::binary) { message_port_register_in(pmt::mp("in")); - set_msg_handler(pmt::mp("in"), boost::bind(&message_file_sink_impl::process_message, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&message_file_sink_impl::process_message, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/message_printer_impl.cc b/lib/misc_utils/message_printer_impl.cc index 8342946..200888a 100644 --- a/lib/misc_utils/message_printer_impl.cc +++ b/lib/misc_utils/message_printer_impl.cc @@ -108,7 +108,7 @@ d_prepend_frame_count = prepend_frame_count; d_print_gsmtap_header = print_gsmtap_header; message_port_register_in(pmt::mp("msgs")); - set_msg_handler(pmt::mp("msgs"), boost::bind(&message_printer_impl::message_print, this, _1)); + set_msg_handler(pmt::mp("msgs"), boost::bind(&message_printer_impl::message_print, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/msg_to_tag_impl.cc b/lib/misc_utils/msg_to_tag_impl.cc index e08c7e6..e145b77 100644 --- a/lib/misc_utils/msg_to_tag_impl.cc +++ b/lib/misc_utils/msg_to_tag_impl.cc @@ -57,7 +57,7 @@ gr::io_signature::make(1, 1, sizeof(gr_complex))) { message_port_register_in(pmt::mp("msg")); - set_msg_handler(pmt::mp("msg"), boost::bind(&msg_to_tag_impl::queue_msg, this, _1)); + set_msg_handler(pmt::mp("msg"), boost::bind(&msg_to_tag_impl::queue_msg, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/tmsi_dumper_impl.cc b/lib/misc_utils/tmsi_dumper_impl.cc index 043d935..3809eee 100644 --- a/lib/misc_utils/tmsi_dumper_impl.cc +++ b/lib/misc_utils/tmsi_dumper_impl.cc @@ -217,7 +217,7 @@ { dump_file.open("tmsicount.txt", std::ios_base::app); message_port_register_in(pmt::mp("msgs")); - set_msg_handler(pmt::mp("msgs"), boost::bind(&tmsi_dumper_impl::dump_tmsi, this, _1)); + set_msg_handler(pmt::mp("msgs"), boost::bind(&tmsi_dumper_impl::dump_tmsi, this, boost::placeholders::_1)); } /* diff --git a/lib/qa_utils/burst_sink_impl.cc b/lib/qa_utils/burst_sink_impl.cc index 5151bf6..f585434 100644 --- a/lib/qa_utils/burst_sink_impl.cc +++ b/lib/qa_utils/burst_sink_impl.cc @@ -51,7 +51,7 @@ d_bursts(pmt::PMT_NIL) { message_port_register_in(pmt::mp("in")); - set_msg_handler(pmt::mp("in"), boost::bind(&burst_sink_impl::process_burst, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&burst_sink_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/qa_utils/message_sink_impl.cc b/lib/qa_utils/message_sink_impl.cc index c16f133..773bd11 100644 --- a/lib/qa_utils/message_sink_impl.cc +++ b/lib/qa_utils/message_sink_impl.cc @@ -48,7 +48,7 @@ gr::io_signature::make(0, 0, 0)) { message_port_register_in(pmt::mp("in")); - set_msg_handler(pmt::mp("in"), boost::bind(&message_sink_impl::process_message, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&message_sink_impl::process_message, this, boost::placeholders::_1)); } /* diff --git a/lib/receiver/clock_offset_control_impl.cc b/lib/receiver/clock_offset_control_impl.cc index d62c801..c733346 100644 --- a/lib/receiver/clock_offset_control_impl.cc +++ b/lib/receiver/clock_offset_control_impl.cc @@ -50,7 +50,7 @@ { message_port_register_in(pmt::mp("measurements")); - set_msg_handler(pmt::mp("measurements"), boost::bind(&clock_offset_control_impl::process_measurement, this, _1)); + set_msg_handler(pmt::mp("measurements"), boost::bind(&clock_offset_control_impl::process_measurement, this, boost::placeholders::_1)); message_port_register_out(pmt::mp("ctrl")); set_fc(fc); diff --git a/lib/receiver/cx_channel_hopper_impl.cc b/lib/receiver/cx_channel_hopper_impl.cc index e5be27a..4d19818 100644 --- a/lib/receiver/cx_channel_hopper_impl.cc +++ b/lib/receiver/cx_channel_hopper_impl.cc @@ -71,7 +71,7 @@ } message_port_register_in(pmt::mp("CX")); - set_msg_handler(pmt::mp("CX"), boost::bind(&cx_channel_hopper_impl::assemble_bursts, this, _1)); + set_msg_handler(pmt::mp("CX"), boost::bind(&cx_channel_hopper_impl::assemble_bursts, this, boost::placeholders::_1)); message_port_register_out(pmt::mp("bursts")); } diff --git a/lib/transmitter/gen_test_ab_impl.cc b/lib/transmitter/gen_test_ab_impl.cc index 1ce3658..dc0fba7 100644 --- a/lib/transmitter/gen_test_ab_impl.cc +++ b/lib/transmitter/gen_test_ab_impl.cc @@ -62,7 +62,7 @@ message_port_register_in(pmt::intern("bursts_in")); message_port_register_out(pmt::intern("bursts_out")); - set_msg_handler(pmt::intern("bursts_in"), boost::bind(&gen_test_ab_impl::generate_ab, this, _1)); + set_msg_handler(pmt::intern("bursts_in"), boost::bind(&gen_test_ab_impl::generate_ab, this, boost::placeholders::_1)); } /* diff --git a/lib/transmitter/preprocess_tx_burst_impl.cc b/lib/transmitter/preprocess_tx_burst_impl.cc index 5fbac98..2023ee6 100644 --- a/lib/transmitter/preprocess_tx_burst_impl.cc +++ b/lib/transmitter/preprocess_tx_burst_impl.cc @@ -55,7 +55,7 @@ message_port_register_out(pmt::mp("bursts_out")); set_msg_handler(pmt::mp("bursts_in"), - boost::bind(&preprocess_tx_burst_impl::process_burst, this, _1)); + boost::bind(&preprocess_tx_burst_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/transmitter/txtime_setter_impl.cc b/lib/transmitter/txtime_setter_impl.cc index fecc498..8e6b3cf 100644 --- a/lib/transmitter/txtime_setter_impl.cc +++ b/lib/transmitter/txtime_setter_impl.cc @@ -76,10 +76,10 @@ // Bind message handlers set_msg_handler(pmt::mp("fn_time"), boost::bind(&txtime_setter_impl::process_fn_time_reference, - this, _1)); + this, boost::placeholders::_1)); set_msg_handler(pmt::mp("bursts_in"), boost::bind(&txtime_setter_impl::process_txtime_of_burst, - this, _1)); + this, boost::placeholders::_1)); } /* diff --git a/lib/trx/trx_burst_if_impl.cc b/lib/trx/trx_burst_if_impl.cc index fed84a7..70d7d32 100644 --- a/lib/trx/trx_burst_if_impl.cc +++ b/lib/trx/trx_burst_if_impl.cc @@ -76,7 +76,7 @@ // Bind a port handler set_msg_handler(pmt::mp("bursts"), - boost::bind(&trx_burst_if_impl::handle_dl_burst, this, _1)); + boost::bind(&trx_burst_if_impl::handle_dl_burst, this, boost::placeholders::_1)); // Prepare port numbers std::string data_src_port = boost::lexical_cast (base_port + 2); @@ -88,7 +88,7 @@ // Bind DATA interface handler d_data_sock->udp_rx_handler = boost::bind( - &trx_burst_if_impl::handle_ul_burst, this, _1, _2); + &trx_burst_if_impl::handle_ul_burst, this, boost::placeholders::_1, boost::placeholders::_2); } /* -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24105 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I0f1f2df817a65f7d5b72c5280451346a0a011d47 Gerrit-Change-Number: 24105 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 17:21:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 17:21:51 +0000 Subject: Change in pysim[master]: utils: Introduce DataObject representation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24035 ) Change subject: utils: Introduce DataObject representation ...................................................................... Patch Set 3: (3 comments) https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 869 PS2, Line 869: DataObject To be fair I also find this part of the documentation extremely confusing :) I would recommend to read this: https://pymotw.com/3/abc/. Sorter and easier to understand. > Your recent examples look super simlpe in terms of what they do to the code, but I somehow am not certain enough that we're using it like it's documented. Well, this approach works for me (tm): if you forget to define an abstract method in a child class or define it with a wrong name, you immediately see this error at module load time, rather than a week later at run-time. https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 985 PS2, Line 985: members=[] > Ah yes, I read about this some time ago, but forgot it. [?] The only way seems to be: def __init__(self, name, desc = None, members=None): and then: self.members = members if members else [] or even simpler: self.members = members or [] https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 991 PS2, Line 991: for m in self.members: > but how would I select the m.tag / m.name here? [?] Ah, sorry for confusing code snippet in my previous comment. Your snippet should work fine. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iac18e7665481c9323cc7d22a3cd93e3da7869deb Gerrit-Change-Number: 24035 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 03 May 2021 17:21:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 17:47:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 17:47:25 +0000 Subject: Change in pysim[master]: utils: Introduce CommandSet abstraction In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24036 ) Change subject: utils: Introduce CommandSet abstraction ...................................................................... Patch Set 3: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/pysim/+/24036/3/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/24036/3/pySim/utils.py at 1171 PS3, Line 1171: cla_list It's implicitly defined as Optional above (default value is None), but you're referencing it unconditionally here? https://gerrit.osmocom.org/c/pysim/+/24036/3/pySim/utils.py at 1201 PS3, Line 1201: self.cmds = {} Cosmetic (I am ok with the current approach too): self.cmds = { c.ins : c for c in cmds } -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I314ff15186dc05778ea12363cac0a310b6c7713c Gerrit-Change-Number: 24036 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 03 May 2021 17:47:25 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 17:54:14 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 17:54:14 +0000 Subject: Change in pysim[master]: Implement EF.ARR (Access Rule Reference) decoding In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24037 ) Change subject: Implement EF.ARR (Access Rule Reference) decoding ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/24037/4/README.md File README.md: https://gerrit.osmocom.org/c/pysim/+/24037/4/README.md at 35 PS4, Line 35: pysim requires: BTW, now pySim also _requires_ cmd2. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If4f0725a849d41fd93de327ed00996d8179f2b0e Gerrit-Change-Number: 24037 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 03 May 2021 17:54:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 17:54:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 17:54:51 +0000 Subject: Change in pysim[master]: ts_31_103: Use EF_ARR decoder from TS 102 221 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24038 ) Change subject: ts_31_103: Use EF_ARR decoder from TS 102 221 ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24038 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iaab9f038544b5914405568b072731d3847c9d017 Gerrit-Change-Number: 24038 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 03 May 2021 17:54:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 18:07:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 18:07:26 +0000 Subject: Change in pysim[master]: BER-TLV EF support (command, filesystem, shell) In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24102 ) Change subject: BER-TLV EF support (command, filesystem, shell) ...................................................................... Patch Set 1: Code-Review-1 (5 comments) You don't really need 'struct' module. Let's just use to_bytes(). https://gerrit.osmocom.org/c/pysim/+/24102/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/24102/1/pySim/utils.py at 96 PS1, Line 96: (dict, bytes) Tuple[dict, bytes] https://gerrit.osmocom.org/c/pysim/+/24102/1/pySim/utils.py at 119 PS1, Line 119: (int, bytes) Tuple[int, bytes] https://gerrit.osmocom.org/c/pysim/+/24102/1/pySim/utils.py at 145 PS1, Line 145: if length < 0x80: Looks like both cases: length < 0x80 and length <= 0xff can be handled in one statement: if length <= 0xff: return length.to_bytes(1, 'big') https://gerrit.osmocom.org/c/pysim/+/24102/1/pySim/utils.py at 150 PS1, Line 150: struct.pack('!H', length) length.to_bytes(2, 'big') https://gerrit.osmocom.org/c/pysim/+/24102/1/pySim/utils.py at 152 PS1, Line 152: struct.pack('!L', length) length.to_bytes(4, 'big') -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24102 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibfcce757dcd477fd0d6857f64fbb4346d6d62e63 Gerrit-Change-Number: 24102 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 03 May 2021 18:07:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 18:22:07 2021 From: gerrit-no-reply at lists.osmocom.org (vvvelichkov) Date: Mon, 3 May 2021 18:22:07 +0000 Subject: Change in gr-gsm[master]: Fix compilation error: '_1' was not declared in this scope In-Reply-To: References: Message-ID: vvvelichkov has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24105 ) Change subject: Fix compilation error: '_1' was not declared in this scope ...................................................................... Patch Set 1: I would remove #include in udp_socket.h to fix the following warning. Other than that LGTM. ``` In file included from /usr/include/boost/bind.hpp:30, from /home/vasko/sources/gr-gsm/gr-gsm/lib/../include/grgsm/misc_utils/udp_socket.h:31, from /home/vasko/sources/gr-gsm/gr-gsm/lib/misc_utils/udp_socket.cc:33: /usr/include/boost/bind.hpp:36:1: note: ?#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.? 36 | BOOST_PRAGMA_MESSAGE( | ^~~~~~~~~~~~~~~~~~~~ ``` -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24105 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I0f1f2df817a65f7d5b72c5280451346a0a011d47 Gerrit-Change-Number: 24105 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 18:22:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 18:34:18 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 18:34:18 +0000 Subject: Change in gr-gsm[master]: Fix compilation error: '_1' was not declared in this scope In-Reply-To: References: Message-ID: Hello Hoernchen, vvvelichkov, ptrkrysik, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/gr-gsm/+/24105 to look at the new patch set (#2). Change subject: Fix compilation error: '_1' was not declared in this scope ...................................................................... Fix compilation error: '_1' was not declared in this scope Change-Id: I0f1f2df817a65f7d5b72c5280451346a0a011d47 --- M include/grgsm/misc_utils/udp_socket.h M lib/decoding/control_channels_decoder_impl.cc M lib/decoding/tch_f_decoder_impl.cc M lib/decoding/tch_h_decoder_impl.cc M lib/decryption/decryption_impl.cc M lib/demapping/tch_f_chans_demapper_impl.cc M lib/demapping/tch_h_chans_demapper_impl.cc M lib/demapping/universal_ctrl_chans_demapper_impl.cc M lib/flow_control/burst_fnr_filter_impl.cc M lib/flow_control/burst_sdcch_subslot_filter_impl.cc M lib/flow_control/burst_sdcch_subslot_splitter_impl.cc M lib/flow_control/burst_timeslot_filter_impl.cc M lib/flow_control/burst_timeslot_splitter_impl.cc M lib/flow_control/burst_type_filter_impl.cc M lib/flow_control/dummy_burst_filter_impl.cc M lib/flow_control/uplink_downlink_splitter_impl.cc M lib/misc_utils/burst_file_sink_impl.cc M lib/misc_utils/burst_to_fn_time_impl.cc M lib/misc_utils/bursts_printer_impl.cc M lib/misc_utils/collect_system_info_impl.cc M lib/misc_utils/extract_assignment_cmd_impl.cc M lib/misc_utils/extract_cmc_impl.cc M lib/misc_utils/extract_immediate_assignment_impl.cc M lib/misc_utils/extract_system_info_impl.cc M lib/misc_utils/message_file_sink_impl.cc M lib/misc_utils/message_printer_impl.cc M lib/misc_utils/msg_to_tag_impl.cc M lib/misc_utils/tmsi_dumper_impl.cc M lib/qa_utils/burst_sink_impl.cc M lib/qa_utils/message_sink_impl.cc M lib/receiver/clock_offset_control_impl.cc M lib/receiver/cx_channel_hopper_impl.cc M lib/transmitter/gen_test_ab_impl.cc M lib/transmitter/preprocess_tx_burst_impl.cc M lib/transmitter/txtime_setter_impl.cc M lib/trx/trx_burst_if_impl.cc 36 files changed, 38 insertions(+), 39 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/05/24105/2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24105 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I0f1f2df817a65f7d5b72c5280451346a0a011d47 Gerrit-Change-Number: 24105 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 18:39:17 2021 From: gerrit-no-reply at lists.osmocom.org (vvvelichkov) Date: Mon, 3 May 2021 18:39:17 +0000 Subject: Change in gr-gsm[master]: Fix compilation error: '_1' was not declared in this scope In-Reply-To: References: Message-ID: vvvelichkov has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24105 ) Change subject: Fix compilation error: '_1' was not declared in this scope ...................................................................... Patch Set 2: +1 LGTM (don't have permissions to set the Code-Review flag) -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24105 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I0f1f2df817a65f7d5b72c5280451346a0a011d47 Gerrit-Change-Number: 24105 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Mon, 03 May 2021 18:39:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 18:45:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 18:45:32 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: update entries in enum Modulation In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/24016 to look at the new patch set (#2). Change subject: trx_toolkit/data_msg.py: update entries in enum Modulation ...................................................................... trx_toolkit/data_msg.py: update entries in enum Modulation Change-Id: Ia96b263bbb162b6c40f2cf81616118cc297299a5 Related: OS#4006, SYS#4895 --- M src/target/trx_toolkit/data_msg.py 1 file changed, 7 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/16/24016/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24016 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia96b263bbb162b6c40f2cf81616118cc297299a5 Gerrit-Change-Number: 24016 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 18:45:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 18:45:33 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/fake_trx.py: use raw string notation for regex References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24106 ) Change subject: trx_toolkit/fake_trx.py: use raw string notation for regex ...................................................................... trx_toolkit/fake_trx.py: use raw string notation for regex This way there is no need to escape backslashes in regex. Change-Id: I1b2b6675851275bd5285ffc287410535b22055ae --- M src/target/trx_toolkit/fake_trx.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/06/24106/1 diff --git a/src/target/trx_toolkit/fake_trx.py b/src/target/trx_toolkit/fake_trx.py index 6f46473..88417f7 100755 --- a/src/target/trx_toolkit/fake_trx.py +++ b/src/target/trx_toolkit/fake_trx.py @@ -483,7 +483,7 @@ @staticmethod def trx_def(val): try: - result = re.match("(.+@)?(.+):([0-9]+)(\/[0-9]+)?", val) + result = re.match(r"(.+@)?(.+):([0-9]+)(/[0-9]+)?", val) (name, addr, port, idx) = result.groups() except: raise argparse.ArgumentTypeError("Invalid TRX definition: %s" % val) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24106 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1b2b6675851275bd5285ffc287410535b22055ae Gerrit-Change-Number: 24106 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 18:45:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 18:45:33 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/ctrl_if_trx.py: fix undefined variable 'trx' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24107 ) Change subject: trx_toolkit/ctrl_if_trx.py: fix undefined variable 'trx' ...................................................................... trx_toolkit/ctrl_if_trx.py: fix undefined variable 'trx' Change-Id: I5c06fa5183b4d04cbc0c68327a062b320477344c --- M src/target/trx_toolkit/ctrl_if_trx.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/07/24107/1 diff --git a/src/target/trx_toolkit/ctrl_if_trx.py b/src/target/trx_toolkit/ctrl_if_trx.py index ea08e7e..22d4b4e 100644 --- a/src/target/trx_toolkit/ctrl_if_trx.py +++ b/src/target/trx_toolkit/ctrl_if_trx.py @@ -210,7 +210,7 @@ self.trx.enable_fh(hsn, maio, ma) return 0 except: - log.error("(%s) Failed to configure frequency hopping" % trx) + log.error("(%s) Failed to configure frequency hopping" % self.trx) return -1 # TRXD header version negotiation -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24107 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I5c06fa5183b4d04cbc0c68327a062b320477344c Gerrit-Change-Number: 24107 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 18:45:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 18:45:33 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/test_codec.py: add missing sub-test with key=0x88 References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24108 ) Change subject: trx_toolkit/test_codec.py: add missing sub-test with key=0x88 ...................................................................... trx_toolkit/test_codec.py: add missing sub-test with key=0x88 Change-Id: If8e2ebedc48fecc4c54c71e40cadb0f3273602c5 --- M src/target/trx_toolkit/test_codec.py 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/08/24108/1 diff --git a/src/target/trx_toolkit/test_codec.py b/src/target/trx_toolkit/test_codec.py index e0649d8..ca2f773 100644 --- a/src/target/trx_toolkit/test_codec.py +++ b/src/target/trx_toolkit/test_codec.py @@ -54,6 +54,10 @@ field = TestField('magic') self.assertEqual(field.to_bytes(vals), encoded_de) + with self.subTest('default length=4, different key=0x88'): + field = TestField('magic', key=0x88) + self.assertEqual(field.to_bytes(vals), encoded_88) + with self.subTest('different length=2, default key=0xde'): field = TestField('magic', len=2) vals['magic'] = vals['magic'][:2] -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: If8e2ebedc48fecc4c54c71e40cadb0f3273602c5 Gerrit-Change-Number: 24108 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 19:14:41 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 3 May 2021 19:14:41 +0000 Subject: Change in pysim[master]: utils: split string formatting from dec_addr_tlv In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24010 to look at the new patch set (#6). Change subject: utils: split string formatting from dec_addr_tlv ...................................................................... utils: split string formatting from dec_addr_tlv The function dec_addr_tlv() takes an encoded FQDN or IPv4 address and fromats it into a human readable string that contains the human readable form and the encoded hex form. Unfortunately this limits the usecase of dec_addr_tlv. Lets split the string generation into a separate function so that we can use dec_addr_tlv universally Change-Id: Id017b0786089adac4d6c5be688742eaa9699e529 Related: OS#4963 --- M pySim/cards.py M pySim/utils.py 2 files changed, 36 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/10/24010/6 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id017b0786089adac4d6c5be688742eaa9699e529 Gerrit-Change-Number: 24010 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 19:31:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 19:31:54 +0000 Subject: Change in libosmo-sccp[master]: ss7_vty: Print actual connected port number in case of IPA server In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/23991 ) Change subject: ss7_vty: Print actual connected port number in case of IPA server ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/23991 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I1327a46d0b74c572d2ad828a958090af53b9fa37 Gerrit-Change-Number: 23991 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 03 May 2021 19:31:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 19:31:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 19:31:56 +0000 Subject: Change in libosmo-sccp[master]: ss7_vty: Print actual connected port number in case of IPA server In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/23991 ) Change subject: ss7_vty: Print actual connected port number in case of IPA server ...................................................................... ss7_vty: Print actual connected port number in case of IPA server In IPA, unlike M3UA/SUA, we often have clients connecting from random/unknown ports. In such cases, the configured remote port is '0'. Let's use getsockname to determine the actual source ip/port of the connected client (if any) during "show ... asp" Change-Id: I1327a46d0b74c572d2ad828a958090af53b9fa37 Closes: SYS#5429 --- M src/osmo_ss7_vty.c 1 file changed, 11 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index b3aa9ef..4db3c53 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -37,6 +37,8 @@ #include #include +#include + #include #include @@ -765,7 +767,15 @@ vty_out(vty, "------------ ------------ ------------- ---- ----------------------- ----------%s", VTY_NEWLINE); llist_for_each_entry(asp, &inst->asp_list, list) { - osmo_ss7_asp_peer_snprintf(buf, sizeof(buf), &asp->cfg.remote); + if (asp->cfg.proto == OSMO_SS7_ASP_PROT_IPA && asp->cfg.remote.port == 0 && asp->server) { + struct osmo_fd *ofd = osmo_stream_srv_get_ofd(asp->server); + char hostbuf[64]; + char portbuf[16]; + osmo_sock_get_ip_and_port(ofd->fd, hostbuf, sizeof(hostbuf), + portbuf, sizeof(portbuf), false); + snprintf(buf, sizeof(buf), "%s:%s", hostbuf, portbuf); + } else + osmo_ss7_asp_peer_snprintf(buf, sizeof(buf), &asp->cfg.remote); vty_out(vty, "%-12s %-12s %-13s %-4s %-14s %-10s%s", asp->cfg.name, "?", asp->fi? osmo_fsm_inst_state_name(asp->fi) : "uninitialized", -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/23991 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I1327a46d0b74c572d2ad828a958090af53b9fa37 Gerrit-Change-Number: 23991 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 19:49:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 19:49:50 +0000 Subject: Change in pysim[master]: utils: Introduce DataObject representation In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24035 to look at the new patch set (#4). Change subject: utils: Introduce DataObject representation ...................................................................... utils: Introduce DataObject representation Represents DataObject (DO) in the sense of ISO 7816-4. Contrary to 'normal' TLVs where one simply has any number of different TLVs that may occur in any order at any point, ISO 7816 has the habit of specifying TLV data but with very specific ordering, or specific choices of tags at specific points in a stream. This is represented by DataObjectChoice, DataObjectCollection and DataObjectSequence classes. Change-Id: Iac18e7665481c9323cc7d22a3cd93e3da7869deb --- M pySim/utils.py 1 file changed, 305 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/35/24035/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iac18e7665481c9323cc7d22a3cd93e3da7869deb Gerrit-Change-Number: 24035 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 19:49:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 19:49:50 +0000 Subject: Change in pysim[master]: utils: Introduce CommandSet abstraction In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24036 to look at the new patch set (#4). Change subject: utils: Introduce CommandSet abstraction ...................................................................... utils: Introduce CommandSet abstraction This will allow us to match INS -> name and add more related bits in the future (e.g. for decoding APDU traces) Change-Id: I314ff15186dc05778ea12363cac0a310b6c7713c --- M pySim/utils.py 1 file changed, 67 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/36/24036/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I314ff15186dc05778ea12363cac0a310b6c7713c Gerrit-Change-Number: 24036 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 19:49:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 19:49:56 +0000 Subject: Change in pysim[master]: utils: Introduce CommandSet abstraction In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24036 ) Change subject: utils: Introduce CommandSet abstraction ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/pysim/+/24036/3/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/24036/3/pySim/utils.py at 1171 PS3, Line 1171: cla_list > It's implicitly defined as Optional above (default value is None), but you're referencing it uncondi [?] Done https://gerrit.osmocom.org/c/pysim/+/24036/3/pySim/utils.py at 1201 PS3, Line 1201: self.cmds = {} > Cosmetic (I am ok with the current approach too): [?] Done -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I314ff15186dc05778ea12363cac0a310b6c7713c Gerrit-Change-Number: 24036 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 03 May 2021 19:49:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 19:50:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 19:50:00 +0000 Subject: Change in pysim[master]: utils: Introduce DataObject representation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24035 ) Change subject: utils: Introduce DataObject representation ...................................................................... Patch Set 4: (6 comments) https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 869 PS2, Line 869: DataObject > To be fair I also find this part of the documentation extremely confusing :) I would recommend to re [?] Done https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 917 PS2, Line 917: raise TypeError("The derived classes must defined a from_value() method") > Let's please use @abc.abstractmethod for that. Done https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 921 PS2, Line 921: raise TypeError("The derived classes must defined a to_value() method") > Let's please use @abc.abstractmethod for that. Done https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 991 PS2, Line 991: for m in self.members: > Ah, sorry for confusing code snippet in my previous comment. Your snippet should work fine. Done https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 1097 PS2, Line 1097: desc > Unused? Done https://gerrit.osmocom.org/c/pysim/+/24035/2/pySim/utils.py at 1097 PS2, Line 1097: sequence=[]) > Same here. Done -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iac18e7665481c9323cc7d22a3cd93e3da7869deb Gerrit-Change-Number: 24035 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 03 May 2021 19:50:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 19:50:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 19:50:48 +0000 Subject: Change in pysim[master]: Implement EF.ARR (Access Rule Reference) decoding In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24037 ) Change subject: Implement EF.ARR (Access Rule Reference) decoding ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/pysim/+/24037/4/README.md File README.md: https://gerrit.osmocom.org/c/pysim/+/24037/4/README.md at 35 PS4, Line 35: pysim requires: > BTW, now pySim also _requires_ cmd2. yes, that's why cmd2 is listed four lines below. Unrelated to my patch... -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If4f0725a849d41fd93de327ed00996d8179f2b0e Gerrit-Change-Number: 24037 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 03 May 2021 19:50:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 19:52:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 19:52:34 +0000 Subject: Change in pysim[master]: BER-TLV EF support (command, filesystem, shell) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24102 ) Change subject: BER-TLV EF support (command, filesystem, shell) ...................................................................... Patch Set 1: Code-Review-1 (5 comments) https://gerrit.osmocom.org/c/pysim/+/24102/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/24102/1/pySim/utils.py at 96 PS1, Line 96: (dict, bytes) > Tuple[dict, bytes] Done https://gerrit.osmocom.org/c/pysim/+/24102/1/pySim/utils.py at 119 PS1, Line 119: (int, bytes) > Tuple[int, bytes] Done https://gerrit.osmocom.org/c/pysim/+/24102/1/pySim/utils.py at 145 PS1, Line 145: if length < 0x80: > Looks like both cases: [?] actually that's a bug. Length values >= 128 must be encoded as two bytes already. I'll fix it. https://gerrit.osmocom.org/c/pysim/+/24102/1/pySim/utils.py at 150 PS1, Line 150: struct.pack('!H', length) > length. [?] Ack https://gerrit.osmocom.org/c/pysim/+/24102/1/pySim/utils.py at 152 PS1, Line 152: struct.pack('!L', length) > length. [?] Ack -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24102 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibfcce757dcd477fd0d6857f64fbb4346d6d62e63 Gerrit-Change-Number: 24102 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 03 May 2021 19:52:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 19:55:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 19:55:54 +0000 Subject: Change in pysim[master]: BER-TLV EF support (command, filesystem, shell) In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24102 to look at the new patch set (#2). Change subject: BER-TLV EF support (command, filesystem, shell) ...................................................................... BER-TLV EF support (command, filesystem, shell) This adds support for a new EF file type: BER-TLV files. They are different from transparent and linear fixed EFs in that they neither operate on a byte stream nor fixed-sized records, but on BER-TLV encoded objects. One can specify a tag value, and the card will return the entire TLV for that tag. As indicated in the spec, the magic tag value 0x5C (92) will return a list of tags existing in the file. Change-Id: Ibfcce757dcd477fd0d6857f64fbb4346d6d62e63 --- M docs/shell.rst M pySim-shell.py M pySim/commands.py M pySim/filesystem.py M pySim/ts_102_221.py M pySim/utils.py 6 files changed, 301 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/02/24102/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24102 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibfcce757dcd477fd0d6857f64fbb4346d6d62e63 Gerrit-Change-Number: 24102 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 21:26:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 21:26:36 +0000 Subject: Change in pysim[master]: shell: Add 'reset' command to reset the card References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24109 ) Change subject: shell: Add 'reset' command to reset the card ...................................................................... shell: Add 'reset' command to reset the card At some points during an interactive session or a script one may want to reset the card. Change-Id: I992eb3e0ed52f7941a5fb44f28a42e22ebd49301 --- M docs/shell.rst M pySim-shell.py M pySim/filesystem.py 3 files changed, 24 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/09/24109/1 diff --git a/docs/shell.rst b/docs/shell.rst index 5170999..08fd376 100644 --- a/docs/shell.rst +++ b/docs/shell.rst @@ -193,6 +193,12 @@ FIXME +reset +~~~~~ + +Perform card reset and display the card ATR. + + Linear Fixed EF commands ------------------------ diff --git a/pySim-shell.py b/pySim-shell.py index 5b5768a..bbfe7e9 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -313,6 +313,12 @@ elif context['DF_SKIP']: raise RuntimeError("unable to export %i dedicated files(s)" % context['ERR']) + def do_reset(self, opts): + """Reset the Card.""" + atr = self._cmd.rs.reset(self._cmd) + self._cmd.poutput('Card ATR: %s' % atr) + self._cmd.update_prompt() + @with_default_category('ISO7816 Commands') class Iso7816Commands(CommandSet): diff --git a/pySim/filesystem.py b/pySim/filesystem.py index b3e28ef..780da26 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -34,7 +34,7 @@ from typing import cast, Optional, Iterable, List, Any, Dict, Tuple -from pySim.utils import sw_match, h2b, b2h, is_hex, auto_int, bertlv_parse_one +from pySim.utils import sw_match, h2b, b2h, i2h, is_hex, auto_int, bertlv_parse_one, Hexstr from pySim.construct import filter_dict from pySim.exceptions import * from pySim.jsonpath import js_path_find, js_path_modify @@ -1020,6 +1020,17 @@ print("error: could not determine card applications") return apps_taken + def reset(self, cmd_app=None) -> Hexstr: + """Perform physical card reset and obtain ATR. + Args: + cmd_app : Command Application State (for unregistering old file commands) + """ + self.card._scc._tp.reset_card() + atr = i2h(self.card._scc._tp.get_atr()) + # select MF to reset internal state and to verify card really works + self.select('MF', cmd_app) + return atr + def get_cwd(self) -> CardDF: """Obtain the current working directory. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I992eb3e0ed52f7941a5fb44f28a42e22ebd49301 Gerrit-Change-Number: 24109 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 21:26:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 21:26:36 +0000 Subject: Change in pysim[master]: transport: Mark more methods as abstractmethod References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24110 ) Change subject: transport: Mark more methods as abstractmethod ...................................................................... transport: Mark more methods as abstractmethod Change-Id: Ied3dbd07fdd0d3fa9bbe2dd7dd674700cf13bf63 --- M pySim/transport/__init__.py 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/10/24110/1 diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py index 05edc98..5311d8f 100644 --- a/pySim/transport/__init__.py +++ b/pySim/transport/__init__.py @@ -52,6 +52,7 @@ """Set an (optional) status word interpreter.""" self.sw_interpreter = interp + @abc.abstractmethod def wait_for_card(self, timeout:int=None, newcardonly:bool=False): """Wait for a card and connect to it @@ -59,22 +60,21 @@ timeout : Maximum wait time in seconds (None=no timeout) newcardonly : Should we wait for a new card, or an already inserted one ? """ - pass + @abc.abstractmethod def connect(self): """Connect to a card immediately """ - pass + @abc.abstractmethod def disconnect(self): """Disconnect from card """ - pass + @abc.abstractmethod def reset_card(self): """Resets the card (power down/up) """ - pass def send_apdu_raw(self, pdu:str): """Sends an APDU with minimal processing -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ied3dbd07fdd0d3fa9bbe2dd7dd674700cf13bf63 Gerrit-Change-Number: 24110 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 21:30:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 May 2021 21:30:49 +0000 Subject: Change in pysim[master]: docs/shell.rst: Document verify_adm and tree commands References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24111 ) Change subject: docs/shell.rst: Document verify_adm and tree commands ...................................................................... docs/shell.rst: Document verify_adm and tree commands Change-Id: I8afd061bc7b93a5488dd1fc135a73b9d7c75e0bb --- M docs/shell.rst 1 file changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/11/24111/1 diff --git a/docs/shell.rst b/docs/shell.rst index 08fd376..5bc86ae 100644 --- a/docs/shell.rst +++ b/docs/shell.rst @@ -185,12 +185,19 @@ tree ~~~~ -FIXME + +Display a tree of the card filesystem. It is important to note that this displays a tree +of files that might potentially exist (based on the card profile). In order to determine if +a given file really exists on a given card, you have to try to select that file. verify_adm ~~~~~~~~~~ -FIXME + +Verify the ADM (Administrator) PIN specified as argument. This is typically needed in order +to get write/update permissions to most of the files on SIM cards. + +Currently only ADM1 is supported. reset -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24111 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8afd061bc7b93a5488dd1fc135a73b9d7c75e0bb Gerrit-Change-Number: 24111 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 23:47:22 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 23:47:22 +0000 Subject: Change in pysim[master]: utils: Introduce DataObject representation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24035 ) Change subject: utils: Introduce DataObject representation ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iac18e7665481c9323cc7d22a3cd93e3da7869deb Gerrit-Change-Number: 24035 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 03 May 2021 23:47:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 23:49:22 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 23:49:22 +0000 Subject: Change in pysim[master]: utils: Introduce CommandSet abstraction In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24036 ) Change subject: utils: Introduce CommandSet abstraction ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/24036/4/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/24036/4/pySim/utils.py at 1256 PS4, Line 1256: self.cmds = {} This line can be dropped now. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I314ff15186dc05778ea12363cac0a310b6c7713c Gerrit-Change-Number: 24036 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 03 May 2021 23:49:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 23:50:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 23:50:25 +0000 Subject: Change in pysim[master]: Implement EF.ARR (Access Rule Reference) decoding In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24037 ) Change subject: Implement EF.ARR (Access Rule Reference) decoding ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/pysim/+/24037/4/README.md File README.md: https://gerrit.osmocom.org/c/pysim/+/24037/4/README.md at 35 PS4, Line 35: pysim requires: > yes, that's why cmd2 is listed four lines below. Unrelated to my patch... Sorry, somehow I didn't notice it :/ Nevermind. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If4f0725a849d41fd93de327ed00996d8179f2b0e Gerrit-Change-Number: 24037 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 03 May 2021 23:50:25 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 23:52:55 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 23:52:55 +0000 Subject: Change in pysim[master]: BER-TLV EF support (command, filesystem, shell) In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24102 ) Change subject: BER-TLV EF support (command, filesystem, shell) ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24102 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibfcce757dcd477fd0d6857f64fbb4346d6d62e63 Gerrit-Change-Number: 24102 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 03 May 2021 23:52:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 23:53:54 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 23:53:54 +0000 Subject: Change in pysim[master]: shell: Add 'reset' command to reset the card In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24109 ) Change subject: shell: Add 'reset' command to reset the card ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I992eb3e0ed52f7941a5fb44f28a42e22ebd49301 Gerrit-Change-Number: 24109 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 03 May 2021 23:53:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 23:54:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 23:54:08 +0000 Subject: Change in pysim[master]: transport: Mark more methods as abstractmethod In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24110 ) Change subject: transport: Mark more methods as abstractmethod ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ied3dbd07fdd0d3fa9bbe2dd7dd674700cf13bf63 Gerrit-Change-Number: 24110 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 03 May 2021 23:54:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 3 23:54:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 May 2021 23:54:48 +0000 Subject: Change in pysim[master]: docs/shell.rst: Document verify_adm and tree commands In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24111 ) Change subject: docs/shell.rst: Document verify_adm and tree commands ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24111 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8afd061bc7b93a5488dd1fc135a73b9d7c75e0bb Gerrit-Change-Number: 24111 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 03 May 2021 23:54:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 07:38:07 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 07:38:07 +0000 Subject: Change in docker-playground[master]: centos8-build: use nightly URL to invalidate cache References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24112 ) Change subject: centos8-build: use nightly URL to invalidate cache ...................................................................... centos8-build: use nightly URL to invalidate cache Fix copy paste mistake. Change-Id: I1c5cfe782207af2a2e505fa30e77b9ea9fd143c5 --- M centos8-build/Dockerfile 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/12/24112/1 diff --git a/centos8-build/Dockerfile b/centos8-build/Dockerfile index 001c161..68920e0 100644 --- a/centos8-build/Dockerfile +++ b/centos8-build/Dockerfile @@ -54,4 +54,4 @@ COPY .common/respawn.sh /usr/local/bin/respawn.sh # Invalidate cache once the repository is updated -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml +ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1c5cfe782207af2a2e505fa30e77b9ea9fd143c5 Gerrit-Change-Number: 24112 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 07:38:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 07:38:08 +0000 Subject: Change in docker-playground[master]: centos8: don't download .repo file References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24113 ) Change subject: centos8: don't download .repo file ...................................................................... centos8: don't download .repo file Generate the .repo file on the fly instead of downloading it from the OBS repository. Ensure the gpgkey gets downloaded via HTTPS. I'm about to use centos8-obs-latest with an alternative repository, which does not have the .repo file. Adjust other containers for consistency. Related: SYS#5370 Related: https://download.opensuse.org/repositories/network:/osmocom:/latest/CentOS_8/network:osmocom:latest.repo Related: https://download.opensuse.org/repositories/network:/osmocom:/nightly/CentOS_8/network:osmocom:nightly.repo Change-Id: Ic9ffa79cfe5a74bdc59d5ddd505a9af7be574bf9 --- M centos8-build/Dockerfile M centos8-obs-latest/Dockerfile M osmo-ran/Dockerfile M osmo-ran/split/ran-bsc_mgw/Dockerfile M osmo-ran/split/ran-bts_pcu/Dockerfile M osmo-ran/split/ran-trx-ipc/Dockerfile M osmo-ran/split/ran-trx-uhd/Dockerfile 7 files changed, 63 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/13/24113/1 diff --git a/centos8-build/Dockerfile b/centos8-build/Dockerfile index 68920e0..0e8b5f5 100644 --- a/centos8-build/Dockerfile +++ b/centos8-build/Dockerfile @@ -10,8 +10,15 @@ # Make additional development libraries available from PowerTools and Osmocom nightly (e.g. libdbi) RUN dnf install -y dnf-utils wget && \ yum config-manager --set-enabled powertools && \ - cd /etc/yum.repos.d/ && \ - wget $OSMOCOM_REPO_MIRROR/repositories/network:osmocom:nightly/CentOS_8/network:osmocom:nightly.repo + export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_MIRROR | sed s/^http:/https:/)" && \ + { echo "[network_osmocom_nightly]"; \ + echo "name=Nightly packages of the Osmocom project (CentOS_8)"; \ + echo "type=rpm-md"; \ + echo "baseurl=${OSMOCOM_REPO_MIRROR}/repositories/network:/osmocom:/nightly/CentOS_8/"; \ + echo "gpgcheck=1"; \ + echo "gpgkey=${MIRROR_HTTPS}/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml.key"; \ + echo "enabled=1"; \ + } > /etc/yum.repos.d/network:osmocom:nightly.repo RUN dnf install -y \ autoconf \ diff --git a/centos8-obs-latest/Dockerfile b/centos8-obs-latest/Dockerfile index a9dfc9b..6e4f27e 100644 --- a/centos8-obs-latest/Dockerfile +++ b/centos8-obs-latest/Dockerfile @@ -11,8 +11,15 @@ # Osmocom latest OBS repository RUN dnf install -y dnf-utils wget && \ yum config-manager --set-enabled powertools && \ - cd /etc/yum.repos.d/ && \ - wget $OSMOCOM_REPO_MIRROR/repositories/network:osmocom:latest/CentOS_8/network:osmocom:latest.repo + export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_MIRROR | sed s/^http:/https:/)" && \ + { echo "[network_osmocom_latest]"; \ + echo "name=Latest tagged versions of osmocom cellular network elements (CentOS_8)"; \ + echo "type=rpm-md"; \ + echo "baseurl=${OSMOCOM_REPO_MIRROR}/repositories/network:/osmocom:/latest/CentOS_8/"; \ + echo "gpgcheck=1"; \ + echo "gpgkey=${MIRROR_HTTPS}/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml.key"; \ + echo "enabled=1"; \ + } > /etc/yum.repos.d/network:osmocom:latest.repo RUN dnf install -y \ telnet diff --git a/osmo-ran/Dockerfile b/osmo-ran/Dockerfile index 3a5dac9..5b28b44 100644 --- a/osmo-ran/Dockerfile +++ b/osmo-ran/Dockerfile @@ -26,7 +26,15 @@ dnf install -y dnf-utils wget && \ yum config-manager --set-enabled PowerTools && \ cd /etc/yum.repos.d/ && \ - wget ${OSMOCOM_REPO_CENTOS}/network:osmocom:$OSMOCOM_REPO_VERSION.repo \ + export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_CENTOS | sed s/^http:/https:/)" && \ + { echo "[network_osmocom_${OSMOCOM_REPO_VERSION}]"; \ + echo "name=Osmocom ${OSMOCOM_REPO_VERSION}"; \ + echo "type=rpm-md"; \ + echo "baseurl=${OSMOCOM_REPO_CENTOS}"; \ + echo "gpgcheck=1"; \ + echo "gpgkey=${MIRROR_HTTPS}repodata/repomd.xml.key"; \ + echo "enabled=1"; \ + } > "/etc/yum.repos.d/network:osmocom:${OSMOCOM_REPO_VERSION}.repo" \ ;; \ esac diff --git a/osmo-ran/split/ran-bsc_mgw/Dockerfile b/osmo-ran/split/ran-bsc_mgw/Dockerfile index b433d72..eec69ec 100644 --- a/osmo-ran/split/ran-bsc_mgw/Dockerfile +++ b/osmo-ran/split/ran-bsc_mgw/Dockerfile @@ -26,7 +26,15 @@ dnf install -y dnf-utils wget && \ yum config-manager --set-enabled PowerTools && \ cd /etc/yum.repos.d/ && \ - wget ${OSMOCOM_REPO_CENTOS}/network:osmocom:$OSMOCOM_REPO_VERSION.repo \ + export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_CENTOS | sed s/^http:/https:/)" && \ + { echo "[network_osmocom_${OSMOCOM_REPO_VERSION}]"; \ + echo "name=Osmocom ${OSMOCOM_REPO_VERSION}"; \ + echo "type=rpm-md"; \ + echo "baseurl=${OSMOCOM_REPO_CENTOS}"; \ + echo "gpgcheck=1"; \ + echo "gpgkey=${MIRROR_HTTPS}repodata/repomd.xml.key"; \ + echo "enabled=1"; \ + } > "/etc/yum.repos.d/network:osmocom:${OSMOCOM_REPO_VERSION}.repo" \ ;; \ esac diff --git a/osmo-ran/split/ran-bts_pcu/Dockerfile b/osmo-ran/split/ran-bts_pcu/Dockerfile index f30e3d2..c3a1219 100644 --- a/osmo-ran/split/ran-bts_pcu/Dockerfile +++ b/osmo-ran/split/ran-bts_pcu/Dockerfile @@ -26,7 +26,15 @@ dnf install -y dnf-utils wget && \ yum config-manager --set-enabled PowerTools && \ cd /etc/yum.repos.d/ && \ - wget ${OSMOCOM_REPO_CENTOS}/network:osmocom:$OSMOCOM_REPO_VERSION.repo \ + export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_CENTOS | sed s/^http:/https:/)" && \ + { echo "[network_osmocom_${OSMOCOM_REPO_VERSION}]"; \ + echo "name=Osmocom ${OSMOCOM_REPO_VERSION}"; \ + echo "type=rpm-md"; \ + echo "baseurl=${OSMOCOM_REPO_CENTOS}"; \ + echo "gpgcheck=1"; \ + echo "gpgkey=${MIRROR_HTTPS}repodata/repomd.xml.key"; \ + echo "enabled=1"; \ + } > "/etc/yum.repos.d/network:osmocom:${OSMOCOM_REPO_VERSION}.repo" \ ;; \ esac diff --git a/osmo-ran/split/ran-trx-ipc/Dockerfile b/osmo-ran/split/ran-trx-ipc/Dockerfile index 0720ccc..b3677b4 100644 --- a/osmo-ran/split/ran-trx-ipc/Dockerfile +++ b/osmo-ran/split/ran-trx-ipc/Dockerfile @@ -26,7 +26,15 @@ dnf install -y dnf-utils wget && \ yum config-manager --set-enabled PowerTools && \ cd /etc/yum.repos.d/ && \ - wget ${OSMOCOM_REPO_CENTOS}/network:osmocom:$OSMOCOM_REPO_VERSION.repo \ + export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_CENTOS | sed s/^http:/https:/)" && \ + { echo "[network_osmocom_${OSMOCOM_REPO_VERSION}]"; \ + echo "name=Osmocom ${OSMOCOM_REPO_VERSION}"; \ + echo "type=rpm-md"; \ + echo "baseurl=${OSMOCOM_REPO_CENTOS}"; \ + echo "gpgcheck=1"; \ + echo "gpgkey=${MIRROR_HTTPS}repodata/repomd.xml.key"; \ + echo "enabled=1"; \ + } > "/etc/yum.repos.d/network:osmocom:${OSMOCOM_REPO_VERSION}.repo" \ ;; \ esac diff --git a/osmo-ran/split/ran-trx-uhd/Dockerfile b/osmo-ran/split/ran-trx-uhd/Dockerfile index 5431210..9279112 100644 --- a/osmo-ran/split/ran-trx-uhd/Dockerfile +++ b/osmo-ran/split/ran-trx-uhd/Dockerfile @@ -26,7 +26,15 @@ dnf install -y dnf-utils wget && \ yum config-manager --set-enabled PowerTools && \ cd /etc/yum.repos.d/ && \ - wget ${OSMOCOM_REPO_CENTOS}/network:osmocom:$OSMOCOM_REPO_VERSION.repo \ + export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_CENTOS | sed s/^http:/https:/)" && \ + { echo "[network_osmocom_${OSMOCOM_REPO_VERSION}]"; \ + echo "name=Osmocom ${OSMOCOM_REPO_VERSION}"; \ + echo "type=rpm-md"; \ + echo "baseurl=${OSMOCOM_REPO_CENTOS}"; \ + echo "gpgcheck=1"; \ + echo "gpgkey=${MIRROR_HTTPS}repodata/repomd.xml.key"; \ + echo "enabled=1"; \ + } > "/etc/yum.repos.d/network:osmocom:${OSMOCOM_REPO_VERSION}.repo" \ ;; \ esac -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic9ffa79cfe5a74bdc59d5ddd505a9af7be574bf9 Gerrit-Change-Number: 24113 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 07:38:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 07:38:08 +0000 Subject: Change in docker-playground[master]: make: add OSMOCOM_REPO_PATH References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24114 ) Change subject: make: add OSMOCOM_REPO_PATH ...................................................................... make: add OSMOCOM_REPO_PATH Allow to change the path between OSMOCOM_REPO_MIRROR and OSMOCOM_REPO_VERSION. While at it, tweak related comments (comment above the variable as usually, replace "repo" wording with "feed" for the latest/nightly variable as we usually refer to it as feed), and mention OSMOCOM_REPO_* in README.md. In order to be able to use a different mirror for testsuite and systems under test, the testsuite related Dockerfiles (osmocom-bb-host-master, debian-stretch-titan) are not using OSMOCOM_REPO_PATH. We could add a OSMOCOM_REPO_TESTSUITE_PATH on demand, as mentioned in the next commit. Related: SYS#5370 Change-Id: I8010a4d49d4620a5c47c2ff4f909a9aeeaad7b73 --- M README.md M centos8-build/Dockerfile M centos8-obs-latest/Dockerfile M debian-buster-erlang/Dockerfile M debian-buster-jenkins/Dockerfile M debian-buster-simtrace2/Dockerfile M debian-jessie-osmocom/Dockerfile M debian-stretch-build/Dockerfile M debian-stretch-jenkins/Dockerfile M debian-stretch-obs-latest/Dockerfile M make/Makefile M osmo-ran/Dockerfile M osmo-ran/split/ran-bsc_mgw/Dockerfile M osmo-ran/split/ran-bts_pcu/Dockerfile M osmo-ran/split/ran-trx-ipc/Dockerfile M osmo-ran/split/ran-trx-uhd/Dockerfile 16 files changed, 50 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/14/24114/1 diff --git a/README.md b/README.md index 1cd9488..490e2a8 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,10 @@ * `KERNEL_URL`: git remote url (default: net-next.git on kernel.org) * `KERNEL_BRANCH` branch to checkout (default: master) +The OBS repository mirror consists of +`${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/${OSMOCOM_REPO_VERSION}`, +e.g. `https://download.opensuse.org/repositories/network:/osmocom:/latest/`. + ### Creating kernel config fragments For the kernel tests, we are storing kernel config fragments in the git repository instead of full kernel configs. Generate them as follows: diff --git a/centos8-build/Dockerfile b/centos8-build/Dockerfile index 0e8b5f5..e36e3f0 100644 --- a/centos8-build/Dockerfile +++ b/centos8-build/Dockerfile @@ -3,6 +3,7 @@ FROM ${REGISTRY}/${UPSTREAM_DISTRO} # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" # Let package metadata expire after 60 seconds instead of 48 hours RUN echo "metadata_expire=60" >> /etc/dnf/dnf.conf && cat /etc/dnf/dnf.conf @@ -14,9 +15,9 @@ { echo "[network_osmocom_nightly]"; \ echo "name=Nightly packages of the Osmocom project (CentOS_8)"; \ echo "type=rpm-md"; \ - echo "baseurl=${OSMOCOM_REPO_MIRROR}/repositories/network:/osmocom:/nightly/CentOS_8/"; \ + echo "baseurl=${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/nightly/CentOS_8/"; \ echo "gpgcheck=1"; \ - echo "gpgkey=${MIRROR_HTTPS}/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml.key"; \ + echo "gpgkey=${MIRROR_HTTPS}/${OSMOCOM_REPO_PATH}/nightly/CentOS_8/repodata/repomd.xml.key"; \ echo "enabled=1"; \ } > /etc/yum.repos.d/network:osmocom:nightly.repo @@ -61,4 +62,4 @@ COPY .common/respawn.sh /usr/local/bin/respawn.sh # Invalidate cache once the repository is updated -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml +ADD ${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml diff --git a/centos8-obs-latest/Dockerfile b/centos8-obs-latest/Dockerfile index 6e4f27e..5c2bd7d 100644 --- a/centos8-obs-latest/Dockerfile +++ b/centos8-obs-latest/Dockerfile @@ -3,6 +3,7 @@ FROM ${REGISTRY}/${UPSTREAM_DISTRO} # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" # Let package metadata expire after 60 seconds instead of 48 hours RUN echo "metadata_expire=60" >> /etc/dnf/dnf.conf && cat /etc/dnf/dnf.conf @@ -15,9 +16,9 @@ { echo "[network_osmocom_latest]"; \ echo "name=Latest tagged versions of osmocom cellular network elements (CentOS_8)"; \ echo "type=rpm-md"; \ - echo "baseurl=${OSMOCOM_REPO_MIRROR}/repositories/network:/osmocom:/latest/CentOS_8/"; \ + echo "baseurl=${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/latest/CentOS_8/"; \ echo "gpgcheck=1"; \ - echo "gpgkey=${MIRROR_HTTPS}/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml.key"; \ + echo "gpgkey=${MIRROR_HTTPS}/${OSMOCOM_REPO_PATH}/latest/CentOS_8/repodata/repomd.xml.key"; \ echo "enabled=1"; \ } > /etc/yum.repos.d/network:osmocom:latest.repo @@ -28,4 +29,4 @@ COPY .common/respawn.sh /usr/local/bin/respawn.sh # Invalidate cache once the repository is updated -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml +ADD ${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml diff --git a/debian-buster-erlang/Dockerfile b/debian-buster-erlang/Dockerfile index e909731..10b2c88 100644 --- a/debian-buster-erlang/Dockerfile +++ b/debian-buster-erlang/Dockerfile @@ -2,10 +2,11 @@ FROM ${REGISTRY}/debian:buster # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" MAINTAINER Harald Welte -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_10/" +ARG OSMOCOM_REPO="${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/latest/Debian_10/" # install the erlang vm and rebar (2) RUN apt-get update && \ diff --git a/debian-buster-jenkins/Dockerfile b/debian-buster-jenkins/Dockerfile index baa076a..ff69d35 100644 --- a/debian-buster-jenkins/Dockerfile +++ b/debian-buster-jenkins/Dockerfile @@ -6,6 +6,7 @@ FROM ${REGISTRY}/debian:${DEBIAN_VERSION} # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" # Make "$DEBIAN_VERSION" available after FROM # https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact @@ -169,7 +170,7 @@ # Install packages from Osmocom OBS repositories: # * osmo-remsim: libulfius # * osmo-trx: liblimesuite-dev, libuhd-dev -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_10/" +ARG OSMOCOM_REPO="${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/nightly/Debian_10/" COPY .common/Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ diff --git a/debian-buster-simtrace2/Dockerfile b/debian-buster-simtrace2/Dockerfile index e07e65a..a8765b9 100644 --- a/debian-buster-simtrace2/Dockerfile +++ b/debian-buster-simtrace2/Dockerfile @@ -2,10 +2,11 @@ FROM $USER/debian-buster-build # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" MAINTAINER Harald Welte -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_10/" +ARG OSMOCOM_REPO="${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/nightly/Debian_10/" COPY .common/Release.key /tmp/Release.key diff --git a/debian-jessie-osmocom/Dockerfile b/debian-jessie-osmocom/Dockerfile index 087a783..d95e249 100644 --- a/debian-jessie-osmocom/Dockerfile +++ b/debian-jessie-osmocom/Dockerfile @@ -2,10 +2,11 @@ FROM ${REGISTRY}/debian:jessie # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" MAINTAINER Harald Welte -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/nightly/Debian_8.0/" COPY .common/Release.key /tmp/Release.key diff --git a/debian-stretch-build/Dockerfile b/debian-stretch-build/Dockerfile index 2c3128e..b04eb8e 100644 --- a/debian-stretch-build/Dockerfile +++ b/debian-stretch-build/Dockerfile @@ -3,7 +3,8 @@ FROM ${REGISTRY}/${UPSTREAM_DISTRO} # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" +ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/${OSMOCOM_REPO_PATH}/nightly/Debian_9.0/" RUN apt-get update && \ apt-get upgrade -y && \ diff --git a/debian-stretch-jenkins/Dockerfile b/debian-stretch-jenkins/Dockerfile index 43a4035..162ab84 100644 --- a/debian-stretch-jenkins/Dockerfile +++ b/debian-stretch-jenkins/Dockerfile @@ -6,6 +6,7 @@ FROM ${REGISTRY}/debian:${DEBIAN_VERSION} # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" # Make "$DEBIAN_VERSION" available after FROM # https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact @@ -169,7 +170,7 @@ # Install packages from Osmocom OBS repositories: # * osmo-remsim: libulfius # * osmo-trx: liblimesuite-dev, libuhd-dev -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/nightly/Debian_9.0/" COPY .common/Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ diff --git a/debian-stretch-obs-latest/Dockerfile b/debian-stretch-obs-latest/Dockerfile index 3089712..aaf1b43 100644 --- a/debian-stretch-obs-latest/Dockerfile +++ b/debian-stretch-obs-latest/Dockerfile @@ -3,7 +3,8 @@ FROM ${REGISTRY}/${UPSTREAM_DISTRO} # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" +ARG OSMOCOM_REPO="${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/latest/Debian_9.0/" RUN apt-get update && \ apt-get upgrade -y && \ diff --git a/make/Makefile b/make/Makefile index 3b4ea81..6d053f9 100644 --- a/make/Makefile +++ b/make/Makefile @@ -37,10 +37,16 @@ PULL?= UPSTREAM_DISTRO?=debian:stretch DISTRO?=debian-stretch -OSMOCOM_REPO_MIRROR?=http://download.opensuse.org + +# Full OBS repository mirror consists of: +# ${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/${OSMOCOM_REPO_VERSION} +# e.g. "https://download.opensuse.org/repositories/network:/osmocom:/latest/" +# # Use if down: OSMOCOM_REPO_MIRROR=http://ftp.uni-stuttgart.de/opensuse +OSMOCOM_REPO_MIRROR?=http://download.opensuse.org +OSMOCOM_REPO_PATH?=repositories/network:/osmocom: +# Use "nightly" to use the nightly feed OSMOCOM_REPO_VERSION?=latest -# Use "nightly" to use the nightly repo ROOT_DIR=$(shell git rev-parse --show-toplevel) RELEASE_SUPPORT := $(ROOT_DIR)/make/.make-release-support @@ -76,6 +82,7 @@ --build-arg UPSTREAM_DISTRO=$(UPSTREAM_DISTRO) \ --build-arg DISTRO=$(DISTRO) \ --build-arg OSMOCOM_REPO_MIRROR=$(OSMOCOM_REPO_MIRROR) \ + --build-arg OSMOCOM_REPO_PATH=$(OSMOCOM_REPO_PATH) \ --build-arg OSMOCOM_REPO_VERSION=$(OSMOCOM_REPO_VERSION) \ --build-arg LIBOSMOCORE_BRANCH=$(LIBOSMOCORE_BRANCH) \ --build-arg OSMO_BB_BRANCH=$(OSMO_BB_BRANCH) \ diff --git a/osmo-ran/Dockerfile b/osmo-ran/Dockerfile index 5b28b44..61978ed 100644 --- a/osmo-ran/Dockerfile +++ b/osmo-ran/Dockerfile @@ -3,12 +3,13 @@ # Arguments used after FROM must be specified again ARG DISTRO ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" ARG OSMOCOM_REPO_VERSION=latest MAINTAINER Pau Espin Pedrol -ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" -ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" +ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/Debian_9.0/" +ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/CentOS_8/" COPY .common/Release.key /tmp/Release.key diff --git a/osmo-ran/split/ran-bsc_mgw/Dockerfile b/osmo-ran/split/ran-bsc_mgw/Dockerfile index eec69ec..0cf8347 100644 --- a/osmo-ran/split/ran-bsc_mgw/Dockerfile +++ b/osmo-ran/split/ran-bsc_mgw/Dockerfile @@ -3,12 +3,13 @@ # Arguments used after FROM must be specified again ARG DISTRO ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" ARG OSMOCOM_REPO_VERSION=latest MAINTAINER Pau Espin Pedrol -ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" -ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" +ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/Debian_9.0/" +ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/CentOS_8/" COPY .common/Release.key /tmp/Release.key diff --git a/osmo-ran/split/ran-bts_pcu/Dockerfile b/osmo-ran/split/ran-bts_pcu/Dockerfile index c3a1219..e49b8b1 100644 --- a/osmo-ran/split/ran-bts_pcu/Dockerfile +++ b/osmo-ran/split/ran-bts_pcu/Dockerfile @@ -3,12 +3,13 @@ # Arguments used after FROM must be specified again ARG DISTRO ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" ARG OSMOCOM_REPO_VERSION=latest MAINTAINER Pau Espin Pedrol -ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" -ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" +ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/Debian_9.0/" +ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/CentOS_8/" COPY .common/Release.key /tmp/Release.key diff --git a/osmo-ran/split/ran-trx-ipc/Dockerfile b/osmo-ran/split/ran-trx-ipc/Dockerfile index b3677b4..bcd84cb 100644 --- a/osmo-ran/split/ran-trx-ipc/Dockerfile +++ b/osmo-ran/split/ran-trx-ipc/Dockerfile @@ -3,12 +3,13 @@ # Arguments used after FROM must be specified again ARG DISTRO ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" ARG OSMOCOM_REPO_VERSION=latest MAINTAINER Pau Espin Pedrol -ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" -ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" +ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/Debian_9.0/" +ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/CentOS_8/" COPY .common/Release.key /tmp/Release.key diff --git a/osmo-ran/split/ran-trx-uhd/Dockerfile b/osmo-ran/split/ran-trx-uhd/Dockerfile index 9279112..08baa07 100644 --- a/osmo-ran/split/ran-trx-uhd/Dockerfile +++ b/osmo-ran/split/ran-trx-uhd/Dockerfile @@ -3,12 +3,13 @@ # Arguments used after FROM must be specified again ARG DISTRO ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" ARG OSMOCOM_REPO_VERSION=latest MAINTAINER Pau Espin Pedrol -ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" -ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" +ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/Debian_9.0/" +ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/CentOS_8/" COPY .common/Release.key /tmp/Release.key -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8010a4d49d4620a5c47c2ff4f909a9aeeaad7b73 Gerrit-Change-Number: 24114 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 07:38:09 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 07:38:09 +0000 Subject: Change in docker-playground[master]: make: add OSMOCOM_REPO_TESTSUITE_MIRROR References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24115 ) Change subject: make: add OSMOCOM_REPO_TESTSUITE_MIRROR ...................................................................... make: add OSMOCOM_REPO_TESTSUITE_MIRROR Make it possible to set a different mirror for debian-stretch-titan than for all other containers. 2021q1 doesn't have the eclipse-titan package and it doesn't make sense to build it there. I've thought about adding OSMOCOM_REPO_TESTSUITE_PATH and OSMOCOM_REPO_TESTSUITE_VERSION too, but we don't have any use for these right now. Let's add them later if we should need them. Related: SYS#5370. Change-Id: I7187473c2188a864b60b03789eff62e0a527404a --- M debian-stretch-titan/Dockerfile M make/Makefile M osmocom-bb-host-master/Dockerfile 3 files changed, 12 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/15/24115/1 diff --git a/debian-stretch-titan/Dockerfile b/debian-stretch-titan/Dockerfile index e28c556..5b6b134 100644 --- a/debian-stretch-titan/Dockerfile +++ b/debian-stretch-titan/Dockerfile @@ -2,11 +2,11 @@ ARG UPSTREAM_DISTRO=debian:stretch FROM ${REGISTRY}/${UPSTREAM_DISTRO} # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_TESTSUITE_MIRROR="http://download.opensuse.org" MAINTAINER Harald Welte -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" +ARG OSMOCOM_REPO="$OSMOCOM_REPO_TESTSUITE_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" RUN apt-get update && apt-get install -y \ gnupg diff --git a/make/Makefile b/make/Makefile index 6d053f9..edb0890 100644 --- a/make/Makefile +++ b/make/Makefile @@ -47,6 +47,13 @@ OSMOCOM_REPO_PATH?=repositories/network:/osmocom: # Use "nightly" to use the nightly feed OSMOCOM_REPO_VERSION?=latest +# Build the testsuite with the following mirror. In jenkins we always want to +# point this to http://download.opensuse.org, so the same testsuite can be +# used no matter which OSMOCOM_REPO_MIRROR is set. This avoids rebuilding the +# testsuite when we only want to change OSMOCOM_REPO_MIRROR to build different +# subjects under test, and it works even if the OSMOCOM_REPO_MIRROR only has +# a subset of the network:osmocom:latest packages (i.e. no eclipse-titan). +OSMOCOM_REPO_TESTSUITE_MIRROR?=$(OSMOCOM_REPO_MIRROR) ROOT_DIR=$(shell git rev-parse --show-toplevel) RELEASE_SUPPORT := $(ROOT_DIR)/make/.make-release-support @@ -84,6 +91,7 @@ --build-arg OSMOCOM_REPO_MIRROR=$(OSMOCOM_REPO_MIRROR) \ --build-arg OSMOCOM_REPO_PATH=$(OSMOCOM_REPO_PATH) \ --build-arg OSMOCOM_REPO_VERSION=$(OSMOCOM_REPO_VERSION) \ + --build-arg OSMOCOM_REPO_TESTSUITE_MIRROR=$(OSMOCOM_REPO_TESTSUITE_MIRROR) \ --build-arg LIBOSMOCORE_BRANCH=$(LIBOSMOCORE_BRANCH) \ --build-arg OSMO_BB_BRANCH=$(OSMO_BB_BRANCH) \ --build-arg OSMO_BSC_BRANCH=$(OSMO_BSC_BRANCH) \ diff --git a/osmocom-bb-host-master/Dockerfile b/osmocom-bb-host-master/Dockerfile index 53b8dcc..2e86767 100644 --- a/osmocom-bb-host-master/Dockerfile +++ b/osmocom-bb-host-master/Dockerfile @@ -4,13 +4,13 @@ FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_TESTSUITE_MIRROR="http://download.opensuse.org" MAINTAINER Harald Welte ARG OSMO_BB_BRANCH="master" -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="$OSMOCOM_REPO_TESTSUITE_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY .common/Release.key /tmp/Release.key -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7187473c2188a864b60b03789eff62e0a527404a Gerrit-Change-Number: 24115 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 07:38:09 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 07:38:09 +0000 Subject: Change in docker-playground[master]: centos8-obs-latest: use OSMOCOM_REPO_VERSION References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24116 ) Change subject: centos8-obs-latest: use OSMOCOM_REPO_VERSION ...................................................................... centos8-obs-latest: use OSMOCOM_REPO_VERSION Related: SYS#5370 Change-Id: I5eb0d9943ac5c3ffe800774f1a91897fdf0ca0c3 --- M centos8-obs-latest/Dockerfile 1 file changed, 8 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/16/24116/1 diff --git a/centos8-obs-latest/Dockerfile b/centos8-obs-latest/Dockerfile index 5c2bd7d..4e180de 100644 --- a/centos8-obs-latest/Dockerfile +++ b/centos8-obs-latest/Dockerfile @@ -4,23 +4,24 @@ # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" +ARG OSMOCOM_REPO_VERSION="latest" # Let package metadata expire after 60 seconds instead of 48 hours RUN echo "metadata_expire=60" >> /etc/dnf/dnf.conf && cat /etc/dnf/dnf.conf # Make additional development libraries available from PowerTools and set up -# Osmocom latest OBS repository +# Osmocom OBS repository RUN dnf install -y dnf-utils wget && \ yum config-manager --set-enabled powertools && \ export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_MIRROR | sed s/^http:/https:/)" && \ - { echo "[network_osmocom_latest]"; \ - echo "name=Latest tagged versions of osmocom cellular network elements (CentOS_8)"; \ + { echo "[network_osmocom_${OSMOCOM_REPO_VERSION}]"; \ + echo "name=Osmocom ${OSMOCOM_REPO_VERSION}"; \ echo "type=rpm-md"; \ - echo "baseurl=${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/latest/CentOS_8/"; \ + echo "baseurl=${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/${OSMOCOM_REPO_VERSION}/CentOS_8/"; \ echo "gpgcheck=1"; \ - echo "gpgkey=${MIRROR_HTTPS}/${OSMOCOM_REPO_PATH}/latest/CentOS_8/repodata/repomd.xml.key"; \ + echo "gpgkey=${MIRROR_HTTPS}/${OSMOCOM_REPO_PATH}/${OSMOCOM_REPO_VERSION}/CentOS_8/repodata/repomd.xml.key"; \ echo "enabled=1"; \ - } > /etc/yum.repos.d/network:osmocom:latest.repo + } > "/etc/yum.repos.d/network:osmocom:${OSMOCOM_REPO_VERSION}.repo" RUN dnf install -y \ telnet @@ -29,4 +30,4 @@ COPY .common/respawn.sh /usr/local/bin/respawn.sh # Invalidate cache once the repository is updated -ADD ${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml +ADD ${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/${OSMOCOM_REPO_VERSION}/CentOS_8/repodata/repomd.xml /tmp/repomd.xml -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I5eb0d9943ac5c3ffe800774f1a91897fdf0ca0c3 Gerrit-Change-Number: 24116 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 07:38:09 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 07:38:09 +0000 Subject: Change in docker-playground[master]: osmo-*-latest: use OSMOCOM_REPO_VERSION References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24117 ) Change subject: osmo-*-latest: use OSMOCOM_REPO_VERSION ...................................................................... osmo-*-latest: use OSMOCOM_REPO_VERSION Related: SYS#5370 Change-Id: I237a296ea8a1e08bc31f351c5f42a59fe7438815 --- M osmo-bsc-latest/Dockerfile M osmo-bts-latest/Dockerfile M osmo-cbc-latest/Dockerfile M osmo-cn-latest/Dockerfile M osmo-gbproxy-latest/Dockerfile M osmo-ggsn-latest/Dockerfile M osmo-hlr-latest/Dockerfile M osmo-hnbgw-latest/Dockerfile M osmo-mgw-latest/Dockerfile M osmo-msc-latest/Dockerfile M osmo-nitb-latest/Dockerfile M osmo-pcap-latest/Dockerfile M osmo-pcu-latest/Dockerfile M osmo-remsim-latest/Dockerfile M osmo-sgsn-latest/Dockerfile M osmo-sip-latest/Dockerfile M osmo-smlc-latest/Dockerfile M osmo-stp-latest/Dockerfile 18 files changed, 36 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/17/24117/1 diff --git a/osmo-bsc-latest/Dockerfile b/osmo-bsc-latest/Dockerfile index 3352ed2..e4a6044 100644 --- a/osmo-bsc-latest/Dockerfile +++ b/osmo-bsc-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-bts-latest/Dockerfile b/osmo-bts-latest/Dockerfile index 2b41968..ad79cb3 100644 --- a/osmo-bts-latest/Dockerfile +++ b/osmo-bts-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-cbc-latest/Dockerfile b/osmo-cbc-latest/Dockerfile index d919dae..5361e2f 100644 --- a/osmo-cbc-latest/Dockerfile +++ b/osmo-cbc-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-cn-latest/Dockerfile b/osmo-cn-latest/Dockerfile index 3da7175..e17efee 100644 --- a/osmo-cn-latest/Dockerfile +++ b/osmo-cn-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again RUN apt-get update && \ diff --git a/osmo-gbproxy-latest/Dockerfile b/osmo-gbproxy-latest/Dockerfile index 7c729a5..5e16f99 100644 --- a/osmo-gbproxy-latest/Dockerfile +++ b/osmo-gbproxy-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-ggsn-latest/Dockerfile b/osmo-ggsn-latest/Dockerfile index 0da9703..e5408e3 100644 --- a/osmo-ggsn-latest/Dockerfile +++ b/osmo-ggsn-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-hlr-latest/Dockerfile b/osmo-hlr-latest/Dockerfile index ece7aa6..b0a06d0 100644 --- a/osmo-hlr-latest/Dockerfile +++ b/osmo-hlr-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-hnbgw-latest/Dockerfile b/osmo-hnbgw-latest/Dockerfile index 81fdead..f71751d 100644 --- a/osmo-hnbgw-latest/Dockerfile +++ b/osmo-hnbgw-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again RUN apt-get update && \ diff --git a/osmo-mgw-latest/Dockerfile b/osmo-mgw-latest/Dockerfile index 5b01fe8..ede6cb1 100644 --- a/osmo-mgw-latest/Dockerfile +++ b/osmo-mgw-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-msc-latest/Dockerfile b/osmo-msc-latest/Dockerfile index 29e932a..cc18602 100644 --- a/osmo-msc-latest/Dockerfile +++ b/osmo-msc-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-nitb-latest/Dockerfile b/osmo-nitb-latest/Dockerfile index 8c3acb8..bd4f73b 100644 --- a/osmo-nitb-latest/Dockerfile +++ b/osmo-nitb-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-pcap-latest/Dockerfile b/osmo-pcap-latest/Dockerfile index 30c6a56..7cb4d79 100644 --- a/osmo-pcap-latest/Dockerfile +++ b/osmo-pcap-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-pcu-latest/Dockerfile b/osmo-pcu-latest/Dockerfile index 7f1b3ac..bb1fe41 100644 --- a/osmo-pcu-latest/Dockerfile +++ b/osmo-pcu-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-remsim-latest/Dockerfile b/osmo-remsim-latest/Dockerfile index db1aa05..991c97e 100644 --- a/osmo-remsim-latest/Dockerfile +++ b/osmo-remsim-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again RUN apt-get update && \ diff --git a/osmo-sgsn-latest/Dockerfile b/osmo-sgsn-latest/Dockerfile index 21728c9..c816026 100644 --- a/osmo-sgsn-latest/Dockerfile +++ b/osmo-sgsn-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-sip-latest/Dockerfile b/osmo-sip-latest/Dockerfile index 825735c..d70341b 100644 --- a/osmo-sip-latest/Dockerfile +++ b/osmo-sip-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-smlc-latest/Dockerfile b/osmo-smlc-latest/Dockerfile index 12487ec..6d9299b 100644 --- a/osmo-smlc-latest/Dockerfile +++ b/osmo-smlc-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-stp-latest/Dockerfile b/osmo-stp-latest/Dockerfile index d3279f0..5a22bc7 100644 --- a/osmo-stp-latest/Dockerfile +++ b/osmo-stp-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I237a296ea8a1e08bc31f351c5f42a59fe7438815 Gerrit-Change-Number: 24117 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 07:38:10 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 07:38:10 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: support 2021q1 feed References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24118 ) Change subject: jenkins-common.sh: support 2021q1 feed ...................................................................... jenkins-common.sh: support 2021q1 feed Adjust docker_depends and docker_dir_from_image_name for 2021q1. Extend README.md with examples. Related: SYS#5370 Change-Id: Icf1e3f1928658ff3d82190c4176252cf3590a1f5 --- M README.md M jenkins-common.sh 2 files changed, 52 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/18/24118/1 diff --git a/README.md b/README.md index 490e2a8..9a1889e 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,8 @@ ## Running a testsuite All testsuite folders start with `ttcn3` or `nplab`. Run the following -to build/update all required containers and start a specific testsuite: +to build/update all required containers from the "master" branch and +start a specific testsuite: ``` $ cd ttcn3-mgw-test @@ -26,6 +27,33 @@ * `NO_DOCKER_IMAGE_BUILD`: when set to `1`, it won't try to update the containers (see "caching" below) +### More examples + +latest (debian): +``` +$ export IMAGE_SUFFIX="latest" +$ cd ttcn3-mgw-test +$ ./jenkins.sh +``` + +latest-centos8: +``` +$ export IMAGE_SUFFIX="latest-centos8" +$ cd ttcn3-mgw-test +$ ./jenkins.sh +``` + +2021q1-centos8: +``` +export OSMOCOM_REPO_TESTSUITE_MIRROR="http://download.opensuse.org" +export OSMOCOM_REPO_MIRROR="https://downloads.osmocom.org" +export OSMOCOM_REPO_PATH="osmo-maintained" +export OSMOCOM_REPO_VERSION="2021q1" +export IMAGE_SUFFIX="2021q1-centos8" +$ cd ttcn3-mgw-test +$ ./jenkins.sh +``` + ## Kernel test OsmoGGSN can be configured to either run completely in userspace, or to use the GTP-U kernel module. To test the kernel module, OsmoGGSN and diff --git a/jenkins-common.sh b/jenkins-common.sh index 67a467d..8b92a8f 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -6,7 +6,15 @@ } docker_depends() { + local feed + case "$1" in + osmo-*-20*q*-centos8) + # e.g. osmo-mgw-2021q1-centos8 -> centos8-obs-2021q1 + feed="$(echo "$1" | grep -o -P -- "20\d\dq.*$")" # e.g. "2021q1-centos8" + feed="$(echo "$feed" | sed 's/\-centos8$//')" # e.g. "2021q1" + echo "centos8-obs-$feed" + ;; osmo-*-latest-centos8) echo "centos8-obs-latest" ;; osmo-*-centos8) echo "centos8-build" ;; osmo-*-latest) echo "debian-stretch-obs-latest" ;; @@ -34,8 +42,21 @@ docker_dir_from_image_name() { case "$1" in - osmo-*-centos8) echo "$1" | sed 's/\-centos8$//' ;; - *) echo "$1" ;; + osmo-*-20*q*-centos8) + # e.g. osmo-mgw-2021q1-centos8 -> osmo-mgw-latest + echo "$1" | sed 's/20.*q.*\-centos8$/latest/' + ;; + osmo-*-centos8) + # e.g. osmo-mgw-latest-centos8 -> osmo-mgw-latest + echo "$1" | sed 's/\-centos8$//' + ;; + centos8-obs-20*q*) + # e.g. centos8-obs-2021q1 -> centos8-obs-latest + echo "$1" | sed 's/20.*q.*$/latest/' + ;; + *) + echo "$1" + ;; esac } -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Icf1e3f1928658ff3d82190c4176252cf3590a1f5 Gerrit-Change-Number: 24118 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 07:38:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 07:38:50 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add TTCN3-centos-*-2021q1 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24119 ) Change subject: jobs/ttcn3: add TTCN3-centos-*-2021q1 ...................................................................... jobs/ttcn3: add TTCN3-centos-*-2021q1 Depends: docker-playground Icf1e3f1928658ff3d82190c4176252cf3590a1f5 Related: SYS#5370 Change-Id: I2ec731d7d6d31c06b8feccbc7620128ebb034299 --- M jobs/ttcn3-testsuites.yml 1 file changed, 30 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/19/24119/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 87a6237..3b35ab9 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -301,6 +301,28 @@ blocking: "^(ttcn3|TTCN3-.*)-cbc-test.*" timer: 40 10 * * * + # centos8 2021q1 (SYS#5370) + - TTCN3-centos-pcu-test-2021q1: + blocking: "^(ttcn3|TTCN3-.*)-pcu-test.*" + timer: 00 11 * * * + - TTCN3-centos-pcu-test-sns-2021q1: + blocking: "^(ttcn3|TTCN3-.*)-pcu-test.*" + timer: 15 11 * * * + - TTCN3-centos-bsc-test-2021q1: + blocking: "^(ttcn3|TTCN3-.*)-bsc-test.*" + timer: 30 11 * * * + - TTCN3-centos-mgw-test-2021q1: + blocking: "^(ttcn3|TTCN3-.*)-mgw-test.*" + timer: 45 11 * * * + - TTCN3-centos-bts-test-2021q1: + blocking: "^(ttcn3|TTCN3-.*)-bts-test.*" + timer: 00 12 * * * + - TTCN3-centos-smlc-test-2021q1: + blocking: "^(ttcn3|TTCN3-.*)-smlc-test.*" + timer: 15 12 * * * + - TTCN3-centos-gbproxy-test-2021q1: + blocking: "^(ttcn3|TTCN3-.*)-gbproxy-test.*" + timer: 30 12 * * * - job-template: name: '{job-name}' @@ -356,6 +378,14 @@ DIR="$(echo "{job-name}" | sed s/^TTCN3-centos\-/ttcn3-/ | sed s/\-latest$//)" export IMAGE_SUFFIX="latest-centos8" ;; + TTCN3-centos-*-20*q*) + export OSMOCOM_REPO_TESTSUITE_MIRROR="http://download.opensuse.org" + export OSMOCOM_REPO_MIRROR="https://downloads.osmocom.org" + export OSMOCOM_REPO_PATH="osmo-maintained" + export OSMOCOM_REPO_VERSION="$(echo "{job-name}" | grep -o -P -- "20\d\dq.*$")" # e.g. "2021q1" + export IMAGE_SUFFIX="$OSMOCOM_REPO_VERSION-centos8" + DIR="$(echo "{job-name}" | sed s/^TTCN3-centos\-/ttcn3-/ | sed s/\-$OSMOCOM_REPO_VERSION$//)" + ;; TTCN3-centos-*) DIR="$(echo "{job-name}" | sed s/^TTCN3-centos\-/ttcn3-/)" export IMAGE_SUFFIX="master-centos8" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2ec731d7d6d31c06b8feccbc7620128ebb034299 Gerrit-Change-Number: 24119 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 07:57:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 May 2021 07:57:24 +0000 Subject: Change in pysim[master]: utils: Introduce CommandSet abstraction In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24036 ) Change subject: utils: Introduce CommandSet abstraction ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/pysim/+/24036/4/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/24036/4/pySim/utils.py at 1256 PS4, Line 1256: self.cmds = {} > This line can be dropped now. Ack -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I314ff15186dc05778ea12363cac0a310b6c7713c Gerrit-Change-Number: 24036 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 04 May 2021 07:57:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 07:57:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 May 2021 07:57:48 +0000 Subject: Change in pysim[master]: Implement EF.ARR (Access Rule Reference) decoding In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24037 ) Change subject: Implement EF.ARR (Access Rule Reference) decoding ...................................................................... Patch Set 5: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/pysim/+/24037/4/README.md File README.md: https://gerrit.osmocom.org/c/pysim/+/24037/4/README.md at 35 PS4, Line 35: pysim requires: > Sorry, somehow I didn't notice it :/ Nevermind. Done -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If4f0725a849d41fd93de327ed00996d8179f2b0e Gerrit-Change-Number: 24037 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 04 May 2021 07:57:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: laforge Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 08:07:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 May 2021 08:07:51 +0000 Subject: Change in pysim[master]: ts_51_011: fix encoder of EF_SPN: In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24006 ) Change subject: ts_51_011: fix encoder of EF_SPN: ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0a405793c8909d4279e634b93dcb76e5cb2963f3 Gerrit-Change-Number: 24006 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 04 May 2021 08:07:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 08:41:20 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 4 May 2021 08:41:20 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23234 ) Change subject: stats: add BTS uptime counter ...................................................................... Patch Set 6: (2 comments) Thanks for picking up my slack! Looks close to me as well, just one additional comment about resetting the uptime. https://gerrit.osmocom.org/c/osmo-bsc/+/23234/6/src/osmo-bsc/bts.c File src/osmo-bsc/bts.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23234/6/src/osmo-bsc/bts.c at 564 PS6, Line 564: /* if the BTS is not up, skip this update */ With this check I think the uptime will stay at whatever value it was before a BTS disconnected and only reset to 0 after the BTS reconnects. Extended downtimes should be reported as 0 uptime in my opinion and not as a horizontal line at whatever value was reported last. You could use osmo_stat_item_get_last() to check if the last uptime value is different from the new one and only report then. https://gerrit.osmocom.org/c/osmo-bsc/+/23234/6/src/osmo-bsc/bts.c at 576 PS6, Line 576: uptime_seconds = difftime(tp.tv_sec, bts->uptime); > What about reusing bts_uptime() just below instead of rewriting all of it in this new function? [?] ACK -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 6 Gerrit-Owner: iedemam Gerrit-Assignee: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Tue, 04 May 2021 08:41:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 08:51:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 May 2021 08:51:11 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: update entries in enum Modulation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24016 ) Change subject: trx_toolkit/data_msg.py: update entries in enum Modulation ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24016 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia96b263bbb162b6c40f2cf81616118cc297299a5 Gerrit-Change-Number: 24016 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 08:51:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 08:52:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 May 2021 08:52:21 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/fake_trx.py: use raw string notation for regex In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24106 ) Change subject: trx_toolkit/fake_trx.py: use raw string notation for regex ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24106 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1b2b6675851275bd5285ffc287410535b22055ae Gerrit-Change-Number: 24106 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 08:52:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 08:54:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 May 2021 08:54:38 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/test_codec.py: add missing sub-test with key=0x88 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24108 ) Change subject: trx_toolkit/test_codec.py: add missing sub-test with key=0x88 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: If8e2ebedc48fecc4c54c71e40cadb0f3273602c5 Gerrit-Change-Number: 24108 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 08:54:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 08:55:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 May 2021 08:55:32 +0000 Subject: Change in docker-playground[master]: centos8-build: use nightly URL to invalidate cache In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24112 ) Change subject: centos8-build: use nightly URL to invalidate cache ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1c5cfe782207af2a2e505fa30e77b9ea9fd143c5 Gerrit-Change-Number: 24112 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 08:55:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 08:57:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 May 2021 08:57:43 +0000 Subject: Change in docker-playground[master]: centos8: don't download .repo file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24113 ) Change subject: centos8: don't download .repo file ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic9ffa79cfe5a74bdc59d5ddd505a9af7be574bf9 Gerrit-Change-Number: 24113 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 08:57:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 08:59:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 May 2021 08:59:06 +0000 Subject: Change in docker-playground[master]: make: add OSMOCOM_REPO_PATH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24114 ) Change subject: make: add OSMOCOM_REPO_PATH ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8010a4d49d4620a5c47c2ff4f909a9aeeaad7b73 Gerrit-Change-Number: 24114 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 08:59:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 09:02:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 May 2021 09:02:49 +0000 Subject: Change in docker-playground[master]: make: add OSMOCOM_REPO_TESTSUITE_MIRROR In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24115 ) Change subject: make: add OSMOCOM_REPO_TESTSUITE_MIRROR ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7187473c2188a864b60b03789eff62e0a527404a Gerrit-Change-Number: 24115 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 09:02:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 09:03:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 May 2021 09:03:24 +0000 Subject: Change in docker-playground[master]: centos8-obs-latest: use OSMOCOM_REPO_VERSION In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24116 ) Change subject: centos8-obs-latest: use OSMOCOM_REPO_VERSION ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I5eb0d9943ac5c3ffe800774f1a91897fdf0ca0c3 Gerrit-Change-Number: 24116 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 09:03:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 09:04:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 May 2021 09:04:00 +0000 Subject: Change in docker-playground[master]: osmo-*-latest: use OSMOCOM_REPO_VERSION In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24117 ) Change subject: osmo-*-latest: use OSMOCOM_REPO_VERSION ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I237a296ea8a1e08bc31f351c5f42a59fe7438815 Gerrit-Change-Number: 24117 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 09:04:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 09:05:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 May 2021 09:05:25 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: support 2021q1 feed In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24118 ) Change subject: jenkins-common.sh: support 2021q1 feed ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Icf1e3f1928658ff3d82190c4176252cf3590a1f5 Gerrit-Change-Number: 24118 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 09:05:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 09:05:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 May 2021 09:05:38 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add TTCN3-centos-*-2021q1 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24119 ) Change subject: jobs/ttcn3: add TTCN3-centos-*-2021q1 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2ec731d7d6d31c06b8feccbc7620128ebb034299 Gerrit-Change-Number: 24119 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 09:05:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 09:24:54 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 4 May 2021 09:24:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Verify CommonID contains LastUsedEutranPLMNId when in CSFB In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23969 ) Change subject: msc: Verify CommonID contains LastUsedEutranPLMNId when in CSFB ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23969 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: I161529fd9c8cacb7d17ea18660998df06bb0b575 Gerrit-Change-Number: 23969 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 04 May 2021 09:24:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 09:26:07 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 4 May 2021 09:26:07 +0000 Subject: Change in docker-playground[master]: centos8-build: use nightly URL to invalidate cache In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24112 ) Change subject: centos8-build: use nightly URL to invalidate cache ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1c5cfe782207af2a2e505fa30e77b9ea9fd143c5 Gerrit-Change-Number: 24112 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 09:26:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 09:27:35 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 4 May 2021 09:27:35 +0000 Subject: Change in docker-playground[master]: centos8: don't download .repo file In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24113 ) Change subject: centos8: don't download .repo file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic9ffa79cfe5a74bdc59d5ddd505a9af7be574bf9 Gerrit-Change-Number: 24113 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 09:27:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 09:30:13 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 4 May 2021 09:30:13 +0000 Subject: Change in docker-playground[master]: make: add OSMOCOM_REPO_PATH In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24114 ) Change subject: make: add OSMOCOM_REPO_PATH ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8010a4d49d4620a5c47c2ff4f909a9aeeaad7b73 Gerrit-Change-Number: 24114 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 09:30:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 09:33:13 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 4 May 2021 09:33:13 +0000 Subject: Change in docker-playground[master]: make: add OSMOCOM_REPO_TESTSUITE_MIRROR In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24115 ) Change subject: make: add OSMOCOM_REPO_TESTSUITE_MIRROR ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7187473c2188a864b60b03789eff62e0a527404a Gerrit-Change-Number: 24115 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 09:33:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 09:33:40 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 4 May 2021 09:33:40 +0000 Subject: Change in docker-playground[master]: centos8-obs-latest: use OSMOCOM_REPO_VERSION In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24116 ) Change subject: centos8-obs-latest: use OSMOCOM_REPO_VERSION ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I5eb0d9943ac5c3ffe800774f1a91897fdf0ca0c3 Gerrit-Change-Number: 24116 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 09:33:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 09:34:17 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 4 May 2021 09:34:17 +0000 Subject: Change in docker-playground[master]: osmo-*-latest: use OSMOCOM_REPO_VERSION In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24117 ) Change subject: osmo-*-latest: use OSMOCOM_REPO_VERSION ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I237a296ea8a1e08bc31f351c5f42a59fe7438815 Gerrit-Change-Number: 24117 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 09:34:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 09:40:31 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 4 May 2021 09:40:31 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add TTCN3-centos-*-2021q1 In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24119 ) Change subject: jobs/ttcn3: add TTCN3-centos-*-2021q1 ...................................................................... Patch Set 1: Code-Review+1 Not sure if you need/want to change the job names to get these jobs listed in a separate view in Jenkins. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2ec731d7d6d31c06b8feccbc7620128ebb034299 Gerrit-Change-Number: 24119 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 09:40:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 09:48:46 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 4 May 2021 09:48:46 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/test_codec.py: add missing sub-test with key=0x88 In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24108 ) Change subject: trx_toolkit/test_codec.py: add missing sub-test with key=0x88 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: If8e2ebedc48fecc4c54c71e40cadb0f3273602c5 Gerrit-Change-Number: 24108 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 09:48:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:02:03 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 10:02:03 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add TTCN3-centos-*-2021q1 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24119 ) Change subject: jobs/ttcn3: add TTCN3-centos-*-2021q1 ...................................................................... Patch Set 1: Verified+1 Code-Review+2 > Patch Set 1: Code-Review+1 > > Not sure if you need/want to change the job names to get these jobs listed in a separate view in Jenkins. We could hide 20*q* with the names set here from the TTCN3-centos view with e.g. ^TTCN3-centos-.*(? Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 10:02:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:02:17 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 10:02:17 +0000 Subject: Change in docker-playground[master]: centos8-build: use nightly URL to invalidate cache In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24112 ) Change subject: centos8-build: use nightly URL to invalidate cache ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1c5cfe782207af2a2e505fa30e77b9ea9fd143c5 Gerrit-Change-Number: 24112 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 10:02:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:02:21 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 10:02:21 +0000 Subject: Change in docker-playground[master]: centos8: don't download .repo file In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24113 ) Change subject: centos8: don't download .repo file ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic9ffa79cfe5a74bdc59d5ddd505a9af7be574bf9 Gerrit-Change-Number: 24113 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 10:02:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:02:24 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 10:02:24 +0000 Subject: Change in docker-playground[master]: make: add OSMOCOM_REPO_PATH In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24114 ) Change subject: make: add OSMOCOM_REPO_PATH ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8010a4d49d4620a5c47c2ff4f909a9aeeaad7b73 Gerrit-Change-Number: 24114 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 10:02:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:02:35 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 10:02:35 +0000 Subject: Change in docker-playground[master]: make: add OSMOCOM_REPO_TESTSUITE_MIRROR In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24115 ) Change subject: make: add OSMOCOM_REPO_TESTSUITE_MIRROR ...................................................................... Patch Set 1: Verified+1 Code-Review+2 1+1=2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7187473c2188a864b60b03789eff62e0a527404a Gerrit-Change-Number: 24115 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 10:02:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:02:47 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 10:02:47 +0000 Subject: Change in docker-playground[master]: centos8-obs-latest: use OSMOCOM_REPO_VERSION In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24116 ) Change subject: centos8-obs-latest: use OSMOCOM_REPO_VERSION ...................................................................... Patch Set 1: Verified+1 Code-Review+2 1+1=2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I5eb0d9943ac5c3ffe800774f1a91897fdf0ca0c3 Gerrit-Change-Number: 24116 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 10:02:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:02:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 10:02:56 +0000 Subject: Change in docker-playground[master]: osmo-*-latest: use OSMOCOM_REPO_VERSION In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24117 ) Change subject: osmo-*-latest: use OSMOCOM_REPO_VERSION ...................................................................... Patch Set 1: Verified+1 Code-Review+2 1+1=2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I237a296ea8a1e08bc31f351c5f42a59fe7438815 Gerrit-Change-Number: 24117 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 10:02:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:03:19 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 4 May 2021 10:03:19 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: update entries in enum Modulation In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24016 ) Change subject: trx_toolkit/data_msg.py: update entries in enum Modulation ...................................................................... Patch Set 2: Code-Review-1 (1 comment) There seems to be a problem... https://gerrit.osmocom.org/c/osmocom-bb/+/24016/2/src/target/trx_toolkit/data_msg.py File src/target/trx_toolkit/data_msg.py: https://gerrit.osmocom.org/c/osmocom-bb/+/24016/2/src/target/trx_toolkit/data_msg.py at 40 PS2, Line 40: ModAQPSK = (0b1100, 2 * GMSK_BURST_LEN) I have re-calculated the factors for the burst length. They seem to be correct, but for ModAQPSK the left side has 0b0110 and the right side has 0b1100 as index (?). To me this looks like an error. ModGMSK = (0b0000, 148) => 1 * GMSK_BURST_LEN Mod8PSK = (0b0100, 444) => 3 * GMSK_BURST_LEN ModAQPSK = (0b0110, 296) => 2 * GMSK_BURST_LEN (0b0110 != 0b1100) Mod16QAM = (0b1000, 592) => 4 * GMSK_BURST_LEN Mod32QAM = (0b1010, 740) => 5 * GMSK_BURST_LEN -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24016 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia96b263bbb162b6c40f2cf81616118cc297299a5 Gerrit-Change-Number: 24016 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 10:03:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:03:30 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 10:03:30 +0000 Subject: Change in docker-playground[master]: centos8-build: use nightly URL to invalidate cache In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24112 ) Change subject: centos8-build: use nightly URL to invalidate cache ...................................................................... centos8-build: use nightly URL to invalidate cache Fix copy paste mistake. Change-Id: I1c5cfe782207af2a2e505fa30e77b9ea9fd143c5 --- M centos8-build/Dockerfile 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved osmith: Verified diff --git a/centos8-build/Dockerfile b/centos8-build/Dockerfile index 001c161..68920e0 100644 --- a/centos8-build/Dockerfile +++ b/centos8-build/Dockerfile @@ -54,4 +54,4 @@ COPY .common/respawn.sh /usr/local/bin/respawn.sh # Invalidate cache once the repository is updated -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml +ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1c5cfe782207af2a2e505fa30e77b9ea9fd143c5 Gerrit-Change-Number: 24112 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:03:31 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 10:03:31 +0000 Subject: Change in docker-playground[master]: centos8: don't download .repo file In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24113 ) Change subject: centos8: don't download .repo file ...................................................................... centos8: don't download .repo file Generate the .repo file on the fly instead of downloading it from the OBS repository. Ensure the gpgkey gets downloaded via HTTPS. I'm about to use centos8-obs-latest with an alternative repository, which does not have the .repo file. Adjust other containers for consistency. Related: SYS#5370 Related: https://download.opensuse.org/repositories/network:/osmocom:/latest/CentOS_8/network:osmocom:latest.repo Related: https://download.opensuse.org/repositories/network:/osmocom:/nightly/CentOS_8/network:osmocom:nightly.repo Change-Id: Ic9ffa79cfe5a74bdc59d5ddd505a9af7be574bf9 --- M centos8-build/Dockerfile M centos8-obs-latest/Dockerfile M osmo-ran/Dockerfile M osmo-ran/split/ran-bsc_mgw/Dockerfile M osmo-ran/split/ran-bts_pcu/Dockerfile M osmo-ran/split/ran-trx-ipc/Dockerfile M osmo-ran/split/ran-trx-uhd/Dockerfile 7 files changed, 63 insertions(+), 9 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved osmith: Verified diff --git a/centos8-build/Dockerfile b/centos8-build/Dockerfile index 68920e0..0e8b5f5 100644 --- a/centos8-build/Dockerfile +++ b/centos8-build/Dockerfile @@ -10,8 +10,15 @@ # Make additional development libraries available from PowerTools and Osmocom nightly (e.g. libdbi) RUN dnf install -y dnf-utils wget && \ yum config-manager --set-enabled powertools && \ - cd /etc/yum.repos.d/ && \ - wget $OSMOCOM_REPO_MIRROR/repositories/network:osmocom:nightly/CentOS_8/network:osmocom:nightly.repo + export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_MIRROR | sed s/^http:/https:/)" && \ + { echo "[network_osmocom_nightly]"; \ + echo "name=Nightly packages of the Osmocom project (CentOS_8)"; \ + echo "type=rpm-md"; \ + echo "baseurl=${OSMOCOM_REPO_MIRROR}/repositories/network:/osmocom:/nightly/CentOS_8/"; \ + echo "gpgcheck=1"; \ + echo "gpgkey=${MIRROR_HTTPS}/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml.key"; \ + echo "enabled=1"; \ + } > /etc/yum.repos.d/network:osmocom:nightly.repo RUN dnf install -y \ autoconf \ diff --git a/centos8-obs-latest/Dockerfile b/centos8-obs-latest/Dockerfile index a9dfc9b..6e4f27e 100644 --- a/centos8-obs-latest/Dockerfile +++ b/centos8-obs-latest/Dockerfile @@ -11,8 +11,15 @@ # Osmocom latest OBS repository RUN dnf install -y dnf-utils wget && \ yum config-manager --set-enabled powertools && \ - cd /etc/yum.repos.d/ && \ - wget $OSMOCOM_REPO_MIRROR/repositories/network:osmocom:latest/CentOS_8/network:osmocom:latest.repo + export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_MIRROR | sed s/^http:/https:/)" && \ + { echo "[network_osmocom_latest]"; \ + echo "name=Latest tagged versions of osmocom cellular network elements (CentOS_8)"; \ + echo "type=rpm-md"; \ + echo "baseurl=${OSMOCOM_REPO_MIRROR}/repositories/network:/osmocom:/latest/CentOS_8/"; \ + echo "gpgcheck=1"; \ + echo "gpgkey=${MIRROR_HTTPS}/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml.key"; \ + echo "enabled=1"; \ + } > /etc/yum.repos.d/network:osmocom:latest.repo RUN dnf install -y \ telnet diff --git a/osmo-ran/Dockerfile b/osmo-ran/Dockerfile index 3a5dac9..5b28b44 100644 --- a/osmo-ran/Dockerfile +++ b/osmo-ran/Dockerfile @@ -26,7 +26,15 @@ dnf install -y dnf-utils wget && \ yum config-manager --set-enabled PowerTools && \ cd /etc/yum.repos.d/ && \ - wget ${OSMOCOM_REPO_CENTOS}/network:osmocom:$OSMOCOM_REPO_VERSION.repo \ + export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_CENTOS | sed s/^http:/https:/)" && \ + { echo "[network_osmocom_${OSMOCOM_REPO_VERSION}]"; \ + echo "name=Osmocom ${OSMOCOM_REPO_VERSION}"; \ + echo "type=rpm-md"; \ + echo "baseurl=${OSMOCOM_REPO_CENTOS}"; \ + echo "gpgcheck=1"; \ + echo "gpgkey=${MIRROR_HTTPS}repodata/repomd.xml.key"; \ + echo "enabled=1"; \ + } > "/etc/yum.repos.d/network:osmocom:${OSMOCOM_REPO_VERSION}.repo" \ ;; \ esac diff --git a/osmo-ran/split/ran-bsc_mgw/Dockerfile b/osmo-ran/split/ran-bsc_mgw/Dockerfile index b433d72..eec69ec 100644 --- a/osmo-ran/split/ran-bsc_mgw/Dockerfile +++ b/osmo-ran/split/ran-bsc_mgw/Dockerfile @@ -26,7 +26,15 @@ dnf install -y dnf-utils wget && \ yum config-manager --set-enabled PowerTools && \ cd /etc/yum.repos.d/ && \ - wget ${OSMOCOM_REPO_CENTOS}/network:osmocom:$OSMOCOM_REPO_VERSION.repo \ + export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_CENTOS | sed s/^http:/https:/)" && \ + { echo "[network_osmocom_${OSMOCOM_REPO_VERSION}]"; \ + echo "name=Osmocom ${OSMOCOM_REPO_VERSION}"; \ + echo "type=rpm-md"; \ + echo "baseurl=${OSMOCOM_REPO_CENTOS}"; \ + echo "gpgcheck=1"; \ + echo "gpgkey=${MIRROR_HTTPS}repodata/repomd.xml.key"; \ + echo "enabled=1"; \ + } > "/etc/yum.repos.d/network:osmocom:${OSMOCOM_REPO_VERSION}.repo" \ ;; \ esac diff --git a/osmo-ran/split/ran-bts_pcu/Dockerfile b/osmo-ran/split/ran-bts_pcu/Dockerfile index f30e3d2..c3a1219 100644 --- a/osmo-ran/split/ran-bts_pcu/Dockerfile +++ b/osmo-ran/split/ran-bts_pcu/Dockerfile @@ -26,7 +26,15 @@ dnf install -y dnf-utils wget && \ yum config-manager --set-enabled PowerTools && \ cd /etc/yum.repos.d/ && \ - wget ${OSMOCOM_REPO_CENTOS}/network:osmocom:$OSMOCOM_REPO_VERSION.repo \ + export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_CENTOS | sed s/^http:/https:/)" && \ + { echo "[network_osmocom_${OSMOCOM_REPO_VERSION}]"; \ + echo "name=Osmocom ${OSMOCOM_REPO_VERSION}"; \ + echo "type=rpm-md"; \ + echo "baseurl=${OSMOCOM_REPO_CENTOS}"; \ + echo "gpgcheck=1"; \ + echo "gpgkey=${MIRROR_HTTPS}repodata/repomd.xml.key"; \ + echo "enabled=1"; \ + } > "/etc/yum.repos.d/network:osmocom:${OSMOCOM_REPO_VERSION}.repo" \ ;; \ esac diff --git a/osmo-ran/split/ran-trx-ipc/Dockerfile b/osmo-ran/split/ran-trx-ipc/Dockerfile index 0720ccc..b3677b4 100644 --- a/osmo-ran/split/ran-trx-ipc/Dockerfile +++ b/osmo-ran/split/ran-trx-ipc/Dockerfile @@ -26,7 +26,15 @@ dnf install -y dnf-utils wget && \ yum config-manager --set-enabled PowerTools && \ cd /etc/yum.repos.d/ && \ - wget ${OSMOCOM_REPO_CENTOS}/network:osmocom:$OSMOCOM_REPO_VERSION.repo \ + export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_CENTOS | sed s/^http:/https:/)" && \ + { echo "[network_osmocom_${OSMOCOM_REPO_VERSION}]"; \ + echo "name=Osmocom ${OSMOCOM_REPO_VERSION}"; \ + echo "type=rpm-md"; \ + echo "baseurl=${OSMOCOM_REPO_CENTOS}"; \ + echo "gpgcheck=1"; \ + echo "gpgkey=${MIRROR_HTTPS}repodata/repomd.xml.key"; \ + echo "enabled=1"; \ + } > "/etc/yum.repos.d/network:osmocom:${OSMOCOM_REPO_VERSION}.repo" \ ;; \ esac diff --git a/osmo-ran/split/ran-trx-uhd/Dockerfile b/osmo-ran/split/ran-trx-uhd/Dockerfile index 5431210..9279112 100644 --- a/osmo-ran/split/ran-trx-uhd/Dockerfile +++ b/osmo-ran/split/ran-trx-uhd/Dockerfile @@ -26,7 +26,15 @@ dnf install -y dnf-utils wget && \ yum config-manager --set-enabled PowerTools && \ cd /etc/yum.repos.d/ && \ - wget ${OSMOCOM_REPO_CENTOS}/network:osmocom:$OSMOCOM_REPO_VERSION.repo \ + export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_CENTOS | sed s/^http:/https:/)" && \ + { echo "[network_osmocom_${OSMOCOM_REPO_VERSION}]"; \ + echo "name=Osmocom ${OSMOCOM_REPO_VERSION}"; \ + echo "type=rpm-md"; \ + echo "baseurl=${OSMOCOM_REPO_CENTOS}"; \ + echo "gpgcheck=1"; \ + echo "gpgkey=${MIRROR_HTTPS}repodata/repomd.xml.key"; \ + echo "enabled=1"; \ + } > "/etc/yum.repos.d/network:osmocom:${OSMOCOM_REPO_VERSION}.repo" \ ;; \ esac -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic9ffa79cfe5a74bdc59d5ddd505a9af7be574bf9 Gerrit-Change-Number: 24113 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:03:32 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 10:03:32 +0000 Subject: Change in docker-playground[master]: make: add OSMOCOM_REPO_PATH In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24114 ) Change subject: make: add OSMOCOM_REPO_PATH ...................................................................... make: add OSMOCOM_REPO_PATH Allow to change the path between OSMOCOM_REPO_MIRROR and OSMOCOM_REPO_VERSION. While at it, tweak related comments (comment above the variable as usually, replace "repo" wording with "feed" for the latest/nightly variable as we usually refer to it as feed), and mention OSMOCOM_REPO_* in README.md. In order to be able to use a different mirror for testsuite and systems under test, the testsuite related Dockerfiles (osmocom-bb-host-master, debian-stretch-titan) are not using OSMOCOM_REPO_PATH. We could add a OSMOCOM_REPO_TESTSUITE_PATH on demand, as mentioned in the next commit. Related: SYS#5370 Change-Id: I8010a4d49d4620a5c47c2ff4f909a9aeeaad7b73 --- M README.md M centos8-build/Dockerfile M centos8-obs-latest/Dockerfile M debian-buster-erlang/Dockerfile M debian-buster-jenkins/Dockerfile M debian-buster-simtrace2/Dockerfile M debian-jessie-osmocom/Dockerfile M debian-stretch-build/Dockerfile M debian-stretch-jenkins/Dockerfile M debian-stretch-obs-latest/Dockerfile M make/Makefile M osmo-ran/Dockerfile M osmo-ran/split/ran-bsc_mgw/Dockerfile M osmo-ran/split/ran-bts_pcu/Dockerfile M osmo-ran/split/ran-trx-ipc/Dockerfile M osmo-ran/split/ran-trx-uhd/Dockerfile 16 files changed, 50 insertions(+), 25 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved osmith: Verified diff --git a/README.md b/README.md index 1cd9488..490e2a8 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,10 @@ * `KERNEL_URL`: git remote url (default: net-next.git on kernel.org) * `KERNEL_BRANCH` branch to checkout (default: master) +The OBS repository mirror consists of +`${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/${OSMOCOM_REPO_VERSION}`, +e.g. `https://download.opensuse.org/repositories/network:/osmocom:/latest/`. + ### Creating kernel config fragments For the kernel tests, we are storing kernel config fragments in the git repository instead of full kernel configs. Generate them as follows: diff --git a/centos8-build/Dockerfile b/centos8-build/Dockerfile index 0e8b5f5..e36e3f0 100644 --- a/centos8-build/Dockerfile +++ b/centos8-build/Dockerfile @@ -3,6 +3,7 @@ FROM ${REGISTRY}/${UPSTREAM_DISTRO} # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" # Let package metadata expire after 60 seconds instead of 48 hours RUN echo "metadata_expire=60" >> /etc/dnf/dnf.conf && cat /etc/dnf/dnf.conf @@ -14,9 +15,9 @@ { echo "[network_osmocom_nightly]"; \ echo "name=Nightly packages of the Osmocom project (CentOS_8)"; \ echo "type=rpm-md"; \ - echo "baseurl=${OSMOCOM_REPO_MIRROR}/repositories/network:/osmocom:/nightly/CentOS_8/"; \ + echo "baseurl=${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/nightly/CentOS_8/"; \ echo "gpgcheck=1"; \ - echo "gpgkey=${MIRROR_HTTPS}/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml.key"; \ + echo "gpgkey=${MIRROR_HTTPS}/${OSMOCOM_REPO_PATH}/nightly/CentOS_8/repodata/repomd.xml.key"; \ echo "enabled=1"; \ } > /etc/yum.repos.d/network:osmocom:nightly.repo @@ -61,4 +62,4 @@ COPY .common/respawn.sh /usr/local/bin/respawn.sh # Invalidate cache once the repository is updated -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml +ADD ${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml diff --git a/centos8-obs-latest/Dockerfile b/centos8-obs-latest/Dockerfile index 6e4f27e..5c2bd7d 100644 --- a/centos8-obs-latest/Dockerfile +++ b/centos8-obs-latest/Dockerfile @@ -3,6 +3,7 @@ FROM ${REGISTRY}/${UPSTREAM_DISTRO} # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" # Let package metadata expire after 60 seconds instead of 48 hours RUN echo "metadata_expire=60" >> /etc/dnf/dnf.conf && cat /etc/dnf/dnf.conf @@ -15,9 +16,9 @@ { echo "[network_osmocom_latest]"; \ echo "name=Latest tagged versions of osmocom cellular network elements (CentOS_8)"; \ echo "type=rpm-md"; \ - echo "baseurl=${OSMOCOM_REPO_MIRROR}/repositories/network:/osmocom:/latest/CentOS_8/"; \ + echo "baseurl=${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/latest/CentOS_8/"; \ echo "gpgcheck=1"; \ - echo "gpgkey=${MIRROR_HTTPS}/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml.key"; \ + echo "gpgkey=${MIRROR_HTTPS}/${OSMOCOM_REPO_PATH}/latest/CentOS_8/repodata/repomd.xml.key"; \ echo "enabled=1"; \ } > /etc/yum.repos.d/network:osmocom:latest.repo @@ -28,4 +29,4 @@ COPY .common/respawn.sh /usr/local/bin/respawn.sh # Invalidate cache once the repository is updated -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml +ADD ${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml diff --git a/debian-buster-erlang/Dockerfile b/debian-buster-erlang/Dockerfile index e909731..10b2c88 100644 --- a/debian-buster-erlang/Dockerfile +++ b/debian-buster-erlang/Dockerfile @@ -2,10 +2,11 @@ FROM ${REGISTRY}/debian:buster # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" MAINTAINER Harald Welte -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_10/" +ARG OSMOCOM_REPO="${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/latest/Debian_10/" # install the erlang vm and rebar (2) RUN apt-get update && \ diff --git a/debian-buster-jenkins/Dockerfile b/debian-buster-jenkins/Dockerfile index baa076a..ff69d35 100644 --- a/debian-buster-jenkins/Dockerfile +++ b/debian-buster-jenkins/Dockerfile @@ -6,6 +6,7 @@ FROM ${REGISTRY}/debian:${DEBIAN_VERSION} # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" # Make "$DEBIAN_VERSION" available after FROM # https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact @@ -169,7 +170,7 @@ # Install packages from Osmocom OBS repositories: # * osmo-remsim: libulfius # * osmo-trx: liblimesuite-dev, libuhd-dev -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_10/" +ARG OSMOCOM_REPO="${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/nightly/Debian_10/" COPY .common/Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ diff --git a/debian-buster-simtrace2/Dockerfile b/debian-buster-simtrace2/Dockerfile index e07e65a..a8765b9 100644 --- a/debian-buster-simtrace2/Dockerfile +++ b/debian-buster-simtrace2/Dockerfile @@ -2,10 +2,11 @@ FROM $USER/debian-buster-build # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" MAINTAINER Harald Welte -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_10/" +ARG OSMOCOM_REPO="${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/nightly/Debian_10/" COPY .common/Release.key /tmp/Release.key diff --git a/debian-jessie-osmocom/Dockerfile b/debian-jessie-osmocom/Dockerfile index 087a783..d95e249 100644 --- a/debian-jessie-osmocom/Dockerfile +++ b/debian-jessie-osmocom/Dockerfile @@ -2,10 +2,11 @@ FROM ${REGISTRY}/debian:jessie # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" MAINTAINER Harald Welte -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/nightly/Debian_8.0/" COPY .common/Release.key /tmp/Release.key diff --git a/debian-stretch-build/Dockerfile b/debian-stretch-build/Dockerfile index 2c3128e..b04eb8e 100644 --- a/debian-stretch-build/Dockerfile +++ b/debian-stretch-build/Dockerfile @@ -3,7 +3,8 @@ FROM ${REGISTRY}/${UPSTREAM_DISTRO} # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" +ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/${OSMOCOM_REPO_PATH}/nightly/Debian_9.0/" RUN apt-get update && \ apt-get upgrade -y && \ diff --git a/debian-stretch-jenkins/Dockerfile b/debian-stretch-jenkins/Dockerfile index 43a4035..162ab84 100644 --- a/debian-stretch-jenkins/Dockerfile +++ b/debian-stretch-jenkins/Dockerfile @@ -6,6 +6,7 @@ FROM ${REGISTRY}/debian:${DEBIAN_VERSION} # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" # Make "$DEBIAN_VERSION" available after FROM # https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact @@ -169,7 +170,7 @@ # Install packages from Osmocom OBS repositories: # * osmo-remsim: libulfius # * osmo-trx: liblimesuite-dev, libuhd-dev -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/nightly/Debian_9.0/" COPY .common/Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ diff --git a/debian-stretch-obs-latest/Dockerfile b/debian-stretch-obs-latest/Dockerfile index 3089712..aaf1b43 100644 --- a/debian-stretch-obs-latest/Dockerfile +++ b/debian-stretch-obs-latest/Dockerfile @@ -3,7 +3,8 @@ FROM ${REGISTRY}/${UPSTREAM_DISTRO} # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" +ARG OSMOCOM_REPO="${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/latest/Debian_9.0/" RUN apt-get update && \ apt-get upgrade -y && \ diff --git a/make/Makefile b/make/Makefile index 3b4ea81..6d053f9 100644 --- a/make/Makefile +++ b/make/Makefile @@ -37,10 +37,16 @@ PULL?= UPSTREAM_DISTRO?=debian:stretch DISTRO?=debian-stretch -OSMOCOM_REPO_MIRROR?=http://download.opensuse.org + +# Full OBS repository mirror consists of: +# ${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/${OSMOCOM_REPO_VERSION} +# e.g. "https://download.opensuse.org/repositories/network:/osmocom:/latest/" +# # Use if down: OSMOCOM_REPO_MIRROR=http://ftp.uni-stuttgart.de/opensuse +OSMOCOM_REPO_MIRROR?=http://download.opensuse.org +OSMOCOM_REPO_PATH?=repositories/network:/osmocom: +# Use "nightly" to use the nightly feed OSMOCOM_REPO_VERSION?=latest -# Use "nightly" to use the nightly repo ROOT_DIR=$(shell git rev-parse --show-toplevel) RELEASE_SUPPORT := $(ROOT_DIR)/make/.make-release-support @@ -76,6 +82,7 @@ --build-arg UPSTREAM_DISTRO=$(UPSTREAM_DISTRO) \ --build-arg DISTRO=$(DISTRO) \ --build-arg OSMOCOM_REPO_MIRROR=$(OSMOCOM_REPO_MIRROR) \ + --build-arg OSMOCOM_REPO_PATH=$(OSMOCOM_REPO_PATH) \ --build-arg OSMOCOM_REPO_VERSION=$(OSMOCOM_REPO_VERSION) \ --build-arg LIBOSMOCORE_BRANCH=$(LIBOSMOCORE_BRANCH) \ --build-arg OSMO_BB_BRANCH=$(OSMO_BB_BRANCH) \ diff --git a/osmo-ran/Dockerfile b/osmo-ran/Dockerfile index 5b28b44..61978ed 100644 --- a/osmo-ran/Dockerfile +++ b/osmo-ran/Dockerfile @@ -3,12 +3,13 @@ # Arguments used after FROM must be specified again ARG DISTRO ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" ARG OSMOCOM_REPO_VERSION=latest MAINTAINER Pau Espin Pedrol -ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" -ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" +ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/Debian_9.0/" +ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/CentOS_8/" COPY .common/Release.key /tmp/Release.key diff --git a/osmo-ran/split/ran-bsc_mgw/Dockerfile b/osmo-ran/split/ran-bsc_mgw/Dockerfile index eec69ec..0cf8347 100644 --- a/osmo-ran/split/ran-bsc_mgw/Dockerfile +++ b/osmo-ran/split/ran-bsc_mgw/Dockerfile @@ -3,12 +3,13 @@ # Arguments used after FROM must be specified again ARG DISTRO ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" ARG OSMOCOM_REPO_VERSION=latest MAINTAINER Pau Espin Pedrol -ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" -ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" +ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/Debian_9.0/" +ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/CentOS_8/" COPY .common/Release.key /tmp/Release.key diff --git a/osmo-ran/split/ran-bts_pcu/Dockerfile b/osmo-ran/split/ran-bts_pcu/Dockerfile index c3a1219..e49b8b1 100644 --- a/osmo-ran/split/ran-bts_pcu/Dockerfile +++ b/osmo-ran/split/ran-bts_pcu/Dockerfile @@ -3,12 +3,13 @@ # Arguments used after FROM must be specified again ARG DISTRO ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" ARG OSMOCOM_REPO_VERSION=latest MAINTAINER Pau Espin Pedrol -ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" -ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" +ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/Debian_9.0/" +ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/CentOS_8/" COPY .common/Release.key /tmp/Release.key diff --git a/osmo-ran/split/ran-trx-ipc/Dockerfile b/osmo-ran/split/ran-trx-ipc/Dockerfile index b3677b4..bcd84cb 100644 --- a/osmo-ran/split/ran-trx-ipc/Dockerfile +++ b/osmo-ran/split/ran-trx-ipc/Dockerfile @@ -3,12 +3,13 @@ # Arguments used after FROM must be specified again ARG DISTRO ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" ARG OSMOCOM_REPO_VERSION=latest MAINTAINER Pau Espin Pedrol -ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" -ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" +ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/Debian_9.0/" +ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/CentOS_8/" COPY .common/Release.key /tmp/Release.key diff --git a/osmo-ran/split/ran-trx-uhd/Dockerfile b/osmo-ran/split/ran-trx-uhd/Dockerfile index 9279112..08baa07 100644 --- a/osmo-ran/split/ran-trx-uhd/Dockerfile +++ b/osmo-ran/split/ran-trx-uhd/Dockerfile @@ -3,12 +3,13 @@ # Arguments used after FROM must be specified again ARG DISTRO ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" ARG OSMOCOM_REPO_VERSION=latest MAINTAINER Pau Espin Pedrol -ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" -ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" +ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/Debian_9.0/" +ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/$OSMOCOM_REPO_PATH/$OSMOCOM_REPO_VERSION/CentOS_8/" COPY .common/Release.key /tmp/Release.key -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8010a4d49d4620a5c47c2ff4f909a9aeeaad7b73 Gerrit-Change-Number: 24114 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:03:32 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 10:03:32 +0000 Subject: Change in docker-playground[master]: make: add OSMOCOM_REPO_TESTSUITE_MIRROR In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24115 ) Change subject: make: add OSMOCOM_REPO_TESTSUITE_MIRROR ...................................................................... make: add OSMOCOM_REPO_TESTSUITE_MIRROR Make it possible to set a different mirror for debian-stretch-titan than for all other containers. 2021q1 doesn't have the eclipse-titan package and it doesn't make sense to build it there. I've thought about adding OSMOCOM_REPO_TESTSUITE_PATH and OSMOCOM_REPO_TESTSUITE_VERSION too, but we don't have any use for these right now. Let's add them later if we should need them. Related: SYS#5370. Change-Id: I7187473c2188a864b60b03789eff62e0a527404a --- M debian-stretch-titan/Dockerfile M make/Makefile M osmocom-bb-host-master/Dockerfile 3 files changed, 12 insertions(+), 4 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve daniel: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/debian-stretch-titan/Dockerfile b/debian-stretch-titan/Dockerfile index e28c556..5b6b134 100644 --- a/debian-stretch-titan/Dockerfile +++ b/debian-stretch-titan/Dockerfile @@ -2,11 +2,11 @@ ARG UPSTREAM_DISTRO=debian:stretch FROM ${REGISTRY}/${UPSTREAM_DISTRO} # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_TESTSUITE_MIRROR="http://download.opensuse.org" MAINTAINER Harald Welte -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" +ARG OSMOCOM_REPO="$OSMOCOM_REPO_TESTSUITE_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" RUN apt-get update && apt-get install -y \ gnupg diff --git a/make/Makefile b/make/Makefile index 6d053f9..edb0890 100644 --- a/make/Makefile +++ b/make/Makefile @@ -47,6 +47,13 @@ OSMOCOM_REPO_PATH?=repositories/network:/osmocom: # Use "nightly" to use the nightly feed OSMOCOM_REPO_VERSION?=latest +# Build the testsuite with the following mirror. In jenkins we always want to +# point this to http://download.opensuse.org, so the same testsuite can be +# used no matter which OSMOCOM_REPO_MIRROR is set. This avoids rebuilding the +# testsuite when we only want to change OSMOCOM_REPO_MIRROR to build different +# subjects under test, and it works even if the OSMOCOM_REPO_MIRROR only has +# a subset of the network:osmocom:latest packages (i.e. no eclipse-titan). +OSMOCOM_REPO_TESTSUITE_MIRROR?=$(OSMOCOM_REPO_MIRROR) ROOT_DIR=$(shell git rev-parse --show-toplevel) RELEASE_SUPPORT := $(ROOT_DIR)/make/.make-release-support @@ -84,6 +91,7 @@ --build-arg OSMOCOM_REPO_MIRROR=$(OSMOCOM_REPO_MIRROR) \ --build-arg OSMOCOM_REPO_PATH=$(OSMOCOM_REPO_PATH) \ --build-arg OSMOCOM_REPO_VERSION=$(OSMOCOM_REPO_VERSION) \ + --build-arg OSMOCOM_REPO_TESTSUITE_MIRROR=$(OSMOCOM_REPO_TESTSUITE_MIRROR) \ --build-arg LIBOSMOCORE_BRANCH=$(LIBOSMOCORE_BRANCH) \ --build-arg OSMO_BB_BRANCH=$(OSMO_BB_BRANCH) \ --build-arg OSMO_BSC_BRANCH=$(OSMO_BSC_BRANCH) \ diff --git a/osmocom-bb-host-master/Dockerfile b/osmocom-bb-host-master/Dockerfile index 53b8dcc..2e86767 100644 --- a/osmocom-bb-host-master/Dockerfile +++ b/osmocom-bb-host-master/Dockerfile @@ -4,13 +4,13 @@ FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO_TESTSUITE_MIRROR="http://download.opensuse.org" MAINTAINER Harald Welte ARG OSMO_BB_BRANCH="master" -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="$OSMOCOM_REPO_TESTSUITE_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY .common/Release.key /tmp/Release.key -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7187473c2188a864b60b03789eff62e0a527404a Gerrit-Change-Number: 24115 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:03:33 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 10:03:33 +0000 Subject: Change in docker-playground[master]: centos8-obs-latest: use OSMOCOM_REPO_VERSION In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24116 ) Change subject: centos8-obs-latest: use OSMOCOM_REPO_VERSION ...................................................................... centos8-obs-latest: use OSMOCOM_REPO_VERSION Related: SYS#5370 Change-Id: I5eb0d9943ac5c3ffe800774f1a91897fdf0ca0c3 --- M centos8-obs-latest/Dockerfile 1 file changed, 8 insertions(+), 7 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve daniel: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/centos8-obs-latest/Dockerfile b/centos8-obs-latest/Dockerfile index 5c2bd7d..4e180de 100644 --- a/centos8-obs-latest/Dockerfile +++ b/centos8-obs-latest/Dockerfile @@ -4,23 +4,24 @@ # Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:" +ARG OSMOCOM_REPO_VERSION="latest" # Let package metadata expire after 60 seconds instead of 48 hours RUN echo "metadata_expire=60" >> /etc/dnf/dnf.conf && cat /etc/dnf/dnf.conf # Make additional development libraries available from PowerTools and set up -# Osmocom latest OBS repository +# Osmocom OBS repository RUN dnf install -y dnf-utils wget && \ yum config-manager --set-enabled powertools && \ export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_MIRROR | sed s/^http:/https:/)" && \ - { echo "[network_osmocom_latest]"; \ - echo "name=Latest tagged versions of osmocom cellular network elements (CentOS_8)"; \ + { echo "[network_osmocom_${OSMOCOM_REPO_VERSION}]"; \ + echo "name=Osmocom ${OSMOCOM_REPO_VERSION}"; \ echo "type=rpm-md"; \ - echo "baseurl=${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/latest/CentOS_8/"; \ + echo "baseurl=${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/${OSMOCOM_REPO_VERSION}/CentOS_8/"; \ echo "gpgcheck=1"; \ - echo "gpgkey=${MIRROR_HTTPS}/${OSMOCOM_REPO_PATH}/latest/CentOS_8/repodata/repomd.xml.key"; \ + echo "gpgkey=${MIRROR_HTTPS}/${OSMOCOM_REPO_PATH}/${OSMOCOM_REPO_VERSION}/CentOS_8/repodata/repomd.xml.key"; \ echo "enabled=1"; \ - } > /etc/yum.repos.d/network:osmocom:latest.repo + } > "/etc/yum.repos.d/network:osmocom:${OSMOCOM_REPO_VERSION}.repo" RUN dnf install -y \ telnet @@ -29,4 +30,4 @@ COPY .common/respawn.sh /usr/local/bin/respawn.sh # Invalidate cache once the repository is updated -ADD ${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml +ADD ${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/${OSMOCOM_REPO_VERSION}/CentOS_8/repodata/repomd.xml /tmp/repomd.xml -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I5eb0d9943ac5c3ffe800774f1a91897fdf0ca0c3 Gerrit-Change-Number: 24116 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:03:33 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 10:03:33 +0000 Subject: Change in docker-playground[master]: osmo-*-latest: use OSMOCOM_REPO_VERSION In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24117 ) Change subject: osmo-*-latest: use OSMOCOM_REPO_VERSION ...................................................................... osmo-*-latest: use OSMOCOM_REPO_VERSION Related: SYS#5370 Change-Id: I237a296ea8a1e08bc31f351c5f42a59fe7438815 --- M osmo-bsc-latest/Dockerfile M osmo-bts-latest/Dockerfile M osmo-cbc-latest/Dockerfile M osmo-cn-latest/Dockerfile M osmo-gbproxy-latest/Dockerfile M osmo-ggsn-latest/Dockerfile M osmo-hlr-latest/Dockerfile M osmo-hnbgw-latest/Dockerfile M osmo-mgw-latest/Dockerfile M osmo-msc-latest/Dockerfile M osmo-nitb-latest/Dockerfile M osmo-pcap-latest/Dockerfile M osmo-pcu-latest/Dockerfile M osmo-remsim-latest/Dockerfile M osmo-sgsn-latest/Dockerfile M osmo-sip-latest/Dockerfile M osmo-smlc-latest/Dockerfile M osmo-stp-latest/Dockerfile 18 files changed, 36 insertions(+), 18 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve daniel: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/osmo-bsc-latest/Dockerfile b/osmo-bsc-latest/Dockerfile index 3352ed2..e4a6044 100644 --- a/osmo-bsc-latest/Dockerfile +++ b/osmo-bsc-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-bts-latest/Dockerfile b/osmo-bts-latest/Dockerfile index 2b41968..ad79cb3 100644 --- a/osmo-bts-latest/Dockerfile +++ b/osmo-bts-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-cbc-latest/Dockerfile b/osmo-cbc-latest/Dockerfile index d919dae..5361e2f 100644 --- a/osmo-cbc-latest/Dockerfile +++ b/osmo-cbc-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-cn-latest/Dockerfile b/osmo-cn-latest/Dockerfile index 3da7175..e17efee 100644 --- a/osmo-cn-latest/Dockerfile +++ b/osmo-cn-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again RUN apt-get update && \ diff --git a/osmo-gbproxy-latest/Dockerfile b/osmo-gbproxy-latest/Dockerfile index 7c729a5..5e16f99 100644 --- a/osmo-gbproxy-latest/Dockerfile +++ b/osmo-gbproxy-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-ggsn-latest/Dockerfile b/osmo-ggsn-latest/Dockerfile index 0da9703..e5408e3 100644 --- a/osmo-ggsn-latest/Dockerfile +++ b/osmo-ggsn-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-hlr-latest/Dockerfile b/osmo-hlr-latest/Dockerfile index ece7aa6..b0a06d0 100644 --- a/osmo-hlr-latest/Dockerfile +++ b/osmo-hlr-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-hnbgw-latest/Dockerfile b/osmo-hnbgw-latest/Dockerfile index 81fdead..f71751d 100644 --- a/osmo-hnbgw-latest/Dockerfile +++ b/osmo-hnbgw-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again RUN apt-get update && \ diff --git a/osmo-mgw-latest/Dockerfile b/osmo-mgw-latest/Dockerfile index 5b01fe8..ede6cb1 100644 --- a/osmo-mgw-latest/Dockerfile +++ b/osmo-mgw-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-msc-latest/Dockerfile b/osmo-msc-latest/Dockerfile index 29e932a..cc18602 100644 --- a/osmo-msc-latest/Dockerfile +++ b/osmo-msc-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-nitb-latest/Dockerfile b/osmo-nitb-latest/Dockerfile index 8c3acb8..bd4f73b 100644 --- a/osmo-nitb-latest/Dockerfile +++ b/osmo-nitb-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-pcap-latest/Dockerfile b/osmo-pcap-latest/Dockerfile index 30c6a56..7cb4d79 100644 --- a/osmo-pcap-latest/Dockerfile +++ b/osmo-pcap-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-pcu-latest/Dockerfile b/osmo-pcu-latest/Dockerfile index 7f1b3ac..bb1fe41 100644 --- a/osmo-pcu-latest/Dockerfile +++ b/osmo-pcu-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-remsim-latest/Dockerfile b/osmo-remsim-latest/Dockerfile index db1aa05..991c97e 100644 --- a/osmo-remsim-latest/Dockerfile +++ b/osmo-remsim-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again RUN apt-get update && \ diff --git a/osmo-sgsn-latest/Dockerfile b/osmo-sgsn-latest/Dockerfile index 21728c9..c816026 100644 --- a/osmo-sgsn-latest/Dockerfile +++ b/osmo-sgsn-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-sip-latest/Dockerfile b/osmo-sip-latest/Dockerfile index 825735c..d70341b 100644 --- a/osmo-sip-latest/Dockerfile +++ b/osmo-sip-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-smlc-latest/Dockerfile b/osmo-smlc-latest/Dockerfile index 12487ec..6d9299b 100644 --- a/osmo-smlc-latest/Dockerfile +++ b/osmo-smlc-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO diff --git a/osmo-stp-latest/Dockerfile b/osmo-stp-latest/Dockerfile index d3279f0..5a22bc7 100644 --- a/osmo-stp-latest/Dockerfile +++ b/osmo-stp-latest/Dockerfile @@ -1,6 +1,7 @@ ARG USER ARG DISTRO -FROM $USER/$DISTRO-obs-latest +ARG OSMOCOM_REPO_VERSION="latest" +FROM $USER/$DISTRO-obs-$OSMOCOM_REPO_VERSION # Arguments used after FROM must be specified again ARG DISTRO -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I237a296ea8a1e08bc31f351c5f42a59fe7438815 Gerrit-Change-Number: 24117 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:03:45 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 10:03:45 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add TTCN3-centos-*-2021q1 In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24119 ) Change subject: jobs/ttcn3: add TTCN3-centos-*-2021q1 ...................................................................... jobs/ttcn3: add TTCN3-centos-*-2021q1 Depends: docker-playground Icf1e3f1928658ff3d82190c4176252cf3590a1f5 Related: SYS#5370 Change-Id: I2ec731d7d6d31c06b8feccbc7620128ebb034299 --- M jobs/ttcn3-testsuites.yml 1 file changed, 30 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve daniel: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 87a6237..3b35ab9 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -301,6 +301,28 @@ blocking: "^(ttcn3|TTCN3-.*)-cbc-test.*" timer: 40 10 * * * + # centos8 2021q1 (SYS#5370) + - TTCN3-centos-pcu-test-2021q1: + blocking: "^(ttcn3|TTCN3-.*)-pcu-test.*" + timer: 00 11 * * * + - TTCN3-centos-pcu-test-sns-2021q1: + blocking: "^(ttcn3|TTCN3-.*)-pcu-test.*" + timer: 15 11 * * * + - TTCN3-centos-bsc-test-2021q1: + blocking: "^(ttcn3|TTCN3-.*)-bsc-test.*" + timer: 30 11 * * * + - TTCN3-centos-mgw-test-2021q1: + blocking: "^(ttcn3|TTCN3-.*)-mgw-test.*" + timer: 45 11 * * * + - TTCN3-centos-bts-test-2021q1: + blocking: "^(ttcn3|TTCN3-.*)-bts-test.*" + timer: 00 12 * * * + - TTCN3-centos-smlc-test-2021q1: + blocking: "^(ttcn3|TTCN3-.*)-smlc-test.*" + timer: 15 12 * * * + - TTCN3-centos-gbproxy-test-2021q1: + blocking: "^(ttcn3|TTCN3-.*)-gbproxy-test.*" + timer: 30 12 * * * - job-template: name: '{job-name}' @@ -356,6 +378,14 @@ DIR="$(echo "{job-name}" | sed s/^TTCN3-centos\-/ttcn3-/ | sed s/\-latest$//)" export IMAGE_SUFFIX="latest-centos8" ;; + TTCN3-centos-*-20*q*) + export OSMOCOM_REPO_TESTSUITE_MIRROR="http://download.opensuse.org" + export OSMOCOM_REPO_MIRROR="https://downloads.osmocom.org" + export OSMOCOM_REPO_PATH="osmo-maintained" + export OSMOCOM_REPO_VERSION="$(echo "{job-name}" | grep -o -P -- "20\d\dq.*$")" # e.g. "2021q1" + export IMAGE_SUFFIX="$OSMOCOM_REPO_VERSION-centos8" + DIR="$(echo "{job-name}" | sed s/^TTCN3-centos\-/ttcn3-/ | sed s/\-$OSMOCOM_REPO_VERSION$//)" + ;; TTCN3-centos-*) DIR="$(echo "{job-name}" | sed s/^TTCN3-centos\-/ttcn3-/)" export IMAGE_SUFFIX="master-centos8" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2ec731d7d6d31c06b8feccbc7620128ebb034299 Gerrit-Change-Number: 24119 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:08:06 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 4 May 2021 10:08:06 +0000 Subject: Change in pysim[master]: shell: Add 'reset' command to reset the card In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24109 ) Change subject: shell: Add 'reset' command to reset the card ...................................................................... Patch Set 1: Verified+1 Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I992eb3e0ed52f7941a5fb44f28a42e22ebd49301 Gerrit-Change-Number: 24109 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 04 May 2021 10:08:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:09:47 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 4 May 2021 10:09:47 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: support 2021q1 feed In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24118 ) Change subject: jenkins-common.sh: support 2021q1 feed ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/docker-playground/+/24118/1/jenkins-common.sh File jenkins-common.sh: https://gerrit.osmocom.org/c/docker-playground/+/24118/1/jenkins-common.sh at 47 PS1, Line 47: echo "$1" | sed 's/20.*q.*\-centos8$/latest/' Maybe be more specific in these regex? e.g. 20..q. or even match on digits only. You used \d\d for the year in docker_depends() https://gerrit.osmocom.org/c/docker-playground/+/24118/1/jenkins-common.sh at 55 PS1, Line 55: echo "$1" | sed 's/20.*q.*$/latest/' Same. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Icf1e3f1928658ff3d82190c4176252cf3590a1f5 Gerrit-Change-Number: 24118 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-Comment-Date: Tue, 04 May 2021 10:09:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:11:25 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 4 May 2021 10:11:25 +0000 Subject: Change in pysim[master]: ts_31_103: Use EF_ARR decoder from TS 102 221 In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24038 ) Change subject: ts_31_103: Use EF_ARR decoder from TS 102 221 ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24038 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iaab9f038544b5914405568b072731d3847c9d017 Gerrit-Change-Number: 24038 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 04 May 2021 10:11:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:13:56 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 4 May 2021 10:13:56 +0000 Subject: Change in pysim[master]: utils: Introduce CommandSet abstraction In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24036 ) Change subject: utils: Introduce CommandSet abstraction ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I314ff15186dc05778ea12363cac0a310b6c7713c Gerrit-Change-Number: 24036 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 04 May 2021 10:13:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:18:23 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 4 May 2021 10:18:23 +0000 Subject: Change in pysim[master]: utils: Introduce DataObject representation In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24035 ) Change subject: utils: Introduce DataObject representation ...................................................................... Patch Set 4: Code-Review+1 This is a specific topic, maybe it is worth to have this in a separate python module. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iac18e7665481c9323cc7d22a3cd93e3da7869deb Gerrit-Change-Number: 24035 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 04 May 2021 10:18:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:21:35 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 4 May 2021 10:21:35 +0000 Subject: Change in pysim[master]: BER-TLV EF support (command, filesystem, shell) In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24102 ) Change subject: BER-TLV EF support (command, filesystem, shell) ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/24102/2/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/24102/2/pySim/utils.py at 168 PS2, Line 168: Maybe it makes sense to put this in a separate module? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24102 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibfcce757dcd477fd0d6857f64fbb4346d6d62e63 Gerrit-Change-Number: 24102 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 04 May 2021 10:21:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:22:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 10:22:08 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: support 2021q1 feed In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/24118 to look at the new patch set (#2). Change subject: jenkins-common.sh: support 2021q1 feed ...................................................................... jenkins-common.sh: support 2021q1 feed Adjust docker_depends and docker_dir_from_image_name for 2021q1. Extend README.md with examples. Related: SYS#5370 Change-Id: Icf1e3f1928658ff3d82190c4176252cf3590a1f5 --- M README.md M jenkins-common.sh 2 files changed, 52 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/18/24118/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Icf1e3f1928658ff3d82190c4176252cf3590a1f5 Gerrit-Change-Number: 24118 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:22:18 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 10:22:18 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: support 2021q1 feed In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24118 ) Change subject: jenkins-common.sh: support 2021q1 feed ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/docker-playground/+/24118/1/jenkins-common.sh File jenkins-common.sh: https://gerrit.osmocom.org/c/docker-playground/+/24118/1/jenkins-common.sh at 47 PS1, Line 47: echo "$1" | sed 's/20.*q.*\-centos8$/latest/' > Maybe be more specific in these regex? e.g. 20..q. or even match on digits only. [?] Ack. sed doesn't support \d here, so I've used [0-9]. https://gerrit.osmocom.org/c/docker-playground/+/24118/1/jenkins-common.sh at 55 PS1, Line 55: echo "$1" | sed 's/20.*q.*$/latest/' > Same. Ack -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Icf1e3f1928658ff3d82190c4176252cf3590a1f5 Gerrit-Change-Number: 24118 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-Comment-Date: Tue, 04 May 2021 10:22:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:39:02 2021 From: gerrit-no-reply at lists.osmocom.org (iedemam) Date: Tue, 4 May 2021 10:39:02 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 to look at the new patch set (#7). Change subject: stats: add BTS uptime counter ...................................................................... stats: add BTS uptime counter Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bts.c 4 files changed, 32 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/34/23234/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 7 Gerrit-Owner: iedemam Gerrit-Assignee: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:42:00 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 4 May 2021 10:42:00 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: support 2021q1 feed In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24118 ) Change subject: jenkins-common.sh: support 2021q1 feed ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Icf1e3f1928658ff3d82190c4176252cf3590a1f5 Gerrit-Change-Number: 24118 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 10:42:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:43:36 2021 From: gerrit-no-reply at lists.osmocom.org (iedemam) Date: Tue, 4 May 2021 10:43:36 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: iedemam has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23234 ) Change subject: stats: add BTS uptime counter ...................................................................... Patch Set 6: (2 comments) Hi guys, Thanks for the feedback as always! Patch updated to be even more straightforward. Now all I'm doing is adding a timer which records bts_uptime() to a stat_item. -Michael https://gerrit.osmocom.org/c/osmo-bsc/+/23234/6/src/osmo-bsc/bts.c File src/osmo-bsc/bts.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23234/6/src/osmo-bsc/bts.c at 564 PS6, Line 564: /* if the BTS is not up, skip this update */ > With this check I think the uptime will stay at whatever value it was before a BTS disconnected and [?] Good point. I've chosen to simply always record the value as reported by bts_uptime(). If it's zero, the OML link died so we're back to zero uptime anyway. It seems like a bad idea for me to reinterpret what bts_uptime() means when recording it. If we want to change what the returned value should be, maybe it should be in bts_uptime() itself. https://gerrit.osmocom.org/c/osmo-bsc/+/23234/6/src/osmo-bsc/bts.c at 576 PS6, Line 576: uptime_seconds = difftime(tp.tv_sec, bts->uptime); > ACK Now that we've come full circle, you're absolutely correct. We're back to simply recording uptime in a stat_item. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 6 Gerrit-Owner: iedemam Gerrit-Assignee: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Tue, 04 May 2021 10:43:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 10:44:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 May 2021 10:44:02 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23234 ) Change subject: stats: add BTS uptime counter ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 7 Gerrit-Owner: iedemam Gerrit-Assignee: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Tue, 04 May 2021 10:44:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 11:23:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 May 2021 11:23:14 +0000 Subject: Change in pysim[master]: utils: Introduce DataObject representation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24035 ) Change subject: utils: Introduce DataObject representation ...................................................................... Patch Set 4: > This is a specific topic, maybe it is worth to have this in a separate python module. yes, currently it's not clear how it will evolve, I don't have the big picture yet. We can always move it around later. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iac18e7665481c9323cc7d22a3cd93e3da7869deb Gerrit-Change-Number: 24035 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 04 May 2021 11:23:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 11:25:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 May 2021 11:25:42 +0000 Subject: Change in pysim[master]: BER-TLV EF support (command, filesystem, shell) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24102 ) Change subject: BER-TLV EF support (command, filesystem, shell) ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/pysim/+/24102/2/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/24102/2/pySim/utils.py at 168 PS2, Line 168: > Maybe it makes sense to put this in a separate module? likewise here, I think this is just an intermediate and very crude/simplistic code that will first have to evolve into a proper TLV class model, etc. Let's keep it as utility functions until that point. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24102 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibfcce757dcd477fd0d6857f64fbb4346d6d62e63 Gerrit-Change-Number: 24102 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 04 May 2021 11:25:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 11:26:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 May 2021 11:26:09 +0000 Subject: Change in pysim[master]: utils: Introduce CommandSet abstraction In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24036 to look at the new patch set (#5). Change subject: utils: Introduce CommandSet abstraction ...................................................................... utils: Introduce CommandSet abstraction This will allow us to match INS -> name and add more related bits in the future (e.g. for decoding APDU traces) Change-Id: I314ff15186dc05778ea12363cac0a310b6c7713c --- M pySim/utils.py 1 file changed, 66 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/36/24036/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I314ff15186dc05778ea12363cac0a310b6c7713c Gerrit-Change-Number: 24036 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 11:26:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 May 2021 11:26:17 +0000 Subject: Change in pysim[master]: utils: Introduce CommandSet abstraction In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24036 ) Change subject: utils: Introduce CommandSet abstraction ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I314ff15186dc05778ea12363cac0a310b6c7713c Gerrit-Change-Number: 24036 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 04 May 2021 11:26:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 11:26:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 May 2021 11:26:36 +0000 Subject: Change in pysim[master]: utils: Introduce DataObject representation In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24035 ) Change subject: utils: Introduce DataObject representation ...................................................................... utils: Introduce DataObject representation Represents DataObject (DO) in the sense of ISO 7816-4. Contrary to 'normal' TLVs where one simply has any number of different TLVs that may occur in any order at any point, ISO 7816 has the habit of specifying TLV data but with very specific ordering, or specific choices of tags at specific points in a stream. This is represented by DataObjectChoice, DataObjectCollection and DataObjectSequence classes. Change-Id: Iac18e7665481c9323cc7d22a3cd93e3da7869deb --- M pySim/utils.py 1 file changed, 305 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved dexter: Looks good to me, but someone else must approve diff --git a/pySim/utils.py b/pySim/utils.py index c5075ed..fc6ebfd 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -4,6 +4,7 @@ """ import json +import abc from io import BytesIO from typing import Optional, List, Dict, Any, Tuple @@ -911,3 +912,307 @@ res += fstr % (heading) res += "#" * width return res + + + +class DataObject(abc.ABC): + """A DataObject (DO) in the sense of ISO 7816-4. Contrary to 'normal' TLVs where one + simply has any number of different TLVs that may occur in any order at any point, ISO 7816 + has the habit of specifying TLV data but with very spcific ordering, or specific choices of + tags at specific points in a stream. This class tries to represent this.""" + def __init__(self, name, desc = None, tag = None): + """ + Args: + name: A brief, all-lowercase, underscore separated string identifier + desc: A human-readable description of what this DO represents + tag : The tag associated with this DO + """ + self.name = name + self.desc = desc + self.tag = tag + self.decoded = None + self.encoded = None + + def __str__(self): + return self.name + + def __repr__(self): + return '%s(%s)' % (self.__class__, self.name) + + def __or__(self, other): + """OR-ing DataObjects together renders a DataObjectChoice.""" + if isinstance(other, DataObject): + # DataObject | DataObject = DataObjectChoice + return DataObjectChoice(None, members=[self, other]) + else: + raise TypeError + + def __add__(self, other): + """ADD-ing DataObjects together renders a DataObjectCollection.""" + if isinstance(other, DataObject): + # DataObject + DataObject = DataObjectCollectin + return DataObjectCollection(None, members=[self, other]) + + def _compute_tag(self): + """Compute the tag (sometimes the tag encodes part of the value).""" + return self.tag + + def to_dict(self): + """Return a dict in form "name: decoded_value" """ + return {self.name: self.decoded} + + @abc.abstractmethod + def from_bytes(self, do:bytes): + """Parse the value part of the DO into the internal state of this instance. + Args: + do : binary encoded bytes + """ + + @abc.abstractmethod + def to_bytes(self): + """Encode the internal state of this instance into the TLV value part. + Returns: + binary bytes encoding the internal state + """ + + def from_tlv(self, do:bytes): + """Parse binary TLV representation into internal state. The resulting decoded + representation is _not_ returned, but just internalized in the object instance! + Args: + do : input bytes containing TLV-encoded representation + Returns: + bytes remaining at end of 'do' after parsing one TLV/DO. + """ + if do[0] != self.tag: + raise ValueError('%s: Can only decode tag 0x%02x' % (self, self.tag)) + length = do[1] + val = do[2:2+length] + self.from_bytes(val) + # return remaining bytes + return do[2+length:] + + def to_tlv(self): + """Encode internal representation to binary TLV. + Returns: + bytes encoded in TLV format. + """ + val = self.to_bytes() + return bytes(self._compute_tag()) + bytes(len(val)) + val + + # 'codec' interface + def decode(self, binary:bytes): + """Decode a single DOs from the input data. + Args: + binary : binary bytes of encoded data + Returns: + tuple of (decoded_result, binary_remainder) + """ + tag = binary[0] + if tag != self.tag: + raise ValueError('%s: Unknown Tag 0x%02x in %s; expected 0x%02x' % + (self, tag, binary, self.tag)) + remainder = self.from_tlv(binary) + return (self.to_dict(), remainder) + + # 'codec' interface + def encode(self): + return self.to_tlv() + +class TL0_DataObject(DataObject): + """Data Object that has Tag, Len=0 and no Value part.""" + def __init__(self, name, desc, tag, val=None): + super().__init__(name, desc, tag) + self.val = val + + def from_bytes(self, binary:bytes): + if len(binary) != 0: + raise ValueError + self.decoded = self.val + + def to_bytes(self): + return b'' + + +class DataObjectCollection: + """A DataObjectCollection consits of multiple Data Objects identified by their tags. + A given encoded DO may contain any of them in any order, and may contain multiple instances + of each DO.""" + def __init__(self, name, desc = None, members=None): + self.name = name + self.desc = desc + self.members = members or [] + self.members_by_tag = {} + self.members_by_name = {} + self.members_by_tag = { m.tag:m for m in members } + self.members_by_name = { m.name:m for m in members } + + def __str__(self): + member_strs = [str(x) for x in self.members] + return '%s(%s)' % (self.name, ','.join(member_strs)) + + def __repr__(self): + member_strs = [repr(x) for x in self.members] + return '%s(%s)' % (self.__class__, ','.join(member_strs)) + + def __add__(self, other): + """Extending DataCollections with other DataCollections or DataObjects.""" + if isinstance(other, DataObjectCollection): + # adding one collection to another + members = self.members + other.members + return DataObjectCollection(self.name, self.desc, members) + elif isinstance(other, DataObject): + # adding a member to a collection + return DataObjectCollection(self.name, self.desc, self.members + [other]) + else: + raise TypeError + + # 'codec' interface + def decode(self, binary:bytes): + """Decode any number of DOs from the collection until the end of the input data, + or uninitialized memory (0xFF) is found. + Args: + binary : binary bytes of encoded data + Returns: + tuple of (decoded_result, binary_remainder) + """ + res = [] + remainder = binary + # iterate until no binary trailer is left + while len(remainder): + tag = remainder[0] + if tag == 0xff: # uninitialized memory at the end? + return (res, remainder) + if not tag in self.members_by_tag: + raise ValueError('%s: Unknown Tag 0x%02x in %s; expected %s' % + (self, tag, remainder, self.members_by_tag.keys())) + obj = self.members_by_tag[tag] + # DO from_tlv returns remainder of binary + remainder = obj.from_tlv(remainder) + # collect our results + res.append(obj.to_dict()) + return (res, remainder) + + # 'codec' interface + def encode(self, decoded): + res = bytearray() + for i in decoded: + obj = self.members_by_name(i[0]) + res.append(obj.to_tlv()) + return res + +class DataObjectChoice(DataObjectCollection): + """One Data Object from within a choice, identified by its tag. + This means that exactly one member of the choice must occur, and which one occurs depends + on the tag.""" + def __add__(self, other): + """We overload the add operator here to avoid inheriting it from DataObjecCollection.""" + raise TypeError + + def __or__(self, other): + """OR-ing a Choice to another choice extends the choice, as does OR-ing a DataObject.""" + if isinstance(other, DataObjectChoice): + # adding one collection to another + members = self.members + other.members + return DataObjectChoice(self.name, self.desc, members) + elif isinstance(other, DataObject): + # adding a member to a collection + return DataObjectChoice(self.name, self.desc, self.members + [other]) + else: + raise TypeError + + # 'codec' interface + def decode(self, binary:bytes): + """Decode a single DOs from the choice based on the tag. + Args: + binary : binary bytes of encoded data + Returns: + tuple of (decoded_result, binary_remainder) + """ + tag = binary[0] + if tag == 0xff: + return (None, binary) + if not tag in self.members_by_tag: + raise ValueError('%s: Unknown Tag 0x%02x in %s; expected %s' % + (self, tag, binary, self.members_by_tag.keys())) + obj = self.members_by_tag[tag] + remainder = obj.from_tlv(binary) + return (obj.to_dict(), remainder) + + # 'codec' interface + def encode(self, decoded): + obj = self.members_by_name(decoded[0]) + return obj.to_tlv() + +class DataObjectSequence: + """A sequence of DataObjects or DataObjectChoices. This allows us to express a certain + ordered sequence of DOs or choices of DOs that have to appear as per the specification. + By wrapping them into this formal DataObjectSequence, we can offer convenience methods + for encoding or decoding an entire sequence.""" + def __init__(self, name, desc=None, sequence=None): + self.sequence = sequence or [] + self.name = name + self.desc = desc + + def __str__(self): + member_strs = [str(x) for x in self.sequence] + return '%s(%s)' % (self.name, ','.join(member_strs)) + + def __repr__(self): + member_strs = [repr(x) for x in self.sequence] + return '%s(%s)' % (self.__class__, ','.join(member_strs)) + + def __add__(self, other): + """Add (append) a DataObject or DataObjectChoice to the sequence.""" + if isinstance(other, 'DataObject'): + return DataObjectSequence(self.name, self.desc, self.sequence + [other]) + elif isinstance(other, 'DataObjectChoice'): + return DataObjectSequence(self.name, self.desc, self.sequence + [other]) + elif isinstance(other, 'DataObjectSequence'): + return DataObjectSequence(self.name, self.desc, self.sequence + other.sequence) + + # 'codec' interface + def decode(self, binary:bytes): + """Decode a sequence by calling the decoder of each element in the sequence. + Args: + binary : binary bytes of encoded data + Returns: + tuple of (decoded_result, binary_remainder) + """ + remainder = binary + res = [] + for e in self.sequence: + (r, remainder) = e.decode(remainder) + if r: + res.append(r) + return (res, remainder) + + # 'codec' interface + def decode_multi(self, do:bytes): + """Decode multiple occurrences of the sequence from the binary input data. + Args: + do : binary input data to be decoded + Returns: + list of results of the decoder of this sequences + """ + remainder = do + res = [] + while len(remainder): + (r, remainder2) = self.decode(remainder) + if r: + res.append(r) + if len(remainder2) < len(remainder): + remainder = remainder2 + else: + remainder = remainder2 + break + return (res, remainder) + + # 'codec' interface + def encode(self, decoded): + """Encode a sequence by calling the encoder of each element in the sequence.""" + encoded = bytearray() + i = 0 + for e in self.sequence: + encoded += e.encode(decoded[i]) + i += 1 + return encoded -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iac18e7665481c9323cc7d22a3cd93e3da7869deb Gerrit-Change-Number: 24035 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 11:50:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 May 2021 11:50:20 +0000 Subject: Change in pysim[master]: utils: Introduce CommandSet abstraction In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24036 ) Change subject: utils: Introduce CommandSet abstraction ...................................................................... utils: Introduce CommandSet abstraction This will allow us to match INS -> name and add more related bits in the future (e.g. for decoding APDU traces) Change-Id: I314ff15186dc05778ea12363cac0a310b6c7713c --- M pySim/utils.py 1 file changed, 66 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/utils.py b/pySim/utils.py index fc6ebfd..3e67386 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -1216,3 +1216,69 @@ encoded += e.encode(decoded[i]) i += 1 return encoded + +class CardCommand: + """A single card command / instruction.""" + def __init__(self, name, ins, cla_list=None, desc=None): + self.name = name + self.ins = ins + self.cla_list = cla_list or [] + self.cla_list = [x.lower() for x in self.cla_list] + self.desc = desc + + def __str__(self): + return self.name + + def __repr__(self): + return '%s(INS=%02x,CLA=%s)' % (self.name, self.ins, self.cla_list) + + def match_cla(self, cla): + """Does the given CLA match the CLA list of the command?.""" + if not isinstance(cla, str): + cla = '%02u' % cla + cla = cla.lower() + for cla_match in self.cla_list: + cla_masked = "" + for i in range(0, 2): + if cla_match[i] == 'x': + cla_masked += 'x' + else: + cla_masked += cla[i] + if cla_masked == cla_match: + return True + return False + + +class CardCommandSet: + """A set of card instructions, typically specified within one spec.""" + def __init__(self, name, cmds=[]): + self.name = name + self.cmds = { c.ins : c for c in cmds } + + def __str__(self): + return self.name + + def __getitem__(self, idx): + return self.cmds[idx] + + def __add__(self, other): + if isinstance(other, CardCommand): + if other.ins in self.cmds: + raise ValueError('%s: INS 0x%02x already defined: %s' % + (self, other.ins, self.cmds[other.ins])) + self.cmds[other.ins] = other + elif isinstance(other, CardCommandSet): + for c in other.cmds.keys(): + self.cmds[c] = other.cmds[c] + else: + raise ValueError('%s: Unsupported type to add operator: %s' % (self, other)) + + def lookup(self, ins, cla=None): + """look-up the command within the CommandSet.""" + ins = int(ins) + if not ins in self.cmds: + return None + cmd = self.cmds[ins] + if cla and not cmd.match_cla(cla): + return None + return cmd -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I314ff15186dc05778ea12363cac0a310b6c7713c Gerrit-Change-Number: 24036 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 11:50:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 May 2021 11:50:21 +0000 Subject: Change in pysim[master]: Implement EF.ARR (Access Rule Reference) decoding In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24037 ) Change subject: Implement EF.ARR (Access Rule Reference) decoding ...................................................................... Implement EF.ARR (Access Rule Reference) decoding The Access Mode (AM) and Security Condition (SC) DOs are incredibly convoluted, so we need a lot of code to properly decode them. Change-Id: If4f0725a849d41fd93de327ed00996d8179f2b0e --- M README.md M contrib/jenkins.sh M pySim/ts_102_221.py M requirements.txt M setup.py 5 files changed, 386 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/README.md b/README.md index db294c6..274ab11 100644 --- a/README.md +++ b/README.md @@ -39,11 +39,12 @@ - pytlv - cmd2 - jsonpath-ng +- bidict Example for Debian: apt-get install python3-pyscard python3-serial python3-cmd2 python3-pip python3-yaml - pip3 install pytlv + pip3 install pytlv bidict Alternatively, everything can be installed using pip: diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index cd9629c..ed5ba25 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -22,6 +22,7 @@ pip install cmd2 pip install jsonpath-ng pip install construct +pip install bidict # Execute automatically discovered unit tests first python -m unittest discover -v -s tests/ diff --git a/pySim/ts_102_221.py b/pySim/ts_102_221.py index 88a36a1..2c335a6 100644 --- a/pySim/ts_102_221.py +++ b/pySim/ts_102_221.py @@ -21,6 +21,52 @@ from struct import pack, unpack from pySim.utils import * from pySim.filesystem import * +from bidict import bidict + +ts_102_22x_cmdset = CardCommandSet('TS 102 22x', [ + # TS 102 221 Section 10.1.2 Table 10.5 "Coding of Instruction Byte" + CardCommand('SELECT', 0xA4, ['0X', '4X', '6X']), + CardCommand('STATUS', 0xF2, ['8X', 'CX', 'EX']), + CardCommand('READ BINARY', 0xB0, ['0X', '4X', '6X']), + CardCommand('UPDATE BINARY', 0xD6, ['0X', '4X', '6X']), + CardCommand('READ RECORD', 0xB2, ['0X', '4X', '6X']), + CardCommand('UPDATE RECORD', 0xDC, ['0X', '4X', '6X']), + CardCommand('SEARCH RECORD', 0xA2, ['0X', '4X', '6X']), + CardCommand('INCREASE', 0x32, ['8X', 'CX', 'EX']), + CardCommand('RETRIEVE DATA', 0xCB, ['8X', 'CX', 'EX']), + CardCommand('SET DATA', 0xDB, ['8X', 'CX', 'EX']), + CardCommand('VERIFY PIN', 0x20, ['0X', '4X', '6X']), + CardCommand('CHANGE PIN', 0x24, ['0X', '4X', '6X']), + CardCommand('DISABLE PIN', 0x26, ['0X', '4X', '6X']), + CardCommand('ENABLE PIN', 0x28, ['0X', '4X', '6X']), + CardCommand('UNBLOCK PIN', 0x2C, ['0X', '4X', '6X']), + CardCommand('DEACTIVATE FILE', 0x04, ['0X', '4X', '6X']), + CardCommand('ACTIVATE FILE', 0x44, ['0X', '4X', '6X']), + CardCommand('AUTHENTICATE', 0x88, ['0X', '4X', '6X']), + CardCommand('AUTHENTICATE', 0x89, ['0X', '4X', '6X']), + CardCommand('GET CHALLENGE', 0x84, ['0X', '4X', '6X']), + CardCommand('TERMINAL CAPABILITY', 0xAA, ['8X', 'CX', 'EX']), + CardCommand('TERMINAL PROFILE', 0x10, ['80']), + CardCommand('ENVELOPE', 0xC2, ['80']), + CardCommand('FETCH', 0x12, ['80']), + CardCommand('TERMINAL RESPONSE', 0x14, ['80']), + CardCommand('MANAGE CHANNEL', 0x70, ['0X', '4X', '6X']), + CardCommand('MANAGE SECURE CHANNEL', 0x73, ['0X', '4X', '6X']), + CardCommand('TRANSACT DATA', 0x75, ['0X', '4X', '6X']), + CardCommand('SUSPEND UICC', 0x76, ['80']), + CardCommand('GET IDENTITY', 0x78, ['8X', 'CX', 'EX']), + CardCommand('EXCHANGE CAPABILITIES', 0x7A, ['80']), + CardCommand('GET RESPONSE', 0xC0, ['0X', '4X', '6X']), + # TS 102 222 Section 6.1 Table 1 "Coding of the commands" + CardCommand('CREATE FILE', 0xE0, ['0X', '4X']), + CardCommand('DELETE FILE', 0xE4, ['0X', '4X']), + CardCommand('DEACTIVATE FILE', 0x04, ['0X', '4X']), + CardCommand('ACTIVATE FILE', 0x44, ['0X', '4X']), + CardCommand('TERMINATE DF', 0xE6, ['0X', '4X']), + CardCommand('TERMINATE EF', 0xE8, ['0X', '4X']), + CardCommand('TERMINATE CARD USAGE', 0xFE, ['0X', '4X']), + CardCommand('RESIZE FILE', 0xD4, ['8X', 'CX']), + ]) FCP_TLV_MAP = { @@ -150,6 +196,269 @@ return val return {d[0]: newval(inmap, d[0], d[1]) for d in indata.items()} +# ETSI TS 102 221 Section 9.2.7 + ISO7816-4 9.3.3/9.3.4 + +class _AM_DO_DF(DataObject): + def __init__(self): + super().__init__('access_mode', 'Access Mode', tag=0x80) + + def from_bytes(self, do:bytes): + res = [] + if len(do) != 1: + raise ValueError("We only support single-byte AMF inside AM-DO") + amf = do[0] + # tables 17..29 and 41..44 of 7816-4 + if amf & 0x80 == 0: + if amf & 0x40: + res.append('delete_file') + if amf & 0x20: + res.append('terminate_df') + if amf & 0x10: + res.append('activate_file') + if amf & 0x08: + res.append('deactivate_file') + if amf & 0x04: + res.append('create_file_df') + if amf & 0x02: + res.append('create_file_ef') + if amf & 0x01: + res.append('delete_file_child') + self.decoded = res + + def to_bytes(self): + val = 0 + if 'delete_file' in self.decoded: + val |= 0x40 + if 'terminate_df' in self.decoded: + val |= 0x20 + if 'activate_file' in self.decoded: + val |= 0x10 + if 'deactivate_file' in self.decoded: + val |= 0x08 + if 'create_file_df' in self.decoded: + val |= 0x04 + if 'create_file_ef' in self.decoded: + val |= 0x02 + if 'delete_file_child' in self.decoded: + val |= 0x01 + return val.to_bytes(1, 'big') + + +class _AM_DO_EF(DataObject): + """ISO7816-4 9.3.2 Table 18 + 9.3.3.1 Table 31""" + def __init__(self): + super().__init__('access_mode', 'Access Mode', tag=0x80) + + def from_bytes(self, do:bytes): + res = [] + if len(do) != 1: + raise ValueError("We only support single-byte AMF inside AM-DO") + amf = do[0] + # tables 17..29 and 41..44 of 7816-4 + if amf & 0x80 == 0: + if amf & 0x40: + res.append('delete_file') + if amf & 0x20: + res.append('terminate_ef') + if amf & 0x10: + res.append('activate_file_or_record') + if amf & 0x08: + res.append('deactivate_file_or_record') + if amf & 0x04: + res.append('write_append') + if amf & 0x02: + res.append('update_erase') + if amf & 0x01: + res.append('read_search_compare') + self.decoded = res + + def to_bytes(self): + val = 0 + if 'delete_file' in self.decoded: + val |= 0x40 + if 'terminate_ef' in self.decoded: + val |= 0x20 + if 'activate_file_or_record' in self.decoded: + val |= 0x10 + if 'deactivate_file_or_record' in self.decoded: + val |= 0x08 + if 'write_append' in self.decoded: + val |= 0x04 + if 'update_erase' in self.decoded: + val |= 0x02 + if 'read_search_compare' in self.decoded: + val |= 0x01 + return val.to_bytes(1, 'big') + +class _AM_DO_CHDR(DataObject): + """Command Header Access Mode DO according to ISO 7816-4 Table 32.""" + def __init__(self, tag): + super().__init__('command_header', 'Command Header Description', tag=tag) + + def from_bytes(self, do:bytes): + res = {} + i = 0 + if self.tag & 0x08: + res['CLA'] = do[i] + i += 1 + if self.tag & 0x04: + res['INS'] = do[i] + i += 1 + if self.tag & 0x02: + res['P1'] = do[i] + i += 1 + if self.tag & 0x01: + res['P2'] = do[i] + i += 1 + self.decoded = res + + def _compute_tag(self): + """Override to encode the tag, as it depends on the value.""" + tag = 0x80 + if 'CLA' in self.decoded: + tag |= 0x08 + if 'INS' in self.decoded: + tag |= 0x04 + if 'P1' in self.decoded: + tag |= 0x02 + if 'P2' in self.decoded: + tag |= 0x01 + return tag + + def to_bytes(self): + res = bytearray() + if 'CLA' in self.decoded: + res.append(self.decoded['CLA']) + if 'INS' in self.decoded: + res.append(self.decoded['INS']) + if 'P1' in self.decoded: + res.append(self.decoded['P1']) + if 'P2' in self.decoded: + res.append(self.decoded['P2']) + return res + +AM_DO_CHDR = DataObjectChoice('am_do_chdr', members=[ + _AM_DO_CHDR(0x81), _AM_DO_CHDR(0x82), _AM_DO_CHDR(0x83), _AM_DO_CHDR(0x84), + _AM_DO_CHDR(0x85), _AM_DO_CHDR(0x86), _AM_DO_CHDR(0x87), _AM_DO_CHDR(0x88), + _AM_DO_CHDR(0x89), _AM_DO_CHDR(0x8a), _AM_DO_CHDR(0x8b), _AM_DO_CHDR(0x8c), + _AM_DO_CHDR(0x8d), _AM_DO_CHDR(0x8e), _AM_DO_CHDR(0x8f)]) + +AM_DO_DF = AM_DO_CHDR | _AM_DO_DF() +AM_DO_EF = AM_DO_CHDR | _AM_DO_EF() + + +# TS 102 221 Section 9.5.1 / Table 9.3 +pin_names = bidict({ + 0x01: 'PIN1', + 0x02: 'PIN2', + 0x03: 'PIN3', + 0x04: 'PIN4', + 0x05: 'PIN5', + 0x06: 'PIN6', + 0x07: 'PIN7', + 0x08: 'PIN8', + 0x0a: 'ADM1', + 0x0b: 'ADM2', + 0x0c: 'ADM3', + 0x0d: 'ADM4', + 0x0e: 'ADM5', + + 0x11: 'UNIVERSAL_PIN', + 0x81: '2PIN1', + 0x82: '2PIN2', + 0x83: '2PIN3', + 0x84: '2PIN4', + 0x85: '2PIN5', + 0x86: '2PIN6', + 0x87: '2PIN7', + 0x88: '2PIN8', + 0x8a: 'ADM6', + 0x8b: 'ADM7', + 0x8c: 'ADM8', + 0x8d: 'ADM9', + 0x8e: 'ADM10', + }) + +class CRT_DO(DataObject): + """Control Reference Template as per TS 102 221 9.5.1""" + def __init__(self): + super().__init__('control_reference_template', 'Control Reference Template', tag=0xA4) + + def from_bytes(self, do: bytes): + """Decode a Control Reference Template DO.""" + if len(do) != 6: + raise ValueError('Unsupported CRT DO length: %s', do) + if do[0] != 0x83 or do[1] != 0x01: + raise ValueError('Unsupported Key Ref Tag or Len in CRT DO %s', do) + if do[3:] != b'\x95\x01\x08': + raise ValueError('Unsupported Usage Qualifier Tag or Len in CRT DO %s', do) + self.encoded = do[0:6] + self.decoded = pin_names[do[2]] + return do[6:] + + def to_bytes(self): + pin = pin_names.inverse[self.decoded] + return b'\x83\x01' + pin.to_bytes(1, 'big') + b'\x95\x01\x08' + +# ISO7816-4 9.3.3 Table 33 +class SecCondByte_DO(DataObject): + def __init__(self, tag=0x9d): + super().__init__('security_condition_byte', tag=tag) + + def from_bytes(self, binary:bytes): + if len(binary) != 1: + raise ValueError + inb = binary[0] + if inb == 0: + cond = 'always' + if inb == 0xff: + cond = 'never' + res = [] + if inb & 0x80: + cond = 'and' + else: + cond = 'or' + if inb & 0x40: + res.append('secure_messaging') + if inb & 0x20: + res.append('external_auth') + if inb & 0x10: + res.append('user_auth') + rd = {'mode': cond } + if len(res): + rd['conditions'] = res + self.decoded = rd + + def to_bytes(self): + mode = self.decoded['mode'] + if mode == 'always': + res = 0 + elif mode == 'never': + res = 0xff + else: + res = 0 + if mode == 'and': + res |= 0x80 + elif mode == 'or': + pass + else: + raise ValueError('Unknown mode %s' % mode) + for c in self.decoded['conditions']: + if c == 'secure_messaging': + res |= 0x40 + elif c == 'external_auth': + res |= 0x20 + elif c == 'user_auth': + res |= 0x10 + else: + raise ValueError('Unknown condition %s' % c) + return res.to_bytes(1, 'big') + +Always_DO = TL0_DataObject('always', 'Always', 0x90) +Never_DO = TL0_DataObject('never', 'Never', 0x97) +SC_DO = DataObjectChoice('security_condition', 'Security Condition', + members=[Always_DO, Never_DO, SecCondByte_DO(), SecCondByte_DO(0x9e), CRT_DO()]) + # ETSI TS 102 221 Section 11.1.1.3 def decode_select_response(resp_hex): @@ -207,6 +516,78 @@ class EF_ARR(LinFixedEF): def __init__(self, fid='2f06', sfid=0x06, name='EF.ARR', desc='Access Rule Reference'): super().__init__(fid, sfid=sfid, name=name, desc=desc) + # add those commands to the general commands of a TransparentEF + self.shell_commands += [self.AddlShellCommands()] + + @staticmethod + def flatten(inp:list): + """Flatten the somewhat deep/complex/nested data returned from decoder.""" + def sc_abbreviate(sc): + if 'always' in sc: + return 'always' + elif 'never' in sc: + return 'never' + elif 'control_reference_template' in sc: + return sc['control_reference_template'] + else: + return sc + + by_mode = {} + for t in inp: + am = t[0] + sc = t[1] + sc_abbr = sc_abbreviate(sc) + if 'access_mode' in am: + for m in am['access_mode']: + by_mode[m] = sc_abbr + elif 'command_header' in am: + ins = am['command_header']['INS'] + if 'CLA' in am['command_header']: + cla = am['command_header']['CLA'] + else: + cla = None + cmd = ts_102_22x_cmdset.lookup(ins, cla) + if cmd: + name = cmd.name.lower().replace(' ','_') + by_mode[name] = sc_abbr + else: + raise ValueError + else: + raise ValueError + return by_mode + + def _decode_record_bin(self, raw_bin_data): + # we can only guess if we should decode for EF or DF here :( + arr_seq = DataObjectSequence('arr', sequence = [AM_DO_EF, SC_DO]) + dec = arr_seq.decode_multi(raw_bin_data) + # we cannot pass the result through flatten() here, as we don't have a related + # 'un-flattening' decoder, and hence would be unable to encode :( + return dec[0] + + @with_default_category('File-Specific Commands') + class AddlShellCommands(CommandSet): + def __init__(self): + super().__init__() + + @cmd2.with_argparser(LinFixedEF.ShellCommands.read_rec_dec_parser) + def do_read_arr_record(self, opts): + """Read one EF.ARR record in flattened, human-friendly form.""" + (data, sw) = self._cmd.rs.read_record_dec(opts.record_nr) + data = self._cmd.rs.selected_file.flatten(data) + self._cmd.poutput_json(data, opts.oneline) + + @cmd2.with_argparser(LinFixedEF.ShellCommands.read_recs_dec_parser) + def do_read_arr_records(self, opts): + """Read + decode all EF.ARR records in flattened, human-friendly form.""" + num_of_rec = self._cmd.rs.selected_file_fcp['file_descriptor']['num_of_rec'] + # collect all results in list so they are rendered as JSON list when printing + data_list = [] + for recnr in range(1, 1 + num_of_rec): + (data, sw) = self._cmd.rs.read_record_dec(recnr) + data = self._cmd.rs.selected_file.flatten(data) + data_list.append(data) + self._cmd.poutput_json(data_list, opts.oneline) + # TS 102 221 Section 13.6 class EF_UMPC(TransparentEF): diff --git a/requirements.txt b/requirements.txt index 6da27cc..6e8336c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,3 +4,4 @@ cmd2 jsonpath-ng construct +bidict diff --git a/setup.py b/setup.py index 75d7d20..08608dc 100644 --- a/setup.py +++ b/setup.py @@ -15,6 +15,7 @@ "cmd2 >= 1.3.0", "jsonpath-ng", "construct >= 2.9", + "bidict", ], scripts=[ 'pySim-prog.py', -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If4f0725a849d41fd93de327ed00996d8179f2b0e Gerrit-Change-Number: 24037 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 12:06:03 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 12:06:03 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: support 2021q1 feed In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24118 ) Change subject: jenkins-common.sh: support 2021q1 feed ...................................................................... Patch Set 2: Verified+1 Code-Review+2 1+1=2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Icf1e3f1928658ff3d82190c4176252cf3590a1f5 Gerrit-Change-Number: 24118 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 12:06:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 12:06:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 May 2021 12:06:08 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: support 2021q1 feed In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24118 ) Change subject: jenkins-common.sh: support 2021q1 feed ...................................................................... jenkins-common.sh: support 2021q1 feed Adjust docker_depends and docker_dir_from_image_name for 2021q1. Extend README.md with examples. Related: SYS#5370 Change-Id: Icf1e3f1928658ff3d82190c4176252cf3590a1f5 --- M README.md M jenkins-common.sh 2 files changed, 52 insertions(+), 3 deletions(-) Approvals: daniel: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/README.md b/README.md index 490e2a8..9a1889e 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,8 @@ ## Running a testsuite All testsuite folders start with `ttcn3` or `nplab`. Run the following -to build/update all required containers and start a specific testsuite: +to build/update all required containers from the "master" branch and +start a specific testsuite: ``` $ cd ttcn3-mgw-test @@ -26,6 +27,33 @@ * `NO_DOCKER_IMAGE_BUILD`: when set to `1`, it won't try to update the containers (see "caching" below) +### More examples + +latest (debian): +``` +$ export IMAGE_SUFFIX="latest" +$ cd ttcn3-mgw-test +$ ./jenkins.sh +``` + +latest-centos8: +``` +$ export IMAGE_SUFFIX="latest-centos8" +$ cd ttcn3-mgw-test +$ ./jenkins.sh +``` + +2021q1-centos8: +``` +export OSMOCOM_REPO_TESTSUITE_MIRROR="http://download.opensuse.org" +export OSMOCOM_REPO_MIRROR="https://downloads.osmocom.org" +export OSMOCOM_REPO_PATH="osmo-maintained" +export OSMOCOM_REPO_VERSION="2021q1" +export IMAGE_SUFFIX="2021q1-centos8" +$ cd ttcn3-mgw-test +$ ./jenkins.sh +``` + ## Kernel test OsmoGGSN can be configured to either run completely in userspace, or to use the GTP-U kernel module. To test the kernel module, OsmoGGSN and diff --git a/jenkins-common.sh b/jenkins-common.sh index 67a467d..e6a432d 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -6,7 +6,15 @@ } docker_depends() { + local feed + case "$1" in + osmo-*-20*q*-centos8) + # e.g. osmo-mgw-2021q1-centos8 -> centos8-obs-2021q1 + feed="$(echo "$1" | grep -o -P -- "20\d\dq.*$")" # e.g. "2021q1-centos8" + feed="$(echo "$feed" | sed 's/\-centos8$//')" # e.g. "2021q1" + echo "centos8-obs-$feed" + ;; osmo-*-latest-centos8) echo "centos8-obs-latest" ;; osmo-*-centos8) echo "centos8-build" ;; osmo-*-latest) echo "debian-stretch-obs-latest" ;; @@ -34,8 +42,21 @@ docker_dir_from_image_name() { case "$1" in - osmo-*-centos8) echo "$1" | sed 's/\-centos8$//' ;; - *) echo "$1" ;; + osmo-*-20*q*-centos8) + # e.g. osmo-mgw-2021q1-centos8 -> osmo-mgw-latest + echo "$1" | sed 's/20[0-9][0-9]q.*\-centos8$/latest/' + ;; + osmo-*-centos8) + # e.g. osmo-mgw-latest-centos8 -> osmo-mgw-latest + echo "$1" | sed 's/\-centos8$//' + ;; + centos8-obs-20*q*) + # e.g. centos8-obs-2021q1 -> centos8-obs-latest + echo "$1" | sed 's/20[0-9][0-9]q.*$/latest/' + ;; + *) + echo "$1" + ;; esac } -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Icf1e3f1928658ff3d82190c4176252cf3590a1f5 Gerrit-Change-Number: 24118 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 12:44:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 May 2021 12:44:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Verify CommonID contains LastUsedEutranPLMNId when in CSFB In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23969 ) Change subject: msc: Verify CommonID contains LastUsedEutranPLMNId when in CSFB ...................................................................... Patch Set 2: As usual, I am against testing more and more stuff in the existing test cases. You guys usually fine with that (e.g. when adding counters), so proceed as you wish, I don't want to block this work. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23969 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: I161529fd9c8cacb7d17ea18660998df06bb0b575 Gerrit-Change-Number: 23969 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 04 May 2021 12:44:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 12:45:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 May 2021 12:45:27 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/ctrl_if_trx.py: fix undefined variable 'trx' In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24107 ) Change subject: trx_toolkit/ctrl_if_trx.py: fix undefined variable 'trx' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24107 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I5c06fa5183b4d04cbc0c68327a062b320477344c Gerrit-Change-Number: 24107 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 04 May 2021 12:45:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 12:45:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 May 2021 12:45:30 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/fake_trx.py: use raw string notation for regex In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24106 ) Change subject: trx_toolkit/fake_trx.py: use raw string notation for regex ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24106 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1b2b6675851275bd5285ffc287410535b22055ae Gerrit-Change-Number: 24106 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 12:45:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 12:45:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 May 2021 12:45:34 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/test_codec.py: add missing sub-test with key=0x88 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24108 ) Change subject: trx_toolkit/test_codec.py: add missing sub-test with key=0x88 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: If8e2ebedc48fecc4c54c71e40cadb0f3273602c5 Gerrit-Change-Number: 24108 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 12:45:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 12:45:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 May 2021 12:45:40 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/fake_trx.py: use raw string notation for regex In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24106 ) Change subject: trx_toolkit/fake_trx.py: use raw string notation for regex ...................................................................... trx_toolkit/fake_trx.py: use raw string notation for regex This way there is no need to escape backslashes in regex. Change-Id: I1b2b6675851275bd5285ffc287410535b22055ae --- M src/target/trx_toolkit/fake_trx.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/target/trx_toolkit/fake_trx.py b/src/target/trx_toolkit/fake_trx.py index 6f46473..88417f7 100755 --- a/src/target/trx_toolkit/fake_trx.py +++ b/src/target/trx_toolkit/fake_trx.py @@ -483,7 +483,7 @@ @staticmethod def trx_def(val): try: - result = re.match("(.+@)?(.+):([0-9]+)(\/[0-9]+)?", val) + result = re.match(r"(.+@)?(.+):([0-9]+)(/[0-9]+)?", val) (name, addr, port, idx) = result.groups() except: raise argparse.ArgumentTypeError("Invalid TRX definition: %s" % val) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24106 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1b2b6675851275bd5285ffc287410535b22055ae Gerrit-Change-Number: 24106 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 12:45:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 May 2021 12:45:40 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/ctrl_if_trx.py: fix undefined variable 'trx' In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24107 ) Change subject: trx_toolkit/ctrl_if_trx.py: fix undefined variable 'trx' ...................................................................... trx_toolkit/ctrl_if_trx.py: fix undefined variable 'trx' Change-Id: I5c06fa5183b4d04cbc0c68327a062b320477344c --- M src/target/trx_toolkit/ctrl_if_trx.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/target/trx_toolkit/ctrl_if_trx.py b/src/target/trx_toolkit/ctrl_if_trx.py index ea08e7e..22d4b4e 100644 --- a/src/target/trx_toolkit/ctrl_if_trx.py +++ b/src/target/trx_toolkit/ctrl_if_trx.py @@ -210,7 +210,7 @@ self.trx.enable_fh(hsn, maio, ma) return 0 except: - log.error("(%s) Failed to configure frequency hopping" % trx) + log.error("(%s) Failed to configure frequency hopping" % self.trx) return -1 # TRXD header version negotiation -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24107 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I5c06fa5183b4d04cbc0c68327a062b320477344c Gerrit-Change-Number: 24107 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 12:45:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 May 2021 12:45:40 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/test_codec.py: add missing sub-test with key=0x88 In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24108 ) Change subject: trx_toolkit/test_codec.py: add missing sub-test with key=0x88 ...................................................................... trx_toolkit/test_codec.py: add missing sub-test with key=0x88 Change-Id: If8e2ebedc48fecc4c54c71e40cadb0f3273602c5 --- M src/target/trx_toolkit/test_codec.py 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/target/trx_toolkit/test_codec.py b/src/target/trx_toolkit/test_codec.py index e0649d8..ca2f773 100644 --- a/src/target/trx_toolkit/test_codec.py +++ b/src/target/trx_toolkit/test_codec.py @@ -54,6 +54,10 @@ field = TestField('magic') self.assertEqual(field.to_bytes(vals), encoded_de) + with self.subTest('default length=4, different key=0x88'): + field = TestField('magic', key=0x88) + self.assertEqual(field.to_bytes(vals), encoded_88) + with self.subTest('different length=2, default key=0xde'): field = TestField('magic', len=2) vals['magic'] = vals['magic'][:2] -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: If8e2ebedc48fecc4c54c71e40cadb0f3273602c5 Gerrit-Change-Number: 24108 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 12:55:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 May 2021 12:55:28 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: update entries in enum Modulation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24016 ) Change subject: trx_toolkit/data_msg.py: update entries in enum Modulation ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/24016/2/src/target/trx_toolkit/data_msg.py File src/target/trx_toolkit/data_msg.py: https://gerrit.osmocom.org/c/osmocom-bb/+/24016/2/src/target/trx_toolkit/data_msg.py at 40 PS2, Line 40: ModAQPSK = (0b1100, 2 * GMSK_BURST_LEN) Hi Philipp, thanks for review and for checking it carefully! > ... for ModAQPSK the left side has 0b0110 and the right side has 0b1100 as index (?). It took me some time to realize that you mean what was before this patch and after. Good catch, but actually this is expected. I had to change coding of ModAQPSK to allow up to 4 TSC sets. Please see: https://git.osmocom.org/osmo-gsm-manuals/commit/?id=f14fb4b949860d81c732cbc6d3e1f60dbb2ecb45 I am sorry for not making this clean in the commit description, will update it soon. Maybe I should even split this change into a few smaller ones... -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24016 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia96b263bbb162b6c40f2cf81616118cc297299a5 Gerrit-Change-Number: 24016 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 May 2021 12:55:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 13:42:05 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 4 May 2021 13:42:05 +0000 Subject: Change in libosmocore[master]: gprs_ns2: sns: fix del bind() References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24120 ) Change subject: gprs_ns2: sns: fix del bind() ...................................................................... gprs_ns2: sns: fix del bind() When the bind to be removed was the last entry, it would remove the wrong SNS bind resulting in use-after-free memory. Change-Id: I79062d404ebba9d5c8f7f209bebde146fa08c71f --- M src/gb/gprs_ns2_sns.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/20/24120/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index c6e80af..296a2e7 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -1995,6 +1995,7 @@ if (tmp->bind == bind) { llist_del(&tmp->list); found = true; + break; } } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I79062d404ebba9d5c8f7f209bebde146fa08c71f Gerrit-Change-Number: 24120 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 13:42:05 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 4 May 2021 13:42:05 +0000 Subject: Change in libosmocore[master]: gprs_ns2: vty: fix removing a bind from a SNS References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24121 ) Change subject: gprs_ns2: vty: fix removing a bind from a SNS ...................................................................... gprs_ns2: vty: fix removing a bind from a SNS Return 0 after removing a bind. Otherwise the vty would return a wrong error to the user. Change-Id: I088c18abafc82ae7bd7b8c487ad9e9b448c42ba9 --- M src/gb/gprs_ns2_vty.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/21/24121/1 diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index b678db4..4c89e94 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -216,6 +216,7 @@ if (vnse_bind->vbind == vbind) { llist_del(&vnse_bind->list); talloc_free(vnse_bind); + return 0; } } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I088c18abafc82ae7bd7b8c487ad9e9b448c42ba9 Gerrit-Change-Number: 24121 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 13:42:05 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 4 May 2021 13:42:05 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: move selection of the next bind into own function References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24122 ) Change subject: gprs_ns2_sns: move selection of the next bind into own function ...................................................................... gprs_ns2_sns: move selection of the next bind into own function It will be also used by del_bind() when removing an active bind Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d --- M src/gb/gprs_ns2_sns.c 1 file changed, 15 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/24122/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 296a2e7..852af88 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -883,6 +883,20 @@ } } +static void ns2_sns_choose_next_bind(struct ns2_sns_state *gss) +{ + /* take the first bind or take the next bind */ + if (!gss->initial_bind) { + gss->initial_bind = llist_first_entry(&gss->binds, struct ns2_sns_bind, list); + } else { + if (gss->initial_bind->list.next != &gss->binds) { + gss->initial_bind = llist_entry(gss->initial_bind->list.next, struct ns2_sns_bind, list); + } else { + gss->initial_bind = llist_first_entry(&gss->binds, struct ns2_sns_bind, list); + } + } +} + /* setup all dynamic SNS settings, create a new nsvc and send the SIZE */ static void ns2_sns_st_bss_size_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) { @@ -899,18 +913,7 @@ gss->alive = false; ns2_sns_compute_local_ep_from_binds(fi); - - /* take the first bind or take the next bind */ - if (!gss->initial_bind) { - gss->initial_bind = llist_first_entry(&gss->binds, struct ns2_sns_bind, list); - } else { - if (gss->initial_bind->list.next != &gss->binds) { - gss->initial_bind = llist_entry(gss->initial_bind->list.next, struct ns2_sns_bind, list); - } else { - gss->initial_bind = llist_first_entry(&gss->binds, struct ns2_sns_bind, list); - } - } - + ns2_sns_choose_next_bind(gss); /* setup the NSVC */ if (!gss->sns_nsvc) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d Gerrit-Change-Number: 24122 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 13:42:06 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 4 May 2021 13:42:06 +0000 Subject: Change in libosmocore[master]: gprs_ns2: implement outbound ADD/DEL SNS procedures References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24123 ) Change subject: gprs_ns2: implement outbound ADD/DEL SNS procedures ...................................................................... gprs_ns2: implement outbound ADD/DEL SNS procedures When adding or removing a bind, the remote side needs to be informed via the SNS-ADD/SNS-DELETE procedure. Related: OS#5036 Change-Id: I71c33200bd1f0307ceb943ee958db5ebe3623d36 --- M src/gb/gprs_ns2_sns.c 1 file changed, 246 insertions(+), 43 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/24123/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 7131974..accadac 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -124,6 +124,8 @@ enum sns_bind_flag { SNS_BIND_CHANGE_REQ, /*!< request to change weights */ + SNS_BIND_ADD_REQ, /*!< request to add */ + SNS_BIND_DEL_REQ, /*!< request to delete */ }; struct sns_endpoint { @@ -143,7 +145,7 @@ struct ns2_sns_bind { struct llist_head list; struct gprs_ns2_vc_bind *bind; - uint8_t change_weight_state; + uint8_t procedure_state; }; struct ns2_sns_state { @@ -213,7 +215,7 @@ for (size_t i = 0; i < num; i++) { if (ip4[i].ip_addr == saddr->u.sin.sin_addr.s_addr && - ip4->udp_port == saddr->u.sin.sin_port) + ip4[i].udp_port == saddr->u.sin.sin_port) return &ip4[i]; } @@ -469,6 +471,10 @@ if (bind->ll != GPRS_NS2_LL_UDP) continue; + /* ignore binds which are about to be added or deleted */ + if (sbind->procedure_state & (S(SNS_BIND_ADD_REQ) | S(SNS_BIND_DEL_REQ))) + continue; + nsvc = nsvc_for_bind_and_remote(nse, bind, &remote); if (!nsvc) { nsvc = gprs_ns2_ip_connect_inactive(bind, &remote, nse, 0); @@ -500,6 +506,10 @@ if (bind->ll != GPRS_NS2_LL_UDP) continue; + /* ignore binds which are about to be added or deleted */ + if (sbind->procedure_state & (S(SNS_BIND_ADD_REQ) | S(SNS_BIND_DEL_REQ))) + continue; + /* we only care about UDP binds */ nsvc = nsvc_for_bind_and_remote(nse, bind, &remote); if (!nsvc) { @@ -521,6 +531,49 @@ return 0; } +/* Add a given local IPv4 element to gprs_sns_state */ +static int add_local_ip4_elem(struct ns2_sns_state *gss, uint32_t ip_addr, uint16_t port, uint16_t sig_weight, uint16_t data_weight) +{ + unsigned int i; + + if (gss->num_ip4_local + gss->num_ip4_remote >= gss->num_max_nsvcs) + return -NS_CAUSE_INVAL_NR_NS_VC; + + /* check for duplicates */ + for (i = 0; i < gss->num_ip4_local; i++) { + if (gss->ip4_local[i].ip_addr != ip_addr || gss->ip4_local[i].udp_port != port) + continue; + /* TODO: log message duplicate */ + /* TODO: check if this is the correct cause code */ + return -NS_CAUSE_PROTO_ERR_UNSPEC; + } + + gss->ip4_local = talloc_realloc(gss, gss->ip4_local, struct gprs_ns_ie_ip4_elem, + gss->num_ip4_local+1); + gss->ip4_local[gss->num_ip4_local].ip_addr = ip_addr; + gss->ip4_local[gss->num_ip4_local].udp_port = port; + gss->ip4_local[gss->num_ip4_local].sig_weight = sig_weight; + gss->ip4_local[gss->num_ip4_local].data_weight = data_weight; + gss->num_ip4_local += 1; + return 0; +} + +/* Remove a given local IPv4 element from gprs_sns_state */ +static int remove_local_ip4_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip4_elem *ip4) +{ + unsigned int i; + + for (i = 0; i < gss->num_ip4_local; i++) { + if (memcmp(&gss->ip4_local[i], ip4, sizeof(*ip4))) + continue; + /* all array elements < i remain as they are; all > i are shifted left by one */ + memmove(&gss->ip4_local[i], &gss->ip4_local[i+1], gss->num_ip4_local-i-1); + gss->num_ip4_local -= 1; + return 0; + } + return -1; +} + /* Add a given remote IPv4 element to gprs_sns_state */ static int add_remote_ip4_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip4_elem *ip4) { @@ -577,6 +630,49 @@ return -1; } +/* Add a given local IPv6 element to gprs_sns_state */ +static int add_local_ip6_elem(struct ns2_sns_state *gss, const struct in6_addr *ip_addr, uint16_t port, uint16_t sig_weight, uint16_t data_weight) +{ + unsigned int i; + + if (gss->num_ip6_local + gss->num_ip6_remote >= gss->num_max_nsvcs) + return -NS_CAUSE_INVAL_NR_NS_VC; + + /* check for duplicates */ + for (i = 0; i < gss->num_ip6_local; i++) { + if (memcmp(&gss->ip6_local[i].ip_addr, ip_addr, sizeof(struct in6_addr)) || gss->ip6_local[i].udp_port != port) + continue; + /* TODO: log message duplicate */ + /* TODO: check if this is the correct cause code */ + return -NS_CAUSE_PROTO_ERR_UNSPEC; + } + + gss->ip6_local = talloc_realloc(gss, gss->ip6_local, struct gprs_ns_ie_ip6_elem, + gss->num_ip6_local+1); + memcpy(&gss->ip6_local[gss->num_ip6_local].ip_addr, ip_addr, sizeof(struct in6_addr)); + gss->ip6_local[gss->num_ip6_local].udp_port = port; + gss->ip6_local[gss->num_ip6_local].sig_weight = sig_weight; + gss->ip6_local[gss->num_ip6_local].data_weight = data_weight; + gss->num_ip6_local += 1; + return 0; +} + +/* Remove a given local IPv4 element from gprs_sns_state */ +static int remove_local_ip6_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip6_elem *ip6) +{ + unsigned int i; + + for (i = 0; i < gss->num_ip6_local; i++) { + if (memcmp(&gss->ip6_local[i], ip6, sizeof(*ip6))) + continue; + /* all array elements < i remain as they are; all > i are shifted left by one */ + memmove(&gss->ip6_local[i], &gss->ip6_local[i+1], gss->num_ip6_local-i-1); + gss->num_ip6_local -= 1; + return 0; + } + return -1; +} + /* Add a given remote IPv6 element to gprs_sns_state */ static int add_remote_ip6_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip6_elem *ip6) { @@ -826,6 +922,9 @@ const struct osmo_sockaddr *sa = gprs_ns2_ip_bind_sockaddr(sbind->bind); if (!sa) continue; + /* ignore binds which will be added in the future via a procedure */ + if (sbind->procedure_state & S(SNS_BIND_ADD_REQ)) + continue; switch (stype) { case IPv4: @@ -864,7 +963,7 @@ remote = gprs_ns2_ip_vc_remote(gss->sns_nsvc); /* count how many bindings are available (only UDP binds) */ - count = llist_count(&gss->binds); + count = ns2_sns_count_num_local_ep(fi, gss->ip); if (count == 0) { LOGPFSML(fi, LOGL_ERROR, "No local binds for this NSE -> cannot determine IP endpoints\n"); return; @@ -879,6 +978,9 @@ gss->ip4_local = ip4_elems; llist_for_each_entry(sbind, &gss->binds, list) { bind = sbind->bind; + if (sbind->procedure_state & S(GPRS_SNS_EV_REQ_ADD_BIND)) + continue; + sa = gprs_ns2_ip_bind_sockaddr(bind); if (!sa) continue; @@ -915,6 +1017,9 @@ llist_for_each_entry(sbind, &gss->binds, list) { bind = sbind->bind; + if (sbind->procedure_state & S(GPRS_SNS_EV_REQ_ADD_BIND)) + continue; + sa = gprs_ns2_ip_bind_sockaddr(bind); if (!sa) continue; @@ -944,16 +1049,29 @@ } } +static void ns2_sns_clean_procedures(struct ns2_sns_state *gss) +{ + struct ns2_sns_bind *sbind, *tmp; + llist_for_each_entry_safe(sbind, tmp, &gss->binds, list) { + if (sbind->procedure_state & S(SNS_BIND_DEL_REQ)) { + llist_del(&sbind->list); + talloc_free(sbind); + } else { + sbind->procedure_state = 0; + } + } +} + static void ns2_sns_choose_next_bind(struct ns2_sns_state *gss) { /* take the first bind or take the next bind */ if (!gss->initial_bind) { - gss->initial_bind = llist_first_entry(&gss->binds, struct ns2_sns_bind, list); + gss->initial_bind = llist_first_entry_or_null(&gss->binds, struct ns2_sns_bind, list); } else { if (gss->initial_bind->list.next != &gss->binds) { gss->initial_bind = llist_entry(gss->initial_bind->list.next, struct ns2_sns_bind, list); } else { - gss->initial_bind = llist_first_entry(&gss->binds, struct ns2_sns_bind, list); + gss->initial_bind = llist_first_entry_or_null(&gss->binds, struct ns2_sns_bind, list); } } } @@ -963,6 +1081,7 @@ { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + // TODO: check if bss is even valid ! */ OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); /* on a generic failure, the timer callback will recover */ @@ -975,6 +1094,7 @@ gss->alive = false; ns2_sns_compute_local_ep_from_binds(fi); + ns2_sns_clean_procedures(gss); ns2_sns_choose_next_bind(gss); /* setup the NSVC */ @@ -1420,9 +1540,11 @@ static void ns2_sns_st_configured_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) { - struct gprs_ns2_vc *nsvc; struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); + struct gprs_ns2_inst *nsi = nse->nsi; + struct gprs_ns2_vc *nsvc; + struct ns2_sns_bind *sbind; /* NS-VC status updates are only parsed in ST_CONFIGURED. * Do an initial check if there are any nsvc alive atm */ llist_for_each_entry(nsvc, &nse->nsvc, list) { @@ -1439,31 +1561,54 @@ if (old_state != GPRS_SNS_ST_LOCAL_PROCEDURE) ns2_prim_status_ind(nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_CONFIGURED); + + /* check if there are procedure waiting */ + llist_for_each_entry(sbind, &gss->binds, list) { + if (sbind->procedure_state) { + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_LOCAL_PROCEDURE, + nsi->timeout[NS_TOUT_TSNS_PROV], GPRS_SNS_ST_LOCAL_PROCEDURE); + break; + } + } } static void ns2_sns_st_local_procedure_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); struct ns2_sns_bind *sns_bind; if (gss->current_procedure.procedure == SNS_NONE) { gss->N = 0; /* select the next procedure */ + // TODO: first check for BIND_ADD_REQ, then UPDATE_WEIGHT, then DELETE llist_for_each_entry(sns_bind, &gss->binds, list) { - if (sns_bind->change_weight_state & S(SNS_BIND_CHANGE_REQ)) { - sns_bind->change_weight_state = 0; + if (sns_bind->procedure_state & S(SNS_BIND_ADD_REQ)) { + sns_bind->procedure_state = 0; + gss->current_procedure.procedure = SNS_ADD; gss->current_procedure.bind = sns_bind; + break; + } else if (sns_bind->procedure_state & S(SNS_BIND_CHANGE_REQ)) { + sns_bind->procedure_state = 0; gss->current_procedure.procedure = SNS_CHANGE_WEIGHT; - ns2_procedure_set_endpoint(gss); + gss->current_procedure.bind = sns_bind; + break; + } else if (sns_bind->procedure_state & S(SNS_BIND_DEL_REQ)) { + sns_bind->procedure_state = 0; + gss->current_procedure.procedure = SNS_DEL; + gss->current_procedure.bind = sns_bind; break; } } + // TODO: when add still set, take care of change weights at the same time (e.g. add a bind and change the weight at the same time) if (gss->current_procedure.procedure == SNS_NONE) { /* nothing to do */ osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIGURED, 0, 0); return; } + + ns2_procedure_set_endpoint(gss); gss->current_procedure.trans_id++; if (gss->current_procedure.trans_id == 0) gss->current_procedure.trans_id = 1; @@ -1476,6 +1621,8 @@ ns2_tx_sns_add(gss->sns_nsvc, gss->current_procedure.trans_id, gss->current_procedure.ip4, 1, NULL, 0); else ns2_tx_sns_add(gss->sns_nsvc, gss->current_procedure.trans_id, NULL, 0, gss->current_procedure.ip6, 1); + create_missing_nsvcs(fi); + gprs_ns2_start_alive_all_nsvcs(nse); break; case SNS_CHANGE_WEIGHT: if (gss->ip == IPv4) @@ -1500,7 +1647,7 @@ struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); struct gprs_ns2_inst *nsi = nse->nsi; struct tlv_parsed *tp = data; - uint8_t trans_id; + uint8_t trans_id, cause; switch (event) { case GPRS_SNS_EV_RX_ADD: @@ -1521,16 +1668,26 @@ break; } - if (!TLVP_PRESENT(tp, NS_IE_CAUSE)) { - gss->current_procedure.procedure = SNS_NONE; - /* everything ok, local_procedure_onenter() will check if there are more procedures required */ - - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_LOCAL_PROCEDURE, - nsi->timeout[NS_TOUT_TSNS_PROV], GPRS_SNS_ST_LOCAL_PROCEDURE); - return; - } else { + if (TLVP_PRESENT(tp, NS_IE_CAUSE)) { + cause = tlvp_val8(tp, NS_IE_CAUSE, 0); /* what happend on error cause? return to size? */ + LOGPFSML(fi, LOGL_ERROR, "NSEI=%u Rx SNS ACK with cause code %d. Resetting SNS\n", + nse->nsei, cause); + osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); + break; } + + // TODO: cleanup the bind also on SIZE or other failures + if (gss->current_procedure.procedure == SNS_DEL) { + talloc_free(gss->current_procedure.bind); + gss->current_procedure.bind = NULL; + } + + gss->current_procedure.procedure = SNS_NONE; + /* everything ok, local_procedure_onenter() will check if there are more procedures required */ + + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_LOCAL_PROCEDURE, + nsi->timeout[NS_TOUT_TSNS_PROV], GPRS_SNS_ST_LOCAL_PROCEDURE); break; } } @@ -1653,6 +1810,7 @@ /* common allstate-action for both roles */ static void ns2_sns_st_all_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); struct ns2_sns_bind *sbind; struct gprs_ns2_vc *nsvc, *nsvc2; @@ -1662,45 +1820,57 @@ sbind = data; switch (fi->state) { case GPRS_SNS_ST_UNCONFIGURED: - osmo_fsm_inst_dispatch(nse->bss_sns_fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); + osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); break; case GPRS_SNS_ST_BSS_SIZE: - /* TODO: add the ip4 element to the list */ + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_SIZE, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 1); break; case GPRS_SNS_ST_BSS_CONFIG_BSS: case GPRS_SNS_ST_BSS_CONFIG_SGSN: + sbind->procedure_state |= S(SNS_BIND_ADD_REQ); + break; case GPRS_SNS_ST_CONFIGURED: - /* TODO: add to SNS-IP procedure queue & add nsvc() */ + sbind->procedure_state |= S(SNS_BIND_ADD_REQ); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_LOCAL_PROCEDURE, nse->nsi->timeout[NS_TOUT_TSNS_PROV], GPRS_SNS_ST_LOCAL_PROCEDURE); + break; + case GPRS_SNS_ST_LOCAL_PROCEDURE: break; } break; case GPRS_SNS_EV_REQ_DELETE_BIND: sbind = data; + sbind->procedure_state |= S(SNS_BIND_DEL_REQ); switch (fi->state) { case GPRS_SNS_ST_UNCONFIGURED: + llist_del(&sbind->list); + talloc_free(sbind); break; case GPRS_SNS_ST_BSS_SIZE: - /* TODO: remove the ip4 element from the list */ - llist_for_each_entry_safe(nsvc, nsvc2, &nse->nsvc, list) { - if (nsvc->bind == sbind->bind) { - gprs_ns2_free_nsvc(nsvc); + if (sbind == gss->initial_bind) { + /* keep the order of binds */ + ns2_sns_choose_next_bind(gss); + if (sbind == gss->initial_bind) + gss->initial_bind = NULL; + llist_del(&sbind->list); + llist_for_each_entry_safe(nsvc, nsvc2, &nse->nsvc, list) { + if (nsvc->bind == sbind->bind) { + gprs_ns2_free_nsvc(nsvc); + } } + } else { + llist_del(&sbind->list); } + talloc_free(sbind); break; case GPRS_SNS_ST_BSS_CONFIG_BSS: case GPRS_SNS_ST_BSS_CONFIG_SGSN: + break; case GPRS_SNS_ST_CONFIGURED: - /* TODO: do an delete SNS-IP procedure */ - /* TODO: remove the ip4 element to the list */ - llist_for_each_entry_safe(nsvc, nsvc2, &nse->nsvc, list) { - if (nsvc->bind == sbind->bind) { - gprs_ns2_free_nsvc(nsvc); - } - } + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_LOCAL_PROCEDURE, nse->nsi->timeout[NS_TOUT_TSNS_PROV], GPRS_SNS_ST_LOCAL_PROCEDURE); + break; + case GPRS_SNS_ST_LOCAL_PROCEDURE: break; } - /* if this is the last bind, the free_nsvc() will trigger a reselection */ - talloc_free(sbind); break; case GPRS_SNS_EV_REQ_CHANGE_WEIGHT: sbind = data; @@ -1710,11 +1880,21 @@ /* unconfigured or size don't need a procedure */ break; /* all other states */ - default: - /* change the flag */ - sbind->change_weight_state |= S(SNS_BIND_CHANGE_REQ); + case GPRS_SNS_ST_BSS_CONFIG_BSS: + case GPRS_SNS_ST_BSS_CONFIG_SGSN: + case GPRS_SNS_ST_CONFIGURED: + /* ignore update weights when the bind hasn't added */ + if (sbind->procedure_state & S(SNS_BIND_ADD_REQ)) + return; + sbind->procedure_state |= S(SNS_BIND_CHANGE_REQ); osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_LOCAL_PROCEDURE, nse->nsi->timeout[NS_TOUT_TSNS_PROV], GPRS_SNS_ST_LOCAL_PROCEDURE); break; + case GPRS_SNS_ST_LOCAL_PROCEDURE: + /* ignore update weights when the bind hasn't added */ + if (sbind->procedure_state & S(SNS_BIND_ADD_REQ)) + return; + sbind->procedure_state |= S(SNS_BIND_DEL_REQ); + break; } break; } @@ -1745,7 +1925,9 @@ ns2_clear_ipv46_entries_remote(gss); /* Choose the next sns endpoint. */ - if (llist_empty(&gss->sns_endpoints) || llist_empty(&gss->binds)) { + ns2_sns_clean_procedures(gss); + ns2_sns_choose_next_bind(gss); + if (llist_empty(&gss->sns_endpoints) || !gss->initial_bind) { gss->initial = NULL; ns2_prim_status_ind(gss->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_NO_ENDPOINTS); osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 3); @@ -2167,7 +2349,6 @@ return -ENOMEM; tmp->bind = bind; llist_add_tail(&tmp->list, &gss->binds); - osmo_fsm_inst_dispatch(nse->bss_sns_fi, GPRS_SNS_EV_REQ_ADD_BIND, tmp); return 0; } @@ -2193,7 +2374,6 @@ llist_for_each_entry_safe(tmp, tmp2, &gss->binds, list) { if (tmp->bind == bind) { - llist_del(&tmp->list); found = true; break; } @@ -2212,6 +2392,7 @@ const struct osmo_sockaddr *sa; struct gprs_ns_ie_ip4_elem *ip4; struct gprs_ns_ie_ip6_elem *ip6; + int rc; /* TODO: ensure this bind is already added! */ OSMO_ASSERT(gss->current_procedure.procedure != SNS_NONE); @@ -2229,8 +2410,18 @@ ip4 = ip4_elem_by_saddr(gss->ip4_local, gss->num_ip4_local, sa); } - /* TODO: check if this bind is about to be added */ - OSMO_ASSERT(ip4); + if (gss->current_procedure.procedure == SNS_CHANGE_WEIGHT || gss->current_procedure.procedure == SNS_DEL) { + /* for SNS-UPDATE-PROCEDURE we need to find an endpoint */ + OSMO_ASSERT(ip4); + } else if (gss->current_procedure.procedure == SNS_ADD) { + OSMO_ASSERT(!ip4); + rc = add_local_ip4_elem(gss, sa->u.sin.sin_addr.s_addr, sa->u.sin.sin_port, + gss->current_procedure.bind->bind->sns_sig_weight, + gss->current_procedure.bind->bind->sns_data_weight); + OSMO_ASSERT(!rc); + ip4 = &gss->ip4_local[gss->num_ip4_local - 1]; + } + gss->current_procedure.ip4 = ip4; break; case AF_INET6: @@ -2242,7 +2433,19 @@ } else { ip6 = ip6_elem_by_saddr(gss->ip6_local, gss->num_ip6_local, sa); } - OSMO_ASSERT(ip6); + + /* for SNS-UPDATE-PROCEDURE we need to find an endpoint */ + if (gss->current_procedure.procedure == SNS_CHANGE_WEIGHT || gss->current_procedure.procedure == SNS_DEL) { + OSMO_ASSERT(ip6); + } else if (gss->current_procedure.procedure == SNS_ADD) { + OSMO_ASSERT(!ip6); + rc = add_local_ip6_elem(gss, &sa->u.sin6.sin6_addr, sa->u.sin6.sin6_port, + gss->current_procedure.bind->bind->sns_sig_weight, + gss->current_procedure.bind->bind->sns_data_weight); + OSMO_ASSERT(!rc); + ip6 = &gss->ip6_local[gss->num_ip6_local - 1]; + } + gss->current_procedure.ip6 = ip6; break; default: -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I71c33200bd1f0307ceb943ee958db5ebe3623d36 Gerrit-Change-Number: 24123 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 14:14:02 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 4 May 2021 14:14:02 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23234 ) Change subject: stats: add BTS uptime counter ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 7 Gerrit-Owner: iedemam Gerrit-Assignee: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Tue, 04 May 2021 14:14:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 14:16:18 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 4 May 2021 14:16:18 +0000 Subject: Change in libosmocore[master]: gprs_ns2: sns: fix del bind() In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24120 to look at the new patch set (#2). Change subject: gprs_ns2: sns: fix del bind() ...................................................................... gprs_ns2: sns: fix del bind() When the bind to be removed is not the last entry, it would remove the wrong SNS bind resulting in use-after-free memory. Change-Id: I79062d404ebba9d5c8f7f209bebde146fa08c71f --- M src/gb/gprs_ns2_sns.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/20/24120/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I79062d404ebba9d5c8f7f209bebde146fa08c71f Gerrit-Change-Number: 24120 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 14:16:18 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 4 May 2021 14:16:18 +0000 Subject: Change in libosmocore[master]: gprs_ns2: vty: fix removing a bind from a SNS In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24121 to look at the new patch set (#2). Change subject: gprs_ns2: vty: fix removing a bind from a SNS ...................................................................... gprs_ns2: vty: fix removing a bind from a SNS Return 0 after removing a bind. Otherwise the vty would return a wrong error to the user. Change-Id: I088c18abafc82ae7bd7b8c487ad9e9b448c42ba9 --- M src/gb/gprs_ns2_vty.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/21/24121/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I088c18abafc82ae7bd7b8c487ad9e9b448c42ba9 Gerrit-Change-Number: 24121 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 14:16:18 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 4 May 2021 14:16:18 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: move selection of the next bind into own function In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24122 to look at the new patch set (#2). Change subject: gprs_ns2_sns: move selection of the next bind into own function ...................................................................... gprs_ns2_sns: move selection of the next bind into own function It will be also used by del_bind() when removing an active bind Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d --- M src/gb/gprs_ns2_sns.c 1 file changed, 15 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/24122/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d Gerrit-Change-Number: 24122 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 14:19:21 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 4 May 2021 14:19:21 +0000 Subject: Change in libosmocore[master]: gprs_ns2: sns: fix del bind() In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24120 ) Change subject: gprs_ns2: sns: fix del bind() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I79062d404ebba9d5c8f7f209bebde146fa08c71f Gerrit-Change-Number: 24120 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Comment-Date: Tue, 04 May 2021 14:19:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 14:20:16 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 4 May 2021 14:20:16 +0000 Subject: Change in libosmocore[master]: gprs_ns2: implement local update weight procedure In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23187 ) Change subject: gprs_ns2: implement local update weight procedure ...................................................................... Patch Set 5: (2 comments) This change is ready for review. https://gerrit.osmocom.org/c/libosmocore/+/23187/5/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23187/5/src/gb/gprs_ns2_sns.c at 2216 PS5, Line 2216: /* TODO: ensure this bind is already added! */ remove the TODO https://gerrit.osmocom.org/c/libosmocore/+/23187/5/src/gb/gprs_ns2_sns.c at 2232 PS5, Line 2232: /* TODO: check if this bind is about to be added */ remove the TODO -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 Gerrit-Change-Number: 23187 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 May 2021 14:20:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 14:21:46 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 4 May 2021 14:21:46 +0000 Subject: Change in libosmocore[master]: gprs_ns2: vty: fix removing a bind from a SNS In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24121 ) Change subject: gprs_ns2: vty: fix removing a bind from a SNS ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I088c18abafc82ae7bd7b8c487ad9e9b448c42ba9 Gerrit-Change-Number: 24121 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Comment-Date: Tue, 04 May 2021 14:21:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 14:22:20 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 4 May 2021 14:22:20 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: move selection of the next bind into own function In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24122 ) Change subject: gprs_ns2_sns: move selection of the next bind into own function ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d Gerrit-Change-Number: 24122 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Comment-Date: Tue, 04 May 2021 14:22:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 14:22:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 May 2021 14:22:56 +0000 Subject: Change in pysim[master]: ts_31_103: Use EF_ARR decoder from TS 102 221 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24038 ) Change subject: ts_31_103: Use EF_ARR decoder from TS 102 221 ...................................................................... ts_31_103: Use EF_ARR decoder from TS 102 221 We already used that decoder also in ts_31_102 Change-Id: Iaab9f038544b5914405568b072731d3847c9d017 --- M pySim/ts_31_103.py 1 file changed, 2 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/pySim/ts_31_103.py b/pySim/ts_31_103.py index d5641b3..6224bc8 100644 --- a/pySim/ts_31_103.py +++ b/pySim/ts_31_103.py @@ -27,6 +27,7 @@ from pySim.ts_51_011 import EF_AD, EF_SMS, EF_SMSS, EF_SMSR, EF_SMSP from pySim.ts_31_102 import ADF_USIM, EF_FromPreferred import pySim.ts_102_221 +from pySim.ts_102_221 import EF_ARR # Mapping between ISIM Service Number and its description EF_IST_map = { @@ -90,11 +91,6 @@ def __init__(self, fid='6f04', sfid=0x04, name='EF.IMPU', desc='IMS public user identity'): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) -# TS 31.103 Section 4.2.6 -class EF_ARR(LinFixedEF): - def __init__(self, fid='6f06', sfid=0x06, name='EF.ARR', desc='Access Rule Reference'): - super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) - # TS 31.103 Section 4.2.7 class EF_IST(TransparentEF): def __init__(self, fid='6f07', sfid=0x07, name='EF.IST', desc='ISIM Service Table'): @@ -177,7 +173,7 @@ EF_DOMAIN(), EF_IMPU(), EF_AD(), - EF_ARR(), + EF_ARR('6f06', 0x06), EF_IST(), EF_PCSCF(), EF_GBABP(), -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24038 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iaab9f038544b5914405568b072731d3847c9d017 Gerrit-Change-Number: 24038 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 14:22:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 May 2021 14:22:57 +0000 Subject: Change in pysim[master]: BER-TLV EF support (command, filesystem, shell) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24102 ) Change subject: BER-TLV EF support (command, filesystem, shell) ...................................................................... BER-TLV EF support (command, filesystem, shell) This adds support for a new EF file type: BER-TLV files. They are different from transparent and linear fixed EFs in that they neither operate on a byte stream nor fixed-sized records, but on BER-TLV encoded objects. One can specify a tag value, and the card will return the entire TLV for that tag. As indicated in the spec, the magic tag value 0x5C (92) will return a list of tags existing in the file. Change-Id: Ibfcce757dcd477fd0d6857f64fbb4346d6d62e63 --- M docs/shell.rst M pySim-shell.py M pySim/commands.py M pySim/filesystem.py M pySim/ts_102_221.py M pySim/utils.py 6 files changed, 301 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved dexter: Looks good to me, but someone else must approve diff --git a/docs/shell.rst b/docs/shell.rst index 4cdf9e0..5170999 100644 --- a/docs/shell.rst +++ b/docs/shell.rst @@ -334,6 +334,43 @@ This allows for easy interactive modification of file contents. + +BER-TLV EF commands +------------------- + +BER-TLV EFs are files that contain BER-TLV structured data. Every file can contain any number +of variable-length IEs (DOs). The tag within a BER-TLV EF must be unique within the file. + +The commands below become enabled only when your currently selected file is of *BER-TLV EF* type. + +retrieve_tags +~~~~~~~~~~~~~ + +Retrieve a list of all tags present in the currently selected file. + + +retrieve_data +~~~~~~~~~~~~~ +.. argparse:: + :module: pySim.filesystem + :func: BerTlvEF.ShellCommands.retrieve_data_parser + + +set_data +~~~~~~~~ +.. argparse:: + :module: pySim.filesystem + :func: BerTlvEF.ShellCommands.set_data_parser + + +del_data +~~~~~~~~ +.. argparse:: + :module: pySim.filesystem + :func: BerTlvEF.ShellCommands.del_data_parser + + + USIM commands ------------- diff --git a/pySim-shell.py b/pySim-shell.py index 659c12c..5b5768a 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -38,7 +38,7 @@ from pySim.commands import SimCardCommands from pySim.transport import init_reader, ApduTracer, argparse_add_reader_args from pySim.cards import card_detect, Card -from pySim.utils import h2b, swap_nibbles, rpad, h2s, JsonEncoder +from pySim.utils import h2b, swap_nibbles, rpad, b2h, h2s, JsonEncoder, bertlv_parse_one from pySim.utils import dec_st, sanitize_pin_adm, tabulate_str_list, is_hex, boxed_heading_str from pySim.card_handler import card_handler @@ -256,11 +256,19 @@ if structure == 'transparent': result = self._cmd.rs.read_binary() self._cmd.poutput("update_binary " + str(result[0])) - if structure == 'cyclic' or structure == 'linear_fixed': + elif structure == 'cyclic' or structure == 'linear_fixed': num_of_rec = fd['num_of_rec'] for r in range(1, num_of_rec + 1): result = self._cmd.rs.read_record(r) self._cmd.poutput("update_record %d %s" % (r, str(result[0]))) + elif structure == 'ber_tlv': + tags = self._cmd.rs.retrieve_tags() + for t in tags: + result = self._cmd.rs.retrieve_data(t) + (tag, l, val) = bertlv_parse_one(h2b(result[0])) + self._cmd.poutput("set_data 0x%02x %s" % (t, b2h(val))) + else: + raise RuntimeError('Unsupported structure "%s" of file "%s"' % (structure, filename)) except Exception as e: bad_file_str = '/'.join(df_path_list) + "/" + str(filename) + ", " + str(e) self._cmd.poutput("# bad file: %s" % bad_file_str) diff --git a/pySim/commands.py b/pySim/commands.py index 33aec12..0b3d9b6 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -5,7 +5,7 @@ # # Copyright (C) 2009-2010 Sylvain Munaut -# Copyright (C) 2010 Harald Welte +# Copyright (C) 2010-2021 Harald Welte # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -23,7 +23,7 @@ from construct import * from pySim.construct import LV -from pySim.utils import rpad, b2h, sw_match +from pySim.utils import rpad, b2h, h2b, sw_match, bertlv_encode_len from pySim.exceptions import SwMatchError class SimCardCommands(object): @@ -269,6 +269,76 @@ r = self.select_path(ef) return self.__len(r) + # TS 102 221 Section 11.3.1 low-level helper + def _retrieve_data(self, tag:int, first:bool=True): + if first: + pdu = '80cb008001%02x' % (tag) + else: + pdu = '80cb000000' + return self._tp.send_apdu_checksw(pdu) + + # TS 102 221 Section 11.3.1 + def retrieve_data(self, ef, tag:int): + """Execute RETRIEVE DATA. + + Args + ef : string or list of strings indicating name or path of transparent EF + tag : BER-TLV Tag of value to be retrieved + """ + r = self.select_path(ef) + if len(r[-1]) == 0: + return (None, None) + total_data = '' + # retrieve first block + data, sw = self._retrieve_data(tag, first=True) + total_data += data + while sw == '62f1' or sw == '62f2': + data, sw = self._retrieve_data(tag, first=False) + total_data += data + return total_data, sw + + # TS 102 221 Section 11.3.2 low-level helper + def _set_data(self, data:str, first:bool=True): + if first: + p1 = 0x80 + else: + p1 = 0x00 + if isinstance(data, bytes) or isinstance(data, bytearray): + data = b2h(data) + pdu = '80db00%02x%02x%s' % (p1, len(data)//2, data) + return self._tp.send_apdu_checksw(pdu) + + def set_data(self, ef, tag:int, value:str, verify:bool=False, conserve:bool=False): + """Execute SET DATA. + + Args + ef : string or list of strings indicating name or path of transparent EF + tag : BER-TLV Tag of value to be stored + value : BER-TLV value to be stored + """ + r = self.select_path(ef) + if len(r[-1]) == 0: + return (None, None) + + # in case of deleting the data, we only have 'tag' but no 'value' + if not value: + return self._set_data('%02x' % tag, first=True) + + # FIXME: proper BER-TLV encode + tl = '%02x%s' % (tag, b2h(bertlv_encode_len(len(value)//2))) + tlv = tl + value + tlv_bin = h2b(tlv) + + first = True + total_len = len(tlv_bin) + remaining = tlv_bin + while len(remaining) > 0: + fragment = remaining[:255] + rdata, sw = self._set_data(fragment, first=first) + first = False + remaining = remaining[255:] + return rdata, sw + def run_gsm(self, rand:str): """Execute RUN GSM ALGORITHM.""" if len(rand) != 32: diff --git a/pySim/filesystem.py b/pySim/filesystem.py index edfe85d..b3e28ef 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -34,7 +34,7 @@ from typing import cast, Optional, Iterable, List, Any, Dict, Tuple -from pySim.utils import sw_match, h2b, b2h, is_hex +from pySim.utils import sw_match, h2b, b2h, is_hex, auto_int, bertlv_parse_one from pySim.construct import filter_dict from pySim.exceptions import * from pySim.jsonpath import js_path_find, js_path_modify @@ -914,7 +914,7 @@ return b''.join(chunks) -class BerTlvEF(TransparentEF): +class BerTlvEF(CardEF): """BER-TLV EF (Entry File) in the smart card filesystem. A BER-TLV EF is a binary file with a BER (Basic Encoding Rules) TLV structure @@ -922,6 +922,61 @@ around TransparentEF as a place-holder, so we can already define EFs of BER-TLV type without fully supporting them.""" + @with_default_category('BER-TLV EF Commands') + class ShellCommands(CommandSet): + """Shell commands specific for BER-TLV EFs.""" + def __init__(self): + super().__init__() + + retrieve_data_parser = argparse.ArgumentParser() + retrieve_data_parser.add_argument('tag', type=auto_int, help='BER-TLV Tag of value to retrieve') + @cmd2.with_argparser(retrieve_data_parser) + def do_retrieve_data(self, opts): + """Retrieve (Read) data from a BER-TLV EF""" + (data, sw) = self._cmd.rs.retrieve_data(opts.tag) + self._cmd.poutput(data) + + def do_retrieve_tags(self, opts): + """List tags available in a given BER-TLV EF""" + tags = self._cmd.rs.retrieve_tags() + self._cmd.poutput(tags) + + set_data_parser = argparse.ArgumentParser() + set_data_parser.add_argument('tag', type=auto_int, help='BER-TLV Tag of value to set') + set_data_parser.add_argument('data', help='Data bytes (hex format) to write') + @cmd2.with_argparser(set_data_parser) + def do_set_data(self, opts): + """Set (Write) data for a given tag in a BER-TLV EF""" + (data, sw) = self._cmd.rs.set_data(opts.tag, opts.data) + if data: + self._cmd.poutput(data) + + del_data_parser = argparse.ArgumentParser() + del_data_parser.add_argument('tag', type=auto_int, help='BER-TLV Tag of value to set') + @cmd2.with_argparser(del_data_parser) + def do_delete_data(self, opts): + """Delete data for a given tag in a BER-TLV EF""" + (data, sw) = self._cmd.rs.set_data(opts.tag, None) + if data: + self._cmd.poutput(data) + + + def __init__(self, fid:str, sfid:str=None, name:str=None, desc:str=None, parent:CardDF=None, + size={1,None}): + """ + Args: + fid : File Identifier (4 hex digits) + sfid : Short File Identifier (2 hex digits, optional) + name : Brief name of the file, lik EF_ICCID + desc : Description of the file + parent : Parent CardFile object within filesystem hierarchy + size : tuple of (minimum_size, recommended_size) + """ + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, parent=parent) + self._construct = None + self.size = size + self.shell_commands = [self.ShellCommands()] + class RuntimeState(object): """Represent the runtime state of a session with a card.""" @@ -1172,6 +1227,43 @@ data_hex = self.selected_file.encode_record_hex(data) return self.update_record(rec_nr, data_hex) + def retrieve_data(self, tag:int=0): + """Read a DO/TLV as binary data. + + Args: + tag : Tag of TLV/DO to read + Returns: + hex string of full BER-TLV DO including Tag and Length + """ + if not isinstance(self.selected_file, BerTlvEF): + raise TypeError("Only works with BER-TLV EF") + # returns a string of hex nibbles + return self.card._scc.retrieve_data(self.selected_file.fid, tag) + + def retrieve_tags(self): + """Retrieve tags available on BER-TLV EF. + + Returns: + list of integer tags contained in EF + """ + if not isinstance(self.selected_file, BerTlvEF): + raise TypeError("Only works with BER-TLV EF") + data, sw = self.card._scc.retrieve_data(self.selected_file.fid, 0x5c) + tag, length, value = bertlv_parse_one(h2b(data)) + return list(value) + + def set_data(self, tag:int, data_hex:str): + """Update a TLV/DO with given binary data + + Args: + tag : Tag of TLV/DO to be written + data_hex : Hex string binary data to be written (value portion) + """ + if not isinstance(self.selected_file, BerTlvEF): + raise TypeError("Only works with BER-TLV EF") + return self.card._scc.set_data(self.selected_file.fid, tag, data_hex, conserve=self.conserve_write) + + class FileData(object): diff --git a/pySim/ts_102_221.py b/pySim/ts_102_221.py index 2c335a6..bb49fe5 100644 --- a/pySim/ts_102_221.py +++ b/pySim/ts_102_221.py @@ -113,10 +113,14 @@ 1: 'transparent', 2: 'linear_fixed', 6: 'cyclic', + 0x39: 'ber_tlv', } fdb = in_bin[0] ftype = (fdb >> 3) & 7 - fstruct = fdb & 7 + if fdb & 0xbf == 0x39: + fstruct = 0x39 + else: + fstruct = fdb & 7 out['shareable'] = True if fdb & 0x40 else False out['file_type'] = ft_dict[ftype] if ftype in ft_dict else ftype out['structure'] = fs_dict[fstruct] if fstruct in fs_dict else fstruct diff --git a/pySim/utils.py b/pySim/utils.py index 3e67386..a3cd1b5 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -89,6 +89,85 @@ def half_round_up(n:int) -> int: return (n + 1)//2 +######################################################################### +# poor man's BER-TLV decoder. To be a more sophisticated OO library later +######################################################################### + +def bertlv_parse_tag(binary:bytes) -> Tuple[dict, bytes]: + """Parse a single Tag value according to ITU-T X.690 8.1.2 + Args: + binary : binary input data of BER-TLV length field + Returns: + Tuple of ({class:int, constructed:bool, tag:int}, remainder:bytes) + """ + cls = binary[0] >> 6 + constructed = True if binary[0] & 0x20 else False + tag = binary[0] & 0x1f + if tag <= 30: + return ({'class':cls, 'constructed':constructed, 'tag': tag}, binary[1:]) + else: # multi-byte tag + tag = 0 + i = 1 + last = False + while not last: + last = False if binary[i] & 0x80 else True + tag <<= 7 + tag |= binary[i] & 0x7f + i += 1 + return ({'class':cls, 'constructed':constructed, 'tag':tag}, binary[i:]) + +def bertlv_parse_len(binary:bytes) -> Tuple[int, bytes]: + """Parse a single Length value according to ITU-T X.690 8.1.3; + only the definite form is supported here. + Args: + binary : binary input data of BER-TLV length field + Returns: + Tuple of (length, remainder) + """ + if binary[0] < 0x80: + return (binary[0], binary[1:]) + else: + num_len_oct = binary[0] & 0x7f + length = 0 + for i in range(1, 1+num_len_oct): + length <<= 8 + length |= binary[i] + return (length, binary[num_len_oct:]) + +def bertlv_encode_len(length:int) -> bytes: + """Encode a single Length value according to ITU-T X.690 8.1.3; + only the definite form is supported here. + Args: + length : length value to be encoded + Returns: + binary output data of BER-TLV length field + """ + if length < 0x80: + return length.to_bytes(1, 'big') + elif length <= 0xff: + return b'\x81' + length.to_bytes(1, 'big') + elif length <= 0xffff: + return b'\x82' + length.to_bytes(2, 'big') + elif length <= 0xffffff: + return b'\x83' + length.to_bytes(3, 'big') + elif length <= 0xffffffff: + return b'\x84' + length.to_bytes(4, 'big') + else: + raise ValueError("Length > 32bits not supported") + +def bertlv_parse_one(binary:bytes) -> (dict, int, bytes): + """Parse a single TLV IE at the start of the given binary data. + Args: + binary : binary input data of BER-TLV length field + Returns: + Tuple of (tag:dict, len:int, remainder:bytes) + """ + (tagdict, remainder) = bertlv_parse_tag(binary) + (length, remainder) = bertlv_parse_len(remainder) + return (tagdict, length, remainder) + + + # IMSI encoded format: # For IMSI 0123456789ABCDE: # @@ -894,6 +973,10 @@ table.append(format_str_row % tuple(str_list_row)) return '\n'.join(table) +def auto_int(x): + """Helper function for argparse to accept hexadecimal integers.""" + return int(x, 0) + class JsonEncoder(json.JSONEncoder): """Extend the standard library JSONEncoder with support for more types.""" def default(self, o): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24102 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibfcce757dcd477fd0d6857f64fbb4346d6d62e63 Gerrit-Change-Number: 24102 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 14:22:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 May 2021 14:22:58 +0000 Subject: Change in pysim[master]: shell: Add 'reset' command to reset the card In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24109 ) Change subject: shell: Add 'reset' command to reset the card ...................................................................... shell: Add 'reset' command to reset the card At some points during an interactive session or a script one may want to reset the card. Change-Id: I992eb3e0ed52f7941a5fb44f28a42e22ebd49301 --- M docs/shell.rst M pySim-shell.py M pySim/filesystem.py 3 files changed, 24 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved dexter: Looks good to me, but someone else must approve diff --git a/docs/shell.rst b/docs/shell.rst index 5170999..08fd376 100644 --- a/docs/shell.rst +++ b/docs/shell.rst @@ -193,6 +193,12 @@ FIXME +reset +~~~~~ + +Perform card reset and display the card ATR. + + Linear Fixed EF commands ------------------------ diff --git a/pySim-shell.py b/pySim-shell.py index 5b5768a..bbfe7e9 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -313,6 +313,12 @@ elif context['DF_SKIP']: raise RuntimeError("unable to export %i dedicated files(s)" % context['ERR']) + def do_reset(self, opts): + """Reset the Card.""" + atr = self._cmd.rs.reset(self._cmd) + self._cmd.poutput('Card ATR: %s' % atr) + self._cmd.update_prompt() + @with_default_category('ISO7816 Commands') class Iso7816Commands(CommandSet): diff --git a/pySim/filesystem.py b/pySim/filesystem.py index b3e28ef..780da26 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -34,7 +34,7 @@ from typing import cast, Optional, Iterable, List, Any, Dict, Tuple -from pySim.utils import sw_match, h2b, b2h, is_hex, auto_int, bertlv_parse_one +from pySim.utils import sw_match, h2b, b2h, i2h, is_hex, auto_int, bertlv_parse_one, Hexstr from pySim.construct import filter_dict from pySim.exceptions import * from pySim.jsonpath import js_path_find, js_path_modify @@ -1020,6 +1020,17 @@ print("error: could not determine card applications") return apps_taken + def reset(self, cmd_app=None) -> Hexstr: + """Perform physical card reset and obtain ATR. + Args: + cmd_app : Command Application State (for unregistering old file commands) + """ + self.card._scc._tp.reset_card() + atr = i2h(self.card._scc._tp.get_atr()) + # select MF to reset internal state and to verify card really works + self.select('MF', cmd_app) + return atr + def get_cwd(self) -> CardDF: """Obtain the current working directory. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I992eb3e0ed52f7941a5fb44f28a42e22ebd49301 Gerrit-Change-Number: 24109 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 14:22:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 May 2021 14:22:58 +0000 Subject: Change in pysim[master]: transport: Mark more methods as abstractmethod In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24110 ) Change subject: transport: Mark more methods as abstractmethod ...................................................................... transport: Mark more methods as abstractmethod Change-Id: Ied3dbd07fdd0d3fa9bbe2dd7dd674700cf13bf63 --- M pySim/transport/__init__.py 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py index 05edc98..5311d8f 100644 --- a/pySim/transport/__init__.py +++ b/pySim/transport/__init__.py @@ -52,6 +52,7 @@ """Set an (optional) status word interpreter.""" self.sw_interpreter = interp + @abc.abstractmethod def wait_for_card(self, timeout:int=None, newcardonly:bool=False): """Wait for a card and connect to it @@ -59,22 +60,21 @@ timeout : Maximum wait time in seconds (None=no timeout) newcardonly : Should we wait for a new card, or an already inserted one ? """ - pass + @abc.abstractmethod def connect(self): """Connect to a card immediately """ - pass + @abc.abstractmethod def disconnect(self): """Disconnect from card """ - pass + @abc.abstractmethod def reset_card(self): """Resets the card (power down/up) """ - pass def send_apdu_raw(self, pdu:str): """Sends an APDU with minimal processing -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ied3dbd07fdd0d3fa9bbe2dd7dd674700cf13bf63 Gerrit-Change-Number: 24110 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 14:22:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 May 2021 14:22:59 +0000 Subject: Change in pysim[master]: docs/shell.rst: Document verify_adm and tree commands In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24111 ) Change subject: docs/shell.rst: Document verify_adm and tree commands ...................................................................... docs/shell.rst: Document verify_adm and tree commands Change-Id: I8afd061bc7b93a5488dd1fc135a73b9d7c75e0bb --- M docs/shell.rst 1 file changed, 9 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/docs/shell.rst b/docs/shell.rst index 08fd376..5bc86ae 100644 --- a/docs/shell.rst +++ b/docs/shell.rst @@ -185,12 +185,19 @@ tree ~~~~ -FIXME + +Display a tree of the card filesystem. It is important to note that this displays a tree +of files that might potentially exist (based on the card profile). In order to determine if +a given file really exists on a given card, you have to try to select that file. verify_adm ~~~~~~~~~~ -FIXME + +Verify the ADM (Administrator) PIN specified as argument. This is typically needed in order +to get write/update permissions to most of the files on SIM cards. + +Currently only ADM1 is supported. reset -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24111 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8afd061bc7b93a5488dd1fc135a73b9d7c75e0bb Gerrit-Change-Number: 24111 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 14:42:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 May 2021 14:42:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn: Fix default value for mp_ggsn_ip References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24124 ) Change subject: sgsn: Fix default value for mp_ggsn_ip ...................................................................... sgsn: Fix default value for mp_ggsn_ip Make it match the osmo-sgsn.cfg files present in the same directory. Change-Id: I798b3c8b6e4a4787b8a9d5ecd9d2b1aad2b931ee --- M sgsn/SGSN_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/24/24124/1 diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 6c8ea61..e7abc9b 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -64,7 +64,7 @@ /* IP/port on which we run our internal GSUP/HLR emulation */ charstring mp_hlr_ip := "127.0.0.1"; integer mp_hlr_port := 4222; - charstring mp_ggsn_ip := "127.0.0.2"; + charstring mp_ggsn_ip := "127.0.0.103"; integer mp_echo_interval := 5; /* in seconds. Only used in test enabling g_use_echo */ NSConfigurations mp_nsconfig := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24124 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: I798b3c8b6e4a4787b8a9d5ecd9d2b1aad2b931ee Gerrit-Change-Number: 24124 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 14:42:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 May 2021 14:42:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn: TC_bssgp_rim_single_report: Avoid useless component start References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24125 ) Change subject: sgsn: TC_bssgp_rim_single_report: Avoid useless component start ...................................................................... sgsn: TC_bssgp_rim_single_report: Avoid useless component start The componenet is not needed/used at all, so there's no need to start it. Change-Id: I63baadbb8b09843a653d3f5c11df204f5a1a761e --- M sgsn/SGSN_Tests.ttcn 1 file changed, 0 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/25/24125/1 diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index e7abc9b..dded390 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -3156,17 +3156,12 @@ f_cleanup(); } -private function f_TC_bssgp_rim_dummy(charstring id) runs on BSSGP_ConnHdlr { -} - /* Run a RIM single report procedure over the sgsn. Since the SGSN will only do a transparent routing of the * RIM messages this basically tests if the message is correctly transfered from one GB interface to the * other and vice versa. */ testcase TC_bssgp_rim_single_report() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); - vc_conn := f_start_handler(refers(f_TC_bssgp_rim_dummy), testcasename(), g_gb, 17); - vc_conn.done; timer T := 2.0; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24125 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: I63baadbb8b09843a653d3f5c11df204f5a1a761e Gerrit-Change-Number: 24125 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 14:43:51 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 4 May 2021 14:43:51 +0000 Subject: Change in libosmocore[master]: gprs_ns2: implement local update weight procedure In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23187 ) Change subject: gprs_ns2: implement local update weight procedure ...................................................................... Patch Set 5: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/23187/5/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23187/5/src/gb/gprs_ns2_sns.c at 1641 PS5, Line 1641: case GPRS_SNS_ST_LOCAL_PROCEDURE: Not sure how wise it is to mix enums in here that could theoretically clash with the other timer values.. https://gerrit.osmocom.org/c/libosmocore/+/23187/5/src/gb/gprs_ns2_sns.c at 2209 PS5, Line 2209: /* Update SNS weights for a bind (local endpoint). */ Update comment -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 Gerrit-Change-Number: 23187 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: daniel Gerrit-Comment-Date: Tue, 04 May 2021 14:43:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 15:37:12 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 4 May 2021 15:37:12 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: add NR support References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24126 ) Change subject: amarisoft_enb: add NR support ...................................................................... amarisoft_enb: add NR support this patch adds the ability to configure NR cells with Amarisoft eNB. It adds the new DRB-NR template and updates the normal enb.cfg template to allow using it as LTE only or with NR cells (5G NSA). Change-Id: Ia27bbc6db5920ce14bacabe8043601aa2adaa5fe --- M doc/examples/4g_srsLTE/defaults.conf M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py A src/osmo_gsm_tester/templates/amarisoft_drb_nr.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl M sysmocom/defaults.conf 7 files changed, 933 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/26/24126/1 diff --git a/doc/examples/4g_srsLTE/defaults.conf b/doc/examples/4g_srsLTE/defaults.conf index 4a3b4c4..1d1f286 100644 --- a/doc/examples/4g_srsLTE/defaults.conf +++ b/doc/examples/4g_srsLTE/defaults.conf @@ -12,6 +12,7 @@ mnc: 70 transmission_mode: 1 num_cells: 1 + num_nr_cells: 0 enable_measurements: false a1_report_type: rsrp a1_report_value: -105 diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 252fa14..e976753 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -68,12 +68,18 @@ 'cell_list[].ncell_list[].pci': schema.UINT, 'cell_list[].ncell_list[].dl_earfcn': schema.UINT, 'cell_list[].scell_list[]': schema.UINT, + 'cell_list[].nr_scell_list[]': schema.UINT, 'cell_list[].dl_earfcn': schema.UINT, 'cell_list[].root_seq_idx': schema.UINT, 'cell_list[].tac': schema.UINT, 'cell_list[].dl_rfemu.type': schema.STR, 'cell_list[].dl_rfemu.addr': schema.IPV4, 'cell_list[].dl_rfemu.ports[]': schema.UINT, + 'num_nr_cells': schema.UINT, + 'nr_cell_list[].rf_port': schema.UINT, + 'nr_cell_list[].cell_id': schema.UINT, + 'nr_cell_list[].band': schema.UINT, + 'nr_cell_list[].dl_nr_arfcn': schema.UINT, } for key, val in run_node.RunNode.schema().items(): resource_schema['run_node.%s' % key] = val @@ -98,9 +104,11 @@ self.set_name('%s_%s' % (name, self._run_node.run_addr())) self._txmode = 0 self._id = None + self._ran_config = "lte" # Used to determine whether we are in NSA self._duplex = None self._num_prb = 0 self._num_cells = None + self._num_nr_cells = None self._epc = None self.gen_conf = None self.gr_broker = GrBroker.ref() @@ -126,10 +134,11 @@ def calc_required_zmq_ports(self, cfg_values): cell_list = cfg_values['enb']['cell_list'] - return len(cell_list) * self.num_ports() # *2 if MIMO + nr_cell_list = cfg_values['enb']['nr_cell_list'] + return len(cell_list) * self.num_ports() + len(nr_cell_list) # *2 if LTE MIMO def calc_required_zmq_ports_joined_earfcn(self, cfg_values): - #gr_broker will join the earfcns, so we need to count uniqe earfcns: + #gr_broker will join the earfcns, so we need to count unique earfcns (only implemented for LTE): cell_list = cfg_values['enb']['cell_list'] earfcn_li = [] [earfcn_li.append(int(cell['dl_earfcn'])) for cell in cell_list if int(cell['dl_earfcn']) not in earfcn_li] @@ -142,6 +151,10 @@ for cell in cell_list: cell[port_name] = base_port + port_offset port_offset += self.num_ports() + nr_cell_list = cfg_values['enb']['nr_cell_list'] + for nr_cell in nr_cell_list: + nr_cell[port_name] = base_port + port_offset + port_offset += 1 # TODO: do we need to assign cell_list back? def assign_enb_zmq_ports_joined_earfcn(self, cfg_values, port_name, base_port): @@ -176,7 +189,9 @@ config.overlay(values, dict(enb={ 'mme_addr': self._epc.addr() })) config.overlay(values, dict(enb={ 'gtp_bind_addr': self._gtp_bind_addr })) self._num_cells = int(values['enb'].get('num_cells', None)) - assert self._num_cells + self._num_nr_cells = int(values['enb'].get('num_nr_cells', None)) + assert self._num_cells is not None + assert self._num_nr_cells is not None # adjust cell_list to num_cells length: len_cell_list = len(values['enb']['cell_list']) @@ -231,6 +246,9 @@ def num_cells(self): return self._num_cells + def num_nr_cells(self): + return self._num_nr_cells + ######################## # PUBLIC - INTERNAL API ######################## @@ -280,6 +298,13 @@ rf_dev_args += ',rx_port%u=tcp://%s:%u' %(idx + 1, ul_rem_addr, cell['zmq_enb_peer_port'] + 1) idx += self.num_ports() + # Only single antenna supported for NR cells + nr_cell_list = cfg_values['enb']['nr_cell_list'] + for nr_cell in nr_cell_list: + rf_dev_args += ',tx_port%u=tcp://%s:%u' % (idx, self.addr(), nr_cell['zmq_enb_bind_port'] + 0) + rf_dev_args += ',rx_port%u=tcp://%s:%u' % (idx, ul_rem_addr, nr_cell['zmq_enb_peer_port'] + 0) + idx += 1 + rf_dev_args += ',id=enb,base_srate=' + str(base_srate) return rf_dev_args @@ -300,6 +325,14 @@ if self.num_ports() > 1: rf_dev_args += ',rx_port%u=tcp://%s:%u' %(idx + 1, self.addr(), cell['zmq_ue_peer_port'] + 1) idx += self.num_ports() + + # NR cells again only with single antenna support + nr_cell_list = self.gen_conf['enb']['nr_cell_list'] + for nr_cell in nr_cell_list: + rf_dev_args += ',tx_port%u=tcp://%s:%u' %(idx, ue.addr(), nr_cell['zmq_ue_bind_port'] + 0) + rf_dev_args += ',rx_port%u=tcp://%s:%u' %(idx, self.addr(), nr_cell['zmq_ue_peer_port'] + 0) + idx += 1 + # remove trailing comma: if rf_dev_args[0] == ',': return rf_dev_args[1:] diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index 405ed68..34ab5c1 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -22,6 +22,7 @@ from ..core import log, util, config, template, process, remote from ..core import schema +from ..core.event_loop import MainLoop from . import enb from . import rfemu @@ -33,12 +34,16 @@ config_schema = { 'log_options': schema.STR, + 'nr_bandwidth': schema.INT, } schema.register_config_schema('amarisoftenb', config_schema) def rf_type_valid(rf_type_str): return rf_type_str in ('uhd', 'zmq', 'sdr') +def ran_type_valid(ran_type_str): + return ran_type_str in ('lte', '5g_nsa') + class AmarisoftENB(enb.eNodeB): REMOTE_DIR = '/osmo-gsm-tester-amarisoftenb' @@ -48,6 +53,7 @@ CFGFILE_SIB23 = 'amarisoft_sib23.asn' CFGFILE_RF = 'amarisoft_rf_driver.cfg' CFGFILE_DRB = 'amarisoft_drb.cfg' + CFGFILE_DRB_NR = 'amarisoft_drb_nr.cfg' LOGFILE = 'lteenb.log' PHY_SIGNAL_FILE = 'lteenb.log.bin' @@ -63,6 +69,7 @@ self.config_sib23_file = None self.config_rf_file = None self.config_drb_file = None + self.config_drb_nr_file = None self.log_file = None self.process = None self.rem_host = None @@ -72,8 +79,11 @@ self.remote_config_sib23_file = None self.remote_config_rf_file = None self.remote_config_drb_file = None + self.remote_config_drb_nr_file = None self.remote_log_file = None self.enable_measurements = False + self.nr_bandwidth = None + self.ran_type = None self.testenv = testenv if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -131,8 +141,8 @@ self.process.launch() def stop(self): - # Not implemented - pass + # Allow for some time to flush logs + MainLoop.sleep(5) def gen_conf_file(self, path, filename, values): self.dbg('AmarisoftENB ' + filename + ':\n' + pprint.pformat(values)) @@ -151,6 +161,7 @@ self.config_sib23_file = self.run_dir.child(AmarisoftENB.CFGFILE_SIB23) self.config_rf_file = self.run_dir.child(AmarisoftENB.CFGFILE_RF) self.config_drb_file = self.run_dir.child(AmarisoftENB.CFGFILE_DRB) + self.config_drb_nr_file = self.run_dir.child(AmarisoftENB.CFGFILE_DRB_NR) self.log_file = self.run_dir.child(AmarisoftENB.LOGFILE) self.phy_signal_file = self.run_dir.child(AmarisoftENB.PHY_SIGNAL_FILE) @@ -165,6 +176,7 @@ self.remote_config_sib23_file = remote_run_dir.child(AmarisoftENB.CFGFILE_SIB23) self.remote_config_rf_file = remote_run_dir.child(AmarisoftENB.CFGFILE_RF) self.remote_config_drb_file = remote_run_dir.child(AmarisoftENB.CFGFILE_DRB) + self.remote_config_drb_nr_file = remote_run_dir.child(AmarisoftENB.CFGFILE_DRB_NR) self.remote_log_file = remote_run_dir.child(AmarisoftENB.LOGFILE) self.remote_phy_signal_file = remote_run_dir.child(AmarisoftENB.PHY_SIGNAL_FILE) @@ -176,6 +188,17 @@ config.overlay(values, dict(enb={'enable_dl_awgn': util.str2bool(values['enb'].get('enable_dl_awgn', 'false'))})) + self.nr_bandwidth = int(values['enb'].get('nr_bandwidth', 10)) + config.overlay(values, dict(enb={'nr_bandwidth': self.nr_bandwidth})) + + if (self._num_cells > 0): + if (self._num_nr_cells <= 0): + self.ran_type = "lte" + else: + self.ran_type = "nsa" + else: + raise log.Error('5G SA not supported yet') + # Remove EEA0 from cipher list, if specified, as it's always assumed as default cipher_list = values['enb'].get('cipher_list', None) if "eea0" in cipher_list: cipher_list.remove("eea0") @@ -237,6 +260,7 @@ self.gen_conf_file(self.config_sib23_file, AmarisoftENB.CFGFILE_SIB23, values) self.gen_conf_file(self.config_rf_file, AmarisoftENB.CFGFILE_RF, values) self.gen_conf_file(self.config_drb_file, AmarisoftENB.CFGFILE_DRB, values) + self.gen_conf_file(self.config_drb_nr_file, AmarisoftENB.CFGFILE_DRB_NR, values) if not self._run_node.is_local(): self.rem_host.recreate_remote_dir(self.remote_inst) @@ -247,6 +271,7 @@ self.rem_host.scp('scp-cfg-sib23-to-remote', self.config_sib23_file, self.remote_config_sib23_file) self.rem_host.scp('scp-cfg-rr-to-remote', self.config_rf_file, self.remote_config_rf_file) self.rem_host.scp('scp-cfg-drb-to-remote', self.config_drb_file, self.remote_config_drb_file) + self.rem_host.scp('scp-cfg-drb-nr-to-remote', self.config_drb_nr_file, self.remote_config_drb_nr_file) def ue_add(self, ue): if self.ue is not None: @@ -279,11 +304,17 @@ rfemu_obj = rfemu.get_instance_by_type(rfemu_cfg['type'], rfemu_cfg) return rfemu_obj + def get_nr_bandwidth(self): + return self.nr_bandwidth + def ue_max_rate(self, downlink=True, num_carriers=1): - if self._duplex == 'fdd': - return self.ue_max_rate_fdd(downlink, num_carriers) + if self.ran_type == 'lte': + if self._duplex == 'fdd': + return self.ue_max_rate_fdd(downlink, num_carriers) + else: + return self.ue_max_rate_tdd(downlink, num_carriers) else: - return self.ue_max_rate_tdd(downlink, num_carriers) + return self.ue_max_rate_nsa_tdd(downlink) def ue_max_rate_fdd(self, downlink, num_carriers): # The max rate for a single UE per PRB configuration in TM1 with MCS 28 QAM64 @@ -323,7 +354,7 @@ return max_rate def ue_max_rate_tdd(self, downlink, num_carriers): - # Max rate calculation for TDD depends on the acutal TDD configuration + # Max rate calculation for TDD depends on the actual TDD configuration # See: https://www.sharetechnote.com/html/Handbook_LTE_ThroughputCalculationExample_TDD.html # and https://i0.wp.com/www.techtrained.com/wp-content/uploads/2017/09/Blog_Post_1_TDD_Max_Throughput_Theoretical.jpg max_phy_rate_tdd_uldl_config0_sp0 = { 6 : 1.5e6, @@ -333,8 +364,21 @@ 75 : 18.4e6, 100 : 54.5e6 } if downlink: - max_rate = max_phy_rate_tdd_uldl_config0_sp0[self.num_prb()] + return max_phy_rate_tdd_uldl_config0_sp0[self.num_prb()] else: return 1e6 # dummy value, we need to replace that later + def ue_max_rate_nsa_tdd(self, downlink): + # Max rate calculation based on https://5g-tools.com/5g-nr-throughput-calculator/ + # Only FR1 15kHz SCS, QAM64, 6 DL slots, 3 UL slots + max_phy_rate_nsa_dl_fr1_15khz = { 10: 18.4e6, + 20: 38.0e6 } + max_phy_rate_nsa_ul_fr1_15khz = { 10: 10.7e6, + 20: 23.0e6 } + + if downlink: + return max_phy_rate_nsa_dl_fr1_15khz[self.get_nr_bandwidth()] + else: + return max_phy_rate_nsa_ul_fr1_15khz[self.get_nr_bandwidth()] + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/templates/amarisoft_drb_nr.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_drb_nr.cfg.tmpl new file mode 100644 index 0000000..82f3b8c --- /dev/null +++ b/src/osmo_gsm_tester/templates/amarisoft_drb_nr.cfg.tmpl @@ -0,0 +1,423 @@ +/* DRB configuration for each QCI value. + QCI characteristics in TS 23.203 table 6.1.7 */ +[ + /**************************************** GBR */ + { + qci: 1, /* UM - real time (RTP for VOIP) */ + use_for_en_dc: false, + pdcp_config: { + discardTimer: 100, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 12, + pdcp_SN_SizeDL: 12, + statusReportRequired: false, + outOfOrderDelivery: false, + t_Reordering: 0, + /* ROHC header compression */ + /* + headerCompression: { + maxCID: 15, + profile0x0001: true, // RTP profile + profile0x0002: true, // UDP profile + profile0x0004: false, // IP profile + }, + */ + }, + rlc_config: { + ul_um: { + sn_FieldLength: 6, + }, + dl_um: { + sn_FieldLength: 6, + t_Reassembly: 50, + }, + }, + logical_channel_config: { + priority: 7, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + }, + }, + { + qci: 2, /* UM - real time (video) */ + pdcp_config: { + discardTimer: 150, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: false, + outOfOrderDelivery: false, + t_Reordering: 0, + }, + rlc_config: { + ul_um: { + sn_FieldLength: 12, + }, + dl_um: { + sn_FieldLength: 12, + t_Reassembly: 50, + }, + }, + logical_channel_config: { + priority: 8, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + }, + }, + { + qci: 3, /* UM - real time (gaming) */ + pdcp_config: { + discardTimer: 100, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: false, + outOfOrderDelivery: false, + t_Reordering: 0, + }, + rlc_config: { + ul_um: { + sn_FieldLength: 12, + }, + dl_um: { + sn_FieldLength: 12, + t_Reassembly: 50, + }, + }, + logical_channel_config: { + priority: 7, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 2, + }, + }, + { + qci: 4, /* AM - Non-Conversational Video (Buffered Streaming) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: true, + outOfOrderDelivery: false, + }, + rlc_config: { + ul_am: { + sn_FieldLength: 18, + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 4, + }, + dl_am: { + sn_FieldLength: 18, + t_Reassembly: 80, /* in ms */ + t_StatusProhibit: 10, /* in ms */ + }, + }, + logical_channel_config: { + priority: 9, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 3, + }, + }, + { + qci: 65, /* UM - real time (MC-PTT voice) */ + use_for_en_dc: false, + pdcp_config: { + discardTimer: 100, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 12, + pdcp_SN_SizeDL: 12, + statusReportRequired: false, + outOfOrderDelivery: false, + t_Reordering: 0, + /* ROHC header compression */ + /* + headerCompression: { + maxCID: 15, + profile0x0001: true, // RTP profile + profile0x0002: true, // UDP profile + profile0x0004: false, // IP profile + }, + */ + }, + rlc_config: { + ul_um: { + sn_FieldLength: 6, + }, + dl_um: { + sn_FieldLength: 6, + t_Reassembly: 50, + }, + }, + logical_channel_config: { + priority: 5, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 4, + }, + }, + { + qci: 66, /* UM - real time (non MC-PTT voice) */ + use_for_en_dc: false, + pdcp_config: { + discardTimer: 150, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: false, + outOfOrderDelivery: false, + t_Reordering: 0, + }, + rlc_config: { + ul_um: { + sn_FieldLength: 12, + }, + dl_um: { + sn_FieldLength: 12, + t_Reassembly: 50, + }, + }, + logical_channel_config: { + priority: 7, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 4, + }, + }, + { + qci: 67, /* UM - Mission Critical Video user plane */ + use_for_en_dc: false, + pdcp_config: { + discardTimer: 100, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: false, + outOfOrderDelivery: false, + t_Reordering: 0, + }, + rlc_config: { + ul_um: { + sn_FieldLength: 12, + }, + dl_um: { + sn_FieldLength: 12, + t_Reassembly: 50, + }, + }, + logical_channel_config: { + priority: 6, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 5, + }, + }, + /**************************************** non GBR */ + { + qci: 5, /* AM - high priority (SIP) */ + use_for_en_dc: false, + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: true, + outOfOrderDelivery: false, + }, + rlc_config: { + ul_am: { + sn_FieldLength: 18, + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 4, + }, + dl_am: { + sn_FieldLength: 18, + t_Reassembly: 80, /* in ms */ + t_StatusProhibit: 10, /* in ms */ + }, + }, + logical_channel_config: { + priority: 6, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 4, + }, + }, + { + qci: 6, /* AM - Video (buffered streaming) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: true, + outOfOrderDelivery: false, + }, + rlc_config: { + ul_am: { + sn_FieldLength: 18, + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 4, + }, + dl_am: { + sn_FieldLength: 18, + t_Reassembly: 80, /* in ms */ + t_StatusProhibit: 10, /* in ms */ + }, + }, + logical_channel_config: { + priority: 10, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 5, + }, + }, + { + qci: 7, /* UM - voice, video (live streaming), interactive gaming */ + pdcp_config: { + discardTimer: 100, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: false, + outOfOrderDelivery: false, + t_Reordering: 0, + }, + rlc_config: { + ul_um: { + sn_FieldLength: 12, + }, + dl_um: { + sn_FieldLength: 12, + t_Reassembly: 50, + }, + }, + logical_channel_config: { + priority: 11, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 6, + }, + }, + { + qci: 8, /* AM - best effort (Internet traffic) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: true, + outOfOrderDelivery: false, + }, + rlc_config: { + ul_am: { + sn_FieldLength: 18, + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 4, + }, + dl_am: { + sn_FieldLength: 18, + t_Reassembly: 80, /* in ms */ + t_StatusProhibit: 10, /* in ms */ + }, + }, + logical_channel_config: { + priority: 12, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 7, + }, + }, + { + qci: 9, /* AM - best effort (Internet traffic) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: true, + outOfOrderDelivery: false, + }, + rlc_config: { + ul_am: { + sn_FieldLength: 18, + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 4, + }, + dl_am: { + sn_FieldLength: 18, + t_Reassembly: 80, /* in ms */ + t_StatusProhibit: 10, /* in ms */ + }, + }, + logical_channel_config: { + priority: 13, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 7, + }, + }, + { + qci: 69, /* AM - high priority (MC-PTT signalling) */ + use_for_en_dc: false, + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: true, + outOfOrderDelivery: false, + }, + rlc_config: { + ul_am: { + sn_FieldLength: 18, + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 4, + }, + dl_am: { + sn_FieldLength: 18, + t_Reassembly: 80, /* in ms */ + t_StatusProhibit: 10, /* in ms */ + }, + }, + logical_channel_config: { + priority: 4, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 4, + }, + }, + { + qci: 70, /* AM - MC data */ + use_for_en_dc: false, + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: true, + outOfOrderDelivery: false, + }, + rlc_config: { + ul_am: { + sn_FieldLength: 18, + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 4, + }, + dl_am: { + sn_FieldLength: 18, + t_Reassembly: 80, /* in ms */ + t_StatusProhibit: 10, /* in ms */ + }, + }, + logical_channel_config: { + priority: 11, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 5, + }, + }, +] diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 2c6fcc0..241eed2 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -1,6 +1,5 @@ -/* lteenb configuration file version 2018-10-18 - * Copyright (C) 2015-2018 Amarisoft - */ +/* OGT templated version of the lteenb configuration file for 4G and 5G NSA */ + { %if enb.license_server_addr != '0.0.0.0': @@ -64,10 +63,15 @@ /* high 20 bits of SIB1.cellIdentifier */ enb_id: ${enb.id}, +% if int(enb.num_nr_cells) > 0: + nr_support: true, +% endif + /* list of cells */ cell_list: [ %for cell in enb.cell_list: +%if loop.index == 0: { dl_earfcn: ${cell.dl_earfcn}, rf_port: ${cell.rf_port}, @@ -87,10 +91,32 @@ { cell_id: ${scell_id}, cross_carrier_scheduling: false, scheduling_cell_id: ${cell.cell_id}, ul_allowed: true}, %endfor ], + + nr_scell_list: [ +%for nr_scell_id in cell.nr_scell_list: + { cell_id: ${nr_scell_id} }, +%endfor + ], }, +%endif %endfor ], /* cell_list */ + nr_cell_list: [ + +%for nr_cell in enb.nr_cell_list: + %if loop.index == 0: + { + rf_port: ${nr_cell.rf_port}, + cell_id: ${nr_cell.cell_id}, + band: ${nr_cell.band}, + dl_nr_arfcn: ${nr_cell.dl_nr_arfcn}, + }, + %endif +%endfor + + ], /* nr_cell_list */ + /* default cell parameters */ cell_default: { /* Broadcasted PLMN identities */ @@ -143,6 +169,9 @@ computed from the reported CQI */ /* pdsch_mcs: 12, */ + prach_config_index: 4, /* subframe 4 every 10 ms */ + prach_freq_offset: 0, /* -1 means automatic */ + /* PUSCH dedicated config (currently same for all UEs) */ pusch_dedicated: { beta_offset_ack_index: 9, @@ -154,7 +183,11 @@ pusch_msg3_mcs: 0, /* this CQI value is assumed when none is received from the UE */ +% if enb.num_prb == 6: initial_cqi: 5, +% else: + initial_cqi: 3, +% endif /* if defined, force the PUSCH MCS for all UEs. Otherwise it is computed from the last received SRS/PUSCH. */ @@ -162,6 +195,9 @@ transmission_mode: ${enb.transmission_mode}, + dl_256qam: true, + ul_64qam: true, + /* Scheduling request period (ms). Must be >= 40 for HD-FDD */ sr_period: 20, @@ -188,6 +224,9 @@ // tdd_ack_nack_feedback_mode_r10: "cs", % endif + n1_pucch_sr_count: 11, /* increase if more UEs are needed */ + cqi_pucch_n_rb: 1, /* increase if more UEs are needed */ + /* number of PUCCH 1b CS resources. It determines the maximum number of UEs that can be scheduled in one TTI using carrier aggregation with PUCCH 1b CS ack/nack feedback. */ @@ -266,6 +305,12 @@ a3_offset: ${enb.a3_report_value}, a3_hysteresis: ${enb.a3_hysteresis}, a3_time_to_trigger: ${enb.a3_time_to_trigger}, + // NR events hard-coded + nr_b1_report_type: "rsrp", + nr_b1_rsrp: -100, + nr_b1_hysteresis: 0, + nr_b1_time_to_trigger: 100, + nr_rsrp_filter_coeff: 3 }, /* measurement gap configuration */ @@ -276,4 +321,355 @@ ho_from_meas: true, % endif }, -} + + nr_cell_default: { + subcarrier_spacing: 15, /* kHz */ + ssb_subcarrier_spacing: 30, + bandwidth: ${enb.nr_bandwidth}, /* MHz */ + n_antenna_dl: 1, + n_antenna_ul: 1, + + /* force the timing TA offset (optional) */ + n_timing_advance_offset: 0, + + tdd_ul_dl_config: { + pattern1: { + period: 10, + dl_slots: 6, + dl_symbols: 0, + ul_slots: 3, + ul_symbols: 0, + }, + }, + ssb_pos_bitmap: "10000000", + ssb_period: 20, /* in ms */ + n_id_cell: 500, + + root_sequence_index: 1, /* PRACH root sequence index */ + + /* Scheduling request period (slots). */ + sr_period: 40, + + dmrs_type_a_pos: 2, + + /* to limit the number of HARQ feedback in UL, use pdsch_harq_ack_max; + allows to workaround issues with SM-G977N for example */ + //pdsch_harq_ack_max: 2, + + prach: { + prach_config_index: 0, + msg1_subcarrier_spacing: 15, /* kHz */ + msg1_fdm: 1, +% if int(enb.nr_bandwidth) == 10: + msg1_frequency_start: 1, +% else: + msg1_frequency_start: 3, +% endif + zero_correlation_zone_config: 0, + preamble_received_target_power: -110, /* in dBm */ + preamble_trans_max: 7, + power_ramping_step: 4, /* in dB */ + ra_response_window: 10, /* in slots */ + restricted_set_config: "unrestricted_set", + ra_contention_resolution_timer: 64, /* in ms */ + ssb_per_prach_occasion: 1, + cb_preambles_per_ssb: 8, + }, + + pdcch: { + common_coreset: { + rb_start: -1, /* -1 to have the maximum bandwidth */ + l_crb: -1, /* -1 means all the bandwidth */ + duration: 1, + precoder_granularity: "sameAsREG_bundle", + //dmrs_scid: 0, + }, + + dedicated_coreset: { + rb_start: -1, /* -1 to have the maximum bandwidth */ + l_crb: -1, /* -1 means all the bandwidth */ + duration: 1, + precoder_granularity: "sameAsREG_bundle", + //dmrs_scid: 0, + }, + + css: { + n_candidates: [ 1, 1, 1, 0, 0 ], + }, + rar_al_index: 2, + + uss: { + n_candidates: [ 0, 2, 1, 0, 0 ], + dci_0_1_and_1_1: false, + force_dci_0_0: true, // Forces DCI format 0_0 for Uplink + force_dci_1_0: true, // Forces DCI format 1_0 for Downlink + }, + al_index: 1, + }, + + pdsch: { + mapping_type: "typeA", + start_symb: 1, + n_symb: 13, + dmrs_add_pos: 1, + dmrs_type: 1, + dmrs_max_len: 1, + k0: 0, /* delay in slots from DCI to PDSCH */ + /* delay in slots from PDSCH to PUCCH/PUSCH ACK/NACK */ + k1: [ 8, 7, 6, 6, 5, 4], + mcs_table: "qam64", + + rar_mcs: 2, + /* If defined, force the PDSCH MCS for all UEs. Otherwise it is computed + * based on DL channel quality estimation */ + /* mcs: 24, */ + }, + + csi_rs: { + nzp_csi_rs_resource: [ + { + csi_rs_id: 0, + n_ports: 1, + frequency_domain_allocation: "row2", + bitmap: "100000000000", + cdm_type: "no_cdm", + density: 1, + first_symb: 4, + rb_start: 0, + l_crb: -1, /* -1 means from rb_start to the end of the bandwidth */ + power_control_offset: 0, /* dB */ + power_control_offset_ss: 0, /* dB */ + scrambling_id: 0, + period: 80, + offset: 1, /* != 0 to avoid collision with SSB */ + qcl_info_periodic_csi_rs: 0, + }, +#define USE_TRS +#ifdef USE_TRS + /* TRS : period of 40 ms, slots 1 & 2, symbols 4 and 8 */ + { + csi_rs_id: 1, + n_ports: 1, + frequency_domain_allocation: "row1", + bitmap: "0001", + cdm_type: "no_cdm", + density: 3, + first_symb: 4, + rb_start: 0, + l_crb: -1, /* -1 means from rb_start to the end of the bandwidth */ + power_control_offset: 0, /* dB */ + power_control_offset_ss: 0, /* dB */ + scrambling_id: 0, + period: 40, + offset: 11, + qcl_info_periodic_csi_rs: 0, + }, + { + csi_rs_id: 2, + n_ports: 1, + frequency_domain_allocation: "row1", + bitmap: "0001", + cdm_type: "no_cdm", + density: 3, + first_symb: 8, + rb_start: 0, + l_crb: -1, /* -1 means from rb_start to the end of the bandwidth */ + power_control_offset: 0, /* dB */ + power_control_offset_ss: 0, /* dB */ + scrambling_id: 0, + period: 40, + offset: 11, + qcl_info_periodic_csi_rs: 0, + }, + { + csi_rs_id: 3, + n_ports: 1, + frequency_domain_allocation: "row1", + bitmap: "0001", + cdm_type: "no_cdm", + density: 3, + first_symb: 4, + rb_start: 0, + l_crb: -1, /* -1 means from rb_start to the end of the bandwidth */ + power_control_offset: 0, /* dB */ + power_control_offset_ss: 0, /* dB */ + scrambling_id: 0, + period: 40, + offset: 12, + qcl_info_periodic_csi_rs: 0, + }, + { + csi_rs_id: 4, + n_ports: 1, + frequency_domain_allocation: "row1", + bitmap: "0001", + cdm_type: "no_cdm", + density: 3, + first_symb: 8, + rb_start: 0, + l_crb: -1, /* -1 means from rb_start to the end of the bandwidth */ + power_control_offset: 0, /* dB */ + power_control_offset_ss: 0, /* dB */ + scrambling_id: 0, + period: 40, + offset: 12, + qcl_info_periodic_csi_rs: 0, + }, +#endif + ], + nzp_csi_rs_resource_set: [ + { + csi_rs_set_id: 0, + nzp_csi_rs_resources: [ 0 ], + repetition: false, + }, +#ifdef USE_TRS + { + csi_rs_set_id: 1, + nzp_csi_rs_resources: [ 1, 2, 3, 4 ], + repetition: false, + trs_info: true, + }, +#endif + ], + + csi_im_resource: [ + { + csi_im_id: 0, + pattern: 1, + subcarrier_location: 8, + symbol_location: 8, + rb_start: 0, + l_crb: -1, /* -1 means from rb_start to the end of the bandwidth */ + period: 80, + offset: 1, /* != 0 to avoid collision with SSB */ + }, + ], + csi_im_resource_set: [ + { + csi_im_set_id: 0, + csi_im_resources: [ 0 ], + } + ], + /* ZP CSI-RS to set the CSI-IM REs to zero */ + zp_csi_rs_resource: [ + { + csi_rs_id: 0, + frequency_domain_allocation: "row4", + bitmap: "100", + n_ports: 4, + cdm_type: "fd_cdm2", + first_symb: 8, + density: 1, + rb_start: 0, + l_crb: -1, /* -1 means from rb_start to the end of the bandwidth */ + period: 80, + offset: 1, + }, + ], + p_zp_csi_rs_resource_set: [ + { + zp_csi_rs_resources: [ 0 ], + }, + ], + + csi_resource_config: [ + { + csi_rsc_config_id: 0, + nzp_csi_rs_resource_set_list: [ 0 ], + resource_type: "periodic", + }, + { + csi_rsc_config_id: 1, + csi_im_resource_set_list: [ 0 ], + resource_type: "periodic", + }, +#ifdef USE_TRS + { + csi_rsc_config_id: 2, + nzp_csi_rs_resource_set_list: [ 1 ], + resource_type: "periodic", + }, +#endif + ], + csi_report_config: [ + { + resources_for_channel_measurement: 0, + csi_im_resources_for_interference: 1, + report_config_type: "periodic", + period: 80, + report_quantity: "CRI_RI_PMI_CQI", + cqi_table: 2, + subband_size: "value1", + }, + ], + }, + + pucch: { + pucch_group_hopping: "neither", + hopping_id: -1, /* -1 = n_cell_id */ + p0_nominal: -90, + pucch1: { + n_cs: 3, + n_occ: 3, + freq_hopping: false, + }, + pucch2: { + n_symb: 2, + n_prb: 1, + freq_hopping: false, + simultaneous_harq_ack_csi: false, + max_code_rate: 0.25, + }, + }, + + pusch: { + mapping_type: "typeA", + n_symb: 14, + dmrs_add_pos: 1, + dmrs_type: 1, + dmrs_max_len: 1, + tf_precoding: false, + mcs_table: "qam64", /* without transform precoding */ + mcs_table_tp: "qam64", /* with transform precoding */ + ldpc_max_its: 5, + k2: 4, /* delay in slots from DCI to PUSCH */ + p0_nominal_with_grant: -90, + msg3_k2: 5, + msg3_mcs: 4, + msg3_delta_power: 0, /* in dB */ + beta_offset_ack_index: 9, + + /* hardcoded scheduling parameters */ + n_dmrs_cdm_groups: 1, + n_layer: 1, + /* if defined, force the PUSCH MCS for all UEs. Otherwise it is + computed from the last received PUSCH. */ + //mcs: 16, + //max_mcs: 16, + }, + + /* MAC configuration */ + mac_config: { + msg3_max_harq_tx: 5, + ul_max_harq_tx: 5, /* max number of HARQ transmissions for uplink */ + dl_max_harq_tx: 5, /* max number of HARQ transmissions for downlink */ + ul_max_consecutive_retx: 30, /* disconnect UE if reached */ + dl_max_consecutive_retx: 30, /* disconnect UE if reached */ + periodic_bsr_timer: 20, + retx_bsr_timer: 320, + periodic_phr_timer: 500, + prohibit_phr_timer: 200, + phr_tx_power_factor_change: "dB3", + sr_prohibit_timer: 0, /* in ms, 0 to disable the timer */ + sr_trans_max: 64, + }, + + cipher_algo_pref: [${', '.join(list(dict.fromkeys(enb.cipher_list))).split("eea")[1] if len(list(dict.fromkeys(enb.cipher_list))) > 0 else ''}], + integ_algo_pref: [${', '.join(list(dict.fromkeys(enb.integrity_list))).split("eia")[1]}], + + inactivity_timer: ${enb.inactivity_timer}, + + drb_config: "amarisoft_drb_nr.cfg", + }, +} \ No newline at end of file diff --git a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl index 36d34ad..f2942d7 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -15,6 +15,26 @@ tx_gain: ${trx.tx_gain}, /* TX gain (in dB) B2x0: 0 to 89.8 dB */ rx_gain: ${trx.rx_gain}, /* RX gain (in dB) B2x0: 0 to 73 dB */ +rf_ports: [ + % if trx.rf_dev_type == 'sdr': + { + sample_rate: 23.04, + }, + { + sample_rate: 61.44, + dl_freq: 3502.8, // Moves NR DL LO frequency -5.76 MHz + ul_freq: 3502.8, // Moves NR UL LO frequency -5.76 MHz + } + % else: + { + sample_rate: ${enb.sample_rate}, + }, + { + sample_rate: ${enb.sample_rate}, + } + % endif +], + // only the B210 requires a sample offset % if "b200" in trx.rf_dev_args: tx_time_offset: -150, diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index 8740d62..f85ebd5 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -114,6 +114,7 @@ duplex: fdd transmission_mode: 1 num_cells: 1 + num_nr_cells: 0 inactivity_timer: 20000 enable_measurements: false enable_dl_awgn: false @@ -147,6 +148,7 @@ root_seq_idx: 205 scell_list: [] ncell_list: [] + nr_cell_list: [] cipher_list: - eea0 - eea2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia27bbc6db5920ce14bacabe8043601aa2adaa5fe Gerrit-Change-Number: 24126 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 15:37:13 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 4 May 2021 15:37:13 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add 5G NSA support References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24127 ) Change subject: ms_srs: add 5G NSA support ...................................................................... ms_srs: add 5G NSA support extend the MS to allow for NR carriers Change-Id: I7de9f867e7e32d0ab4f74eb7661928175f6c1a16 --- M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl M sysmocom/defaults.conf 3 files changed, 37 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/27/24127/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 54dc5de..ec4486f 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -36,6 +36,7 @@ 'rf_dev_args': schema.STR, 'rf_dev_sync': schema.STR, 'num_carriers': schema.UINT, + 'num_nr_carriers': schema.UINT, 'additional_args[]': schema.STR, 'airplane_t_on_ms': schema.INT, 'airplane_t_off_ms': schema.INT, @@ -54,7 +55,11 @@ 'enable_pcap': schema.BOOL_STR, 'log_all_level': schema.STR, 'log_nas_level': schema.STR, - 'nr_short_sn_support': schema.BOOL_STR + 'nr_short_sn_support': schema.BOOL_STR, + 'rrc_release': schema.INT, + 'ue_category': schema.INT, + 'ue_category_dl': schema.INT, + 'ue_category_ul': schema.INT, } schema.register_config_schema('modem', config_schema) @@ -101,6 +106,7 @@ self.remote_metrics_file = None self.enable_pcap = False self.num_carriers = 1 + self.num_nr_carriers = 0 self._additional_args = [] if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -270,6 +276,7 @@ self._additional_args += add_args.split() self.num_carriers = int(values['ue'].get('num_carriers', 1)) + self.num_nr_carriers = int(values['ue'].get('num_nr_carriers', 0)) # Simply pass-through the sync options config.overlay(values, dict(ue={'rf_dev_sync': values['ue'].get('rf_dev_sync', None)})) @@ -283,7 +290,7 @@ if self.num_carriers == 1: # Single carrier - if self.enb.num_ports() == 1: + if self.enb.num_ports() == 1 and self.num_nr_carriers == 0: # SISO rf_dev_args += ',rx_freq0=2630e6,tx_freq0=2510e6' elif self.enb.num_ports() == 2: diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 8d206fa..412dbda 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -22,22 +22,30 @@ device_args = ${ue.rf_dev_args},${ue.rf_dev_sync} [rat.eutra] -% if int(ue.num_carriers) == 4: -dl_earfcn = 2850,3050,3250,3350 -% elif int(ue.num_carriers) == 2: -dl_earfcn = 2850,3050 + +% if ue.get('dl_earfcn', None) != None: +dl_earfcn = ${ue.dl_earfcn} + % else: -dl_earfcn = 2850 + % if int(ue.num_carriers) == 4: + dl_earfcn = 2850,3050,3250,3350 + % elif int(ue.num_carriers) == 2: + dl_earfcn = 2850,3050 + % else: + dl_earfcn = 2850 + % endif % endif -% if ue.get('dl_freq', -1) != -1: + +% if float(ue.get('dl_freq', -1)) != -1: dl_freq = ${ue.dl_freq} % endif -% if ue.get('ul_freq', -1) != -1: +% if float(ue.get('ul_freq', -1)) != -1: ul_freq = ${ue.ul_freq} % endif - nof_carriers = ${ue.num_carriers} +[rat.nr] +nof_carriers = ${ue.num_nr_carriers} [pcap] enable = ${'mac' if ue.enable_pcap else 'none'} @@ -65,19 +73,18 @@ imsi = ${ue.imsi} imei = 353490069873319 - [rrc] -% if "dl_qam256" in ue.features or "ul_qam64" in ue.features: -ue_category = 8 -release = 13 -ue_category_dl = 14 -ue_category_ul = 5 -% elif int(ue.num_carriers) > 1: -ue_category = 7 -release = 10 -% else: -#ue_category = 4 -#release = 8 +% if ue.get('rrc_release', None) != None: +release = ${ue.rrc_release} +% endif +% if ue.get('ue_category', None) != None: +ue_category = ${ue.ue_category} +% endif +% if ue.get('ue_category_dl', None) != None: +ue_category_dl = ${ue.ue_category_dl} +% endif +% if ue.get('ue_category_ul', None) != None: +ue_category_ul = ${ue.ue_category_ul} % endif diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index f85ebd5..5c772ef 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -183,6 +183,7 @@ airplane_t_on_ms: -1 airplane_t_off_ms: -1 num_carriers: 1 + num_nr_carriers: 0 tx_gain: 80 rx_gain: 40 freq_offset: 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I7de9f867e7e32d0ab4f74eb7661928175f6c1a16 Gerrit-Change-Number: 24127 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 15:37:13 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 4 May 2021 15:37:13 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_ltemme.cfg.tmpl: enable ENDC support in config template References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24128 ) Change subject: amarisoft_ltemme.cfg.tmpl: enable ENDC support in config template ...................................................................... amarisoft_ltemme.cfg.tmpl: enable ENDC support in config template patch also remove the UE forwarding option which isn't used anymore in the MME. Change-Id: Ia1628e6674b124806e3cd59c5b190d27f6ba4403 --- M src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl 1 file changed, 3 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/28/24128/1 diff --git a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl index a6de3c0..05b891a 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl @@ -51,6 +51,9 @@ /* Control Plane Cellular IoT EPS optimization support */ cp_ciot_opt: true, + /* DCNR support */ + nr_support: true, + /* Public Data Networks. The first one is the default. */ pdn_list: [ { @@ -148,12 +151,6 @@ */ tun_setup_script: "${epc.ifup_filename}", - /* If true, inter-UE routing is done inside the MME (hence no IP - packet is output to the virtual network interface in case of - inter-UE communication). Otherwise, it is done by the Linux IP - layer. */ - ue_to_ue_forwarding: false, - /* NAS ciphering algorithm preference. EEA0 is always the last. */ nas_cipher_algo_pref: [ ], /* NAS integrity algorithm preference. EIA0 is always the last. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia1628e6674b124806e3cd59c5b190d27f6ba4403 Gerrit-Change-Number: 24128 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 16:09:46 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 4 May 2021 16:09:46 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23234 ) Change subject: stats: add BTS uptime counter ...................................................................... stats: add BTS uptime counter Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bts.c 4 files changed, 32 insertions(+), 0 deletions(-) Approvals: daniel: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index bcc215d..7a491d9 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -143,6 +143,7 @@ extern const struct rate_ctr_group_desc bts_ctrg_desc; enum { + BTS_STAT_UPTIME_SECONDS, BTS_STAT_CHAN_LOAD_AVERAGE, BTS_STAT_CHAN_CCCH_SDCCH4_USED, BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL, @@ -646,6 +647,9 @@ int bts_gprs_mode_is_compat(struct gsm_bts *bts, enum bts_gprs_mode mode); +#define BTS_STORE_UPTIME_INTERVAL 10 /* in seconds */ +void bts_store_uptime(struct gsm_bts *bts); + unsigned long long bts_uptime(const struct gsm_bts *bts); char *get_model_oml_status(const struct gsm_bts *bts); diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 9aecd2c..dc10dc6 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1216,6 +1216,9 @@ /* Timer for periodic channel load measurements to maintain each BTS's T3122. */ struct osmo_timer_list t3122_chan_load_timer; + /* Timer to write each BTS's uptime counter state to the stats system. */ + struct osmo_timer_list bts_store_uptime_timer; + struct { struct mgcp_client_conf *conf; struct mgcp_client *client; diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index b572f27..24596f4 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -85,6 +85,18 @@ osmo_timer_schedule(&net->t3122_chan_load_timer, T3122_CHAN_LOAD_SAMPLE_INTERVAL, 0); } +static void bsc_store_bts_uptime(void *data) +{ + struct gsm_network *net = data; + struct gsm_bts *bts; + + llist_for_each_entry(bts, &net->bts_list, list) + bts_store_uptime(bts); + + /* Keep this timer ticking. */ + osmo_timer_schedule(&net->bts_store_uptime_timer, BTS_STORE_UPTIME_INTERVAL, 0); +} + static struct gsm_network *bsc_network_init(void *ctx) { struct gsm_network *net = gsm_network_init(ctx); @@ -128,6 +140,10 @@ osmo_timer_setup(&net->t3122_chan_load_timer, update_t3122_chan_load_timer, net); osmo_timer_schedule(&net->t3122_chan_load_timer, T3122_CHAN_LOAD_SAMPLE_INTERVAL, 0); + /* Init uptime tracking timer. */ + osmo_timer_setup(&net->bts_store_uptime_timer, bsc_store_bts_uptime, net); + osmo_timer_schedule(&net->bts_store_uptime_timer, BTS_STORE_UPTIME_INTERVAL, 0); + net->cbc->net = net; net->cbc->mode = BSC_CBC_LINK_MODE_DISABLED; net->cbc->server.local_addr = bsc_cbc_default_server_local_addr; diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 2192c56..17659a1 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -556,6 +556,11 @@ return NULL; } +void bts_store_uptime(struct gsm_bts *bts) +{ + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_UPTIME_SECONDS], bts_uptime(bts)); +} + unsigned long long bts_uptime(const struct gsm_bts *bts) { struct timespec tp; @@ -1112,6 +1117,10 @@ }; const struct osmo_stat_item_desc bts_stat_desc[] = { + [BTS_STAT_UPTIME_SECONDS] = \ + { "uptime:seconds", + "Seconds of uptime", + "s", 60, 0 }, [BTS_STAT_CHAN_LOAD_AVERAGE] = \ { "chanloadavg", "Channel load average", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 8 Gerrit-Owner: iedemam Gerrit-Assignee: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 16:35:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 May 2021 16:35:51 +0000 Subject: Change in pysim[master]: filesystem: add unit tests for encoder/decoder methods In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24012 ) Change subject: filesystem: add unit tests for encoder/decoder methods ...................................................................... Patch Set 4: > I am not familiar with the new pySim API, but it feels like you're re-inventing Python's unittest framework in this change. I would be careful with such statements. The point here is that each file class defines _data_, and not code. Then there is a shared function that excudes a common unit test with the data specified in the file-specific class. At least I know python unittest only in he following way: * specify _code_ for each class to test * that test is not with the implementation bu in a separate file If you are aware of python unittest implementing a data-driven approach with 'test data within implementation', please show some pointers, thanks. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I02d884547f4982e0b8ed7ef21b8cda75237942e2 Gerrit-Change-Number: 24012 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 04 May 2021 16:35:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 18:45:37 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 4 May 2021 18:45:37 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: add NR support In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24126 to look at the new patch set (#2). Change subject: amarisoft_enb: add NR support ...................................................................... amarisoft_enb: add NR support this patch adds the ability to configure NR cells with Amarisoft eNB. It adds the new DRB-NR template and updates the normal enb.cfg template to allow using it as LTE only or with NR cells (5G NSA). Change-Id: Ia27bbc6db5920ce14bacabe8043601aa2adaa5fe --- M doc/examples/4g_srsLTE/defaults.conf M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py A src/osmo_gsm_tester/templates/amarisoft_drb_nr.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl M sysmocom/defaults.conf 7 files changed, 934 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/26/24126/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia27bbc6db5920ce14bacabe8043601aa2adaa5fe Gerrit-Change-Number: 24126 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Tue May 4 19:08:10 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 04 May 2021 19:08:10 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <60919b9f29350_6ab22aae945685fc225531b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-remsim failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 0s] [ 0s] armbuild04 started "build osmo-remsim_0.2.2.107.a06d.202105040026.dsc" at Tue May 4 19:07:55 UTC 2021. [ 0s] [ 0s] Building osmo-remsim for project 'network:osmocom:nightly' repository 'Debian_9.0' arch 'armv7l' srcmd5 'b0f887e92727745017058ba630417f71' [ 0s] [ 0s] processing recipe /var/cache/obs/worker/root_2/.build-srcdir/osmo-remsim_0.2.2.107.a06d.202105040026.dsc ... [ 0s] running changelog2spec --target debian --file /var/cache/obs/worker/root_2/.build-srcdir/osmo-remsim_0.2.2.107.a06d.202105040026.dsc [ 0s] init_buildsystem --configdir /var/run/obs/worker/2/build/configs --cachedir /var/cache/build --prepare --clean --rpmlist /var/cache/obs/worker/root_2/.build.rpmlist /var/cache/obs/worker/root_2/.build-srcdir/osmo-remsim_0.2.2.107.a06d.202105040026.dsc build ... [ 0s] unknown keyword in config: [ 0s] could not autodetect package type [ 0s] [ 0s] armbuild04 failed "build osmo-remsim_0.2.2.107.a06d.202105040026.dsc" at Tue May 4 19:07:55 UTC 2021. [ 0s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue May 4 20:23:53 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 4 May 2021 20:23:53 +0000 Subject: Change in osmo-mgw[master]: Log messages about RTP timestamps at level INFO References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24130 ) Change subject: Log messages about RTP timestamps at level INFO ...................................................................... Log messages about RTP timestamps at level INFO During normal operations, osmo-mgw floods the log/vty at level NOTICE with message about RTP timestamps, let's log them at INFO instead. Change-Id: Id76dc6345e1b1875240c87c609b5224ea9a6643f --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/30/24130/1 diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 6a30165..748ac9c 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -326,7 +326,7 @@ if (timestamp_error) { rate_ctr_inc(sstate->err_ts_ctr); - LOGPENDP(endp, DRTP, LOGL_NOTICE, + LOGPENDP(endp, DRTP, LOGL_INFO, "The %s timestamp has an alignment error of %d " "on SSRC: %u " "SeqNo delta: %d, TS delta: %d, dTS/dSeq: %d " @@ -413,7 +413,7 @@ /* If there is an alignment error, we have to compensate it */ if (ts_error) { state->patch.timestamp_offset += ptime - ts_error; - LOGPENDP(endp, DRTP, LOGL_NOTICE, + LOGPENDP(endp, DRTP, LOGL_INFO, "Corrected timestamp alignment error of %d on SSRC: %u " "new TS offset: %d, " "from %s:%d\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id76dc6345e1b1875240c87c609b5224ea9a6643f Gerrit-Change-Number: 24130 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 20:23:53 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 4 May 2021 20:23:53 +0000 Subject: Change in osmo-mgw[master]: Add show mgcp active References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24131 ) Change subject: Add show mgcp active ...................................................................... Add show mgcp active With just one E1 line, the 'show mgcp' command outputs several hundred lines to the vty. Add a 'active' parameter to only show endpoints that are active. Change-Id: I23a26b4fdc03d8b2469d293dd6c06ed83ce739e9 --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 32 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/31/24131/1 diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 521f86e..2329bdc 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -301,7 +301,7 @@ } -static void dump_trunk(struct vty *vty, struct mgcp_trunk *trunk, int show_stats) +static void dump_trunk(struct vty *vty, struct mgcp_trunk *trunk, int show_stats, int active_only) { int i; @@ -316,29 +316,25 @@ for (i = 0; i < trunk->number_endpoints; ++i) { struct mgcp_endpoint *endp = trunk->endpoints[i]; - dump_endpoint(vty, endp, trunk->trunk_nr, trunk->trunk_type, - show_stats); - if (i < trunk->number_endpoints - 1) - vty_out(vty, "%s", VTY_NEWLINE); + if (!active_only || !llist_empty(&endp->conns)) { + dump_endpoint(vty, endp, trunk->trunk_nr, trunk->trunk_type, + show_stats); + if (i < trunk->number_endpoints - 1) + vty_out(vty, "%s", VTY_NEWLINE); + } } if (show_stats) dump_ratectr_trunk(vty, trunk); } -#define SHOW_MGCP_STR "Display information about the MGCP Media Gateway\n" - -DEFUN(show_mcgp, show_mgcp_cmd, - "show mgcp [stats]", - SHOW_STR - SHOW_MGCP_STR - "Include Statistics\n") +static int mgcp_show(struct vty *vty, int argc, const char **argv, + int show_stats, int active_only) { struct mgcp_trunk *trunk; - int show_stats = argc >= 1; llist_for_each_entry(trunk, &g_cfg->trunks, entry) - dump_trunk(vty, trunk, show_stats); + dump_trunk(vty, trunk, show_stats, active_only); if (g_cfg->osmux) vty_out(vty, "Osmux used CID: %d%s", osmux_cid_pool_count_used(), @@ -350,6 +346,27 @@ return CMD_SUCCESS; } +#define SHOW_MGCP_STR "Display information about the MGCP Media Gateway\n" + +DEFUN(show_mgcp, show_mgcp_cmd, + "show mgcp [stats]", + SHOW_STR + SHOW_MGCP_STR + "Include Statistics\n") +{ + int show_stats = argc >= 1; + return mgcp_show(vty, argc, argv, show_stats, 0); +} + +DEFUN(show_mgcp_active, show_mgcp_active_cmd, + "show mgcp active", + SHOW_STR + SHOW_MGCP_STR + "Show only Endpoints with Active Connections\n") +{ + return mgcp_show(vty, argc, argv, 0, 1); +} + static void dump_mgcp_endpoint(struct vty *vty, struct mgcp_trunk *trunk, const char *epname) { @@ -1606,6 +1623,7 @@ int mgcp_vty_init(void) { install_element_ve(&show_mgcp_cmd); + install_element_ve(&show_mgcp_active_cmd); install_element_ve(&show_mgcp_endpoint_cmd); install_element_ve(&show_mgcp_trunk_endpoint_cmd); install_element(ENABLE_NODE, &loop_conn_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I23a26b4fdc03d8b2469d293dd6c06ed83ce739e9 Gerrit-Change-Number: 24131 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 20:24:03 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 4 May 2021 20:24:03 +0000 Subject: Change in libosmo-abis[master]: Log TRAU FSM at INFO not NOTICE References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24132 ) Change subject: Log TRAU FSM at INFO not NOTICE ...................................................................... Log TRAU FSM at INFO not NOTICE During normal operations, osmo-mgw floods the log/vty at level NOTICE with: Received Event RX_BITS (trau_sync.c:525) Change-Id: Ib4c5ac130e766906361c63090b30111970343075 --- M src/trau/trau_sync.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/32/24132/1 diff --git a/src/trau/trau_sync.c b/src/trau/trau_sync.c index 89c5558..dba9cd1 100644 --- a/src/trau/trau_sync.c +++ b/src/trau/trau_sync.c @@ -487,7 +487,7 @@ if (pat_id >= ARRAY_SIZE(sync_patterns)) return NULL; - fi = osmo_fsm_inst_alloc(&trau_sync_fsm, ctx, NULL, LOGL_NOTICE, name); + fi = osmo_fsm_inst_alloc(&trau_sync_fsm, ctx, NULL, LOGL_INFO, name); if (!fi) return NULL; tss = talloc_zero(fi, struct trau_rx_sync_state); -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24132 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ib4c5ac130e766906361c63090b30111970343075 Gerrit-Change-Number: 24132 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 20:24:04 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 4 May 2021 20:24:04 +0000 Subject: Change in libosmo-abis[master]: Fix up vty 'show' commands for E1 line/timeslots References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24133 ) Change subject: Fix up vty 'show' commands for E1 line/timeslots ...................................................................... Fix up vty 'show' commands for E1 line/timeslots Change-Id: I6af92ae2808713c74afeecaa1f500443fb2b7795 --- M src/e1_input_vty.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/33/24133/1 diff --git a/src/e1_input_vty.c b/src/e1_input_vty.c index c392a3b..b923a58 100644 --- a/src/e1_input_vty.c +++ b/src/e1_input_vty.c @@ -453,7 +453,7 @@ DEFUN(show_e1line, show_e1line_cmd, - "show e1_line [line_nr] [stats]", + "show e1_line [<0-255>] [stats]", SHOW_STR "Display information about a E1 line\n" "E1 Line Number\n" "Include statistics\n") { @@ -493,7 +493,7 @@ DEFUN(show_e1ts, show_e1ts_cmd, - "show e1_timeslot [line_nr] [ts_nr]", + "show e1_timeslot [<0-255>] [<0-31>]", SHOW_STR "Display information about a E1 timeslot\n" "E1 Line Number\n" "E1 Timeslot Number\n") { -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I6af92ae2808713c74afeecaa1f500443fb2b7795 Gerrit-Change-Number: 24133 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 20:43:21 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 4 May 2021 20:43:21 +0000 Subject: Change in libosmo-abis[master]: Log TRAU FSM at INFO not NOTICE In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/24132 to look at the new patch set (#2). Change subject: Log TRAU FSM at INFO not NOTICE ...................................................................... Log TRAU FSM at INFO not NOTICE During normal operations, osmo-mgw floods the log/vty at level NOTICE with: Received Event RX_BITS (trau_sync.c:525) Change-Id: Ib4c5ac130e766906361c63090b30111970343075 --- M src/trau/trau_sync.c M tests/trau_sync/trau_sync_test.c 2 files changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/32/24132/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24132 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ib4c5ac130e766906361c63090b30111970343075 Gerrit-Change-Number: 24132 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 22:09:50 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 4 May 2021 22:09:50 +0000 Subject: Change in osmo-mgw[master]: Add vty command 'show mgcp active' In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/24131 to look at the new patch set (#2). Change subject: Add vty command 'show mgcp active' ...................................................................... Add vty command 'show mgcp active' With just one E1 line, the 'show mgcp' command outputs several hundred lines to the vty. Add a 'active' parameter to only show endpoints that are active. Change-Id: I23a26b4fdc03d8b2469d293dd6c06ed83ce739e9 --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 32 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/31/24131/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I23a26b4fdc03d8b2469d293dd6c06ed83ce739e9 Gerrit-Change-Number: 24131 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 22:59:21 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 4 May 2021 22:59:21 +0000 Subject: Change in libosmo-abis[master]: Fix up vty 'show' commands for E1 line/timeslots In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24133 ) Change subject: Fix up vty 'show' commands for E1 line/timeslots ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I6af92ae2808713c74afeecaa1f500443fb2b7795 Gerrit-Change-Number: 24133 Gerrit-PatchSet: 3 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 May 2021 22:59:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 4 23:14:56 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 4 May 2021 23:14:56 +0000 Subject: Change in libosmo-abis[master]: Fix up vty 'show' commands for E1 line/timeslots In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/24133 to look at the new patch set (#4). Change subject: Fix up vty 'show' commands for E1 line/timeslots ...................................................................... Fix up vty 'show' commands for E1 line/timeslots Change-Id: I6af92ae2808713c74afeecaa1f500443fb2b7795 --- M src/e1_input_vty.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/33/24133/4 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I6af92ae2808713c74afeecaa1f500443fb2b7795 Gerrit-Change-Number: 24133 Gerrit-PatchSet: 4 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 03:09:36 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Wed, 5 May 2021 03:09:36 +0000 Subject: Change in gr-gsm[master]: Fix compilation error: '_1' was not declared in this scope In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24105 ) Change subject: Fix compilation error: '_1' was not declared in this scope ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24105 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I0f1f2df817a65f7d5b72c5280451346a0a011d47 Gerrit-Change-Number: 24105 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Wed, 05 May 2021 03:09:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 03:09:47 2021 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Wed, 5 May 2021 03:09:47 +0000 Subject: Change in gr-gsm[master]: Fix compilation error: '_1' was not declared in this scope In-Reply-To: References: Message-ID: ptrkrysik has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24105 ) Change subject: Fix compilation error: '_1' was not declared in this scope ...................................................................... Fix compilation error: '_1' was not declared in this scope Change-Id: I0f1f2df817a65f7d5b72c5280451346a0a011d47 --- M include/grgsm/misc_utils/udp_socket.h M lib/decoding/control_channels_decoder_impl.cc M lib/decoding/tch_f_decoder_impl.cc M lib/decoding/tch_h_decoder_impl.cc M lib/decryption/decryption_impl.cc M lib/demapping/tch_f_chans_demapper_impl.cc M lib/demapping/tch_h_chans_demapper_impl.cc M lib/demapping/universal_ctrl_chans_demapper_impl.cc M lib/flow_control/burst_fnr_filter_impl.cc M lib/flow_control/burst_sdcch_subslot_filter_impl.cc M lib/flow_control/burst_sdcch_subslot_splitter_impl.cc M lib/flow_control/burst_timeslot_filter_impl.cc M lib/flow_control/burst_timeslot_splitter_impl.cc M lib/flow_control/burst_type_filter_impl.cc M lib/flow_control/dummy_burst_filter_impl.cc M lib/flow_control/uplink_downlink_splitter_impl.cc M lib/misc_utils/burst_file_sink_impl.cc M lib/misc_utils/burst_to_fn_time_impl.cc M lib/misc_utils/bursts_printer_impl.cc M lib/misc_utils/collect_system_info_impl.cc M lib/misc_utils/extract_assignment_cmd_impl.cc M lib/misc_utils/extract_cmc_impl.cc M lib/misc_utils/extract_immediate_assignment_impl.cc M lib/misc_utils/extract_system_info_impl.cc M lib/misc_utils/message_file_sink_impl.cc M lib/misc_utils/message_printer_impl.cc M lib/misc_utils/msg_to_tag_impl.cc M lib/misc_utils/tmsi_dumper_impl.cc M lib/qa_utils/burst_sink_impl.cc M lib/qa_utils/message_sink_impl.cc M lib/receiver/clock_offset_control_impl.cc M lib/receiver/cx_channel_hopper_impl.cc M lib/transmitter/gen_test_ab_impl.cc M lib/transmitter/preprocess_tx_burst_impl.cc M lib/transmitter/txtime_setter_impl.cc M lib/trx/trx_burst_if_impl.cc 36 files changed, 38 insertions(+), 39 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified diff --git a/include/grgsm/misc_utils/udp_socket.h b/include/grgsm/misc_utils/udp_socket.h index d1ceb9f..d048f00 100644 --- a/include/grgsm/misc_utils/udp_socket.h +++ b/include/grgsm/misc_utils/udp_socket.h @@ -28,7 +28,6 @@ #include #include #include -#include #include namespace gr { diff --git a/lib/decoding/control_channels_decoder_impl.cc b/lib/decoding/control_channels_decoder_impl.cc index 81ce161..b49582f 100644 --- a/lib/decoding/control_channels_decoder_impl.cc +++ b/lib/decoding/control_channels_decoder_impl.cc @@ -70,7 +70,7 @@ { //setup input/output ports message_port_register_in(pmt::mp("bursts")); - set_msg_handler(pmt::mp("bursts"), boost::bind(&control_channels_decoder_impl::decode, this, _1)); + set_msg_handler(pmt::mp("bursts"), boost::bind(&control_channels_decoder_impl::decode, this, boost::placeholders::_1)); message_port_register_out(pmt::mp("msgs")); } diff --git a/lib/decoding/tch_f_decoder_impl.cc b/lib/decoding/tch_f_decoder_impl.cc index 02dc45a..03e8fc8 100644 --- a/lib/decoding/tch_f_decoder_impl.cc +++ b/lib/decoding/tch_f_decoder_impl.cc @@ -92,7 +92,7 @@ { //setup input/output ports message_port_register_in(pmt::mp("bursts")); - set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_f_decoder_impl::decode, this, _1)); + set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_f_decoder_impl::decode, this, boost::placeholders::_1)); message_port_register_out(pmt::mp("msgs")); message_port_register_out(pmt::mp("voice")); diff --git a/lib/decoding/tch_h_decoder_impl.cc b/lib/decoding/tch_h_decoder_impl.cc index b6827f7..f1ba5ba 100644 --- a/lib/decoding/tch_h_decoder_impl.cc +++ b/lib/decoding/tch_h_decoder_impl.cc @@ -81,7 +81,7 @@ { //setup input/output ports message_port_register_in(pmt::mp("bursts")); - set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_h_decoder_impl::decode, this, _1)); + set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_h_decoder_impl::decode, this, boost::placeholders::_1)); message_port_register_out(pmt::mp("msgs")); message_port_register_out(pmt::mp("voice")); diff --git a/lib/decryption/decryption_impl.cc b/lib/decryption/decryption_impl.cc index 551afa4..d189596 100644 --- a/lib/decryption/decryption_impl.cc +++ b/lib/decryption/decryption_impl.cc @@ -61,7 +61,7 @@ validate_k_c(); message_port_register_in(pmt::mp("bursts")); - set_msg_handler(pmt::mp("bursts"), boost::bind(&decryption_impl::decrypt, this, _1)); + set_msg_handler(pmt::mp("bursts"), boost::bind(&decryption_impl::decrypt, this, boost::placeholders::_1)); message_port_register_out(pmt::mp("bursts")); } diff --git a/lib/demapping/tch_f_chans_demapper_impl.cc b/lib/demapping/tch_f_chans_demapper_impl.cc index bf1ff8f..ee0c05c 100644 --- a/lib/demapping/tch_f_chans_demapper_impl.cc +++ b/lib/demapping/tch_f_chans_demapper_impl.cc @@ -58,7 +58,7 @@ // } message_port_register_in(pmt::mp("bursts")); - set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_f_chans_demapper_impl::filter_tch_chans, this, _1)); + set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_f_chans_demapper_impl::filter_tch_chans, this, boost::placeholders::_1)); message_port_register_out(pmt::mp("tch_bursts")); message_port_register_out(pmt::mp("acch_bursts")); } diff --git a/lib/demapping/tch_h_chans_demapper_impl.cc b/lib/demapping/tch_h_chans_demapper_impl.cc index 73f49e1..101110c 100644 --- a/lib/demapping/tch_h_chans_demapper_impl.cc +++ b/lib/demapping/tch_h_chans_demapper_impl.cc @@ -57,7 +57,7 @@ //std::cout << "d_tch_type is " << d_tch_type << ", tch_h_channel is " << tch_h_channel << std::endl; message_port_register_in(pmt::mp("bursts")); - set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_h_chans_demapper_impl::filter_tch_chans, this, _1)); + set_msg_handler(pmt::mp("bursts"), boost::bind(&tch_h_chans_demapper_impl::filter_tch_chans, this, boost::placeholders::_1)); message_port_register_out(pmt::mp("tch_bursts")); message_port_register_out(pmt::mp("acch_bursts")); } diff --git a/lib/demapping/universal_ctrl_chans_demapper_impl.cc b/lib/demapping/universal_ctrl_chans_demapper_impl.cc index 94e8648..c78f8b3 100644 --- a/lib/demapping/universal_ctrl_chans_demapper_impl.cc +++ b/lib/demapping/universal_ctrl_chans_demapper_impl.cc @@ -75,7 +75,7 @@ std::copy(uplink_subslots.begin(), uplink_subslots.end(), d_uplink_subslots.begin()); message_port_register_in(pmt::mp("bursts")); - set_msg_handler(pmt::mp("bursts"), boost::bind(&universal_ctrl_chans_demapper_impl::filter_ctrl_chans, this, _1)); + set_msg_handler(pmt::mp("bursts"), boost::bind(&universal_ctrl_chans_demapper_impl::filter_ctrl_chans, this, boost::placeholders::_1)); message_port_register_out(pmt::mp("bursts")); } diff --git a/lib/flow_control/burst_fnr_filter_impl.cc b/lib/flow_control/burst_fnr_filter_impl.cc index 49ddc4c..ae129ee 100644 --- a/lib/flow_control/burst_fnr_filter_impl.cc +++ b/lib/flow_control/burst_fnr_filter_impl.cc @@ -55,7 +55,7 @@ message_port_register_in(pmt::mp("in")); message_port_register_out(pmt::mp("out")); - set_msg_handler(pmt::mp("in"), boost::bind(&burst_fnr_filter_impl::process_burst, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&burst_fnr_filter_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/flow_control/burst_sdcch_subslot_filter_impl.cc b/lib/flow_control/burst_sdcch_subslot_filter_impl.cc index cc72f99..beb3f58 100644 --- a/lib/flow_control/burst_sdcch_subslot_filter_impl.cc +++ b/lib/flow_control/burst_sdcch_subslot_filter_impl.cc @@ -54,7 +54,7 @@ message_port_register_in(pmt::mp("in")); message_port_register_out(pmt::mp("out")); - set_msg_handler(pmt::mp("in"), boost::bind(&burst_sdcch_subslot_filter_impl::process_burst, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&burst_sdcch_subslot_filter_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/flow_control/burst_sdcch_subslot_splitter_impl.cc b/lib/flow_control/burst_sdcch_subslot_splitter_impl.cc index 267f6b4..ff86296 100644 --- a/lib/flow_control/burst_sdcch_subslot_splitter_impl.cc +++ b/lib/flow_control/burst_sdcch_subslot_splitter_impl.cc @@ -63,7 +63,7 @@ message_port_register_out(pmt::mp("out7")); } - set_msg_handler(pmt::mp("in"), boost::bind(&burst_sdcch_subslot_splitter_impl::process_burst, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&burst_sdcch_subslot_splitter_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/flow_control/burst_timeslot_filter_impl.cc b/lib/flow_control/burst_timeslot_filter_impl.cc index 4fcd847..e69c60d 100644 --- a/lib/flow_control/burst_timeslot_filter_impl.cc +++ b/lib/flow_control/burst_timeslot_filter_impl.cc @@ -54,7 +54,7 @@ message_port_register_in(pmt::mp("in")); message_port_register_out(pmt::mp("out")); - set_msg_handler(pmt::mp("in"), boost::bind(&burst_timeslot_filter_impl::process_burst, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&burst_timeslot_filter_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/flow_control/burst_timeslot_splitter_impl.cc b/lib/flow_control/burst_timeslot_splitter_impl.cc index 1f1572c..d0cea4e 100644 --- a/lib/flow_control/burst_timeslot_splitter_impl.cc +++ b/lib/flow_control/burst_timeslot_splitter_impl.cc @@ -60,7 +60,7 @@ message_port_register_out(pmt::mp("out6")); message_port_register_out(pmt::mp("out7")); - set_msg_handler(pmt::mp("in"), boost::bind(&burst_timeslot_splitter_impl::process_burst, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&burst_timeslot_splitter_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/flow_control/burst_type_filter_impl.cc b/lib/flow_control/burst_type_filter_impl.cc index c8bbd7e..113a4a6 100644 --- a/lib/flow_control/burst_type_filter_impl.cc +++ b/lib/flow_control/burst_type_filter_impl.cc @@ -55,7 +55,7 @@ message_port_register_in(pmt::mp("bursts_in")); message_port_register_out(pmt::mp("bursts_out")); - set_msg_handler(pmt::mp("bursts_in"), boost::bind(&burst_type_filter_impl::process_burst, this, _1)); + set_msg_handler(pmt::mp("bursts_in"), boost::bind(&burst_type_filter_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/flow_control/dummy_burst_filter_impl.cc b/lib/flow_control/dummy_burst_filter_impl.cc index 4621187..7e31990 100644 --- a/lib/flow_control/dummy_burst_filter_impl.cc +++ b/lib/flow_control/dummy_burst_filter_impl.cc @@ -66,7 +66,7 @@ message_port_register_in(pmt::mp("in")); message_port_register_out(pmt::mp("out")); - set_msg_handler(pmt::mp("in"), boost::bind(&dummy_burst_filter_impl::process_burst, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&dummy_burst_filter_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/flow_control/uplink_downlink_splitter_impl.cc b/lib/flow_control/uplink_downlink_splitter_impl.cc index de5ae30..424d025 100644 --- a/lib/flow_control/uplink_downlink_splitter_impl.cc +++ b/lib/flow_control/uplink_downlink_splitter_impl.cc @@ -50,7 +50,7 @@ message_port_register_in(pmt::mp("in")); message_port_register_out(pmt::mp("uplink")); message_port_register_out(pmt::mp("downlink")); - set_msg_handler(pmt::mp("in"), boost::bind(&uplink_downlink_splitter_impl::process_msg, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&uplink_downlink_splitter_impl::process_msg, this, boost::placeholders::_1)); } void uplink_downlink_splitter_impl::process_msg(pmt::pmt_t msg) diff --git a/lib/misc_utils/burst_file_sink_impl.cc b/lib/misc_utils/burst_file_sink_impl.cc index 9990d86..ddcd583 100644 --- a/lib/misc_utils/burst_file_sink_impl.cc +++ b/lib/misc_utils/burst_file_sink_impl.cc @@ -48,7 +48,7 @@ d_output_file(filename.c_str(), std::ofstream::binary) { message_port_register_in(pmt::mp("in")); - set_msg_handler(pmt::mp("in"), boost::bind(&burst_file_sink_impl::process_burst, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&burst_file_sink_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/burst_to_fn_time_impl.cc b/lib/misc_utils/burst_to_fn_time_impl.cc index 3e587f0..6f6c1de 100644 --- a/lib/misc_utils/burst_to_fn_time_impl.cc +++ b/lib/misc_utils/burst_to_fn_time_impl.cc @@ -52,7 +52,7 @@ // Bind a port handler set_msg_handler(pmt::mp("bursts_in"), - boost::bind(&burst_to_fn_time_impl::handle_burst, this, _1)); + boost::bind(&burst_to_fn_time_impl::handle_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/bursts_printer_impl.cc b/lib/misc_utils/bursts_printer_impl.cc index ab9c319..fbd9bd3 100644 --- a/lib/misc_utils/bursts_printer_impl.cc +++ b/lib/misc_utils/bursts_printer_impl.cc @@ -155,7 +155,7 @@ d_ignore_dummy_bursts = ignore_dummy_bursts; message_port_register_in(pmt::mp("bursts")); - set_msg_handler(pmt::mp("bursts"), boost::bind(&bursts_printer_impl::bursts_print, this, _1)); + set_msg_handler(pmt::mp("bursts"), boost::bind(&bursts_printer_impl::bursts_print, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/collect_system_info_impl.cc b/lib/misc_utils/collect_system_info_impl.cc index 072734a..6ab982e 100644 --- a/lib/misc_utils/collect_system_info_impl.cc +++ b/lib/misc_utils/collect_system_info_impl.cc @@ -172,7 +172,7 @@ gr::io_signature::make(0, 0, 0)) { message_port_register_in(pmt::mp("msgs")); - set_msg_handler(pmt::mp("msgs"), boost::bind(&collect_system_info_impl::process_messages, this, _1)); + set_msg_handler(pmt::mp("msgs"), boost::bind(&collect_system_info_impl::process_messages, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/extract_assignment_cmd_impl.cc b/lib/misc_utils/extract_assignment_cmd_impl.cc index e4aa319..fe75f21 100644 --- a/lib/misc_utils/extract_assignment_cmd_impl.cc +++ b/lib/misc_utils/extract_assignment_cmd_impl.cc @@ -70,7 +70,7 @@ gr::io_signature::make(0, 0, 0)) { message_port_register_in(pmt::mp("msgs")); - set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_assignment_cmd_impl::process_messages, this, _1)); + set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_assignment_cmd_impl::process_messages, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/extract_cmc_impl.cc b/lib/misc_utils/extract_cmc_impl.cc index 04b0afc..c313b58 100644 --- a/lib/misc_utils/extract_cmc_impl.cc +++ b/lib/misc_utils/extract_cmc_impl.cc @@ -83,7 +83,7 @@ gr::io_signature::make(0, 0, 0)) { message_port_register_in(pmt::mp("msgs")); - set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_cmc_impl::process_messages, this, _1)); + set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_cmc_impl::process_messages, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/extract_immediate_assignment_impl.cc b/lib/misc_utils/extract_immediate_assignment_impl.cc index a6d1658..579fe61 100644 --- a/lib/misc_utils/extract_immediate_assignment_impl.cc +++ b/lib/misc_utils/extract_immediate_assignment_impl.cc @@ -332,7 +332,7 @@ d_ignore_gprs = ignore_gprs; d_unique_references = unique_references; message_port_register_in(pmt::mp("msgs")); - set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_immediate_assignment_impl::process_message, this, _1)); + set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_immediate_assignment_impl::process_message, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/extract_system_info_impl.cc b/lib/misc_utils/extract_system_info_impl.cc index ad7adb8..3fef7d3 100644 --- a/lib/misc_utils/extract_system_info_impl.cc +++ b/lib/misc_utils/extract_system_info_impl.cc @@ -304,9 +304,9 @@ after_reset(false) { message_port_register_in(pmt::mp("bursts")); - set_msg_handler(pmt::mp("bursts"), boost::bind(&extract_system_info_impl::process_bursts, this, _1)); + set_msg_handler(pmt::mp("bursts"), boost::bind(&extract_system_info_impl::process_bursts, this, boost::placeholders::_1)); message_port_register_in(pmt::mp("msgs")); - set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_system_info_impl::process_sysinfo, this, _1)); + set_msg_handler(pmt::mp("msgs"), boost::bind(&extract_system_info_impl::process_sysinfo, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/message_file_sink_impl.cc b/lib/misc_utils/message_file_sink_impl.cc index 7857e6b..3f42d21 100644 --- a/lib/misc_utils/message_file_sink_impl.cc +++ b/lib/misc_utils/message_file_sink_impl.cc @@ -48,7 +48,7 @@ d_output_file(filename.c_str(), std::ofstream::binary) { message_port_register_in(pmt::mp("in")); - set_msg_handler(pmt::mp("in"), boost::bind(&message_file_sink_impl::process_message, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&message_file_sink_impl::process_message, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/message_printer_impl.cc b/lib/misc_utils/message_printer_impl.cc index 8342946..200888a 100644 --- a/lib/misc_utils/message_printer_impl.cc +++ b/lib/misc_utils/message_printer_impl.cc @@ -108,7 +108,7 @@ d_prepend_frame_count = prepend_frame_count; d_print_gsmtap_header = print_gsmtap_header; message_port_register_in(pmt::mp("msgs")); - set_msg_handler(pmt::mp("msgs"), boost::bind(&message_printer_impl::message_print, this, _1)); + set_msg_handler(pmt::mp("msgs"), boost::bind(&message_printer_impl::message_print, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/msg_to_tag_impl.cc b/lib/misc_utils/msg_to_tag_impl.cc index e08c7e6..e145b77 100644 --- a/lib/misc_utils/msg_to_tag_impl.cc +++ b/lib/misc_utils/msg_to_tag_impl.cc @@ -57,7 +57,7 @@ gr::io_signature::make(1, 1, sizeof(gr_complex))) { message_port_register_in(pmt::mp("msg")); - set_msg_handler(pmt::mp("msg"), boost::bind(&msg_to_tag_impl::queue_msg, this, _1)); + set_msg_handler(pmt::mp("msg"), boost::bind(&msg_to_tag_impl::queue_msg, this, boost::placeholders::_1)); } /* diff --git a/lib/misc_utils/tmsi_dumper_impl.cc b/lib/misc_utils/tmsi_dumper_impl.cc index 043d935..3809eee 100644 --- a/lib/misc_utils/tmsi_dumper_impl.cc +++ b/lib/misc_utils/tmsi_dumper_impl.cc @@ -217,7 +217,7 @@ { dump_file.open("tmsicount.txt", std::ios_base::app); message_port_register_in(pmt::mp("msgs")); - set_msg_handler(pmt::mp("msgs"), boost::bind(&tmsi_dumper_impl::dump_tmsi, this, _1)); + set_msg_handler(pmt::mp("msgs"), boost::bind(&tmsi_dumper_impl::dump_tmsi, this, boost::placeholders::_1)); } /* diff --git a/lib/qa_utils/burst_sink_impl.cc b/lib/qa_utils/burst_sink_impl.cc index 5151bf6..f585434 100644 --- a/lib/qa_utils/burst_sink_impl.cc +++ b/lib/qa_utils/burst_sink_impl.cc @@ -51,7 +51,7 @@ d_bursts(pmt::PMT_NIL) { message_port_register_in(pmt::mp("in")); - set_msg_handler(pmt::mp("in"), boost::bind(&burst_sink_impl::process_burst, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&burst_sink_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/qa_utils/message_sink_impl.cc b/lib/qa_utils/message_sink_impl.cc index c16f133..773bd11 100644 --- a/lib/qa_utils/message_sink_impl.cc +++ b/lib/qa_utils/message_sink_impl.cc @@ -48,7 +48,7 @@ gr::io_signature::make(0, 0, 0)) { message_port_register_in(pmt::mp("in")); - set_msg_handler(pmt::mp("in"), boost::bind(&message_sink_impl::process_message, this, _1)); + set_msg_handler(pmt::mp("in"), boost::bind(&message_sink_impl::process_message, this, boost::placeholders::_1)); } /* diff --git a/lib/receiver/clock_offset_control_impl.cc b/lib/receiver/clock_offset_control_impl.cc index d62c801..c733346 100644 --- a/lib/receiver/clock_offset_control_impl.cc +++ b/lib/receiver/clock_offset_control_impl.cc @@ -50,7 +50,7 @@ { message_port_register_in(pmt::mp("measurements")); - set_msg_handler(pmt::mp("measurements"), boost::bind(&clock_offset_control_impl::process_measurement, this, _1)); + set_msg_handler(pmt::mp("measurements"), boost::bind(&clock_offset_control_impl::process_measurement, this, boost::placeholders::_1)); message_port_register_out(pmt::mp("ctrl")); set_fc(fc); diff --git a/lib/receiver/cx_channel_hopper_impl.cc b/lib/receiver/cx_channel_hopper_impl.cc index e5be27a..4d19818 100644 --- a/lib/receiver/cx_channel_hopper_impl.cc +++ b/lib/receiver/cx_channel_hopper_impl.cc @@ -71,7 +71,7 @@ } message_port_register_in(pmt::mp("CX")); - set_msg_handler(pmt::mp("CX"), boost::bind(&cx_channel_hopper_impl::assemble_bursts, this, _1)); + set_msg_handler(pmt::mp("CX"), boost::bind(&cx_channel_hopper_impl::assemble_bursts, this, boost::placeholders::_1)); message_port_register_out(pmt::mp("bursts")); } diff --git a/lib/transmitter/gen_test_ab_impl.cc b/lib/transmitter/gen_test_ab_impl.cc index 1ce3658..dc0fba7 100644 --- a/lib/transmitter/gen_test_ab_impl.cc +++ b/lib/transmitter/gen_test_ab_impl.cc @@ -62,7 +62,7 @@ message_port_register_in(pmt::intern("bursts_in")); message_port_register_out(pmt::intern("bursts_out")); - set_msg_handler(pmt::intern("bursts_in"), boost::bind(&gen_test_ab_impl::generate_ab, this, _1)); + set_msg_handler(pmt::intern("bursts_in"), boost::bind(&gen_test_ab_impl::generate_ab, this, boost::placeholders::_1)); } /* diff --git a/lib/transmitter/preprocess_tx_burst_impl.cc b/lib/transmitter/preprocess_tx_burst_impl.cc index 5fbac98..2023ee6 100644 --- a/lib/transmitter/preprocess_tx_burst_impl.cc +++ b/lib/transmitter/preprocess_tx_burst_impl.cc @@ -55,7 +55,7 @@ message_port_register_out(pmt::mp("bursts_out")); set_msg_handler(pmt::mp("bursts_in"), - boost::bind(&preprocess_tx_burst_impl::process_burst, this, _1)); + boost::bind(&preprocess_tx_burst_impl::process_burst, this, boost::placeholders::_1)); } /* diff --git a/lib/transmitter/txtime_setter_impl.cc b/lib/transmitter/txtime_setter_impl.cc index fecc498..8e6b3cf 100644 --- a/lib/transmitter/txtime_setter_impl.cc +++ b/lib/transmitter/txtime_setter_impl.cc @@ -76,10 +76,10 @@ // Bind message handlers set_msg_handler(pmt::mp("fn_time"), boost::bind(&txtime_setter_impl::process_fn_time_reference, - this, _1)); + this, boost::placeholders::_1)); set_msg_handler(pmt::mp("bursts_in"), boost::bind(&txtime_setter_impl::process_txtime_of_burst, - this, _1)); + this, boost::placeholders::_1)); } /* diff --git a/lib/trx/trx_burst_if_impl.cc b/lib/trx/trx_burst_if_impl.cc index fed84a7..70d7d32 100644 --- a/lib/trx/trx_burst_if_impl.cc +++ b/lib/trx/trx_burst_if_impl.cc @@ -76,7 +76,7 @@ // Bind a port handler set_msg_handler(pmt::mp("bursts"), - boost::bind(&trx_burst_if_impl::handle_dl_burst, this, _1)); + boost::bind(&trx_burst_if_impl::handle_dl_burst, this, boost::placeholders::_1)); // Prepare port numbers std::string data_src_port = boost::lexical_cast (base_port + 2); @@ -88,7 +88,7 @@ // Bind DATA interface handler d_data_sock->udp_rx_handler = boost::bind( - &trx_burst_if_impl::handle_ul_burst, this, _1, _2); + &trx_burst_if_impl::handle_ul_burst, this, boost::placeholders::_1, boost::placeholders::_2); } /* -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24105 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I0f1f2df817a65f7d5b72c5280451346a0a011d47 Gerrit-Change-Number: 24105 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 09:08:59 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 5 May 2021 09:08:59 +0000 Subject: Change in osmo-mgw[master]: Add vty command 'show mgcp active' In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24131 ) Change subject: Add vty command 'show mgcp active' ...................................................................... Patch Set 2: Verified+1 Code-Review+1 (3 comments) Looks good to me. I wonder if show mgcp active [stats] makes sense, but apparently multiple optional non exclusive flags are not easy to model. https://gerrit.osmocom.org/c/osmo-mgw/+/24131/2/src/libosmo-mgcp/mgcp_vty.c File src/libosmo-mgcp/mgcp_vty.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24131/2/src/libosmo-mgcp/mgcp_vty.c at 324 PS2, Line 324: } maybe print something when no calls are active, otherwise the user only sees: Virtual trunk 0 with 30 endpoints: Virtual trunk 0 with 30 endpoints: No endpoints in use would look better. https://gerrit.osmocom.org/c/osmo-mgw/+/24131/2/src/libosmo-mgcp/mgcp_vty.c at 355 PS2, Line 355: "Include Statistics\n") I think it should be "Include statistics" https://gerrit.osmocom.org/c/osmo-mgw/+/24131/2/src/libosmo-mgcp/mgcp_vty.c at 365 PS2, Line 365: "Show only Endpoints with Active Connections\n") I am not an expert in spelling, but I think "Show only endpoints with active connections" is better. Just have a look at the style of the other help-strings in this file. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I23a26b4fdc03d8b2469d293dd6c06ed83ce739e9 Gerrit-Change-Number: 24131 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 05 May 2021 09:08:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 09:22:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 May 2021 09:22:08 +0000 Subject: Change in libosmocore[master]: gprs_ns2: sns: fix del bind() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24120 ) Change subject: gprs_ns2: sns: fix del bind() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I79062d404ebba9d5c8f7f209bebde146fa08c71f Gerrit-Change-Number: 24120 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 09:22:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 09:22:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 May 2021 09:22:43 +0000 Subject: Change in libosmocore[master]: gprs_ns2: vty: fix removing a bind from a SNS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24121 ) Change subject: gprs_ns2: vty: fix removing a bind from a SNS ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I088c18abafc82ae7bd7b8c487ad9e9b448c42ba9 Gerrit-Change-Number: 24121 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 09:22:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 09:23:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 May 2021 09:23:18 +0000 Subject: Change in libosmocore[master]: gprs_ns2: vty: fix removing a bind from a SNS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24121 ) Change subject: gprs_ns2: vty: fix removing a bind from a SNS ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24121/2/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/24121/2/src/gb/gprs_ns2_vty.c at 215 PS2, Line 215: llist_for_each_entry_safe(vnse_bind, tmp, &vnse->binds, list) { there's no need to use _safe variant here since list is not used anymore after llist_del. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I088c18abafc82ae7bd7b8c487ad9e9b448c42ba9 Gerrit-Change-Number: 24121 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 09:23:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 09:26:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 May 2021 09:26:36 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: move selection of the next bind into own function In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24122 ) Change subject: gprs_ns2_sns: move selection of the next bind into own function ...................................................................... Patch Set 2: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24122/2/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/24122/2/src/gb/gprs_ns2_sns.c at 889 PS2, Line 889: if (!gss->initial_bind) { this can be furhter simplified to: if (!gss->initial_bind || ss->initial_bind->list.next == &gss->binds) { gss->initial_bind = llist_first_entry(&gss->binds, struct ns2_sns_bind, list); } else { gss->initial_bind = llist_entry(gss->initial_bind->list.next, struct ns2_sns_bind, list); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d Gerrit-Change-Number: 24122 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 09:26:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 09:30:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 May 2021 09:30:12 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add 5G NSA support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24127 ) Change subject: ms_srs: add 5G NSA support ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I7de9f867e7e32d0ab4f74eb7661928175f6c1a16 Gerrit-Change-Number: 24127 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 09:30:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 09:34:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 May 2021 09:34:53 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: add NR support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24126 ) Change subject: amarisoft_enb: add NR support ...................................................................... Patch Set 2: Wouldn't it make a lot more sense to have a new type of object "gnb" and have a srsgnb implementation of it? Or can you run both 4g and 5g cells using the same srsenb process? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia27bbc6db5920ce14bacabe8043601aa2adaa5fe Gerrit-Change-Number: 24126 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 05 May 2021 09:34:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 09:35:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 May 2021 09:35:44 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_ltemme.cfg.tmpl: enable ENDC support in config template In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24128 ) Change subject: amarisoft_ltemme.cfg.tmpl: enable ENDC support in config template ...................................................................... Patch Set 2: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24128/2/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl File src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24128/2/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl at a151 PS2, Line 151: /* If true, inter-UE routing is done inside the MME (hence no IP In the future please do this kind of stuff in separate patches. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia1628e6674b124806e3cd59c5b190d27f6ba4403 Gerrit-Change-Number: 24128 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 09:35:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 09:36:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 May 2021 09:36:54 +0000 Subject: Change in osmo-mgw[master]: Log messages about RTP timestamps at level INFO In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24130 ) Change subject: Log messages about RTP timestamps at level INFO ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id76dc6345e1b1875240c87c609b5224ea9a6643f Gerrit-Change-Number: 24130 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 09:36:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 09:37:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 May 2021 09:37:36 +0000 Subject: Change in libosmo-abis[master]: Log TRAU FSM at INFO not NOTICE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24132 ) Change subject: Log TRAU FSM at INFO not NOTICE ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24132 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ib4c5ac130e766906361c63090b30111970343075 Gerrit-Change-Number: 24132 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 09:37:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 09:50:34 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 5 May 2021 09:50:34 +0000 Subject: Change in pysim[master]: WIP-TEST References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24134 ) Change subject: WIP-TEST ...................................................................... WIP-TEST Change-Id: I2de36a488840ec2bad94fa1830f9a2ac369bad80 --- M pySim/cards.py 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/34/24134/1 diff --git a/pySim/cards.py b/pySim/cards.py index 30857b3..e900a7a 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -351,7 +351,7 @@ (res, sw) = self._scc.update_binary(EF_USIM_ADF_map['UST'], content) return sw -class IsimCard(Card): +class IsimCard(UsimCard): def __init__(self, ssc): super(IsimCard, self).__init__(ssc) @@ -1255,7 +1255,7 @@ return None -class SysmoISIMSJA2(UsimCard, IsimCard): +class SysmoISIMSJA2(IsimCard): """ sysmocom sysmoISIM-SJA2 """ -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2de36a488840ec2bad94fa1830f9a2ac369bad80 Gerrit-Change-Number: 24134 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 10:02:48 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 5 May 2021 10:02:48 +0000 Subject: Change in pysim[master]: cards: IsimCard inherits UsimCard In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24134 to look at the new patch set (#2). Change subject: cards: IsimCard inherits UsimCard ...................................................................... cards: IsimCard inherits UsimCard Since an ISIM is always an USIM the class modell in cards.py should reflect this as well. Change-Id: I2de36a488840ec2bad94fa1830f9a2ac369bad80 --- M pySim/cards.py 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/34/24134/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2de36a488840ec2bad94fa1830f9a2ac369bad80 Gerrit-Change-Number: 24134 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 10:20:51 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 5 May 2021 10:20:51 +0000 Subject: Change in pysim[master]: cards: populate name property in Card, UsimCard and IsimCard References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24135 ) Change subject: cards: populate name property in Card, UsimCard and IsimCard ...................................................................... cards: populate name property in Card, UsimCard and IsimCard Even though Card, UsimCard and IsimCard are abstract classes which are normally only used to inheret from mit may make sense to pre-populate the name property with some meaningful value. Change-Id: Id643e1f83718aea073e7200aecbf2db2def8652f --- M pySim/cards.py 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/35/24135/1 diff --git a/pySim/cards.py b/pySim/cards.py index e900a7a..fa22d4c 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -34,6 +34,8 @@ class Card(object): + name = 'SIM' + def __init__(self, scc): self._scc = scc self._adm_chv_num = 4 @@ -282,6 +284,9 @@ self._scc.update_record(ef, rec_no, "ff" * len, force_len=False, verify=True) class UsimCard(Card): + + name = 'USIM' + def __init__(self, ssc): super(UsimCard, self).__init__(ssc) @@ -352,6 +357,9 @@ return sw class IsimCard(UsimCard): + + name = 'ISIM' + def __init__(self, ssc): super(IsimCard, self).__init__(ssc) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id643e1f83718aea073e7200aecbf2db2def8652f Gerrit-Change-Number: 24135 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 10:38:17 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 5 May 2021 10:38:17 +0000 Subject: Change in pysim[master]: WIP References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24136 ) Change subject: WIP ...................................................................... WIP Change-Id: Id6527254a7305516f2d00876815e46a3c71a81b6 --- M pySim/cards.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/36/24136/1 diff --git a/pySim/cards.py b/pySim/cards.py index fa22d4c..6e82728 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -289,6 +289,8 @@ def __init__(self, ssc): super(UsimCard, self).__init__(ssc) + self._scc.cla_byte = "00" + self._scc.sel_ctrl = "0004" #request an FCP def read_ehplmn(self): (res, sw) = self._scc.read_binary(EF_USIM_ADF_map['EHPLMN']) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24136 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id6527254a7305516f2d00876815e46a3c71a81b6 Gerrit-Change-Number: 24136 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 11:22:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 May 2021 11:22:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn: Fix default value for mp_ggsn_ip In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24124 ) Change subject: sgsn: Fix default value for mp_ggsn_ip ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24124 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: I798b3c8b6e4a4787b8a9d5ecd9d2b1aad2b931ee Gerrit-Change-Number: 24124 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 05 May 2021 11:22:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 11:22:44 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 May 2021 11:22:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn: TC_bssgp_rim_single_report: Avoid useless component start In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24125 ) Change subject: sgsn: TC_bssgp_rim_single_report: Avoid useless component start ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24125 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: I63baadbb8b09843a653d3f5c11df204f5a1a761e Gerrit-Change-Number: 24125 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 05 May 2021 11:22:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 11:36:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 May 2021 11:36:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn: Fix default value for mp_ggsn_ip In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24124 ) Change subject: sgsn: Fix default value for mp_ggsn_ip ...................................................................... sgsn: Fix default value for mp_ggsn_ip Make it match the osmo-sgsn.cfg files present in the same directory. Change-Id: I798b3c8b6e4a4787b8a9d5ecd9d2b1aad2b931ee --- M sgsn/SGSN_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 6c8ea61..e7abc9b 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -64,7 +64,7 @@ /* IP/port on which we run our internal GSUP/HLR emulation */ charstring mp_hlr_ip := "127.0.0.1"; integer mp_hlr_port := 4222; - charstring mp_ggsn_ip := "127.0.0.2"; + charstring mp_ggsn_ip := "127.0.0.103"; integer mp_echo_interval := 5; /* in seconds. Only used in test enabling g_use_echo */ NSConfigurations mp_nsconfig := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24124 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: I798b3c8b6e4a4787b8a9d5ecd9d2b1aad2b931ee Gerrit-Change-Number: 24124 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 11:36:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 May 2021 11:36:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn: TC_bssgp_rim_single_report: Avoid useless component start In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24125 ) Change subject: sgsn: TC_bssgp_rim_single_report: Avoid useless component start ...................................................................... sgsn: TC_bssgp_rim_single_report: Avoid useless component start The componenet is not needed/used at all, so there's no need to start it. Change-Id: I63baadbb8b09843a653d3f5c11df204f5a1a761e --- M sgsn/SGSN_Tests.ttcn 1 file changed, 0 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index e7abc9b..dded390 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -3156,17 +3156,12 @@ f_cleanup(); } -private function f_TC_bssgp_rim_dummy(charstring id) runs on BSSGP_ConnHdlr { -} - /* Run a RIM single report procedure over the sgsn. Since the SGSN will only do a transparent routing of the * RIM messages this basically tests if the message is correctly transfered from one GB interface to the * other and vice versa. */ testcase TC_bssgp_rim_single_report() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); - vc_conn := f_start_handler(refers(f_TC_bssgp_rim_dummy), testcasename(), g_gb, 17); - vc_conn.done; timer T := 2.0; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24125 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: I63baadbb8b09843a653d3f5c11df204f5a1a761e Gerrit-Change-Number: 24125 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 12:16:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 May 2021 12:16:29 +0000 Subject: Change in gr-gsm[master]: dists: add PKGBUILD script for Arch Linux References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/gr-gsm/+/24137 ) Change subject: dists: add PKGBUILD script for Arch Linux ...................................................................... dists: add PKGBUILD script for Arch Linux Change-Id: Iabf6db281e95e72cdf0bd744bb7fd00c09360a38 --- A dists/arch/PKGBUILD 1 file changed, 38 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/37/24137/1 diff --git a/dists/arch/PKGBUILD b/dists/arch/PKGBUILD new file mode 100644 index 0000000..f62b627 --- /dev/null +++ b/dists/arch/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Vadim Yanitskiy + +pkgname=gr-gsm +pkgver=v1165.13e42c4 +pkgrel=1 +pkgdesc="GNU Radio blocks and tools for receiving GSM transmissions" +arch=('any') +url="https://github.com/ptrkrysik/gr-gsm" +license=('GPL2') +# TODO: libosmocore? +depends=('gnuradio' 'gnuradio-osmosdr' 'boost' 'swig') +makedepends=('cmake') +provides=('gr-gsm') +source=(git://git.osmocom.org/${pkgname}) +sha1sums=('SKIP') + +pkgver() { + cd "$srcdir/$pkgname" + printf "v%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +build() { + cd "$srcdir/$pkgname" + mkdir build && cd build + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DENABLE_DOXYGEN=OFF \ + -Wno-dev \ + .. + make +} + +package() { + cd "$srcdir/$pkgname/build" + make DESTDIR=${pkgdir} install +} + +# vim:set ts=2 sw=2 et: -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24137 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iabf6db281e95e72cdf0bd744bb7fd00c09360a38 Gerrit-Change-Number: 24137 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 12:22:41 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 5 May 2021 12:22:41 +0000 Subject: Change in pysim[master]: pySim-read: fix wrong comment References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24138 ) Change subject: pySim-read: fix wrong comment ...................................................................... pySim-read: fix wrong comment Change-Id: Idcbbc6e964f7932a10d55f7f28646f278c994129 --- M pySim-read.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/38/24138/1 diff --git a/pySim-read.py b/pySim-read.py index ae10c1a..ebe0e29 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -71,7 +71,7 @@ scc.cla_byte = "a0" scc.sel_ctrl = "0000" - # Program the card + # Read the card print("Reading ...") # Initialize Card object by auto detecting the card -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Idcbbc6e964f7932a10d55f7f28646f278c994129 Gerrit-Change-Number: 24138 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 12:22:42 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 5 May 2021 12:22:42 +0000 Subject: Change in pysim[master]: cards:FairwavesSIM: force SIM APDUs during programming References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24139 ) Change subject: cards:FairwavesSIM: force SIM APDUs during programming ...................................................................... cards:FairwavesSIM: force SIM APDUs during programming The FairwavesSIM programming fails when the card is accessed with USIM APDUs. To keep it working temporarly switch to SIM APDUs during programming. Change-Id: I8f02625d2b620ecdf4b2afc27a8750119b707152 --- M pySim/cards.py 1 file changed, 14 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/39/24139/1 diff --git a/pySim/cards.py b/pySim/cards.py index fa22d4c..f06aa02 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -1011,7 +1011,6 @@ self._adm_chv_num = 0x11 self._adm2_chv_num = 0x12 - @classmethod def autodetect(kls, scc): try: @@ -1089,6 +1088,16 @@ def program(self, p): + # For some reason the card programming only works when the card + # is handled as a classic SIM, even though it is an USIM, so we + # reconfigure the class byte and the select control field on + # the fly. When the programming is done the original values are + # restored. + cla_byte_orig = self._scc.cla_byte + sel_ctrl_orig = self._scc.sel_ctrl + self._scc.cla_byte = "a0" + self._scc.sel_ctrl = "0000" + # authenticate as ADM1 if not p['pin_adm']: raise ValueError("Please provide a PIN-ADM as there is no default one") @@ -1121,6 +1130,10 @@ if sw != '9000': print("Programming ACC failed with code %s"%sw) + # restore original cla byte and sel ctrl + self._scc.cla_byte = cla_byte_orig + self._scc.sel_ctrl = sel_ctrl_orig + class OpenCellsSim(Card): """ OpenCellsSim -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24139 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8f02625d2b620ecdf4b2afc27a8750119b707152 Gerrit-Change-Number: 24139 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 12:24:22 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 5 May 2021 12:24:22 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: add NR support In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24126 ) Change subject: amarisoft_enb: add NR support ...................................................................... Patch Set 2: > Patch Set 2: > > Wouldn't it make a lot more sense to have a new type of object "gnb" and have a srsgnb implementation of it? > Or can you run both 4g and 5g cells using the same srsenb process? Well, right now it's only Amarisoft with 5G support. But yes, the same process can have both cells. We follow the same approach with srsENB. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia27bbc6db5920ce14bacabe8043601aa2adaa5fe Gerrit-Change-Number: 24126 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 05 May 2021 12:24:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 12:38:07 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 5 May 2021 12:38:07 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: add NR support In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24126 to look at the new patch set (#3). Change subject: amarisoft_enb: add NR support ...................................................................... amarisoft_enb: add NR support this patch adds the ability to configure NR cells with Amarisoft eNB. It adds the new DRB-NR template and updates the normal enb.cfg template to allow using it as LTE only or with NR cells (5G NSA). Change-Id: Ia27bbc6db5920ce14bacabe8043601aa2adaa5fe --- M doc/examples/4g_srsLTE/defaults.conf M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py A src/osmo_gsm_tester/templates/amarisoft_drb_nr.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl M sysmocom/defaults.conf 7 files changed, 943 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/26/24126/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia27bbc6db5920ce14bacabe8043601aa2adaa5fe Gerrit-Change-Number: 24126 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 12:38:07 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 5 May 2021 12:38:07 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoftue: solve conflict of sample rate param in rf_driver References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24140 ) Change subject: amarisoftue: solve conflict of sample rate param in rf_driver ...................................................................... amarisoftue: solve conflict of sample rate param in rf_driver move sample_rate setting into rf_driver template that is shared between enb and ue Change-Id: Icc8042c3eec2a1e8bfc6823c06430c1cb18355b7 --- M src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl 2 files changed, 22 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/40/24140/1 diff --git a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl index f9b2933..448c23c 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl @@ -10,12 +10,7 @@ }, %endif -% if ue.rf_dev_type == 'zmq': - /* Force sampling rate (if uncommented) */ - sample_rate: ${ue.sample_rate}, -% else: bandwidth: ${ue.bandwidth}, -%endif // log_options: "all.level=debug,all.max_size=32", log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,rrc.level=debug,rrc.max_size=1", diff --git a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl index f2942d7..fbf90c2 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -15,8 +15,12 @@ tx_gain: ${trx.tx_gain}, /* TX gain (in dB) B2x0: 0 to 89.8 dB */ rx_gain: ${trx.rx_gain}, /* RX gain (in dB) B2x0: 0 to 73 dB */ +// Only SDR and ZMQ devices require dedicated rf_port parameters +% if trx.rf_dev_type != 'uhd': + rf_ports: [ % if trx.rf_dev_type == 'sdr': + // NSA specific configuration { sample_rate: 23.04, }, @@ -26,15 +30,28 @@ ul_freq: 3502.8, // Moves NR UL LO frequency -5.76 MHz } % else: + // default case for UHD and ZMQ usage + <% + # determine ports and sample rate from either eNB or UE object + num_ports = 1 + try: + obj_sample_rate = enb.sample_rate + num_ports = int(enb.num_cells) + except AttributeError: + obj_sample_rate = ue.sample_rate + %> + + %for port in range(num_ports): { - sample_rate: ${enb.sample_rate}, + sample_rate: ${obj_sample_rate}, }, - { - sample_rate: ${enb.sample_rate}, - } - % endif + %endfor + + % endif ], +% endif + // only the B210 requires a sample offset % if "b200" in trx.rf_dev_args: tx_time_offset: -150, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icc8042c3eec2a1e8bfc6823c06430c1cb18355b7 Gerrit-Change-Number: 24140 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Wed May 5 12:40:36 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 05 May 2021 12:40:36 +0000 Subject: Build failure of network:osmocom:nightly/osmo-python-tests in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <6092924f2bed7_6ab22aae945685fc24239e6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-python-tests/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-python-tests failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-python-tests Last lines of build log: [ 0s] [ 0s] armbuild04 started "build osmo-python-tests_0.0.9.202105050026.dsc" at Wed May 5 12:40:31 UTC 2021. [ 0s] [ 0s] Building osmo-python-tests for project 'network:osmocom:nightly' repository 'Debian_9.0' arch 'armv7l' srcmd5 '8cb3022c3f75674121d9d7921734bce5' [ 0s] [ 0s] processing recipe /var/cache/obs/worker/root_2/.build-srcdir/osmo-python-tests_0.0.9.202105050026.dsc ... [ 0s] running changelog2spec --target debian --file /var/cache/obs/worker/root_2/.build-srcdir/osmo-python-tests_0.0.9.202105050026.dsc [ 0s] init_buildsystem --configdir /var/run/obs/worker/2/build/configs --cachedir /var/cache/build --prepare --clean --rpmlist /var/cache/obs/worker/root_2/.build.rpmlist /var/cache/obs/worker/root_2/.build-srcdir/osmo-python-tests_0.0.9.202105050026.dsc build ... [ 0s] unknown keyword in config: [ 0s] could not autodetect package type [ 0s] [ 0s] armbuild04 failed "build osmo-python-tests_0.0.9.202105050026.dsc" at Wed May 5 12:40:31 UTC 2021. [ 0s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed May 5 12:44:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 May 2021 12:44:59 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: add NR support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24126 ) Change subject: amarisoft_enb: add NR support ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia27bbc6db5920ce14bacabe8043601aa2adaa5fe Gerrit-Change-Number: 24126 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 12:44:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 12:45:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 May 2021 12:45:23 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoftue: solve conflict of sample rate param in rf_driver In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24140 ) Change subject: amarisoftue: solve conflict of sample rate param in rf_driver ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icc8042c3eec2a1e8bfc6823c06430c1cb18355b7 Gerrit-Change-Number: 24140 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 12:45:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 13:02:50 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 5 May 2021 13:02:50 +0000 Subject: Change in pysim[master]: pySim-read: fix wrong comment In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24138 ) Change subject: pySim-read: fix wrong comment ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Idcbbc6e964f7932a10d55f7f28646f278c994129 Gerrit-Change-Number: 24138 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 05 May 2021 13:02:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 13:02:59 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 5 May 2021 13:02:59 +0000 Subject: Change in pysim[master]: pySim-read: fix wrong comment In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24138 ) Change subject: pySim-read: fix wrong comment ...................................................................... pySim-read: fix wrong comment Change-Id: Idcbbc6e964f7932a10d55f7f28646f278c994129 --- M pySim-read.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index ae10c1a..ebe0e29 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -71,7 +71,7 @@ scc.cla_byte = "a0" scc.sel_ctrl = "0000" - # Program the card + # Read the card print("Reading ...") # Initialize Card object by auto detecting the card -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Idcbbc6e964f7932a10d55f7f28646f278c994129 Gerrit-Change-Number: 24138 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 13:30:25 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 5 May 2021 13:30:25 +0000 Subject: Change in pysim[master]: cards: get rid of "kls" parameter in autodetect methos References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24141 ) Change subject: cards: get rid of "kls" parameter in autodetect methos ...................................................................... cards: get rid of "kls" parameter in autodetect methos The autodetect methods have a "kls" parameter as first parameter that somehow replaces the "self" parameter for unknown reason. Change-Id: I3e5defee394e1301bad8f04853fab8e9ded84335 --- M pySim/cards.py 1 file changed, 22 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/41/24141/1 diff --git a/pySim/cards.py b/pySim/cards.py index f06aa02..9bbf385 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -503,9 +503,9 @@ _ki_file = None # type: Optional[str] @classmethod - def autodetect(kls, scc): + def autodetect(self, scc): try: - for p, l, t in kls._files.values(): + for p, l, t in self._files.values(): if not t: continue if scc.record_size(['3f00', '7f4d', p]) != l: @@ -637,14 +637,14 @@ name = 'fakemagicsim' @classmethod - def autodetect(kls, scc): + def autodetect(self, scc): try: if scc.record_size(['3f00', '000c']) != 0x5a: return None except: return None - return kls(scc) + return self(scc) def _get_infos(self): """ @@ -704,7 +704,7 @@ name = 'grcardsim' @classmethod - def autodetect(kls, scc): + def autodetect(self, scc): return None def program(self, p): @@ -762,11 +762,11 @@ name = 'sysmosim-gr1' @classmethod - def autodetect(kls, scc): + def autodetect(self, scc): try: # Look for ATR if scc.get_atr() == toBytes("3B 99 18 00 11 88 22 33 44 55 66 77 60"): - return kls(scc) + return self(scc) except: return None return None @@ -778,7 +778,7 @@ name = 'sysmoUSIM-GR1' @classmethod - def autodetect(kls, scc): + def autodetect(self, scc): # TODO: Access the ATR return None @@ -805,11 +805,11 @@ name = 'sysmoSIM-GR2' @classmethod - def autodetect(kls, scc): + def autodetect(self, scc): try: # Look for ATR if scc.get_atr() == toBytes("3B 7D 94 00 00 55 55 53 0A 74 86 93 0B 24 7C 4D 54 68"): - return kls(scc) + return self(scc) except: return None return None @@ -885,11 +885,11 @@ self._scc.sel_ctrl = "0004" #request an FCP @classmethod - def autodetect(kls, scc): + def autodetect(self, scc): try: # Look for ATR if scc.get_atr() == toBytes("3B 9F 96 80 1F C7 80 31 A0 73 BE 21 13 67 43 20 07 18 00 00 01 A5"): - return kls(scc) + return self(scc) except: return None return None @@ -1012,11 +1012,11 @@ self._adm2_chv_num = 0x12 @classmethod - def autodetect(kls, scc): + def autodetect(self, scc): try: # Look for ATR if scc.get_atr() == toBytes("3B 9F 96 80 1F C7 80 31 A0 73 BE 21 13 67 44 22 06 10 00 00 01 A9"): - return kls(scc) + return self(scc) except: return None return None @@ -1148,11 +1148,11 @@ @classmethod - def autodetect(kls, scc): + def autodetect(self, scc): try: # Look for ATR if scc.get_atr() == toBytes("3B 9F 95 80 1F C3 80 31 E0 73 FE 21 13 57 86 81 02 86 98 44 18 A8"): - return kls(scc) + return self(scc) except: return None return None @@ -1198,11 +1198,11 @@ self._scc.sel_ctrl = "0004" #request an FCP @classmethod - def autodetect(kls, scc): + def autodetect(self, scc): try: # Look for ATR if scc.get_atr() == toBytes("3B 9F 95 80 1F C7 80 31 E0 73 F6 21 13 67 4D 45 16 00 43 01 00 8F"): - return kls(scc) + return self(scc) except: return None return None @@ -1289,22 +1289,22 @@ self._scc.sel_ctrl = "0004" #request an FCP @classmethod - def autodetect(kls, scc): + def autodetect(self, scc): try: # Try card model #1 atr = "3B 9F 96 80 1F 87 80 31 E0 73 FE 21 1B 67 4A 4C 75 30 34 05 4B A9" if scc.get_atr() == toBytes(atr): - return kls(scc) + return self(scc) # Try card model #2 atr = "3B 9F 96 80 1F 87 80 31 E0 73 FE 21 1B 67 4A 4C 75 31 33 02 51 B2" if scc.get_atr() == toBytes(atr): - return kls(scc) + return self(scc) # Try card model #3 atr = "3B 9F 96 80 1F 87 80 31 E0 73 FE 21 1B 67 4A 4C 52 75 31 04 51 D5" if scc.get_atr() == toBytes(atr): - return kls(scc) + return self(scc) except: return None return None -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3e5defee394e1301bad8f04853fab8e9ded84335 Gerrit-Change-Number: 24141 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 13:43:24 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 5 May 2021 13:43:24 +0000 Subject: Change in pysim[master]: cards: get rid of "kls" parameter in autodetect methods In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/pysim/+/24141 ) Change subject: cards: get rid of "kls" parameter in autodetect methods ...................................................................... cards: get rid of "kls" parameter in autodetect methods The autodetect methods have a "kls" parameter as first parameter that somehow replaces the "self" parameter for unknown reason. Change-Id: I3e5defee394e1301bad8f04853fab8e9ded84335 --- M pySim/cards.py 1 file changed, 23 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/41/24141/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3e5defee394e1301bad8f04853fab8e9ded84335 Gerrit-Change-Number: 24141 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 14:16:20 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 5 May 2021 14:16:20 +0000 Subject: Change in pysim[master]: cards: rename class "Card" to "SimCard" References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24142 ) Change subject: cards: rename class "Card" to "SimCard" ...................................................................... cards: rename class "Card" to "SimCard" There are the classes IsimCard and UsimCard, which inheret from Card, which is the base class for a normal non ISIM/USIM simcard. Card also has methods in it that are related to simcards, so it is not just any "Card", it is a SimCard and should be called that way. Change-Id: I2077ded44bc2297b8d478c5bd1895951b494efcc --- M pySim-read.py M pySim-shell.py M pySim/cards.py 3 files changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/42/24142/1 diff --git a/pySim-read.py b/pySim-read.py index ebe0e29..a138698 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -34,7 +34,7 @@ from pySim.commands import SimCardCommands from pySim.transport import init_reader, argparse_add_reader_args -from pySim.cards import card_detect, Card, UsimCard, IsimCard +from pySim.cards import card_detect, SimCard, UsimCard, IsimCard from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn from pySim.utils import format_xplmn_w_act, dec_spn, dec_st, dec_addr_tlv from pySim.utils import h2s, format_ePDGSelection @@ -75,7 +75,7 @@ print("Reading ...") # Initialize Card object by auto detecting the card - card = card_detect("auto", scc) or Card(scc) + card = card_detect("auto", scc) or SimCard(scc) # Read all AIDs on the UICC card.read_aids() diff --git a/pySim-shell.py b/pySim-shell.py index bbfe7e9..8efbf14 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -37,7 +37,7 @@ from pySim.exceptions import * from pySim.commands import SimCardCommands from pySim.transport import init_reader, ApduTracer, argparse_add_reader_args -from pySim.cards import card_detect, Card +from pySim.cards import card_detect, SimCard from pySim.utils import h2b, swap_nibbles, rpad, b2h, h2s, JsonEncoder, bertlv_parse_one from pySim.utils import dec_st, sanitize_pin_adm, tabulate_str_list, is_hex, boxed_heading_str from pySim.card_handler import card_handler diff --git a/pySim/cards.py b/pySim/cards.py index ac2545e..0fb7357 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -32,7 +32,7 @@ from smartcard.util import toBytes from pytlv.TLV import * -class Card(object): +class SimCard(object): name = 'SIM' @@ -283,7 +283,7 @@ len = self._scc.record_size(ef) self._scc.update_record(ef, rec_no, "ff" * len, force_len=False, verify=True) -class UsimCard(Card): +class UsimCard(SimCard): name = 'USIM' @@ -479,7 +479,7 @@ uiari_recs += "UICC IARI: Can't read, response code = %s\n" % (sw) return uiari_recs -class MagicSimBase(abc.ABC, Card): +class MagicSimBase(abc.ABC, SimCard): """ Theses cards uses several record based EFs to store the provider infos, each possible provider uses a specific record number in each EF. The @@ -627,7 +627,7 @@ _ki_file = '6f1b' -class FakeMagicSim(Card): +class FakeMagicSim(SimCard): """ Theses cards have a record based EF 3f00/000c that contains the provider information. See the program method for its format. The records go from @@ -694,7 +694,7 @@ self._scc.update_record('000c', 1+i, entry) -class GrcardSim(Card): +class GrcardSim(SimCard): """ Greencard (grcard.cn) HZCOS GSM SIM These cards have a much more regular ISO 7816-4 / TS 11.11 structure, @@ -797,7 +797,7 @@ data, sw = self._scc._tp.send_apdu_checksw("0099000033" + par) -class SysmoSIMgr2(Card): +class SysmoSIMgr2(SimCard): """ sysmocom sysmoSIM-GR2 """ @@ -1134,7 +1134,7 @@ self._scc.cla_byte = cla_byte_orig self._scc.sel_ctrl = sel_ctrl_orig -class OpenCellsSim(Card): +class OpenCellsSim(SimCard): """ OpenCellsSim -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2077ded44bc2297b8d478c5bd1895951b494efcc Gerrit-Change-Number: 24142 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 14:42:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 5 May 2021 14:42:35 +0000 Subject: Change in osmo-mgw[master]: send DLCX only once References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24143 ) Change subject: send DLCX only once ...................................................................... send DLCX only once If the mgcp_client_fsm gets terminated in ST_DLCX_RESP, it has already sent a DLCX to the MGW. So do not send a second one. I noticed the duplicate DLCX for the same endpoint conn identifier while running TTCN3 tests and watching the network trace of test teardown. Change-Id: I35e415f67946b73c74408afe265618cfe4f72b0b --- M src/libosmo-mgcp-client/mgcp_client_fsm.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/43/24143/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_fsm.c b/src/libosmo-mgcp-client/mgcp_client_fsm.c index 83dd2f1..73a4e70 100644 --- a/src/libosmo-mgcp-client/mgcp_client_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_fsm.c @@ -521,8 +521,9 @@ /* Should the FSM be terminated while there are still open connections * on the MGW, we send an unconditional DLCX to terminate the * connection. This is not the normal case. The user should always use - * mgcp_conn_delete() to instruct the FSM to perform a graceful exit */ - if (strlen(mgcp_ctx->conn_id)) { + * mgcp_conn_delete() to instruct the FSM to perform a graceful exit. + * If in ST_DLCX_RESP, a DLCX was already sent and we did not get a response. No point in sending another one. */ + if (fi->state != ST_DLCX_RESP && strlen(mgcp_ctx->conn_id)) { LOGPFSML(fi, LOGL_NOTICE, "MGW/DLCX: FSM termination with connections still present, sending unconditional DLCX...\n"); msg = make_dlcx_msg(mgcp_ctx); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I35e415f67946b73c74408afe265618cfe4f72b0b Gerrit-Change-Number: 24143 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 14:42:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 5 May 2021 14:42:35 +0000 Subject: Change in osmo-mgw[master]: tweak termination DLCX log msg References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24144 ) Change subject: tweak termination DLCX log msg ...................................................................... tweak termination DLCX log msg Sending a DLCX upon FSM cleanup is not unusual. Move the log about that DLCX to INFO, and also print the endpoint and conn identifier. Change-Id: Id723d949f101b66fb75296d01489d9dac350c7c8 --- M src/libosmo-mgcp-client/mgcp_client_fsm.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/44/24144/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_fsm.c b/src/libosmo-mgcp-client/mgcp_client_fsm.c index 73a4e70..9ed11a4 100644 --- a/src/libosmo-mgcp-client/mgcp_client_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_fsm.c @@ -524,8 +524,8 @@ * mgcp_conn_delete() to instruct the FSM to perform a graceful exit. * If in ST_DLCX_RESP, a DLCX was already sent and we did not get a response. No point in sending another one. */ if (fi->state != ST_DLCX_RESP && strlen(mgcp_ctx->conn_id)) { - LOGPFSML(fi, LOGL_NOTICE, - "MGW/DLCX: FSM termination with connections still present, sending unconditional DLCX...\n"); + LOGPFSML(fi, LOGL_INFO, "Conn cleanup, sending DLCX for %s %s\n", mgcp_ctx->conn_peer_remote.endpoint, + mgcp_ctx->conn_id); msg = make_dlcx_msg(mgcp_ctx); if (!msg) LOGPFSML(fi, LOGL_ERROR, "MGW/DLCX: Error composing DLCX message\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24144 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id723d949f101b66fb75296d01489d9dac350c7c8 Gerrit-Change-Number: 24144 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 14:42:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 5 May 2021 14:42:35 +0000 Subject: Change in osmo-mgw[master]: add osmo_mgcpc_ep_ci_get_remote_rtp_info() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24145 ) Change subject: add osmo_mgcpc_ep_ci_get_remote_rtp_info() ...................................................................... add osmo_mgcpc_ep_ci_get_remote_rtp_info() So far an mgcp_client user can get the RTP address+port information that the MGW has returned upon a CRCX. Add this function to return the other RTP end, i.e. address+port that the MGW was told to send RTP to. This will be used to fix the MGCP in osmo-bsc, which so far mixes up the two RTP ends and compares the MSC's RTP address+port with the MGW's one and hence fails to skip unnecessary MDCX. Change-Id: Ibb488925827d9dc0ccb1f8d6d84728745d086793 --- M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 2 files changed, 14 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/45/24145/1 diff --git a/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h b/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h index 736da22..78e3a41 100644 --- a/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h +++ b/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h @@ -23,6 +23,8 @@ bool osmo_mgcpc_ep_ci_get_crcx_info_to_sockaddr(const struct osmo_mgcpc_ep_ci *ci, struct sockaddr_storage *dest); bool osmo_mgcpc_ep_ci_get_crcx_info_to_osmux_cid(const struct osmo_mgcpc_ep_ci *ci, uint8_t* cid); +const struct mgcp_conn_peer *osmo_mgcpc_ep_ci_get_remote_rtp_info(const struct osmo_mgcpc_ep_ci *ci); + void osmo_mgcpc_ep_ci_request(struct osmo_mgcpc_ep_ci *ci, enum mgcp_verb verb, const struct mgcp_conn_peer *verb_info, struct osmo_fsm_inst *notify, diff --git a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index 2b94840..8ab5961 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -508,7 +508,8 @@ osmo_mgcpc_ep_fsm_check_state_chg_after_response(ci->ep->fi); } -/*! Return the MGW's RTP port information for this connection, as returned by the last CRCX/MDCX OK message. */ +/*! Return the RTP port information that MGW is receiving on for this connection, as returned by the last CRCX-OK / + * MDCX-OK message. */ const struct mgcp_conn_peer *osmo_mgcpc_ep_ci_get_rtp_info(const struct osmo_mgcpc_ep_ci *ci) { ci = osmo_mgcpc_ep_check_ci((struct osmo_mgcpc_ep_ci*)ci); @@ -519,6 +520,16 @@ return &ci->rtp_info; } +/*! Return the RTP port information that the MGW is sending to for this connection, as sent to the MGW by the last + * CRCX / MDCX message. */ +const struct mgcp_conn_peer *osmo_mgcpc_ep_ci_get_remote_rtp_info(const struct osmo_mgcpc_ep_ci *ci) +{ + ci = osmo_mgcpc_ep_check_ci((struct osmo_mgcpc_ep_ci*)ci); + if (!ci) + return NULL; + return &ci->verb_info; +} + /*! Return the MGW's RTP port information for this connection, as returned by the last CRCX/MDCX OK message. */ bool osmo_mgcpc_ep_ci_get_crcx_info_to_sockaddr(const struct osmo_mgcpc_ep_ci *ci, struct sockaddr_storage *dest) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb488925827d9dc0ccb1f8d6d84728745d086793 Gerrit-Change-Number: 24145 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 15:10:49 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 5 May 2021 15:10:49 +0000 Subject: Change in pysim[master]: cards: move methods read_aids and select_adf_by_aid to class UsimCard References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24146 ) Change subject: cards: move methods read_aids and select_adf_by_aid to class UsimCard ...................................................................... cards: move methods read_aids and select_adf_by_aid to class UsimCard A SimCard does not have ISIM or USIM applications, nor does it have an EF.DIR to look at. It is not logical to implement them in the SimCard class. Lets move those methods to the UsimCard, which makes more sense. Change-Id: I71667b7b38c930b4e0409fe2ba2786e1db9cf9a3 --- M pySim/cards.py 1 file changed, 35 insertions(+), 35 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/46/24146/1 diff --git a/pySim/cards.py b/pySim/cards.py index 0fb7357..6e8b52a 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -238,41 +238,6 @@ else: return (None, sw) - # Fetch all the AIDs present on UICC - def read_aids(self): - self._aids = [] - try: - # Find out how many records the EF.DIR has - # and store all the AIDs in the UICC - rec_cnt = self._scc.record_count(EF['DIR']) - for i in range(0, rec_cnt): - rec = self._scc.read_record(EF['DIR'], i + 1) - if (rec[0][0:2], rec[0][4:6]) == ('61', '4f') and len(rec[0]) > 12 \ - and rec[0][8:8 + int(rec[0][6:8], 16) * 2] not in self._aids: - self._aids.append(rec[0][8:8 + int(rec[0][6:8], 16) * 2]) - except Exception as e: - print("Can't read AIDs from SIM -- %s" % (str(e),)) - self._aids = [] - return self._aids - - # Select ADF.U/ISIM in the Card using its full AID - def select_adf_by_aid(self, adf="usim"): - # Find full AID by partial AID: - if is_hex(adf): - for aid in self._aids: - if len(aid) >= len(adf) and adf == aid[0:len(adf)]: - return self._scc.select_adf(aid) - # Find full AID by application name: - elif adf in ["usim", "isim"]: - # First (known) halves of the U/ISIM AID - aid_map = {} - aid_map["usim"] = "a0000000871002" - aid_map["isim"] = "a0000000871004" - for aid in self._aids: - if aid_map[adf] in aid: - return self._scc.select_adf(aid) - return (None, None) - # Erase the contents of a file def erase_binary(self, ef): len = self._scc.binary_size(ef) @@ -356,6 +321,41 @@ (res, sw) = self._scc.update_binary(EF_USIM_ADF_map['UST'], content) return sw + # Fetch all the AIDs present on UICC + def read_aids(self): + self._aids = [] + try: + # Find out how many records the EF.DIR has + # and store all the AIDs in the UICC + rec_cnt = self._scc.record_count(EF['DIR']) + for i in range(0, rec_cnt): + rec = self._scc.read_record(EF['DIR'], i + 1) + if (rec[0][0:2], rec[0][4:6]) == ('61', '4f') and len(rec[0]) > 12 \ + and rec[0][8:8 + int(rec[0][6:8], 16) * 2] not in self._aids: + self._aids.append(rec[0][8:8 + int(rec[0][6:8], 16) * 2]) + except Exception as e: + print("Can't read AIDs from SIM -- %s" % (str(e),)) + self._aids = [] + return self._aids + + # Select ADF.U/ISIM in the Card using its full AID + def select_adf_by_aid(self, adf="usim"): + # Find full AID by partial AID: + if is_hex(adf): + for aid in self._aids: + if len(aid) >= len(adf) and adf == aid[0:len(adf)]: + return self._scc.select_adf(aid) + # Find full AID by application name: + elif adf in ["usim", "isim"]: + # First (known) halves of the U/ISIM AID + aid_map = {} + aid_map["usim"] = "a0000000871002" + aid_map["isim"] = "a0000000871004" + for aid in self._aids: + if aid_map[adf] in aid: + return self._scc.select_adf(aid) + return (None, None) + class IsimCard(UsimCard): name = 'ISIM' -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71667b7b38c930b4e0409fe2ba2786e1db9cf9a3 Gerrit-Change-Number: 24146 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 15:34:37 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 5 May 2021 15:34:37 +0000 Subject: Change in osmo-trx[master]: add hidden fn adjustment command References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/24147 ) Change subject: add hidden fn adjustment command ...................................................................... add hidden fn adjustment command This is only useful if the rf path delays the signal by at least one frame, and therefore a fairly experimental command that might be removed or reworked in the future and should not be relied upon. Change-Id: I29964acffad5bad4f5bcad7f631e435a72979c46 --- M CommonLibs/config_defs.h M CommonLibs/trx_vty.c M Transceiver52M/Transceiver.cpp 3 files changed, 19 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/47/24147/1 diff --git a/CommonLibs/config_defs.h b/CommonLibs/config_defs.h index 17352c3..33be73f 100644 --- a/CommonLibs/config_defs.h +++ b/CommonLibs/config_defs.h @@ -48,6 +48,7 @@ double offset; double freq_offset_khz; double rssi_offset; + int ul_fn_offset; bool force_rssi_offset; /* Force value set in VTY? */ bool swap_channels; bool ext_rach; diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c index d1da450..30f55c8 100644 --- a/CommonLibs/trx_vty.c +++ b/CommonLibs/trx_vty.c @@ -271,6 +271,20 @@ return CMD_SUCCESS; } + +DEFUN_ATTR(cfg_ul_fn_offset, cfg_ul_fn_offset_cmd, + "ul-fn-offset <-10-10>", + "Adjusts the uplink frame FN by the specified amount\n" + "Frame Number offset\n", + CMD_ATTR_HIDDEN) +{ + struct trx_ctx *trx = trx_from_vty(vty); + + trx->cfg.ul_fn_offset = atoi(argv[0]); + + return CMD_SUCCESS; +} + DEFUN(cfg_swap_channels, cfg_swap_channels_cmd, "swap-channels (disable|enable)", "Swap primary and secondary channels of the PHY (if any)\n" @@ -624,6 +638,8 @@ vty_out(vty, " filler access-burst-delay %u%s", trx->cfg.rach_delay, VTY_NEWLINE); if (trx->cfg.stack_size != 0) vty_out(vty, " stack-size %u%s", trx->cfg.stack_size, VTY_NEWLINE); + if (trx->cfg.ul_fn_offset != 0) + vty_out(vty, " ul-fn-offset %u%s", trx->cfg.ul_fn_offset, VTY_NEWLINE); trx_rate_ctr_threshold_write_config(vty, " "); for (i = 0; i < trx->cfg.num_chans; i++) { @@ -787,6 +803,7 @@ install_element(TRX_NODE, &cfg_stack_size_cmd); install_element(TRX_NODE, &cfg_chan_cmd); + install_element(TRX_NODE, &cfg_ul_fn_offset_cmd); install_node(&chan_node, dummy_config_write); install_element(CHAN_NODE, &cfg_chan_rx_path_cmd); install_element(CHAN_NODE, &cfg_chan_tx_path_cmd); diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 91f06ec..9e7bd5a 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -649,7 +649,7 @@ } /* Set time and determine correlation type */ - burstTime = radio_burst->getTime(); + burstTime = radio_burst->getTime() + cfg->ul_fn_offset; CorrType type = expectedCorrType(burstTime, chan); /* Initialize struct bi */ -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I29964acffad5bad4f5bcad7f631e435a72979c46 Gerrit-Change-Number: 24147 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 15:46:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 May 2021 15:46:51 +0000 Subject: Change in osmo-trx[master]: add hidden fn adjustment command In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24147 ) Change subject: add hidden fn adjustment command ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/24147/1/CommonLibs/trx_vty.c File CommonLibs/trx_vty.c: https://gerrit.osmocom.org/c/osmo-trx/+/24147/1/CommonLibs/trx_vty.c at 806 PS1, Line 806: install_element(TRX_NODE, &cfg_ul_fn_offset_cmd); Better move it above, closer to &cfg_rssi_offset_cmd. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I29964acffad5bad4f5bcad7f631e435a72979c46 Gerrit-Change-Number: 24147 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 05 May 2021 15:46:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 15:52:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 May 2021 15:52:07 +0000 Subject: Change in osmo-ggsn[master]: gtp: constify pointer arg References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24148 ) Change subject: gtp: constify pointer arg ...................................................................... gtp: constify pointer arg Change-Id: Ib5b5a8b64247202a2538c2ff8f8601981ccda822 --- M gtp/gtp.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/48/24148/1 diff --git a/gtp/gtp.c b/gtp/gtp.c index 547241d..caee5a6 100644 --- a/gtp/gtp.c +++ b/gtp/gtp.c @@ -773,7 +773,7 @@ static int gtp_notification(struct gsn_t *gsn, uint8_t version, union gtp_packet *packet, int len, - struct sockaddr_in *peer, int fd, uint16_t seq) + const struct sockaddr_in *peer, int fd, uint16_t seq) { uint8_t ver = GTPHDR_F_GET_VER(packet->flags); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24148 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ib5b5a8b64247202a2538c2ff8f8601981ccda822 Gerrit-Change-Number: 24148 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 15:55:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 May 2021 15:55:32 +0000 Subject: Change in osmo-mgw[master]: tweak termination DLCX log msg In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24144 ) Change subject: tweak termination DLCX log msg ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24144 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id723d949f101b66fb75296d01489d9dac350c7c8 Gerrit-Change-Number: 24144 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 15:55:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 15:57:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 May 2021 15:57:27 +0000 Subject: Change in osmo-mgw[master]: send DLCX only once In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24143 ) Change subject: send DLCX only once ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24143/1/src/libosmo-mgcp-client/mgcp_client_fsm.c File src/libosmo-mgcp-client/mgcp_client_fsm.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24143/1/src/libosmo-mgcp-client/mgcp_client_fsm.c at 525 PS1, Line 525: * If in ST_DLCX_RESP, a DLCX was already sent and we did not get a response. No point in sending another one. */ Probably deserves to be splitted in two lines. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I35e415f67946b73c74408afe265618cfe4f72b0b Gerrit-Change-Number: 24143 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 15:57:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 16:02:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 May 2021 16:02:02 +0000 Subject: Change in osmo-mgw[master]: add osmo_mgcpc_ep_ci_get_remote_rtp_info() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24145 ) Change subject: add osmo_mgcpc_ep_ci_get_remote_rtp_info() ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24145/1/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c File src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24145/1/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c at 511 PS1, Line 511: /*! Return the RTP port information that MGW is receiving on for this connection, as returned by the last CRCX-OK / What about "Return the RTP local port information". https://gerrit.osmocom.org/c/osmo-mgw/+/24145/1/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c at 523 PS1, Line 523: /*! Return the RTP port information that the MGW is sending to for this connection, as sent to the MGW by the last RTP remote port -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb488925827d9dc0ccb1f8d6d84728745d086793 Gerrit-Change-Number: 24145 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 16:02:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 16:40:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 5 May 2021 16:40:38 +0000 Subject: Change in osmo-mgw[master]: add osmo_mgcpc_ep_ci_get_remote_rtp_info() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24145 ) Change subject: add osmo_mgcpc_ep_ci_get_remote_rtp_info() ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24145/1/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c File src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24145/1/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c at 511 PS1, Line 511: /*! Return the RTP port information that MGW is receiving on for this connection, as returned by the last CRCX-OK / > What about "Return the RTP local port information". "the RTP port where MGW is receiving on" is IMHO the clearest description... "local" is not clear at all: >From the perspective of the MGCP client, 'local' would mean e.g. osmo-bsc, 'remote' would mean MGW. >From the MGW perspective, 'local' would be MGW and 'remote' would be BTS/SIP/other MGW... "MGW's local RTP port" would work. should I change that? https://gerrit.osmocom.org/c/osmo-mgw/+/24145/1/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c at 523 PS1, Line 523: /*! Return the RTP port information that the MGW is sending to for this connection, as sent to the MGW by the last > RTP remote port hmm "MGW's remote RTP port" is again a bit weird, because it is the port of the MGW's peer, not belonging to the MGW at all. "MGW's remote port" may sound a bit like it is the port where the peer is sending RTP to. Are you sure that changing the wording improves the doc? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb488925827d9dc0ccb1f8d6d84728745d086793 Gerrit-Change-Number: 24145 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 16:40:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 16:43:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 5 May 2021 16:43:34 +0000 Subject: Change in osmo-mgw[master]: send DLCX only once In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/24143 to look at the new patch set (#2). Change subject: send DLCX only once ...................................................................... send DLCX only once If the mgcp_client_fsm gets terminated in ST_DLCX_RESP, it has already sent a DLCX to the MGW. So do not send a second one. I noticed the duplicate DLCX for the same endpoint conn identifier while running TTCN3 tests and watching the network trace of test teardown. Change-Id: I35e415f67946b73c74408afe265618cfe4f72b0b --- M src/libosmo-mgcp-client/mgcp_client_fsm.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/43/24143/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I35e415f67946b73c74408afe265618cfe4f72b0b Gerrit-Change-Number: 24143 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 17:46:36 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 May 2021 17:46:36 +0000 Subject: Change in osmo-bts[master]: rsl: fix wrong value printed in rsl_handle_chan_mod_ie() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24149 ) Change subject: rsl: fix wrong value printed in rsl_handle_chan_mod_ie() ...................................................................... rsl: fix wrong value printed in rsl_handle_chan_mod_ie() Change-Id: I724504a39702393402fae20b0e9775c3486da966 --- M src/common/rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/49/24149/1 diff --git a/src/common/rsl.c b/src/common/rsl.c index cd3fda5..1cc7abb 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -137,7 +137,7 @@ default: LOGPLCHAN(lchan, DRSL, LOGL_ERROR, "Channel Mode IE contains " "unknown 'Channel rate and type' value 0x%02x\n", - cm->chan_rate); + cm->chan_rt); *cause = RSL_ERR_IE_CONTENT; return -ENOTSUP; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24149 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I724504a39702393402fae20b0e9775c3486da966 Gerrit-Change-Number: 24149 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 17:50:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 May 2021 17:50:10 +0000 Subject: Change in osmo-trx[master]: add hidden fn adjustment command In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24147 ) Change subject: add hidden fn adjustment command ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I29964acffad5bad4f5bcad7f631e435a72979c46 Gerrit-Change-Number: 24147 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 17:50:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 18:06:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 5 May 2021 18:06:46 +0000 Subject: Change in osmo-bts[master]: vty: fix the use of deprecated osmo_bts_feature_name() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23916 ) Change subject: vty: fix the use of deprecated osmo_bts_feature_name() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23916 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I67863da286b0fd1ec42088bce12d3c76e4be30ba Gerrit-Change-Number: 23916 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 18:06:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 18:07:02 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 5 May 2021 18:07:02 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoftue: solve conflict of sample rate param in rf_driver In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24140 to look at the new patch set (#2). Change subject: amarisoftue: solve conflict of sample rate param in rf_driver ...................................................................... amarisoftue: solve conflict of sample rate param in rf_driver move sample_rate setting into rf_driver template that is shared between enb and ue Change-Id: Icc8042c3eec2a1e8bfc6823c06430c1cb18355b7 --- M src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl 2 files changed, 22 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/40/24140/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icc8042c3eec2a1e8bfc6823c06430c1cb18355b7 Gerrit-Change-Number: 24140 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 18:07:07 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 5 May 2021 18:07:07 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement TRXDv2 protocol support In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23833 ) Change subject: osmo-bts-trx: implement TRXDv2 protocol support ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3532a6693bb335043ec390049138308991083e66 Gerrit-Change-Number: 23833 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 18:07:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 18:07:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 5 May 2021 18:07:47 +0000 Subject: Change in osmo-bts[master]: common/abis: fix the use of deprecated e1inp_line_get() API In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23919 ) Change subject: common/abis: fix the use of deprecated e1inp_line_get() API ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23919 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I41a5fd13a7fa40e16bcf1a8099624b654274cee3 Gerrit-Change-Number: 23919 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 18:07:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 18:08:03 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 5 May 2021 18:08:03 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: refactor parse_rsp(), fix compilation warnings In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23917 ) Change subject: osmo-bts-trx: refactor parse_rsp(), fix compilation warnings ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23917 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia10adf7d76abe9a423b07e828852fbfb53b95125 Gerrit-Change-Number: 23917 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 18:08:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 18:09:55 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 5 May 2021 18:09:55 +0000 Subject: Change in osmo-trx[master]: add hidden fn adjustment command In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24147 ) Change subject: add hidden fn adjustment command ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I29964acffad5bad4f5bcad7f631e435a72979c46 Gerrit-Change-Number: 24147 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 18:09:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 18:10:03 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 5 May 2021 18:10:03 +0000 Subject: Change in osmo-trx[master]: add hidden fn adjustment command In-Reply-To: References: Message-ID: Hoernchen has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24147 ) Change subject: add hidden fn adjustment command ...................................................................... add hidden fn adjustment command This is only useful if the rf path delays the signal by at least one frame, and therefore a fairly experimental command that might be removed or reworked in the future and should not be relied upon. Change-Id: I29964acffad5bad4f5bcad7f631e435a72979c46 --- M CommonLibs/config_defs.h M CommonLibs/trx_vty.c M Transceiver52M/Transceiver.cpp 3 files changed, 19 insertions(+), 1 deletion(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Hoernchen: Looks good to me, approved Jenkins Builder: Verified diff --git a/CommonLibs/config_defs.h b/CommonLibs/config_defs.h index 17352c3..33be73f 100644 --- a/CommonLibs/config_defs.h +++ b/CommonLibs/config_defs.h @@ -48,6 +48,7 @@ double offset; double freq_offset_khz; double rssi_offset; + int ul_fn_offset; bool force_rssi_offset; /* Force value set in VTY? */ bool swap_channels; bool ext_rach; diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c index d1da450..30f55c8 100644 --- a/CommonLibs/trx_vty.c +++ b/CommonLibs/trx_vty.c @@ -271,6 +271,20 @@ return CMD_SUCCESS; } + +DEFUN_ATTR(cfg_ul_fn_offset, cfg_ul_fn_offset_cmd, + "ul-fn-offset <-10-10>", + "Adjusts the uplink frame FN by the specified amount\n" + "Frame Number offset\n", + CMD_ATTR_HIDDEN) +{ + struct trx_ctx *trx = trx_from_vty(vty); + + trx->cfg.ul_fn_offset = atoi(argv[0]); + + return CMD_SUCCESS; +} + DEFUN(cfg_swap_channels, cfg_swap_channels_cmd, "swap-channels (disable|enable)", "Swap primary and secondary channels of the PHY (if any)\n" @@ -624,6 +638,8 @@ vty_out(vty, " filler access-burst-delay %u%s", trx->cfg.rach_delay, VTY_NEWLINE); if (trx->cfg.stack_size != 0) vty_out(vty, " stack-size %u%s", trx->cfg.stack_size, VTY_NEWLINE); + if (trx->cfg.ul_fn_offset != 0) + vty_out(vty, " ul-fn-offset %u%s", trx->cfg.ul_fn_offset, VTY_NEWLINE); trx_rate_ctr_threshold_write_config(vty, " "); for (i = 0; i < trx->cfg.num_chans; i++) { @@ -787,6 +803,7 @@ install_element(TRX_NODE, &cfg_stack_size_cmd); install_element(TRX_NODE, &cfg_chan_cmd); + install_element(TRX_NODE, &cfg_ul_fn_offset_cmd); install_node(&chan_node, dummy_config_write); install_element(CHAN_NODE, &cfg_chan_rx_path_cmd); install_element(CHAN_NODE, &cfg_chan_tx_path_cmd); diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 91f06ec..9e7bd5a 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -649,7 +649,7 @@ } /* Set time and determine correlation type */ - burstTime = radio_burst->getTime(); + burstTime = radio_burst->getTime() + cfg->ul_fn_offset; CorrType type = expectedCorrType(burstTime, chan); /* Initialize struct bi */ -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I29964acffad5bad4f5bcad7f631e435a72979c46 Gerrit-Change-Number: 24147 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 18:13:05 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 May 2021 18:13:05 +0000 Subject: Change in osmo-bts[master]: vty: fix the use of deprecated osmo_bts_feature_name() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23916 ) Change subject: vty: fix the use of deprecated osmo_bts_feature_name() ...................................................................... vty: fix the use of deprecated osmo_bts_feature_name() Change-Id: I67863da286b0fd1ec42088bce12d3c76e4be30ba Depends: I9dfdb5e81037b6000effbd340af4e5db0dcfd69c --- M TODO-RELEASE M src/common/vty.c 2 files changed, 4 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index 1546ec7..82f25d6 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -1,2 +1,5 @@ +# When cleaning up this file: bump API version(s) in the following files: +# configure.ac, debian/control, and contrib/osmo-bts.spec.in. update libosmo-abis dependency to > 1.1.1 for osmo_rtp_socket_set_priority() update libosmo-abis dependency to > 1.1.1 for new e1_input vty commands for DSCP + priority +update libosmocore dependency to > 1.5.1-73-g524b4f80 for osmo_bts_features_desc() diff --git a/src/common/vty.c b/src/common/vty.c index 626cd60..9e428e7 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -1015,7 +1015,7 @@ for (i = 0, no_features = true; i < _NUM_BTS_FEAT; i++) { if (osmo_bts_has_feature(bts->features, i)) { vty_out(vty, " %03u ", i); - vty_out(vty, "%-40s%s", osmo_bts_feature_name(i), VTY_NEWLINE); + vty_out(vty, "%-40s%s", osmo_bts_features_desc(i), VTY_NEWLINE); no_features = false; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23916 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I67863da286b0fd1ec42088bce12d3c76e4be30ba Gerrit-Change-Number: 23916 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 18:13:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 May 2021 18:13:06 +0000 Subject: Change in osmo-bts[master]: common/abis: fix the use of deprecated e1inp_line_get() API In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23919 ) Change subject: common/abis: fix the use of deprecated e1inp_line_get() API ...................................................................... common/abis: fix the use of deprecated e1inp_line_get() API We need curly braces becausee1inp_line_get2() is basically a macro that calls OSMO_ASSERT(), which in its turn contains an 'if' stmt. Change-Id: I41a5fd13a7fa40e16bcf1a8099624b654274cee3 --- M src/common/abis.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/common/abis.c b/src/common/abis.c index 5b914c7..be7e906 100644 --- a/src/common/abis.c +++ b/src/common/abis.c @@ -281,9 +281,9 @@ bts_dev_info.location2 = model_name; line = e1inp_line_find(0); - if (line) - e1inp_line_get(line); /* We want a new reference for returned line */ - else + if (line) { + e1inp_line_get2(line, __FILE__); /* We want a new reference for returned line */ + } else line = e1inp_line_create(0, "ipa"); /* already comes with a reference */ if (!line) return NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23919 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I41a5fd13a7fa40e16bcf1a8099624b654274cee3 Gerrit-Change-Number: 23919 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 18:15:23 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 May 2021 18:15:23 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: refactor parse_rsp(), fix compilation warnings In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23917 ) Change subject: osmo-bts-trx: refactor parse_rsp(), fix compilation warnings ...................................................................... Patch Set 3: Verified+1 Code-Review+2 FYI: I tested this change by running ttcn3-bts-test, no regressions observed. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23917 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia10adf7d76abe9a423b07e828852fbfb53b95125 Gerrit-Change-Number: 23917 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 18:15:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 18:15:53 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 May 2021 18:15:53 +0000 Subject: Change in osmo-bts[master]: rsl: fix wrong value printed in rsl_handle_chan_mod_ie() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24149 ) Change subject: rsl: fix wrong value printed in rsl_handle_chan_mod_ie() ...................................................................... Patch Set 1: Code-Review+2 Trivial change, fixing my own fault. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24149 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I724504a39702393402fae20b0e9775c3486da966 Gerrit-Change-Number: 24149 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 05 May 2021 18:15:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 18:16:09 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 May 2021 18:16:09 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: refactor parse_rsp(), fix compilation warnings In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23917 ) Change subject: osmo-bts-trx: refactor parse_rsp(), fix compilation warnings ...................................................................... osmo-bts-trx: refactor parse_rsp(), fix compilation warnings For a long time, we see this annoying -Wstringop-truncation warning: In function ?parse_rsp?, inlined from ?trx_ctrl_read_cb? at trx_if.c:647:6: trx_if.c:416:2: warning: ?strncat? output may be truncated copying between 0 and 45 bytes from a string of length 1495 416 | strncat(rsp->cmd, buf_in + 4, p - buf_in - 4); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ There is no real need to use strncat() in parse_rsp(), because we do not concatenate any strings but simply copy TRXC response parts from the input buffer to the corresponding 'name' and 'parameters' buffers. Let's use memcpy() instead. This also fixes the warning. Change-Id: Ia10adf7d76abe9a423b07e828852fbfb53b95125 --- M src/osmo-bts-trx/trx_if.c 1 file changed, 20 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved; Verified Hoernchen: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 18c5011..ff63187 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -397,6 +397,7 @@ static int parse_rsp(const char *buf_in, size_t len_in, struct trx_ctrl_rsp *rsp) { + size_t nlen, plen; char *p, *k; if (strncmp(buf_in, "RSP ", 4)) @@ -406,14 +407,17 @@ if (!(p = strchr(buf_in + 4, ' '))) goto parse_err; - if (p - buf_in >= sizeof(rsp->cmd)) { - LOGP(DTRX, LOGL_ERROR, "cmd buffer too small %lu >= %zu\n", - (long unsigned) (p - buf_in), sizeof(rsp->cmd)); + /* Calculate length of the name part */ + nlen = p - (buf_in + 4); + + if (nlen >= sizeof(rsp->cmd)) { + LOGP(DTRX, LOGL_ERROR, "TRXC command name part is too long: " + "%zu >= %zu\n", nlen, sizeof(rsp->cmd)); goto parse_err; } - rsp->cmd[0] = '\0'; - strncat(rsp->cmd, buf_in + 4, p - buf_in - 4); + memcpy(&rsp->cmd[0], buf_in + 4, nlen); + rsp->cmd[nlen] = '\0'; /* Now comes the status code of the response */ p++; @@ -427,18 +431,22 @@ else k = p + strlen(p); - if (strlen(k) >= sizeof(rsp->params)) { - LOGP(DTRX, LOGL_ERROR, "params buffer too small %zu >= %zu\n", - strlen(k), sizeof(rsp->params)); + /* Calculate length of the parameters part */ + plen = strlen(k); + + if (plen >= sizeof(rsp->params)) { + LOGP(DTRX, LOGL_ERROR, "TRXC command parameters part is too long: " + "%zu >= %zu\n", plen, sizeof(rsp->params)); goto parse_err; } - rsp->params[0] = '\0'; - strcat(rsp->params, k); + + memcpy(&rsp->params[0], k, plen); + rsp->params[plen] = '\0'; + return 0; parse_err: - LOGP(DTRX, LOGL_NOTICE, "Unknown message on ctrl port: %s\n", - buf_in); + LOGP(DTRX, LOGL_NOTICE, "Unknown TRXC message: %s\n", buf_in); return -1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23917 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia10adf7d76abe9a423b07e828852fbfb53b95125 Gerrit-Change-Number: 23917 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 18:16:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 May 2021 18:16:10 +0000 Subject: Change in osmo-bts[master]: rsl: fix wrong value printed in rsl_handle_chan_mod_ie() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24149 ) Change subject: rsl: fix wrong value printed in rsl_handle_chan_mod_ie() ...................................................................... rsl: fix wrong value printed in rsl_handle_chan_mod_ie() Change-Id: I724504a39702393402fae20b0e9775c3486da966 --- M src/common/rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/common/rsl.c b/src/common/rsl.c index cd3fda5..1cc7abb 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -137,7 +137,7 @@ default: LOGPLCHAN(lchan, DRSL, LOGL_ERROR, "Channel Mode IE contains " "unknown 'Channel rate and type' value 0x%02x\n", - cm->chan_rate); + cm->chan_rt); *cause = RSL_ERR_IE_CONTENT; return -ENOTSUP; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24149 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I724504a39702393402fae20b0e9775c3486da966 Gerrit-Change-Number: 24149 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Wed May 5 18:17:48 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 05 May 2021 18:17:48 +0000 Subject: Build failure of network:osmocom:nightly/osmo-e1d in Debian_10/armv7l In-Reply-To: References: Message-ID: <6092e164dd88e_6ab22aae945685fc2485683@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-e1d/Debian_10/armv7l Package network:osmocom:nightly/osmo-e1d failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-e1d Last lines of build log: [ 1s] [ 1s] armbuild04 started "build osmo-e1d_0.2.1.1.a82f.202105050026.dsc" at Wed May 5 18:17:46 UTC 2021. [ 1s] [ 1s] Building osmo-e1d for project 'network:osmocom:nightly' repository 'Debian_10' arch 'armv7l' srcmd5 'b2f250efa0d065dc3bf0f644ff0f69e4' [ 1s] [ 1s] processing recipe /var/cache/obs/worker/root_2/.build-srcdir/osmo-e1d_0.2.1.1.a82f.202105050026.dsc ... [ 1s] running changelog2spec --target debian --file /var/cache/obs/worker/root_2/.build-srcdir/osmo-e1d_0.2.1.1.a82f.202105050026.dsc [ 1s] init_buildsystem --configdir /var/run/obs/worker/2/build/configs --cachedir /var/cache/build --prepare --clean --rpmlist /var/cache/obs/worker/root_2/.build.rpmlist /var/cache/obs/worker/root_2/.build-srcdir/osmo-e1d_0.2.1.1.a82f.202105050026.dsc build ... [ 1s] unknown keyword in config: [ 1s] could not autodetect package type [ 1s] [ 1s] armbuild04 failed "build osmo-e1d_0.2.1.1.a82f.202105050026.dsc" at Wed May 5 18:17:46 UTC 2021. [ 1s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed May 5 18:59:12 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Wed, 5 May 2021 18:59:12 +0000 Subject: Change in osmo-mgw[master]: Add vty command 'show mgcp active' In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, fixeria, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/24131 to look at the new patch set (#3). Change subject: Add vty command 'show mgcp active' ...................................................................... Add vty command 'show mgcp active' With just one E1 line, the 'show mgcp' command outputs several hundred lines to the vty. Add a 'active' parameter to only show endpoints that are active. Change-Id: I23a26b4fdc03d8b2469d293dd6c06ed83ce739e9 --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 38 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/31/24131/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I23a26b4fdc03d8b2469d293dd6c06ed83ce739e9 Gerrit-Change-Number: 24131 Gerrit-PatchSet: 3 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 19:02:47 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Wed, 5 May 2021 19:02:47 +0000 Subject: Change in osmo-mgw[master]: Add vty command 'show mgcp active' In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24131 ) Change subject: Add vty command 'show mgcp active' ...................................................................... Patch Set 3: (3 comments) > Patch Set 2: Verified+1 Code-Review+1 > > (3 comments) > > Looks good to me. I wonder if show mgcp active [stats] makes sense, but apparently multiple optional non exclusive flags are not easy to model. I did have show mgcp active [stats], but decided to remove it, as I wondered if it would mean show stats for active connection or something, which doesn't really make sense. Maybe a "show mgcp stats" command that does not also iterate and dump all the endpoints would be better? thanks. https://gerrit.osmocom.org/c/osmo-mgw/+/24131/2/src/libosmo-mgcp/mgcp_vty.c File src/libosmo-mgcp/mgcp_vty.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24131/2/src/libosmo-mgcp/mgcp_vty.c at 324 PS2, Line 324: } > maybe print something when no calls are active, otherwise the user only sees: [?] Done https://gerrit.osmocom.org/c/osmo-mgw/+/24131/2/src/libosmo-mgcp/mgcp_vty.c at 355 PS2, Line 355: "Include Statistics\n") > I think it should be "Include statistics" Done https://gerrit.osmocom.org/c/osmo-mgw/+/24131/2/src/libosmo-mgcp/mgcp_vty.c at 365 PS2, Line 365: "Show only Endpoints with Active Connections\n") > I am not an expert in spelling, but I think "Show only endpoints with active connections" is better. [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I23a26b4fdc03d8b2469d293dd6c06ed83ce739e9 Gerrit-Change-Number: 24131 Gerrit-PatchSet: 3 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 May 2021 19:02:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 19:08:43 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Wed, 5 May 2021 19:08:43 +0000 Subject: Change in libosmo-abis[master]: Fix up vty 'show' commands for E1 line/timeslots In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24133 ) Change subject: Fix up vty 'show' commands for E1 line/timeslots ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I6af92ae2808713c74afeecaa1f500443fb2b7795 Gerrit-Change-Number: 24133 Gerrit-PatchSet: 5 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 05 May 2021 19:08:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 22:31:35 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 May 2021 22:31:35 +0000 Subject: Change in libosmocore[master]: gsm/abis_nm: add missing NM_OC_IPAC_* value-string entries References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24150 ) Change subject: gsm/abis_nm: add missing NM_OC_IPAC_* value-string entries ...................................................................... gsm/abis_nm: add missing NM_OC_IPAC_* value-string entries Change-Id: I2181af229e8e7da12d716c176ab9230f09e29eef --- M src/gsm/abis_nm.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/50/24150/1 diff --git a/src/gsm/abis_nm.c b/src/gsm/abis_nm.c index 13837d2..f7793d7 100644 --- a/src/gsm/abis_nm.c +++ b/src/gsm/abis_nm.c @@ -610,6 +610,10 @@ { NM_OC_RADIO_CARRIER, "RADIO-CARRIER" }, { NM_OC_BASEB_TRANSC, "BASEBAND-TRANSCEIVER" }, { NM_OC_CHANNEL, "CHANNEL" }, + { NM_OC_IPAC_E1_TRUNK, "IPAC-E1-TRUNK" }, + { NM_OC_IPAC_E1_PORT, "IPAC-E1-PORT" }, + { NM_OC_IPAC_E1_CHAN, "IPAC-E1-CHAN" }, + { NM_OC_IPAC_CLK_MODULE,"IPAC-CLK-MODULE" }, { NM_OC_BS11_ADJC, "ADJC" }, { NM_OC_BS11_HANDOVER, "HANDOVER" }, { NM_OC_BS11_PWR_CTRL, "POWER-CONTROL" }, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24150 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2181af229e8e7da12d716c176ab9230f09e29eef Gerrit-Change-Number: 24150 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 5 22:31:36 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 May 2021 22:31:36 +0000 Subject: Change in libosmocore[master]: gsm/abis_nm: add Osmocom specific OC for shadow transceiver References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24151 ) Change subject: gsm/abis_nm: add Osmocom specific OC for shadow transceiver ...................................................................... gsm/abis_nm: add Osmocom specific OC for shadow transceiver Change-Id: Idf3e917d7eb595e498514f1de50d4a5cb0333419 Related: SYS#5315, OS#4940 --- M include/osmocom/gsm/protocol/gsm_12_21.h M src/gsm/abis_nm.c 2 files changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/51/24151/1 diff --git a/include/osmocom/gsm/protocol/gsm_12_21.h b/include/osmocom/gsm/protocol/gsm_12_21.h index 34622b3..82a40b8 100644 --- a/include/osmocom/gsm/protocol/gsm_12_21.h +++ b/include/osmocom/gsm/protocol/gsm_12_21.h @@ -298,6 +298,8 @@ NM_OC_IPAC_E1_CHAN = 0x10, NM_OC_IPAC_CLK_MODULE = 0x22, + NM_OC_OSMO_SHADOW_TRANSC = 0x80, + NM_OC_BS11_ADJC = 0xa0, NM_OC_BS11_HANDOVER = 0xa1, NM_OC_BS11_PWR_CTRL = 0xa2, diff --git a/src/gsm/abis_nm.c b/src/gsm/abis_nm.c index f7793d7..5d384fa 100644 --- a/src/gsm/abis_nm.c +++ b/src/gsm/abis_nm.c @@ -609,6 +609,7 @@ { NM_OC_BTS, "BTS" }, { NM_OC_RADIO_CARRIER, "RADIO-CARRIER" }, { NM_OC_BASEB_TRANSC, "BASEBAND-TRANSCEIVER" }, + { NM_OC_OSMO_SHADOW_TRANSC, "SHADOW-TRANSCEIVER" }, { NM_OC_CHANNEL, "CHANNEL" }, { NM_OC_IPAC_E1_TRUNK, "IPAC-E1-TRUNK" }, { NM_OC_IPAC_E1_PORT, "IPAC-E1-PORT" }, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24151 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idf3e917d7eb595e498514f1de50d4a5cb0333419 Gerrit-Change-Number: 24151 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 00:46:39 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 May 2021 00:46:39 +0000 Subject: Change in osmo-bts[master]: struct gsm_bts_trx: remove unused leftovers from openbsc References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24152 ) Change subject: struct gsm_bts_trx: remove unused leftovers from openbsc ...................................................................... struct gsm_bts_trx: remove unused leftovers from openbsc Change-Id: I667fc1d6a5eaccb69b45197da71d4a699f52fcfc --- M include/osmo-bts/bts_trx.h 1 file changed, 0 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/52/24152/1 diff --git a/include/osmo-bts/bts_trx.h b/include/osmo-bts/bts_trx.h index 4474903..8513a12 100644 --- a/include/osmo-bts/bts_trx.h +++ b/include/osmo-bts/bts_trx.h @@ -40,13 +40,6 @@ void *l1h; } role_bts; - union { - struct { - unsigned int test_state; - uint8_t test_nr; - struct rxlev_stats rxlev_stat; - } ipaccess; - }; struct gsm_bts_trx_ts ts[TRX_NR_TS]; }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24152 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I667fc1d6a5eaccb69b45197da71d4a699f52fcfc Gerrit-Change-Number: 24152 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 00:46:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 May 2021 00:46:40 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Implement the concept of 'shadow' transceiver References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24153 ) Change subject: [VAMOS] Implement the concept of 'shadow' transceiver ...................................................................... [VAMOS] Implement the concept of 'shadow' transceiver Change-Id: I48b44b4df9ffb1cca105aebbd868c29b21f3b1d6 Related: SYS#5315, OS#4940 --- M include/osmo-bts/bts_trx.h M src/common/bts_trx.c M src/common/oml.c 3 files changed, 86 insertions(+), 33 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/53/24153/1 diff --git a/include/osmo-bts/bts_trx.h b/include/osmo-bts/bts_trx.h index 8513a12..86d5167 100644 --- a/include/osmo-bts/bts_trx.h +++ b/include/osmo-bts/bts_trx.h @@ -41,6 +41,11 @@ } role_bts; struct gsm_bts_trx_ts ts[TRX_NR_TS]; + + /* If this is a primary TRX that has a shadow TRX, this points at the shadow TRX. + * NULL when this TRX is a shadow TRX itself, or when there is no shadow TRX set up. */ + struct gsm_bts_trx *shadow; + bool is_shadow; }; static inline struct gsm_bts_trx *gsm_bts_bb_trx_get_trx(struct gsm_bts_bb_trx *bb_transc) { @@ -48,6 +53,7 @@ } struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts); +void gsm_bts_trx_alloc_shadow(struct gsm_bts_trx *trx); int bts_trx_init(struct gsm_bts_trx *trx); struct gsm_bts_trx *gsm_bts_trx_num(const struct gsm_bts *bts, int num); char *gsm_trx_name(const struct gsm_bts_trx *trx); diff --git a/src/common/bts_trx.c b/src/common/bts_trx.c index 9fc18e4..5ee4e7f 100644 --- a/src/common/bts_trx.c +++ b/src/common/bts_trx.c @@ -52,10 +52,76 @@ return 0; } +static void gsm_bts_trx_init_ts_lchan(struct gsm_bts_trx *trx) +{ + unsigned int tn, ln; + + for (tn = 0; tn < TRX_NR_TS; tn++) { + struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + + ts->trx = trx; + ts->nr = tn; + ts->pchan = GSM_PCHAN_NONE; + ts->dyn.pchan_is = GSM_PCHAN_NONE; + ts->dyn.pchan_want = GSM_PCHAN_NONE; + ts->tsc = -1; + + ts->mo.fi = osmo_fsm_inst_alloc(&nm_chan_fsm, trx, ts, + LOGL_INFO, NULL); + osmo_fsm_inst_update_id_f(ts->mo.fi, "%s-ts%u", + trx->bb_transc.mo.fi->id, ts->nr); + gsm_mo_init(&ts->mo, trx->bts, NM_OC_CHANNEL, + trx->bts->nr, trx->nr, ts->nr); + + for (ln = 0; ln < TS_MAX_LCHAN; ln++) { + struct gsm_lchan *lchan = &ts->lchan[ln]; + char *name; + + lchan->ts = ts; + lchan->nr = ln; + lchan->type = GSM_LCHAN_NONE; + + name = gsm_lchan_name_compute(lchan); + lchan->name = talloc_strdup(trx, name); + INIT_LLIST_HEAD(&lchan->sapi_cmds); + } + } +} + +void gsm_bts_trx_alloc_shadow(struct gsm_bts_trx *prim) +{ + struct gsm_bts_trx *shadow; + + /* The can be only one shadow TRX */ + OSMO_ASSERT(prim->shadow == NULL); + + shadow = talloc_zero(prim, struct gsm_bts_trx); + OSMO_ASSERT(shadow != NULL); + prim->shadow = shadow; + + talloc_set_destructor(shadow, gsm_bts_trx_talloc_destructor); + + shadow->is_shadow = true; + shadow->bts = prim->bts; + shadow->nr = prim->nr; + + /* The shadow TRX has its own BASEBAND-TRANSCEIVER and CHANNEL MOs, + * but due to its virtual nature has no dedicated RADIO-CARRIER MO. */ + shadow->bb_transc.mo.fi = osmo_fsm_inst_alloc(&nm_bb_transc_fsm, + shadow, &shadow->bb_transc, + LOGL_INFO, NULL); + osmo_fsm_inst_update_id_f(shadow->bb_transc.mo.fi, + "bts%d-shadow-trx%d", + prim->bts->nr, shadow->nr); + gsm_mo_init(&shadow->bb_transc.mo, prim->bts, NM_OC_OSMO_SHADOW_TRANSC, + prim->bts->nr, shadow->nr, 0xff); + + gsm_bts_trx_init_ts_lchan(shadow); +} + struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts) { struct gsm_bts_trx *trx = talloc_zero(bts, struct gsm_bts_trx); - int k; if (!trx) return NULL; @@ -77,38 +143,7 @@ gsm_mo_init(&trx->bb_transc.mo, bts, NM_OC_BASEB_TRANSC, bts->nr, trx->nr, 0xff); - for (k = 0; k < TRX_NR_TS; k++) { - struct gsm_bts_trx_ts *ts = &trx->ts[k]; - int l; - - ts->trx = trx; - ts->nr = k; - ts->pchan = GSM_PCHAN_NONE; - ts->dyn.pchan_is = GSM_PCHAN_NONE; - ts->dyn.pchan_want = GSM_PCHAN_NONE; - ts->tsc = -1; - - ts->mo.fi = osmo_fsm_inst_alloc(&nm_chan_fsm, trx, ts, - LOGL_INFO, NULL); - osmo_fsm_inst_update_id_f(ts->mo.fi, "bts%d-trx%d-ts%d", - bts->nr, trx->nr, ts->nr); - gsm_mo_init(&ts->mo, bts, NM_OC_CHANNEL, - bts->nr, trx->nr, ts->nr); - - for (l = 0; l < TS_MAX_LCHAN; l++) { - struct gsm_lchan *lchan; - char *name; - lchan = &ts->lchan[l]; - - lchan->ts = ts; - lchan->nr = l; - lchan->type = GSM_LCHAN_NONE; - - name = gsm_lchan_name_compute(lchan); - lchan->name = talloc_strdup(trx, name); - INIT_LLIST_HEAD(&lchan->sapi_cmds); - } - } + gsm_bts_trx_init_ts_lchan(trx); if (trx->nr != 0) trx->nominal_power = bts->c0->nominal_power; diff --git a/src/common/oml.c b/src/common/oml.c index c32260b..bd9a86e 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -1596,10 +1596,16 @@ mo = &trx->mo; break; case NM_OC_BASEB_TRANSC: + case NM_OC_OSMO_SHADOW_TRANSC: if (obj_inst->trx_nr >= bts->num_trx) { return NULL; } trx = gsm_bts_trx_num(bts, obj_inst->trx_nr); + if (obj_class == NM_OC_OSMO_SHADOW_TRANSC) { + if (trx->shadow == NULL) + return NULL; + trx = trx->shadow; + } mo = &trx->bb_transc.mo; break; case NM_OC_CHANNEL: @@ -1663,10 +1669,16 @@ obj = trx; break; case NM_OC_BASEB_TRANSC: + case NM_OC_OSMO_SHADOW_TRANSC: if (obj_inst->trx_nr >= bts->num_trx) { return NULL; } trx = gsm_bts_trx_num(bts, obj_inst->trx_nr); + if (obj_class == NM_OC_OSMO_SHADOW_TRANSC) { + if (trx->shadow == NULL) + return NULL; + trx = trx->shadow; + } obj = &trx->bb_transc; break; case NM_OC_CHANNEL: -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I48b44b4df9ffb1cca105aebbd868c29b21f3b1d6 Gerrit-Change-Number: 24153 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 00:46:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 May 2021 00:46:40 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_lchan_name_compute(): indicate if TRX is a shadow TRX References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24154 ) Change subject: [VAMOS] gsm_lchan_name_compute(): indicate if TRX is a shadow TRX ...................................................................... [VAMOS] gsm_lchan_name_compute(): indicate if TRX is a shadow TRX Change-Id: I0e350fb067e0ff02d2f3cb54929ef152bb542636 Related: SYS#5315, OS#4940 --- M src/common/gsm_data.c 1 file changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/54/24154/1 diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 7cf48bf..f8435c4 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -167,10 +167,12 @@ char *gsm_lchan_name_compute(const struct gsm_lchan *lchan) { - struct gsm_bts_trx_ts *ts = lchan->ts; + const struct gsm_bts_trx_ts *ts = lchan->ts; + const struct gsm_bts_trx *trx = ts->trx; - snprintf(ts2str, sizeof(ts2str), "(bts=%d,trx=%d,ts=%d,ss=%d)", - ts->trx->bts->nr, ts->trx->nr, ts->nr, lchan->nr); + snprintf(ts2str, sizeof(ts2str), "(bts=%d,%strx=%d,ts=%d,ss=%d)", + trx->bts->nr, trx->is_shadow ? "shadow-" : "", trx->nr, + ts->nr, lchan->nr); return ts2str; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24154 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0e350fb067e0ff02d2f3cb54929ef152bb542636 Gerrit-Change-Number: 24154 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 00:46:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 May 2021 00:46:41 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-omldummy: create shadow TRXes iff VAMOS is enabled References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24155 ) Change subject: [VAMOS] osmo-bts-omldummy: create shadow TRXes iff VAMOS is enabled ...................................................................... [VAMOS] osmo-bts-omldummy: create shadow TRXes iff VAMOS is enabled Change-Id: I4aa9a8bb35bd828d6f25d5690297e727dace5974 Related: SYS#5315, OS#4940 --- M src/osmo-bts-omldummy/main.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/55/24155/1 diff --git a/src/osmo-bts-omldummy/main.c b/src/osmo-bts-omldummy/main.c index 9ab23c5..dd6c47a 100644 --- a/src/osmo-bts-omldummy/main.c +++ b/src/osmo-bts-omldummy/main.c @@ -135,6 +135,12 @@ set_bts_features(bts->features, cmdline.features); + /* VAMOS: set up a shadow TRX for each primary TRX */ + if (osmo_bts_has_feature(bts->features, BTS_FEAT_VAMOS)) { + llist_for_each_entry(trx, &bts->trx_list, list) + gsm_bts_trx_alloc_shadow(trx); + } + //btsb = bts_role_bts(bts); abis_init(bts); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4aa9a8bb35bd828d6f25d5690297e727dace5974 Gerrit-Change-Number: 24155 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Thu May 6 04:21:08 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 04:21:08 +0000 Subject: Build failure of network:osmocom:nightly/libgtpnl in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <60936eb9752b0_6ab22aae945685fc259584f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libgtpnl/Raspbian_10/armv7l Package network:osmocom:nightly/libgtpnl failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libgtpnl Last lines of build log: [ 0s] [ 0s] armbuild04 started "build libgtpnl_1.2.2.202105060026.dsc" at Thu May 6 04:20:50 UTC 2021. [ 0s] [ 0s] Building libgtpnl for project 'network:osmocom:nightly' repository 'Raspbian_10' arch 'armv7l' srcmd5 '45b768875d92d99508e640b74f67ccde' [ 0s] [ 0s] processing recipe /var/cache/obs/worker/root_2/.build-srcdir/libgtpnl_1.2.2.202105060026.dsc ... [ 0s] running changelog2spec --target debian --file /var/cache/obs/worker/root_2/.build-srcdir/libgtpnl_1.2.2.202105060026.dsc [ 0s] init_buildsystem --configdir /var/run/obs/worker/2/build/configs --cachedir /var/cache/build --prepare --clean --rpmlist /var/cache/obs/worker/root_2/.build.rpmlist /var/cache/obs/worker/root_2/.build-srcdir/libgtpnl_1.2.2.202105060026.dsc build ... [ 1s] unknown keyword in config: [ 1s] could not autodetect package type [ 1s] [ 1s] armbuild04 failed "build libgtpnl_1.2.2.202105060026.dsc" at Thu May 6 04:20:51 UTC 2021. [ 1s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 6 07:58:15 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Thu, 6 May 2021 07:58:15 +0000 Subject: Change in pysim[master]: ModemATCommandLink: return lower case hexstring References: Message-ID: Falkenber9 has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24156 ) Change subject: ModemATCommandLink: return lower case hexstring ...................................................................... ModemATCommandLink: return lower case hexstring Change-Id: Id56e92962c1d75b832b42516099f97aac5a9d1d3 --- M pySim/transport/modem_atcmd.py 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/56/24156/1 diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py index 2018ac2..bb23ce9 100644 --- a/pySim/transport/modem_atcmd.py +++ b/pySim/transport/modem_atcmd.py @@ -153,6 +153,6 @@ raise ReaderError('Failed to parse response from modem: %s' % rsp) # TODO: make sure we have at least SW - data = rsp_pdu[:-4].decode() - sw = rsp_pdu[-4:].decode() + data = rsp_pdu[:-4].decode().lower() + sw = rsp_pdu[-4:].decode().lower() return data, sw -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id56e92962c1d75b832b42516099f97aac5a9d1d3 Gerrit-Change-Number: 24156 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 07:58:16 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Thu, 6 May 2021 07:58:16 +0000 Subject: Change in pysim[master]: ModemATCommandLink: add some logging References: Message-ID: Falkenber9 has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24157 ) Change subject: ModemATCommandLink: add some logging ...................................................................... ModemATCommandLink: add some logging Change-Id: I303506a751b4a34d83c18bc097e0cfb0517ee82c --- M pySim/transport/modem_atcmd.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/57/24157/1 diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py index bb23ce9..6557b02 100644 --- a/pySim/transport/modem_atcmd.py +++ b/pySim/transport/modem_atcmd.py @@ -137,6 +137,7 @@ # Prepare the command as described in 8.17 cmd = 'AT+CSIM=%d,\"%s\"' % (len(pdu), pdu) + log.info('Sending command: %s', cmd) # Send AT+CSIM command to the modem # TODO: also handle +CME ERROR: @@ -155,4 +156,5 @@ # TODO: make sure we have at least SW data = rsp_pdu[:-4].decode().lower() sw = rsp_pdu[-4:].decode().lower() + log.info('Command response: %s, %s', data, sw) return data, sw -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I303506a751b4a34d83c18bc097e0cfb0517ee82c Gerrit-Change-Number: 24157 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 07:58:16 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Thu, 6 May 2021 07:58:16 +0000 Subject: Change in pysim[master]: ModemATCommandLink: improve response time for "+CME ERROR" References: Message-ID: Falkenber9 has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24158 ) Change subject: ModemATCommandLink: improve response time for "+CME ERROR" ...................................................................... ModemATCommandLink: improve response time for "+CME ERROR" Change-Id: I41af33c1898f5ed3d1c5238e45f956c6ceab2826 --- M pySim/transport/modem_atcmd.py 1 file changed, 7 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/58/24158/1 diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py index 6557b02..b8a9186 100644 --- a/pySim/transport/modem_atcmd.py +++ b/pySim/transport/modem_atcmd.py @@ -67,12 +67,13 @@ t_start = time.time() while True: rsp = rsp + self._sl.read(self._sl.in_waiting) - if rsp.endswith(b'OK\r\n'): - log.debug('Command finished with result: OK') - break - if rsp.endswith(b'ERROR\r\n'): - log.debug('Command finished with result: ERROR') - break + lines = rsp.split(b'\r\n') + if len(lines) >= 2: + res = lines[-2] + if any(res.startswith(val) for val in [b'OK', b'ERROR', b'+CME ERROR:']): + log.debug('Command finished with result: %s', res) + break + if time.time() - t_start >= timeout: log.debug('Command finished with timeout >= %ss', timeout) break -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I41af33c1898f5ed3d1c5238e45f956c6ceab2826 Gerrit-Change-Number: 24158 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 07:58:16 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Thu, 6 May 2021 07:58:16 +0000 Subject: Change in pysim[master]: ts_102_221: fix unknown TLV key '9B' on SysmoSIM-SJS1 References: Message-ID: Falkenber9 has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24159 ) Change subject: ts_102_221: fix unknown TLV key '9B' on SysmoSIM-SJS1 ...................................................................... ts_102_221: fix unknown TLV key '9B' on SysmoSIM-SJS1 Change-Id: I8131bfbbdeb50ddb4d6a06c16586238a36582b5e --- M pySim/ts_102_221.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/59/24159/1 diff --git a/pySim/ts_102_221.py b/pySim/ts_102_221.py index bb49fe5..5bb4b63 100644 --- a/pySim/ts_102_221.py +++ b/pySim/ts_102_221.py @@ -182,6 +182,8 @@ for i in range(0xc0, 0xff): i_hex = i2h([i]).upper() tlv_map[i_hex] = 'proprietary_' + i_hex + # Other non-standard TLV objects found on some cards + tlv_map['9B'] = 'unknown_9B' # found on SysmoSIM-SJS1; seems to mirror the file path def tlv_key_replace(inmap, indata): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8131bfbbdeb50ddb4d6a06c16586238a36582b5e Gerrit-Change-Number: 24159 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 08:15:49 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Thu, 6 May 2021 08:15:49 +0000 Subject: Change in pysim[master]: SimCardCommands: detect whether UICC or Classic SIM References: Message-ID: Falkenber9 has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24160 ) Change subject: SimCardCommands: detect whether UICC or Classic SIM ...................................................................... SimCardCommands: detect whether UICC or Classic SIM Distinction between UICC or Classic SIM was done in pySim-read only. This patch moves is into SimCardCommands and adds function calls into * pySim-read.py * pySim-prog.py * pySim-shell.py Change-Id: I224bd6c91cdaf444e2a94117f64030c024a776a7 --- M pySim-prog.py M pySim-read.py M pySim-shell.py M pySim/commands.py 4 files changed, 26 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/60/24160/1 diff --git a/pySim-prog.py b/pySim-prog.py index 4c85be7..9191ed6 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -656,6 +656,9 @@ card_handler.get(first) if opts.dry_run is False: + # Testing for Classic SIM or UICC + scc.detect_card_type() + # Get card card = card_detect(opts.type, scc) if card is None: diff --git a/pySim-read.py b/pySim-read.py index ebe0e29..2c848dc 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -60,16 +60,8 @@ # Wait for SIM card sl.wait_for_card() - # Assuming UICC SIM - scc.cla_byte = "00" - scc.sel_ctrl = "0004" - # Testing for Classic SIM or UICC - (res, sw) = sl.send_apdu(scc.cla_byte + "a4" + scc.sel_ctrl + "02" + "3f00") - if sw == '6e00': - # Just a Classic SIM - scc.cla_byte = "a0" - scc.sel_ctrl = "0000" + scc.detect_card_type() # Read the card print("Reading ...") diff --git a/pySim-shell.py b/pySim-shell.py index bbfe7e9..7a6eaf7 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -475,6 +475,8 @@ sl.wait_for_card(); + scc.detect_card_type() + card_handler = card_handler(sl) card = card_detect("auto", scc) diff --git a/pySim/commands.py b/pySim/commands.py index 0b3d9b6..1e14296 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -29,7 +29,7 @@ class SimCardCommands(object): def __init__(self, transport): self._tp = transport - self._cla_byte = "a0" + self._cla_byte = "a0" # Non-UICC GSM SIM (see 3GPP TS 11.11, chapter 4.4.1) self.sel_ctrl = "0000" # Extract a single FCP item from TLV @@ -103,6 +103,25 @@ def sel_ctrl(self, value): self._sel_ctrl = value + def detect_card_type(self): + """ + Detect whether we have UICC or classic SIM and + adjust CLA/CTRL bytes accordingly. + """ + # Assume UICC SIM first + self.cla_byte = "00" + self.sel_ctrl = "0004" + + # Try to access MF via UICC command class + (res, sw) = self._tp.send_apdu(self.cla_byte + "a4" + self.sel_ctrl + "02" + "3f00") + if sw == '6e00': + # Didn't work, try command class for Classic SIM + self.cla_byte = "a0" # Non-UICC GSM SIM (see 3GPP TS 11.11, chapter 4.4.1) + self.sel_ctrl = "0000" + (res, sw) = self._tp.send_apdu(self.cla_byte + "a4" + self.sel_ctrl + "02" + "3f00") + if sw == '6e00': + raise ProtocolError("Card is neither UICC nor Classic SIM") + def try_select_path(self, dir_list): """ Try to select a specified path given as list of hex-string FIDs""" rv = [] -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I224bd6c91cdaf444e2a94117f64030c024a776a7 Gerrit-Change-Number: 24160 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 09:01:52 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Thu, 6 May 2021 09:01:52 +0000 Subject: Change in pysim[master]: SimCardCommands: detect whether UICC or Classic SIM In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24160 to look at the new patch set (#2). Change subject: SimCardCommands: detect whether UICC or Classic SIM ...................................................................... SimCardCommands: detect whether UICC or Classic SIM Distinction between UICC or Classic SIM was done in pySim-read only. This patch moves is into SimCardCommands and adds function calls into * pySim-read.py * pySim-prog.py * pySim-shell.py Change-Id: I224bd6c91cdaf444e2a94117f64030c024a776a7 --- M pySim-prog.py M pySim-read.py M pySim-shell.py M pySim/commands.py 4 files changed, 27 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/60/24160/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I224bd6c91cdaf444e2a94117f64030c024a776a7 Gerrit-Change-Number: 24160 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Thu May 6 09:21:28 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:21:28 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gbproxy in Debian_8.0/i586 In-Reply-To: References: Message-ID: <6093b528504ce_6ab22aae945685fc2654837@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gbproxy/Debian_8.0/i586 Package network:osmocom:nightly/osmo-gbproxy failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gbproxy Last lines of build log: [ 81s] texhash: Updating /usr/local/share/texmf/ls-R... [ 81s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 81s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 81s] texhash: Updating /var/lib/texmf/ls-R... [ 81s] texhash: Done. [ 81s] SIOCSIFADDR: File exists [ 81s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc) [ 81s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 81s] dpkg-source: info: unpacking osmo-gbproxy_0.1.0.18.a4560.202105060026.tar.xz [ 81s] ----------------------------------------------------------------- [ 81s] ----- building osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc (user abuild) [ 81s] ----------------------------------------------------------------- [ 81s] ----------------------------------------------------------------- [ 81s] dpkg-buildpackage: source package osmo-gbproxy [ 81s] dpkg-buildpackage: source version 1:0.1.0.18.a4560.202105060026 [ 81s] dpkg-buildpackage: source distribution UNRELEASED [ 81s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 81s] dpkg-source --before-build BUILD [ 81s] dpkg-buildpackage: host architecture i386 [ 81s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 81s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 81s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 81s] ### VM INTERACTION START ### [ 82s] Powering off. [ 82s] [ 76.690917] reboot: Power down [ 82s] ### VM INTERACTION END ### [ 83s] [ 83s] goat17 failed "build osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc" at Thu May 6 09:21:25 UTC 2021. [ 83s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:22:02 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:22:02 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gbproxy in Debian_9.0/i586 In-Reply-To: References: Message-ID: <6093b5489f9f6_6ab22aae945685fc26551bc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gbproxy/Debian_9.0/i586 Package network:osmocom:nightly/osmo-gbproxy failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gbproxy Last lines of build log: [ 105s] texhash: Updating /usr/local/share/texmf/ls-R... [ 105s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 105s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 105s] texhash: Updating /var/lib/texmf/ls-R... [ 105s] texhash: Done. [ 105s] SIOCSIFADDR: File exists [ 105s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc) [ 105s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 105s] dpkg-source: info: unpacking osmo-gbproxy_0.1.0.18.a4560.202105060026.tar.xz [ 105s] ----------------------------------------------------------------- [ 105s] ----- building osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc (user abuild) [ 105s] ----------------------------------------------------------------- [ 105s] ----------------------------------------------------------------- [ 106s] dpkg-buildpackage: info: source package osmo-gbproxy [ 106s] dpkg-buildpackage: info: source version 1:0.1.0.18.a4560.202105060026 [ 106s] dpkg-buildpackage: info: source distribution UNRELEASED [ 106s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 106s] dpkg-source --before-build BUILD [ 106s] dpkg-buildpackage: info: host architecture i386 [ 106s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 106s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 106s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 106s] ### VM INTERACTION START ### [ 109s] [ 101.654314] sysrq: Power Off [ 109s] [ 101.658034] reboot: Power down [ 109s] ### VM INTERACTION END ### [ 109s] [ 109s] goat11 failed "build osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc" at Thu May 6 09:21:49 UTC 2021. [ 109s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:22:02 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:22:02 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in Debian_9.0/i586 In-Reply-To: References: Message-ID: <6093b5486b81b_6ab22aae945685fc26550cb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_9.0/i586 Package network:osmocom:nightly/osmo-pcu failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 103s] texhash: Updating /usr/local/share/texmf/ls-R... [ 103s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 103s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 103s] texhash: Updating /var/lib/texmf/ls-R... [ 103s] texhash: Done. [ 103s] SIOCSIFADDR: File exists [ 103s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.82.c6dc.202105060026.dsc) [ 103s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 103s] dpkg-source: info: unpacking osmo-pcu_0.9.0.82.c6dc.202105060026.tar.xz [ 103s] ----------------------------------------------------------------- [ 103s] ----- building osmo-pcu_0.9.0.82.c6dc.202105060026.dsc (user abuild) [ 103s] ----------------------------------------------------------------- [ 103s] ----------------------------------------------------------------- [ 103s] dpkg-buildpackage: info: source package osmo-pcu [ 103s] dpkg-buildpackage: info: source version 0.9.0.82.c6dc.202105060026 [ 103s] dpkg-buildpackage: info: source distribution UNRELEASED [ 103s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 103s] dpkg-source --before-build BUILD [ 103s] dpkg-buildpackage: info: host architecture i386 [ 103s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 103s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 103s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 103s] ### VM INTERACTION START ### [ 107s] [ 100.167799] sysrq: Power Off [ 107s] [ 100.170614] reboot: Power down [ 107s] ### VM INTERACTION END ### [ 107s] [ 107s] goat05 failed "build osmo-pcu_0.9.0.82.c6dc.202105060026.dsc" at Thu May 6 09:21:49 UTC 2021. [ 107s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:22:19 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:22:19 +0000 Subject: Build failure of network:osmocom:latest/osmo-gbproxy in Debian_8.0/i586 In-Reply-To: References: Message-ID: <6093b563dd89_6ab22aae945685fc265525e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gbproxy/Debian_8.0/i586 Package network:osmocom:latest/osmo-gbproxy failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-gbproxy Last lines of build log: [ 130s] texhash: Updating /usr/local/share/texmf/ls-R... [ 130s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 130s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 130s] texhash: Updating /var/lib/texmf/ls-R... [ 130s] texhash: Done. [ 131s] SIOCSIFADDR: File exists [ 131s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.1.dsc) [ 131s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 131s] dpkg-source: info: unpacking osmo-gbproxy_0.1.1.tar.xz [ 131s] ----------------------------------------------------------------- [ 131s] ----- building osmo-gbproxy_0.1.1.dsc (user abuild) [ 131s] ----------------------------------------------------------------- [ 131s] ----------------------------------------------------------------- [ 131s] dpkg-buildpackage: source package osmo-gbproxy [ 131s] dpkg-buildpackage: source version 1:0.1.1 [ 131s] dpkg-buildpackage: source distribution unstable [ 131s] dpkg-buildpackage: source changed by Harald Welte [ 131s] dpkg-source --before-build BUILD [ 131s] dpkg-buildpackage: host architecture i386 [ 131s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 131s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 131s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 131s] ### VM INTERACTION START ### [ 132s] Powering off. [ 132s] [ 123.104738] reboot: Power down [ 132s] ### VM INTERACTION END ### [ 133s] [ 133s] sheep88 failed "build osmo-gbproxy_0.1.1.dsc" at Thu May 6 09:22:03 UTC 2021. [ 133s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:22:36 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:22:36 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <6093b563623ab_6ab22aae945685fc2655359@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/xUbuntu_18.04/i586 Package network:osmocom:latest/osmo-hlr failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 140s] texhash: Updating /usr/local/share/texmf/ls-R... [ 140s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 140s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 140s] texhash: Updating /var/lib/texmf/ls-R... [ 140s] texhash: Done. [ 140s] SIOCSIFADDR: File exists [ 140s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.dsc) [ 140s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 140s] dpkg-source: info: unpacking osmo-hlr_1.3.0.tar.xz [ 140s] ----------------------------------------------------------------- [ 140s] ----- building osmo-hlr_1.3.0.dsc (user abuild) [ 140s] ----------------------------------------------------------------- [ 140s] ----------------------------------------------------------------- [ 140s] dpkg-buildpackage: info: source package osmo-hlr [ 140s] dpkg-buildpackage: info: source version 1.3.0 [ 140s] dpkg-buildpackage: info: source distribution unstable [ 140s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 140s] dpkg-source --before-build BUILD [ 140s] dpkg-buildpackage: info: host architecture i386 [ 140s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 140s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 140s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 140s] ### VM INTERACTION START ### [ 144s] [ 136.991089] sysrq: Power Off [ 144s] [ 136.995151] reboot: Power down [ 144s] ### VM INTERACTION END ### [ 144s] [ 144s] goat05 failed "build osmo-hlr_1.3.0.dsc" at Thu May 6 09:22:19 UTC 2021. [ 144s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:22:36 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:22:36 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sip-connector in Debian_8.0/i586 In-Reply-To: References: Message-ID: <6093b5641a0c5_6ab22aae945685fc265545a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sip-connector/Debian_8.0/i586 Package network:osmocom:nightly/osmo-sip-connector failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sip-connector Last lines of build log: [ 144s] texhash: Updating /usr/local/share/texmf/ls-R... [ 144s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 144s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 144s] texhash: Updating /var/lib/texmf/ls-R... [ 144s] texhash: Done. [ 144s] SIOCSIFADDR: File exists [ 144s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.202105060026.dsc) [ 144s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 144s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.202105060026.tar.xz [ 144s] ----------------------------------------------------------------- [ 144s] ----- building osmo-sip-connector_1.5.0.202105060026.dsc (user abuild) [ 144s] ----------------------------------------------------------------- [ 144s] ----------------------------------------------------------------- [ 145s] dpkg-buildpackage: source package osmo-sip-connector [ 145s] dpkg-buildpackage: source version 1.5.0.202105060026 [ 145s] dpkg-buildpackage: source distribution UNRELEASED [ 145s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 145s] dpkg-source --before-build BUILD [ 145s] dpkg-buildpackage: host architecture i386 [ 145s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 145s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 145s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 145s] ### VM INTERACTION START ### [ 146s] Powering off. [ 146s] [ 135.624934] reboot: Power down [ 146s] ### VM INTERACTION END ### [ 146s] [ 146s] lamb06 failed "build osmo-sip-connector_1.5.0.202105060026.dsc" at Thu May 6 09:22:35 UTC 2021. [ 146s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:22:53 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:22:53 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in Debian_8.0/i586 In-Reply-To: References: Message-ID: <6093b582b0a8b_6ab22aae945685fc2655596@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/Debian_8.0/i586 Package network:osmocom:latest/osmo-hlr failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 153s] texhash: Updating /usr/local/share/texmf/ls-R... [ 153s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 154s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 154s] texhash: Updating /var/lib/texmf/ls-R... [ 154s] texhash: Done. [ 154s] SIOCSIFADDR: File exists [ 154s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.dsc) [ 154s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 154s] dpkg-source: info: unpacking osmo-hlr_1.3.0.tar.xz [ 154s] ----------------------------------------------------------------- [ 154s] ----- building osmo-hlr_1.3.0.dsc (user abuild) [ 154s] ----------------------------------------------------------------- [ 154s] ----------------------------------------------------------------- [ 154s] dpkg-buildpackage: source package osmo-hlr [ 154s] dpkg-buildpackage: source version 1.3.0 [ 154s] dpkg-buildpackage: source distribution unstable [ 154s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 154s] dpkg-source --before-build BUILD [ 154s] dpkg-buildpackage: host architecture i386 [ 155s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 155s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 155s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 155s] ### VM INTERACTION START ### [ 156s] Powering off. [ 156s] [ 143.705166] reboot: Power down [ 156s] ### VM INTERACTION END ### [ 156s] [ 156s] cloud118 failed "build osmo-hlr_1.3.0.dsc" at Thu May 6 09:22:43 UTC 2021. [ 156s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:22:53 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:22:53 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sip-connector in Debian_9.0/i586 In-Reply-To: References: Message-ID: <6093b582e663b_6ab22aae945685fc2655651@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sip-connector/Debian_9.0/i586 Package network:osmocom:nightly/osmo-sip-connector failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sip-connector Last lines of build log: [ 152s] texhash: Updating /usr/local/share/texmf/ls-R... [ 152s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 152s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 152s] texhash: Updating /var/lib/texmf/ls-R... [ 152s] texhash: Done. [ 152s] SIOCSIFADDR: File exists [ 152s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.202105060026.dsc) [ 152s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 152s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.202105060026.tar.xz [ 152s] ----------------------------------------------------------------- [ 152s] ----- building osmo-sip-connector_1.5.0.202105060026.dsc (user abuild) [ 152s] ----------------------------------------------------------------- [ 152s] ----------------------------------------------------------------- [ 152s] dpkg-buildpackage: info: source package osmo-sip-connector [ 152s] dpkg-buildpackage: info: source version 1.5.0.202105060026 [ 152s] dpkg-buildpackage: info: source distribution UNRELEASED [ 152s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 152s] dpkg-source --before-build BUILD [ 152s] dpkg-buildpackage: info: host architecture i386 [ 152s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 152s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 152s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 152s] ### VM INTERACTION START ### [ 156s] [ 145.764761] sysrq: Power Off [ 156s] [ 145.775438] reboot: Power down [ 156s] ### VM INTERACTION END ### [ 156s] [ 156s] sheep87 failed "build osmo-sip-connector_1.5.0.202105060026.dsc" at Thu May 6 09:22:45 UTC 2021. [ 156s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:22:53 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:22:53 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in Debian_8.0/i586 In-Reply-To: References: Message-ID: <6093b5835235d_6ab22aae945685fc2655710@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/Debian_8.0/i586 Package network:osmocom:latest/osmo-sip-connector failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 146s] texhash: Updating /usr/local/share/texmf/ls-R... [ 146s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 146s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 146s] texhash: Updating /var/lib/texmf/ls-R... [ 146s] texhash: Done. [ 146s] SIOCSIFADDR: File exists [ 146s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.dsc) [ 146s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 146s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.tar.xz [ 146s] ----------------------------------------------------------------- [ 146s] ----- building osmo-sip-connector_1.5.0.dsc (user abuild) [ 146s] ----------------------------------------------------------------- [ 146s] ----------------------------------------------------------------- [ 146s] dpkg-buildpackage: source package osmo-sip-connector [ 146s] dpkg-buildpackage: source version 1.5.0 [ 146s] dpkg-buildpackage: source distribution unstable [ 146s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 147s] dpkg-source --before-build BUILD [ 147s] dpkg-buildpackage: host architecture i386 [ 147s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 147s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 147s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 147s] ### VM INTERACTION START ### [ 148s] Powering off. [ 148s] [ 137.534982] reboot: Power down [ 148s] ### VM INTERACTION END ### [ 148s] [ 148s] lamb74 failed "build osmo-sip-connector_1.5.0.dsc" at Thu May 6 09:22:39 UTC 2021. [ 148s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:23:10 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:23:10 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Debian_8.0/i586 In-Reply-To: References: Message-ID: <6093b5838a46b_6ab22aae945685fc26558b0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Debian_8.0/i586 Package network:osmocom:nightly/osmo-bts failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 159s] texhash: Updating /usr/local/share/texmf/ls-R... [ 159s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 159s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 159s] texhash: Updating /var/lib/texmf/ls-R... [ 159s] texhash: Done. [ 159s] SIOCSIFADDR: File exists [ 159s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.0.56.9e09.202105060026.dsc) [ 159s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 159s] dpkg-source: info: unpacking osmo-bts_1.3.0.56.9e09.202105060026.tar.xz [ 159s] ----------------------------------------------------------------- [ 159s] ----- building osmo-bts_1.3.0.56.9e09.202105060026.dsc (user abuild) [ 159s] ----------------------------------------------------------------- [ 159s] ----------------------------------------------------------------- [ 160s] dpkg-buildpackage: source package osmo-bts [ 160s] dpkg-buildpackage: source version 1.3.0.56.9e09.202105060026 [ 160s] dpkg-buildpackage: source distribution UNRELEASED [ 160s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 160s] dpkg-source --before-build BUILD [ 160s] dpkg-buildpackage: host architecture i386 [ 160s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 160s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 160s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 160s] ### VM INTERACTION START ### [ 161s] Powering off. [ 161s] [ 143.945762] reboot: Power down [ 161s] ### VM INTERACTION END ### [ 161s] [ 161s] cloud124 failed "build osmo-bts_1.3.0.56.9e09.202105060026.dsc" at Thu May 6 09:22:59 UTC 2021. [ 161s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:23:10 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:23:10 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in Debian_9.0/i586 In-Reply-To: References: Message-ID: <6093b583b932f_6ab22aae945685fc26559e4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/Debian_9.0/i586 Package network:osmocom:latest/osmo-hlr failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 174s] texhash: Updating /usr/local/share/texmf/ls-R... [ 174s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 174s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 174s] texhash: Updating /var/lib/texmf/ls-R... [ 175s] texhash: Done. [ 175s] SIOCSIFADDR: File exists [ 175s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.dsc) [ 175s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 175s] dpkg-source: info: unpacking osmo-hlr_1.3.0.tar.xz [ 175s] ----------------------------------------------------------------- [ 175s] ----- building osmo-hlr_1.3.0.dsc (user abuild) [ 175s] ----------------------------------------------------------------- [ 175s] ----------------------------------------------------------------- [ 175s] dpkg-buildpackage: info: source package osmo-hlr [ 175s] dpkg-buildpackage: info: source version 1.3.0 [ 175s] dpkg-buildpackage: info: source distribution unstable [ 175s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 175s] dpkg-source --before-build BUILD [ 175s] dpkg-buildpackage: info: host architecture i386 [ 175s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 175s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 175s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 175s] ### VM INTERACTION START ### [ 179s] [ 168.004182] sysrq: Power Off [ 179s] [ 168.012187] reboot: Power down [ 179s] ### VM INTERACTION END ### [ 179s] [ 179s] lamb64 failed "build osmo-hlr_1.3.0.dsc" at Thu May 6 09:23:01 UTC 2021. [ 179s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:23:10 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:23:10 +0000 Subject: Build failure of network:osmocom:latest/osmo-gbproxy in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <6093b58439f42_6ab22aae945685fc2656038@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gbproxy/xUbuntu_18.04/x86_64 Package network:osmocom:latest/osmo-gbproxy failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gbproxy Last lines of build log: [ 175s] texhash: Updating /usr/local/share/texmf/ls-R... [ 175s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 175s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 175s] texhash: Updating /var/lib/texmf/ls-R... [ 175s] texhash: Done. [ 175s] SIOCSIFADDR: File exists [ 176s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.1.dsc) [ 176s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 176s] dpkg-source: info: unpacking osmo-gbproxy_0.1.1.tar.xz [ 176s] ----------------------------------------------------------------- [ 176s] ----- building osmo-gbproxy_0.1.1.dsc (user abuild) [ 176s] ----------------------------------------------------------------- [ 176s] ----------------------------------------------------------------- [ 176s] dpkg-buildpackage: info: source package osmo-gbproxy [ 176s] dpkg-buildpackage: info: source version 1:0.1.1 [ 176s] dpkg-buildpackage: info: source distribution unstable [ 176s] dpkg-buildpackage: info: source changed by Harald Welte [ 176s] dpkg-source --before-build BUILD [ 176s] dpkg-buildpackage: info: host architecture amd64 [ 176s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 176s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 176s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 176s] ### VM INTERACTION START ### [ 179s] [ 168.954240] sysrq: Power Off [ 179s] [ 168.957974] reboot: Power down [ 179s] ### VM INTERACTION END ### [ 179s] [ 179s] sheep86 failed "build osmo-gbproxy_0.1.1.dsc" at Thu May 6 09:22:58 UTC 2021. [ 179s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:23:27 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:23:27 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_9.0/i586 In-Reply-To: References: Message-ID: <6093b5a2f1d23_6ab22aae945685fc2656121@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_9.0/i586 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 184s] texhash: Updating /usr/local/share/texmf/ls-R... [ 184s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 184s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 184s] texhash: Updating /var/lib/texmf/ls-R... [ 184s] texhash: Done. [ 184s] SIOCSIFADDR: File exists [ 185s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.2.107.a06d.202105060026.dsc) [ 185s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 185s] dpkg-source: info: unpacking osmo-remsim_0.2.2.107.a06d.202105060026.tar.gz [ 185s] ----------------------------------------------------------------- [ 185s] ----- building osmo-remsim_0.2.2.107.a06d.202105060026.dsc (user abuild) [ 185s] ----------------------------------------------------------------- [ 185s] ----------------------------------------------------------------- [ 185s] dpkg-buildpackage: info: source package osmo-remsim [ 185s] dpkg-buildpackage: info: source version 0.2.2.107.a06d.202105060026 [ 185s] dpkg-buildpackage: info: source distribution UNRELEASED [ 185s] dpkg-buildpackage: info: source changed by Harald Welte [ 185s] dpkg-source --before-build BUILD [ 185s] dpkg-buildpackage: info: host architecture i386 [ 185s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 185s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 185s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 185s] ### VM INTERACTION START ### [ 189s] [ 176.731854] sysrq: Power Off [ 189s] [ 176.739783] reboot: Power down [ 189s] ### VM INTERACTION END ### [ 189s] [ 189s] lamb13 failed "build osmo-remsim_0.2.2.107.a06d.202105060026.dsc" at Thu May 6 09:23:18 UTC 2021. [ 189s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:23:44 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:23:44 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in Debian_9.0/i586 In-Reply-To: References: Message-ID: <6093b5a542c49_6ab22aae945685fc26564dd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/Debian_9.0/i586 Package network:osmocom:nightly/osmo-hlr failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 191s] texhash: Updating /usr/local/share/texmf/ls-R... [ 191s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 191s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 191s] texhash: Updating /var/lib/texmf/ls-R... [ 191s] texhash: Done. [ 191s] SIOCSIFADDR: File exists [ 191s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc) [ 191s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 191s] dpkg-source: info: unpacking osmo-hlr_1.3.0.2.ed2e3.202105060026.tar.xz [ 191s] ----------------------------------------------------------------- [ 191s] ----- building osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc (user abuild) [ 191s] ----------------------------------------------------------------- [ 191s] ----------------------------------------------------------------- [ 192s] dpkg-buildpackage: info: source package osmo-hlr [ 192s] dpkg-buildpackage: info: source version 1.3.0.2.ed2e3.202105060026 [ 192s] dpkg-buildpackage: info: source distribution UNRELEASED [ 192s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 192s] dpkg-source --before-build BUILD [ 192s] dpkg-buildpackage: info: host architecture i386 [ 192s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 192s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 192s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 192s] ### VM INTERACTION START ### [ 195s] [ 181.645267] sysrq: Power Off [ 195s] [ 181.658312] reboot: Power down [ 195s] ### VM INTERACTION END ### [ 195s] [ 195s] cloud104 failed "build osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc" at Thu May 6 09:23:31 UTC 2021. [ 195s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:23:44 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:23:44 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6093b5a58026f_6ab22aae945685fc2656597@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/xUbuntu_20.10/x86_64 Package network:osmocom:latest/osmo-hlr failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 232s] texhash: Updating /usr/local/share/texmf/ls-R... [ 232s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 232s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 232s] texhash: Updating /var/lib/texmf/ls-R... [ 232s] texhash: Done. [ 232s] SIOCSIFADDR: File exists [ 232s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.dsc) [ 232s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 232s] dpkg-source: info: unpacking osmo-hlr_1.3.0.tar.xz [ 232s] ----------------------------------------------------------------- [ 232s] ----- building osmo-hlr_1.3.0.dsc (user abuild) [ 232s] ----------------------------------------------------------------- [ 232s] ----------------------------------------------------------------- [ 233s] dpkg-buildpackage: info: source package osmo-hlr [ 233s] dpkg-buildpackage: info: source version 1.3.0 [ 233s] dpkg-buildpackage: info: source distribution unstable [ 233s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 233s] dpkg-source --before-build . [ 233s] dpkg-buildpackage: info: host architecture amd64 [ 233s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 233s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 233s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 233s] ### VM INTERACTION START ### [ 234s] Powering off. [ 234s] [ 224.844122] reboot: Power down [ 234s] ### VM INTERACTION END ### [ 234s] [ 234s] build72 failed "build osmo-hlr_1.3.0.dsc" at Thu May 6 09:23:42 UTC 2021. [ 234s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:24:01 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:24:01 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in xUbuntu_19.04/i586 In-Reply-To: References: Message-ID: <6093b5bf1b696_6ab22aae945685fc2656663@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/xUbuntu_19.04/i586 Package network:osmocom:latest/osmo-remsim failed to build in xUbuntu_19.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 218s] texhash: Updating /usr/local/share/texmf/ls-R... [ 218s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 218s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 218s] texhash: Updating /var/lib/texmf/ls-R... [ 218s] texhash: Done. [ 218s] SIOCSIFADDR: File exists [ 219s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.3.dsc) [ 219s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 219s] dpkg-source: info: unpacking osmo-remsim_0.2.3.tar.gz [ 219s] ----------------------------------------------------------------- [ 219s] ----- building osmo-remsim_0.2.3.dsc (user abuild) [ 219s] ----------------------------------------------------------------- [ 219s] ----------------------------------------------------------------- [ 219s] dpkg-buildpackage: info: source package osmo-remsim [ 219s] dpkg-buildpackage: info: source version 0.2.3 [ 219s] dpkg-buildpackage: info: source distribution unstable [ 219s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 219s] dpkg-source --before-build . [ 219s] dpkg-buildpackage: info: host architecture i386 [ 219s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 219s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 219s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 219s] ### VM INTERACTION START ### [ 222s] [ 212.368848] sysrq: Power Off [ 222s] [ 212.371655] reboot: Power down [ 222s] ### VM INTERACTION END ### [ 222s] [ 222s] sheep85 failed "build osmo-remsim_0.2.3.dsc" at Thu May 6 09:23:48 UTC 2021. [ 222s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:24:01 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:24:01 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Debian_9.0/i586 In-Reply-To: References: Message-ID: <6093b5bfb6977_6ab22aae945685fc2656732@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Debian_9.0/i586 Package network:osmocom:nightly/osmo-bts failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 198s] texhash: Updating /usr/local/share/texmf/ls-R... [ 198s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 198s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 198s] texhash: Updating /var/lib/texmf/ls-R... [ 198s] texhash: Done. [ 198s] SIOCSIFADDR: File exists [ 199s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.0.56.9e09.202105060026.dsc) [ 199s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 199s] dpkg-source: info: unpacking osmo-bts_1.3.0.56.9e09.202105060026.tar.xz [ 199s] ----------------------------------------------------------------- [ 199s] ----- building osmo-bts_1.3.0.56.9e09.202105060026.dsc (user abuild) [ 199s] ----------------------------------------------------------------- [ 199s] ----------------------------------------------------------------- [ 199s] dpkg-buildpackage: info: source package osmo-bts [ 199s] dpkg-buildpackage: info: source version 1.3.0.56.9e09.202105060026 [ 199s] dpkg-buildpackage: info: source distribution UNRELEASED [ 199s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 199s] dpkg-source --before-build BUILD [ 199s] dpkg-buildpackage: info: host architecture i386 [ 200s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 200s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 200s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 200s] ### VM INTERACTION START ### [ 203s] [ 183.009346] sysrq: Power Off [ 203s] [ 183.029028] reboot: Power down [ 203s] ### VM INTERACTION END ### [ 203s] [ 203s] cloud123 failed "build osmo-bts_1.3.0.56.9e09.202105060026.dsc" at Thu May 6 09:23:44 UTC 2021. [ 203s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:24:01 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:24:01 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in Debian_8.0/i586 In-Reply-To: References: Message-ID: <6093b5c0350cb_6ab22aae945685fc2656880@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/Debian_8.0/i586 Package network:osmocom:nightly/osmo-hlr failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 211s] texhash: Updating /usr/local/share/texmf/ls-R... [ 211s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 211s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 211s] texhash: Updating /var/lib/texmf/ls-R... [ 211s] texhash: Done. [ 211s] SIOCSIFADDR: File exists [ 211s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc) [ 211s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 211s] dpkg-source: info: unpacking osmo-hlr_1.3.0.2.ed2e3.202105060026.tar.xz [ 211s] ----------------------------------------------------------------- [ 211s] ----- building osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc (user abuild) [ 211s] ----------------------------------------------------------------- [ 211s] ----------------------------------------------------------------- [ 211s] dpkg-buildpackage: source package osmo-hlr [ 211s] dpkg-buildpackage: source version 1.3.0.2.ed2e3.202105060026 [ 211s] dpkg-buildpackage: source distribution UNRELEASED [ 211s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 211s] dpkg-source --before-build BUILD [ 211s] dpkg-buildpackage: host architecture i386 [ 212s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 212s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 212s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 212s] ### VM INTERACTION START ### [ 213s] Powering off. [ 213s] [ 193.202039] reboot: Power down [ 213s] ### VM INTERACTION END ### [ 213s] [ 213s] cloud132 failed "build osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc" at Thu May 6 09:23:44 UTC 2021. [ 213s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:24:01 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:24:01 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <6093b5c08f08e_6ab22aae945685fc26569ba@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-bts failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 213s] texhash: Updating /usr/local/share/texmf/ls-R... [ 213s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 213s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 213s] texhash: Updating /var/lib/texmf/ls-R... [ 213s] texhash: Done. [ 214s] SIOCSIFADDR: File exists [ 214s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.0.56.9e09.202105060026.dsc) [ 214s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 214s] dpkg-source: info: unpacking osmo-bts_1.3.0.56.9e09.202105060026.tar.xz [ 214s] ----------------------------------------------------------------- [ 214s] ----- building osmo-bts_1.3.0.56.9e09.202105060026.dsc (user abuild) [ 214s] ----------------------------------------------------------------- [ 214s] ----------------------------------------------------------------- [ 214s] dpkg-buildpackage: info: source package osmo-bts [ 214s] dpkg-buildpackage: info: source version 1.3.0.56.9e09.202105060026 [ 214s] dpkg-buildpackage: info: source distribution UNRELEASED [ 214s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 214s] dpkg-source --before-build . [ 214s] dpkg-buildpackage: info: host architecture amd64 [ 214s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 214s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 214s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 214s] ### VM INTERACTION START ### [ 215s] Powering off. [ 215s] [ 205.036338] reboot: Power down [ 215s] ### VM INTERACTION END ### [ 215s] [ 215s] goat09 failed "build osmo-bts_1.3.0.56.9e09.202105060026.dsc" at Thu May 6 09:23:55 UTC 2021. [ 215s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:24:01 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:24:01 +0000 Subject: Build failure of network:osmocom:latest/osmo-gbproxy in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <6093b5c18d1b_6ab22aae945685fc26571e2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gbproxy/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-gbproxy failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gbproxy Last lines of build log: [ 197s] texhash: Updating /usr/local/share/texmf/ls-R... [ 197s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 197s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 197s] texhash: Updating /var/lib/texmf/ls-R... [ 197s] texhash: Done. [ 197s] SIOCSIFADDR: File exists [ 197s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.1.dsc) [ 197s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 197s] dpkg-source: info: unpacking osmo-gbproxy_0.1.1.tar.xz [ 197s] ----------------------------------------------------------------- [ 197s] ----- building osmo-gbproxy_0.1.1.dsc (user abuild) [ 197s] ----------------------------------------------------------------- [ 197s] ----------------------------------------------------------------- [ 197s] dpkg-buildpackage: info: source package osmo-gbproxy [ 197s] dpkg-buildpackage: info: source version 1:0.1.1 [ 197s] dpkg-buildpackage: info: source distribution unstable [ 197s] dpkg-buildpackage: info: source changed by Harald Welte [ 197s] dpkg-source --before-build . [ 197s] dpkg-buildpackage: info: host architecture amd64 [ 197s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 197s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 197s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 197s] ### VM INTERACTION START ### [ 199s] Powering off. [ 199s] [ 188.869068] reboot: Power down [ 199s] ### VM INTERACTION END ### [ 199s] [ 199s] goat13 failed "build osmo-gbproxy_0.1.1.dsc" at Thu May 6 09:23:47 UTC 2021. [ 199s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:24:18 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:24:18 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <6093b5daa68aa_6ab22aae945685fc26572bc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/xUbuntu_18.04/x86_64 Package network:osmocom:latest/osmo-bts failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 230s] texhash: Updating /usr/local/share/texmf/ls-R... [ 230s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 230s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 230s] texhash: Updating /var/lib/texmf/ls-R... [ 230s] texhash: Done. [ 230s] SIOCSIFADDR: File exists [ 230s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.1.dsc) [ 230s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 230s] dpkg-source: info: unpacking osmo-bts_1.3.1.tar.xz [ 230s] ----------------------------------------------------------------- [ 230s] ----- building osmo-bts_1.3.1.dsc (user abuild) [ 230s] ----------------------------------------------------------------- [ 230s] ----------------------------------------------------------------- [ 231s] dpkg-buildpackage: info: source package osmo-bts [ 231s] dpkg-buildpackage: info: source version 1.3.1 [ 231s] dpkg-buildpackage: info: source distribution unstable [ 231s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 231s] dpkg-source --before-build BUILD [ 231s] dpkg-buildpackage: info: host architecture amd64 [ 231s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 231s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 231s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 231s] ### VM INTERACTION START ### [ 234s] [ 220.170061] sysrq: Power Off [ 234s] [ 220.174889] reboot: Power down [ 234s] ### VM INTERACTION END ### [ 234s] [ 234s] old-cirrus2 failed "build osmo-bts_1.3.1.dsc" at Thu May 6 09:24:02 UTC 2021. [ 234s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:24:35 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:24:35 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in Debian_8.0/i586 In-Reply-To: References: Message-ID: <6093b5dbbfc1_6ab22aae945685fc2657356@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_8.0/i586 Package network:osmocom:nightly/osmo-pcu failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 252s] texhash: Updating /usr/local/share/texmf/ls-R... [ 252s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 252s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 252s] texhash: Updating /var/lib/texmf/ls-R... [ 252s] texhash: Done. [ 252s] SIOCSIFADDR: File exists [ 253s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.82.c6dc.202105060026.dsc) [ 253s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 253s] dpkg-source: info: unpacking osmo-pcu_0.9.0.82.c6dc.202105060026.tar.xz [ 253s] ----------------------------------------------------------------- [ 253s] ----- building osmo-pcu_0.9.0.82.c6dc.202105060026.dsc (user abuild) [ 253s] ----------------------------------------------------------------- [ 253s] ----------------------------------------------------------------- [ 254s] dpkg-buildpackage: source package osmo-pcu [ 254s] dpkg-buildpackage: source version 0.9.0.82.c6dc.202105060026 [ 254s] dpkg-buildpackage: source distribution UNRELEASED [ 254s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 254s] dpkg-source --before-build BUILD [ 254s] dpkg-buildpackage: host architecture i386 [ 254s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 254s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 254s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 254s] ### VM INTERACTION START ### [ 255s] Powering off. [ 255s] [ 230.014850] reboot: Power down [ 256s] ### VM INTERACTION END ### [ 256s] [ 256s] cloud130 failed "build osmo-pcu_0.9.0.82.c6dc.202105060026.dsc" at Thu May 6 09:24:27 UTC 2021. [ 256s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:25:09 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:25:09 +0000 Subject: Build failure of network:osmocom:latest/osmo-gbproxy in xUbuntu_19.04/i586 In-Reply-To: References: Message-ID: <6093b5fa1a1fd_6ab22aae945685fc26574c0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gbproxy/xUbuntu_19.04/i586 Package network:osmocom:latest/osmo-gbproxy failed to build in xUbuntu_19.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-gbproxy Last lines of build log: [ 281s] texhash: Updating /usr/local/share/texmf/ls-R... [ 281s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 281s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 281s] texhash: Updating /var/lib/texmf/ls-R... [ 281s] texhash: Done. [ 281s] SIOCSIFADDR: File exists [ 282s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.1.dsc) [ 282s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 282s] dpkg-source: info: unpacking osmo-gbproxy_0.1.1.tar.xz [ 282s] ----------------------------------------------------------------- [ 282s] ----- building osmo-gbproxy_0.1.1.dsc (user abuild) [ 282s] ----------------------------------------------------------------- [ 282s] ----------------------------------------------------------------- [ 282s] dpkg-buildpackage: info: source package osmo-gbproxy [ 282s] dpkg-buildpackage: info: source version 1:0.1.1 [ 282s] dpkg-buildpackage: info: source distribution unstable [ 282s] dpkg-buildpackage: info: source changed by Harald Welte [ 282s] dpkg-source --before-build . [ 282s] dpkg-buildpackage: info: host architecture i386 [ 282s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 283s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 283s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 283s] ### VM INTERACTION START ### [ 286s] [ 261.464326] sysrq: Power Off [ 286s] [ 261.469234] reboot: Power down [ 286s] ### VM INTERACTION END ### [ 286s] [ 286s] cloud123 failed "build osmo-gbproxy_0.1.1.dsc" at Thu May 6 09:25:01 UTC 2021. [ 286s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:25:26 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:25:26 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in xUbuntu_19.04/i586 In-Reply-To: References: Message-ID: <6093b61980af9_6ab22aae945685fc265757f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/xUbuntu_19.04/i586 Package network:osmocom:latest/osmo-hlr failed to build in xUbuntu_19.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 296s] texhash: Updating /usr/local/share/texmf/ls-R... [ 296s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 296s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 296s] texhash: Updating /var/lib/texmf/ls-R... [ 296s] texhash: Done. [ 297s] SIOCSIFADDR: File exists [ 297s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.dsc) [ 297s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 297s] dpkg-source: info: unpacking osmo-hlr_1.3.0.tar.xz [ 297s] ----------------------------------------------------------------- [ 297s] ----- building osmo-hlr_1.3.0.dsc (user abuild) [ 297s] ----------------------------------------------------------------- [ 297s] ----------------------------------------------------------------- [ 297s] dpkg-buildpackage: info: source package osmo-hlr [ 297s] dpkg-buildpackage: info: source version 1.3.0 [ 297s] dpkg-buildpackage: info: source distribution unstable [ 297s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 297s] dpkg-source --before-build . [ 297s] dpkg-buildpackage: info: host architecture i386 [ 298s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 298s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 298s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 298s] ### VM INTERACTION START ### [ 301s] [ 277.516948] sysrq: Power Off [ 301s] [ 277.520881] reboot: Power down [ 301s] ### VM INTERACTION END ### [ 301s] [ 301s] cloud114 failed "build osmo-hlr_1.3.0.dsc" at Thu May 6 09:25:09 UTC 2021. [ 301s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:25:26 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:25:26 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <6093b619b27f7_6ab22aae945685fc26576bb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-hlr failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 276s] texhash: Updating /usr/local/share/texmf/ls-R... [ 276s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 277s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 277s] texhash: Updating /var/lib/texmf/ls-R... [ 277s] texhash: Done. [ 277s] SIOCSIFADDR: File exists [ 277s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc) [ 277s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 277s] dpkg-source: info: unpacking osmo-hlr_1.3.0.2.ed2e3.202105060026.tar.xz [ 277s] ----------------------------------------------------------------- [ 277s] ----- building osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc (user abuild) [ 277s] ----------------------------------------------------------------- [ 277s] ----------------------------------------------------------------- [ 277s] dpkg-buildpackage: info: source package osmo-hlr [ 277s] dpkg-buildpackage: info: source version 1.3.0.2.ed2e3.202105060026 [ 277s] dpkg-buildpackage: info: source distribution UNRELEASED [ 277s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 277s] dpkg-source --before-build . [ 277s] dpkg-buildpackage: info: host architecture amd64 [ 277s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 277s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 277s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 277s] ### VM INTERACTION START ### [ 278s] Powering off. [ 278s] [ 265.516144] reboot: Power down [ 279s] ### VM INTERACTION END ### [ 279s] [ 279s] sheep81 failed "build osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc" at Thu May 6 09:25:10 UTC 2021. [ 279s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:25:26 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:25:26 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in Debian_9.0/i586 In-Reply-To: References: Message-ID: <6093b61a30e36_6ab22aae945685fc2657754@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/Debian_9.0/i586 Package network:osmocom:latest/osmo-remsim failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 307s] texhash: Updating /usr/local/share/texmf/ls-R... [ 307s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 307s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 307s] texhash: Updating /var/lib/texmf/ls-R... [ 307s] texhash: Done. [ 307s] SIOCSIFADDR: File exists [ 307s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.3.dsc) [ 307s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 307s] dpkg-source: info: unpacking osmo-remsim_0.2.3.tar.gz [ 307s] ----------------------------------------------------------------- [ 307s] ----- building osmo-remsim_0.2.3.dsc (user abuild) [ 307s] ----------------------------------------------------------------- [ 307s] ----------------------------------------------------------------- [ 308s] dpkg-buildpackage: info: source package osmo-remsim [ 308s] dpkg-buildpackage: info: source version 0.2.3 [ 308s] dpkg-buildpackage: info: source distribution unstable [ 308s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 308s] dpkg-source --before-build BUILD [ 308s] dpkg-buildpackage: info: host architecture i386 [ 308s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 308s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 308s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 308s] ### VM INTERACTION START ### [ 312s] [ 236.538544] sysrq: Power Off [ 312s] [ 236.556387] reboot: Power down [ 312s] ### VM INTERACTION END ### [ 312s] [ 312s] cloud108 failed "build osmo-remsim_0.2.3.dsc" at Thu May 6 09:25:15 UTC 2021. [ 312s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:25:43 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:25:43 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6093b61ac03f7_6ab22aae945685fc26579c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/osmo-hlr failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 312s] texhash: Updating /usr/local/share/texmf/ls-R... [ 312s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 313s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 313s] texhash: Updating /var/lib/texmf/ls-R... [ 313s] texhash: Done. [ 313s] SIOCSIFADDR: File exists [ 314s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc) [ 314s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 314s] dpkg-source: info: unpacking osmo-hlr_1.3.0.2.ed2e3.202105060026.tar.xz [ 314s] ----------------------------------------------------------------- [ 314s] ----- building osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc (user abuild) [ 314s] ----------------------------------------------------------------- [ 314s] ----------------------------------------------------------------- [ 317s] dpkg-buildpackage: info: source package osmo-hlr [ 317s] dpkg-buildpackage: info: source version 1.3.0.2.ed2e3.202105060026 [ 317s] dpkg-buildpackage: info: source distribution UNRELEASED [ 317s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 317s] dpkg-source --before-build . [ 317s] dpkg-buildpackage: info: host architecture amd64 [ 317s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 317s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 317s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 317s] ### VM INTERACTION START ### [ 318s] Powering off. [ 318s] [ 302.581985] reboot: Power down [ 319s] ### VM INTERACTION END ### [ 319s] [ 319s] wildcard2 failed "build osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc" at Thu May 6 09:25:26 UTC 2021. [ 319s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:26:00 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:26:00 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <6093b63516671_6ab22aae945685fc26582d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/xUbuntu_19.10/x86_64 Package network:osmocom:latest/osmo-bts failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 353s] texhash: Updating /usr/local/share/texmf/ls-R... [ 353s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 353s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 353s] texhash: Updating /var/lib/texmf/ls-R... [ 353s] texhash: Done. [ 353s] SIOCSIFADDR: File exists [ 353s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.1.dsc) [ 353s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 353s] dpkg-source: info: unpacking osmo-bts_1.3.1.tar.xz [ 353s] ----------------------------------------------------------------- [ 353s] ----- building osmo-bts_1.3.1.dsc (user abuild) [ 353s] ----------------------------------------------------------------- [ 353s] ----------------------------------------------------------------- [ 354s] dpkg-buildpackage: info: source package osmo-bts [ 354s] dpkg-buildpackage: info: source version 1.3.1 [ 354s] dpkg-buildpackage: info: source distribution unstable [ 354s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 354s] dpkg-source --before-build . [ 354s] dpkg-buildpackage: info: host architecture amd64 [ 354s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 354s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 354s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 354s] ### VM INTERACTION START ### [ 357s] [ 344.498379] sysrq: Power Off [ 357s] [ 344.506724] reboot: Power down [ 357s] ### VM INTERACTION END ### [ 357s] [ 357s] lamb24 failed "build osmo-bts_1.3.1.dsc" at Thu May 6 09:25:55 UTC 2021. [ 357s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:26:00 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:26:00 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <6093b6353cc21_6ab22aae945685fc2658320@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/xUbuntu_19.04/x86_64 Package network:osmocom:latest/osmo-hlr failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 344s] texhash: Updating /usr/local/share/texmf/ls-R... [ 344s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 344s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 344s] texhash: Updating /var/lib/texmf/ls-R... [ 344s] texhash: Done. [ 345s] SIOCSIFADDR: File exists [ 345s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.dsc) [ 345s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 345s] dpkg-source: info: unpacking osmo-hlr_1.3.0.tar.xz [ 345s] ----------------------------------------------------------------- [ 345s] ----- building osmo-hlr_1.3.0.dsc (user abuild) [ 345s] ----------------------------------------------------------------- [ 345s] ----------------------------------------------------------------- [ 345s] dpkg-buildpackage: info: source package osmo-hlr [ 345s] dpkg-buildpackage: info: source version 1.3.0 [ 345s] dpkg-buildpackage: info: source distribution unstable [ 345s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 345s] dpkg-source --before-build . [ 345s] dpkg-buildpackage: info: host architecture amd64 [ 345s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 345s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 345s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 345s] ### VM INTERACTION START ### [ 349s] [ 334.665336] sysrq: Power Off [ 349s] [ 334.687885] reboot: Power down [ 349s] ### VM INTERACTION END ### [ 349s] [ 349s] lamb10 failed "build osmo-hlr_1.3.0.dsc" at Thu May 6 09:25:56 UTC 2021. [ 349s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:26:17 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:26:17 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6093b65480d4_6ab22aae945685fc2658493@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/osmo-bts failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 359s] texhash: Updating /usr/local/share/texmf/ls-R... [ 359s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 359s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 359s] texhash: Updating /var/lib/texmf/ls-R... [ 359s] texhash: Done. [ 360s] SIOCSIFADDR: File exists [ 360s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.0.56.9e09.202105060026.dsc) [ 360s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 360s] dpkg-source: info: unpacking osmo-bts_1.3.0.56.9e09.202105060026.tar.xz [ 360s] ----------------------------------------------------------------- [ 360s] ----- building osmo-bts_1.3.0.56.9e09.202105060026.dsc (user abuild) [ 360s] ----------------------------------------------------------------- [ 360s] ----------------------------------------------------------------- [ 360s] dpkg-buildpackage: info: source package osmo-bts [ 360s] dpkg-buildpackage: info: source version 1.3.0.56.9e09.202105060026 [ 360s] dpkg-buildpackage: info: source distribution UNRELEASED [ 360s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 360s] dpkg-source --before-build . [ 360s] dpkg-buildpackage: info: host architecture amd64 [ 360s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 360s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 360s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 360s] ### VM INTERACTION START ### [ 361s] Powering off. [ 361s] [ 344.075571] reboot: Power down [ 362s] ### VM INTERACTION END ### [ 362s] [ 362s] old-cirrus2 failed "build osmo-bts_1.3.0.56.9e09.202105060026.dsc" at Thu May 6 09:26:14 UTC 2021. [ 362s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:26:17 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:26:17 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in Debian_9.0/i586 In-Reply-To: References: Message-ID: <6093b654798b5_6ab22aae945685fc26586c3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/Debian_9.0/i586 Package network:osmocom:latest/osmo-bts failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 348s] texhash: Updating /usr/local/share/texmf/ls-R... [ 348s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 349s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 349s] texhash: Updating /var/lib/texmf/ls-R... [ 349s] texhash: Done. [ 349s] SIOCSIFADDR: File exists [ 349s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.1.dsc) [ 349s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 349s] dpkg-source: info: unpacking osmo-bts_1.3.1.tar.xz [ 349s] ----------------------------------------------------------------- [ 349s] ----- building osmo-bts_1.3.1.dsc (user abuild) [ 349s] ----------------------------------------------------------------- [ 349s] ----------------------------------------------------------------- [ 350s] dpkg-buildpackage: info: source package osmo-bts [ 350s] dpkg-buildpackage: info: source version 1.3.1 [ 350s] dpkg-buildpackage: info: source distribution unstable [ 350s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 350s] dpkg-source --before-build BUILD [ 350s] dpkg-buildpackage: info: host architecture i386 [ 350s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 350s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 350s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 350s] ### VM INTERACTION START ### [ 354s] [ 334.498834] sysrq: Power Off [ 354s] [ 334.535756] reboot: Power down [ 354s] ### VM INTERACTION END ### [ 354s] [ 354s] lamb62 failed "build osmo-bts_1.3.1.dsc" at Thu May 6 09:26:02 UTC 2021. [ 354s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:26:17 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:26:17 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <6093b654d49f5_6ab22aae945685fc265873c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/xUbuntu_19.04/x86_64 Package network:osmocom:latest/osmo-bts failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 349s] texhash: Updating /usr/local/share/texmf/ls-R... [ 349s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 349s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 349s] texhash: Updating /var/lib/texmf/ls-R... [ 349s] texhash: Done. [ 349s] SIOCSIFADDR: File exists [ 349s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.1.dsc) [ 349s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 349s] dpkg-source: info: unpacking osmo-bts_1.3.1.tar.xz [ 349s] ----------------------------------------------------------------- [ 349s] ----- building osmo-bts_1.3.1.dsc (user abuild) [ 349s] ----------------------------------------------------------------- [ 349s] ----------------------------------------------------------------- [ 350s] dpkg-buildpackage: info: source package osmo-bts [ 350s] dpkg-buildpackage: info: source version 1.3.1 [ 350s] dpkg-buildpackage: info: source distribution unstable [ 350s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 350s] dpkg-source --before-build . [ 350s] dpkg-buildpackage: info: host architecture amd64 [ 350s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 350s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 350s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 350s] ### VM INTERACTION START ### [ 353s] [ 339.529807] sysrq: Power Off [ 353s] [ 339.536556] reboot: Power down [ 353s] ### VM INTERACTION END ### [ 353s] [ 353s] lamb28 failed "build osmo-bts_1.3.1.dsc" at Thu May 6 09:26:05 UTC 2021. [ 353s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:26:34 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:26:34 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6093b655a9131_6ab22aae945685fc26590e5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/xUbuntu_20.10/x86_64 Package network:osmocom:latest/osmo-pcu failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 363s] texhash: Updating /usr/local/share/texmf/ls-R... [ 363s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 363s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 363s] texhash: Updating /var/lib/texmf/ls-R... [ 363s] texhash: Done. [ 363s] SIOCSIFADDR: File exists [ 363s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.dsc) [ 363s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 363s] dpkg-source: info: unpacking osmo-pcu_0.9.0.tar.xz [ 364s] ----------------------------------------------------------------- [ 364s] ----- building osmo-pcu_0.9.0.dsc (user abuild) [ 364s] ----------------------------------------------------------------- [ 364s] ----------------------------------------------------------------- [ 364s] dpkg-buildpackage: info: source package osmo-pcu [ 364s] dpkg-buildpackage: info: source version 0.9.0 [ 364s] dpkg-buildpackage: info: source distribution unstable [ 364s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 364s] dpkg-source --before-build . [ 364s] dpkg-buildpackage: info: host architecture amd64 [ 364s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 364s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 364s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 364s] ### VM INTERACTION START ### [ 365s] Powering off. [ 365s] [ 347.462927] reboot: Power down [ 365s] ### VM INTERACTION END ### [ 365s] [ 365s] lamb66 failed "build osmo-pcu_0.9.0.dsc" at Thu May 6 09:26:17 UTC 2021. [ 365s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:26:34 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:26:34 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <6093b65538220_6ab22aae945685fc2658823@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/xUbuntu_19.10/x86_64 Package network:osmocom:latest/osmo-hlr failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 367s] texhash: Updating /usr/local/share/texmf/ls-R... [ 367s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 368s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 368s] texhash: Updating /var/lib/texmf/ls-R... [ 368s] texhash: Done. [ 368s] SIOCSIFADDR: File exists [ 368s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.dsc) [ 368s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 368s] dpkg-source: info: unpacking osmo-hlr_1.3.0.tar.xz [ 368s] ----------------------------------------------------------------- [ 368s] ----- building osmo-hlr_1.3.0.dsc (user abuild) [ 368s] ----------------------------------------------------------------- [ 368s] ----------------------------------------------------------------- [ 368s] dpkg-buildpackage: info: source package osmo-hlr [ 368s] dpkg-buildpackage: info: source version 1.3.0 [ 368s] dpkg-buildpackage: info: source distribution unstable [ 368s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 368s] dpkg-source --before-build . [ 368s] dpkg-buildpackage: info: host architecture amd64 [ 368s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 368s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 368s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 368s] ### VM INTERACTION START ### [ 372s] [ 357.926291] sysrq: Power Off [ 372s] [ 357.945859] reboot: Power down [ 372s] ### VM INTERACTION END ### [ 372s] [ 372s] lamb28 failed "build osmo-hlr_1.3.0.dsc" at Thu May 6 09:26:24 UTC 2021. [ 372s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:26:34 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:26:34 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in Debian_8.0/i586 In-Reply-To: References: Message-ID: <6093b65624e31_6ab22aae945685fc2659113@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/Debian_8.0/i586 Package network:osmocom:latest/osmo-pcu failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 142s] texhash: Updating /usr/local/share/texmf/ls-R... [ 142s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 142s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 142s] texhash: Updating /var/lib/texmf/ls-R... [ 142s] texhash: Done. [ 142s] SIOCSIFADDR: File exists [ 142s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.dsc) [ 142s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 142s] dpkg-source: info: unpacking osmo-pcu_0.9.0.tar.xz [ 142s] ----------------------------------------------------------------- [ 142s] ----- building osmo-pcu_0.9.0.dsc (user abuild) [ 142s] ----------------------------------------------------------------- [ 142s] ----------------------------------------------------------------- [ 143s] dpkg-buildpackage: source package osmo-pcu [ 143s] dpkg-buildpackage: source version 0.9.0 [ 143s] dpkg-buildpackage: source distribution unstable [ 143s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 143s] dpkg-source --before-build BUILD [ 143s] dpkg-buildpackage: host architecture i386 [ 143s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 143s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 143s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 143s] ### VM INTERACTION START ### [ 144s] Powering off. [ 144s] [ 134.559949] reboot: Power down [ 144s] ### VM INTERACTION END ### [ 144s] [ 144s] lamb64 failed "build osmo-pcu_0.9.0.dsc" at Thu May 6 09:26:21 UTC 2021. [ 144s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:26:34 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:26:34 +0000 Subject: Build failure of network:osmocom:latest/osmo-gbproxy in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <6093b6556205e_6ab22aae945685fc26589ed@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gbproxy/xUbuntu_18.04/i586 Package network:osmocom:latest/osmo-gbproxy failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-gbproxy Last lines of build log: [ 382s] texhash: Updating /usr/local/share/texmf/ls-R... [ 382s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 382s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 382s] texhash: Updating /var/lib/texmf/ls-R... [ 382s] texhash: Done. [ 382s] SIOCSIFADDR: File exists [ 383s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.1.dsc) [ 383s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 383s] dpkg-source: info: unpacking osmo-gbproxy_0.1.1.tar.xz [ 383s] ----------------------------------------------------------------- [ 383s] ----- building osmo-gbproxy_0.1.1.dsc (user abuild) [ 383s] ----------------------------------------------------------------- [ 383s] ----------------------------------------------------------------- [ 383s] dpkg-buildpackage: info: source package osmo-gbproxy [ 383s] dpkg-buildpackage: info: source version 1:0.1.1 [ 383s] dpkg-buildpackage: info: source distribution unstable [ 383s] dpkg-buildpackage: info: source changed by Harald Welte [ 383s] dpkg-source --before-build BUILD [ 383s] dpkg-buildpackage: info: host architecture i386 [ 383s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 384s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 384s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 384s] ### VM INTERACTION START ### [ 387s] [ 365.808721] sysrq: Power Off [ 387s] [ 365.813736] reboot: Power down [ 387s] ### VM INTERACTION END ### [ 387s] [ 387s] cloud113 failed "build osmo-gbproxy_0.1.1.dsc" at Thu May 6 09:26:33 UTC 2021. [ 387s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:26:34 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:26:34 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gbproxy in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6093b656678e2_6ab22aae945685fc26592ed@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gbproxy/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/osmo-gbproxy failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gbproxy Last lines of build log: [ 382s] texhash: Updating /usr/local/share/texmf/ls-R... [ 382s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 382s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 382s] texhash: Updating /var/lib/texmf/ls-R... [ 382s] texhash: Done. [ 382s] SIOCSIFADDR: File exists [ 382s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc) [ 382s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 382s] dpkg-source: info: unpacking osmo-gbproxy_0.1.0.18.a4560.202105060026.tar.xz [ 382s] ----------------------------------------------------------------- [ 382s] ----- building osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc (user abuild) [ 382s] ----------------------------------------------------------------- [ 382s] ----------------------------------------------------------------- [ 382s] dpkg-buildpackage: info: source package osmo-gbproxy [ 382s] dpkg-buildpackage: info: source version 1:0.1.0.18.a4560.202105060026 [ 382s] dpkg-buildpackage: info: source distribution UNRELEASED [ 382s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 382s] dpkg-source --before-build . [ 382s] dpkg-buildpackage: info: host architecture amd64 [ 383s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 383s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 383s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 383s] ### VM INTERACTION START ### [ 384s] Powering off. [ 384s] [ 366.668340] reboot: Power down [ 384s] ### VM INTERACTION END ### [ 384s] [ 384s] lamb19 failed "build osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc" at Thu May 6 09:26:31 UTC 2021. [ 384s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:26:51 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:26:51 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gbproxy in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <6093b674af5e2_6ab22aae945685fc26593ab@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gbproxy/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-gbproxy failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gbproxy Last lines of build log: [ 369s] texhash: Updating /usr/local/share/texmf/ls-R... [ 369s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 369s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 369s] texhash: Updating /var/lib/texmf/ls-R... [ 369s] texhash: Done. [ 369s] SIOCSIFADDR: File exists [ 370s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc) [ 370s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 370s] dpkg-source: info: unpacking osmo-gbproxy_0.1.0.18.a4560.202105060026.tar.xz [ 370s] ----------------------------------------------------------------- [ 370s] ----- building osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc (user abuild) [ 370s] ----------------------------------------------------------------- [ 370s] ----------------------------------------------------------------- [ 370s] dpkg-buildpackage: info: source package osmo-gbproxy [ 370s] dpkg-buildpackage: info: source version 1:0.1.0.18.a4560.202105060026 [ 370s] dpkg-buildpackage: info: source distribution UNRELEASED [ 370s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 370s] dpkg-source --before-build . [ 370s] dpkg-buildpackage: info: host architecture amd64 [ 370s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 370s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 370s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 370s] ### VM INTERACTION START ### [ 372s] Powering off. [ 372s] [ 354.343580] reboot: Power down [ 372s] ### VM INTERACTION END ### [ 372s] [ 372s] lamb13 failed "build osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc" at Thu May 6 09:26:42 UTC 2021. [ 372s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:27:08 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:27:08 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Debian_8.0/i586 In-Reply-To: References: Message-ID: <6093b67653f28_6ab22aae945685fc265968b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Debian_8.0/i586 Package network:osmocom:nightly/osmo-sgsn failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 158s] texhash: Updating /usr/local/share/texmf/ls-R... [ 158s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 158s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 158s] texhash: Updating /var/lib/texmf/ls-R... [ 158s] texhash: Done. [ 158s] SIOCSIFADDR: File exists [ 158s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sgsn_1.7.0.15.8880.202105060026.dsc) [ 158s] dpkg-source: info: extracting osmo-sgsn in /usr/src/packages/BUILD [ 158s] dpkg-source: info: unpacking osmo-sgsn_1.7.0.15.8880.202105060026.tar.xz [ 158s] ----------------------------------------------------------------- [ 158s] ----- building osmo-sgsn_1.7.0.15.8880.202105060026.dsc (user abuild) [ 158s] ----------------------------------------------------------------- [ 158s] ----------------------------------------------------------------- [ 159s] dpkg-buildpackage: source package osmo-sgsn [ 159s] dpkg-buildpackage: source version 1.7.0.15.8880.202105060026 [ 159s] dpkg-buildpackage: source distribution UNRELEASED [ 159s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 159s] dpkg-source --before-build BUILD [ 159s] dpkg-buildpackage: host architecture i386 [ 159s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 159s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 159s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 159s] ### VM INTERACTION START ### [ 160s] Powering off. [ 160s] [ 149.392909] reboot: Power down [ 161s] ### VM INTERACTION END ### [ 161s] [ 161s] lamb23 failed "build osmo-sgsn_1.7.0.15.8880.202105060026.dsc" at Thu May 6 09:27:07 UTC 2021. [ 161s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:27:08 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:27:08 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6093b6767ff4d_6ab22aae945685fc265975f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/xUbuntu_20.10/x86_64 Package network:osmocom:latest/osmo-bts failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 361s] texhash: Updating /usr/local/share/texmf/ls-R... [ 361s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 361s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 361s] texhash: Updating /var/lib/texmf/ls-R... [ 361s] texhash: Done. [ 361s] SIOCSIFADDR: File exists [ 361s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.1.dsc) [ 361s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 361s] dpkg-source: info: unpacking osmo-bts_1.3.1.tar.xz [ 361s] ----------------------------------------------------------------- [ 361s] ----- building osmo-bts_1.3.1.dsc (user abuild) [ 361s] ----------------------------------------------------------------- [ 361s] ----------------------------------------------------------------- [ 361s] dpkg-buildpackage: info: source package osmo-bts [ 361s] dpkg-buildpackage: info: source version 1.3.1 [ 361s] dpkg-buildpackage: info: source distribution unstable [ 361s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 361s] dpkg-source --before-build . [ 361s] dpkg-buildpackage: info: host architecture amd64 [ 362s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 362s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 362s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 362s] ### VM INTERACTION START ### [ 363s] Powering off. [ 363s] [ 346.547508] reboot: Power down [ 363s] ### VM INTERACTION END ### [ 363s] [ 363s] lamb72 failed "build osmo-bts_1.3.1.dsc" at Thu May 6 09:26:52 UTC 2021. [ 363s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:27:08 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:27:08 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in Debian_8.0/i586 In-Reply-To: References: Message-ID: <6093b675d8329_6ab22aae945685fc26595d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/Debian_8.0/i586 Package network:osmocom:latest/osmo-bts failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 153s] texhash: Updating /usr/local/share/texmf/ls-R... [ 153s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 153s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 153s] texhash: Updating /var/lib/texmf/ls-R... [ 153s] texhash: Done. [ 153s] SIOCSIFADDR: File exists [ 153s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.1.dsc) [ 153s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 153s] dpkg-source: info: unpacking osmo-bts_1.3.1.tar.xz [ 154s] ----------------------------------------------------------------- [ 154s] ----- building osmo-bts_1.3.1.dsc (user abuild) [ 154s] ----------------------------------------------------------------- [ 154s] ----------------------------------------------------------------- [ 154s] dpkg-buildpackage: source package osmo-bts [ 154s] dpkg-buildpackage: source version 1.3.1 [ 154s] dpkg-buildpackage: source distribution unstable [ 154s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 154s] dpkg-source --before-build BUILD [ 154s] dpkg-buildpackage: host architecture i386 [ 155s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 155s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 155s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 155s] ### VM INTERACTION START ### [ 156s] Powering off. [ 156s] [ 145.840041] reboot: Power down [ 156s] ### VM INTERACTION END ### [ 156s] [ 156s] lamb16 failed "build osmo-bts_1.3.1.dsc" at Thu May 6 09:27:04 UTC 2021. [ 156s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:27:25 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:27:25 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <6093b68fd5299_6ab22aae945685fc265982e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 384s] texhash: Updating /usr/local/share/texmf/ls-R... [ 384s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 384s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 384s] texhash: Updating /var/lib/texmf/ls-R... [ 384s] texhash: Done. [ 384s] SIOCSIFADDR: File exists [ 384s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.2.107.a06d.202105060026.dsc) [ 384s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 384s] dpkg-source: info: unpacking osmo-remsim_0.2.2.107.a06d.202105060026.tar.gz [ 384s] ----------------------------------------------------------------- [ 384s] ----- building osmo-remsim_0.2.2.107.a06d.202105060026.dsc (user abuild) [ 384s] ----------------------------------------------------------------- [ 384s] ----------------------------------------------------------------- [ 385s] dpkg-buildpackage: info: source package osmo-remsim [ 385s] dpkg-buildpackage: info: source version 0.2.2.107.a06d.202105060026 [ 385s] dpkg-buildpackage: info: source distribution UNRELEASED [ 385s] dpkg-buildpackage: info: source changed by Harald Welte [ 385s] dpkg-source --before-build . [ 385s] dpkg-buildpackage: info: host architecture amd64 [ 385s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 385s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 385s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 385s] ### VM INTERACTION START ### [ 386s] Powering off. [ 386s] [ 368.695922] reboot: Power down [ 386s] ### VM INTERACTION END ### [ 386s] [ 386s] lamb70 failed "build osmo-remsim_0.2.2.107.a06d.202105060026.dsc" at Thu May 6 09:27:10 UTC 2021. [ 386s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:27:42 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:27:42 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Debian_9.0/i586 In-Reply-To: References: Message-ID: <6093b6908d832_6ab22aae945685fc26599d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Debian_9.0/i586 Package network:osmocom:nightly/osmo-sgsn failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 176s] texhash: Updating /usr/local/share/texmf/ls-R... [ 176s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 176s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 176s] texhash: Updating /var/lib/texmf/ls-R... [ 176s] texhash: Done. [ 176s] SIOCSIFADDR: File exists [ 177s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sgsn_1.7.0.15.8880.202105060026.dsc) [ 177s] dpkg-source: info: extracting osmo-sgsn in /usr/src/packages/BUILD [ 177s] dpkg-source: info: unpacking osmo-sgsn_1.7.0.15.8880.202105060026.tar.xz [ 177s] ----------------------------------------------------------------- [ 177s] ----- building osmo-sgsn_1.7.0.15.8880.202105060026.dsc (user abuild) [ 177s] ----------------------------------------------------------------- [ 177s] ----------------------------------------------------------------- [ 177s] dpkg-buildpackage: info: source package osmo-sgsn [ 177s] dpkg-buildpackage: info: source version 1.7.0.15.8880.202105060026 [ 177s] dpkg-buildpackage: info: source distribution UNRELEASED [ 177s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 177s] dpkg-source --before-build BUILD [ 177s] dpkg-buildpackage: info: host architecture i386 [ 177s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 177s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 177s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 177s] ### VM INTERACTION START ### [ 180s] [ 169.024471] sysrq: Power Off [ 181s] [ 169.031382] reboot: Power down [ 181s] ### VM INTERACTION END ### [ 181s] [ 181s] lamb64 failed "build osmo-sgsn_1.7.0.15.8880.202105060026.dsc" at Thu May 6 09:27:30 UTC 2021. [ 181s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:27:59 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:27:59 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6093b6af5a214_6ab22aae945685fc2660028@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/xUbuntu_20.04/x86_64 Package network:osmocom:latest/osmo-hlr failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 443s] texhash: Updating /usr/local/share/texmf/ls-R... [ 443s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 443s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 443s] texhash: Updating /var/lib/texmf/ls-R... [ 443s] texhash: Done. [ 443s] SIOCSIFADDR: File exists [ 443s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.dsc) [ 443s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 443s] dpkg-source: info: unpacking osmo-hlr_1.3.0.tar.xz [ 443s] ----------------------------------------------------------------- [ 443s] ----- building osmo-hlr_1.3.0.dsc (user abuild) [ 443s] ----------------------------------------------------------------- [ 443s] ----------------------------------------------------------------- [ 444s] dpkg-buildpackage: info: source package osmo-hlr [ 444s] dpkg-buildpackage: info: source version 1.3.0 [ 444s] dpkg-buildpackage: info: source distribution unstable [ 444s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 444s] dpkg-source --before-build . [ 444s] dpkg-buildpackage: info: host architecture amd64 [ 444s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 444s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 444s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 444s] ### VM INTERACTION START ### [ 447s] [ 427.006376] sysrq: Power Off [ 447s] [ 427.035435] reboot: Power down [ 447s] ### VM INTERACTION END ### [ 447s] [ 447s] lamb25 failed "build osmo-hlr_1.3.0.dsc" at Thu May 6 09:27:42 UTC 2021. [ 447s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:27:59 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:27:59 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6093b6af93868_6ab22aae945685fc26601f5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/xUbuntu_20.04/x86_64 Package network:osmocom:latest/osmo-pcu failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 443s] texhash: Updating /usr/local/share/texmf/ls-R... [ 443s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 443s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 443s] texhash: Updating /var/lib/texmf/ls-R... [ 443s] texhash: Done. [ 443s] SIOCSIFADDR: File exists [ 443s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.dsc) [ 443s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 443s] dpkg-source: info: unpacking osmo-pcu_0.9.0.tar.xz [ 443s] ----------------------------------------------------------------- [ 443s] ----- building osmo-pcu_0.9.0.dsc (user abuild) [ 443s] ----------------------------------------------------------------- [ 443s] ----------------------------------------------------------------- [ 444s] dpkg-buildpackage: info: source package osmo-pcu [ 444s] dpkg-buildpackage: info: source version 0.9.0 [ 444s] dpkg-buildpackage: info: source distribution unstable [ 444s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 444s] dpkg-source --before-build . [ 444s] dpkg-buildpackage: info: host architecture amd64 [ 444s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 444s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 444s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 444s] ### VM INTERACTION START ### [ 447s] [ 428.099660] sysrq: Power Off [ 447s] [ 428.110535] reboot: Power down [ 447s] ### VM INTERACTION END ### [ 447s] [ 447s] lamb25 failed "build osmo-pcu_0.9.0.dsc" at Thu May 6 09:27:44 UTC 2021. [ 447s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:27:59 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:27:59 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sip-connector in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6093b6afe96e2_6ab22aae945685fc26602cd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sip-connector/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/osmo-sip-connector failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sip-connector Last lines of build log: [ 448s] texhash: Updating /usr/local/share/texmf/ls-R... [ 448s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 448s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 449s] texhash: Updating /var/lib/texmf/ls-R... [ 449s] texhash: Done. [ 449s] SIOCSIFADDR: File exists [ 449s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.202105060026.dsc) [ 449s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 449s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.202105060026.tar.xz [ 449s] ----------------------------------------------------------------- [ 449s] ----- building osmo-sip-connector_1.5.0.202105060026.dsc (user abuild) [ 449s] ----------------------------------------------------------------- [ 449s] ----------------------------------------------------------------- [ 449s] dpkg-buildpackage: info: source package osmo-sip-connector [ 449s] dpkg-buildpackage: info: source version 1.5.0.202105060026 [ 449s] dpkg-buildpackage: info: source distribution UNRELEASED [ 449s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 449s] dpkg-source --before-build . [ 449s] dpkg-buildpackage: info: host architecture amd64 [ 450s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 450s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 450s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 450s] ### VM INTERACTION START ### [ 451s] Powering off. [ 451s] [ 432.375807] reboot: Power down [ 451s] ### VM INTERACTION END ### [ 451s] [ 451s] lamb52 failed "build osmo-sip-connector_1.5.0.202105060026.dsc" at Thu May 6 09:27:47 UTC 2021. [ 451s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:28:33 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:28:33 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6093b6cf1cda2_6ab22aae945685fc266045f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/xUbuntu_20.10/x86_64 Package network:osmocom:latest/osmo-remsim failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 502s] texhash: Updating /usr/local/share/texmf/ls-R... [ 502s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 503s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 503s] texhash: Updating /var/lib/texmf/ls-R... [ 503s] texhash: Done. [ 503s] SIOCSIFADDR: File exists [ 503s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.3.dsc) [ 503s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 503s] dpkg-source: info: unpacking osmo-remsim_0.2.3.tar.gz [ 503s] ----------------------------------------------------------------- [ 503s] ----- building osmo-remsim_0.2.3.dsc (user abuild) [ 503s] ----------------------------------------------------------------- [ 503s] ----------------------------------------------------------------- [ 504s] dpkg-buildpackage: info: source package osmo-remsim [ 504s] dpkg-buildpackage: info: source version 0.2.3 [ 504s] dpkg-buildpackage: info: source distribution unstable [ 504s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 504s] dpkg-source --before-build . [ 504s] dpkg-buildpackage: info: host architecture amd64 [ 504s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 504s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 504s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 504s] ### VM INTERACTION START ### [ 505s] Powering off. [ 505s] [ 450.106039] reboot: Power down [ 506s] ### VM INTERACTION END ### [ 506s] [ 506s] cloud119 failed "build osmo-remsim_0.2.3.dsc" at Thu May 6 09:28:20 UTC 2021. [ 506s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:28:33 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:28:33 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <6093b6cf6d5dc_6ab22aae945685fc26605d4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/Debian_9.0/aarch64 Package network:osmocom:latest/osmo-hlr failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 285s] texhash: Updating /usr/local/share/texmf/ls-R... [ 285s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 286s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 286s] texhash: Updating /var/lib/texmf/ls-R... [ 286s] texhash: Done. [ 286s] SIOCSIFADDR: File exists [ 286s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.dsc) [ 286s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 286s] dpkg-source: info: unpacking osmo-hlr_1.3.0.tar.xz [ 286s] ----------------------------------------------------------------- [ 286s] ----- building osmo-hlr_1.3.0.dsc (user abuild) [ 286s] ----------------------------------------------------------------- [ 286s] ----------------------------------------------------------------- [ 287s] dpkg-buildpackage: info: source package osmo-hlr [ 287s] dpkg-buildpackage: info: source version 1.3.0 [ 287s] dpkg-buildpackage: info: source distribution unstable [ 287s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 287s] dpkg-source --before-build BUILD [ 287s] dpkg-buildpackage: info: host architecture arm64 [ 287s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 287s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 287s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 287s] ### VM INTERACTION START ### [ 290s] [ 271.292973] sysrq: Power Off [ 290s] [ 271.294547] reboot: Power down [ 291s] ### VM INTERACTION END ### [ 291s] [ 291s] obs-arm-9 failed "build osmo-hlr_1.3.0.dsc" at Thu May 6 09:28:32 UTC 2021. [ 291s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:28:33 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:28:33 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <6093b6cf9e0cc_6ab22aae945685fc2660637@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/xUbuntu_18.04/i586 Package network:osmocom:latest/osmo-bts failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 493s] texhash: Updating /usr/local/share/texmf/ls-R... [ 493s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 493s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 493s] texhash: Updating /var/lib/texmf/ls-R... [ 493s] texhash: Done. [ 493s] SIOCSIFADDR: File exists [ 494s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.1.dsc) [ 494s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 494s] dpkg-source: info: unpacking osmo-bts_1.3.1.tar.xz [ 494s] ----------------------------------------------------------------- [ 494s] ----- building osmo-bts_1.3.1.dsc (user abuild) [ 494s] ----------------------------------------------------------------- [ 494s] ----------------------------------------------------------------- [ 494s] dpkg-buildpackage: info: source package osmo-bts [ 494s] dpkg-buildpackage: info: source version 1.3.1 [ 494s] dpkg-buildpackage: info: source distribution unstable [ 494s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 494s] dpkg-source --before-build BUILD [ 494s] dpkg-buildpackage: info: host architecture i386 [ 495s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 495s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 495s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 495s] ### VM INTERACTION START ### [ 498s] [ 450.547995] sysrq: Power Off [ 498s] [ 450.580503] reboot: Power down [ 498s] ### VM INTERACTION END ### [ 498s] [ 498s] lamb03 failed "build osmo-bts_1.3.1.dsc" at Thu May 6 09:28:21 UTC 2021. [ 498s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:29:24 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:29:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sip-connector in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <6093b7087b680_6ab22aae945685fc26608b0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sip-connector/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-sip-connector failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sip-connector Last lines of build log: [ 522s] texhash: Updating /usr/local/share/texmf/ls-R... [ 522s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 523s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 523s] texhash: Updating /var/lib/texmf/ls-R... [ 523s] texhash: Done. [ 523s] SIOCSIFADDR: File exists [ 523s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.202105060026.dsc) [ 523s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 523s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.202105060026.tar.xz [ 523s] ----------------------------------------------------------------- [ 523s] ----- building osmo-sip-connector_1.5.0.202105060026.dsc (user abuild) [ 523s] ----------------------------------------------------------------- [ 523s] ----------------------------------------------------------------- [ 524s] dpkg-buildpackage: info: source package osmo-sip-connector [ 524s] dpkg-buildpackage: info: source version 1.5.0.202105060026 [ 524s] dpkg-buildpackage: info: source distribution UNRELEASED [ 524s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 524s] dpkg-source --before-build . [ 524s] dpkg-buildpackage: info: host architecture amd64 [ 524s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 524s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 524s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 524s] ### VM INTERACTION START ### [ 525s] Powering off. [ 525s] [ 495.453905] reboot: Power down [ 526s] ### VM INTERACTION END ### [ 526s] [ 526s] cloud126 failed "build osmo-sip-connector_1.5.0.202105060026.dsc" at Thu May 6 09:29:14 UTC 2021. [ 526s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:29:24 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:29:24 +0000 Subject: Build failure of network:osmocom:latest/osmo-gbproxy in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6093b708c7e86_6ab22aae945685fc26609c1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gbproxy/xUbuntu_20.10/x86_64 Package network:osmocom:latest/osmo-gbproxy failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gbproxy Last lines of build log: [ 557s] texhash: Updating /usr/local/share/texmf/ls-R... [ 557s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 557s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 557s] texhash: Updating /var/lib/texmf/ls-R... [ 557s] texhash: Done. [ 557s] SIOCSIFADDR: File exists [ 558s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.1.dsc) [ 558s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 558s] dpkg-source: info: unpacking osmo-gbproxy_0.1.1.tar.xz [ 558s] ----------------------------------------------------------------- [ 558s] ----- building osmo-gbproxy_0.1.1.dsc (user abuild) [ 558s] ----------------------------------------------------------------- [ 558s] ----------------------------------------------------------------- [ 558s] dpkg-buildpackage: info: source package osmo-gbproxy [ 559s] dpkg-buildpackage: info: source version 1:0.1.1 [ 559s] dpkg-buildpackage: info: source distribution unstable [ 559s] dpkg-buildpackage: info: source changed by Harald Welte [ 559s] dpkg-source --before-build . [ 559s] dpkg-buildpackage: info: host architecture amd64 [ 559s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 559s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 559s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 559s] ### VM INTERACTION START ### [ 560s] Powering off. [ 560s] [ 523.361185] reboot: Power down [ 560s] ### VM INTERACTION END ### [ 560s] [ 560s] cloud130 failed "build osmo-gbproxy_0.1.1.dsc" at Thu May 6 09:29:16 UTC 2021. [ 560s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:29:41 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:29:41 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <6093b7098404d_6ab22aae945685fc26610ed@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-pcu failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 527s] texhash: Updating /usr/local/share/texmf/ls-R... [ 527s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 527s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 527s] texhash: Updating /var/lib/texmf/ls-R... [ 527s] texhash: Done. [ 528s] SIOCSIFADDR: File exists [ 528s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.82.c6dc.202105060026.dsc) [ 528s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 528s] dpkg-source: info: unpacking osmo-pcu_0.9.0.82.c6dc.202105060026.tar.xz [ 528s] ----------------------------------------------------------------- [ 528s] ----- building osmo-pcu_0.9.0.82.c6dc.202105060026.dsc (user abuild) [ 528s] ----------------------------------------------------------------- [ 528s] ----------------------------------------------------------------- [ 529s] dpkg-buildpackage: info: source package osmo-pcu [ 529s] dpkg-buildpackage: info: source version 0.9.0.82.c6dc.202105060026 [ 529s] dpkg-buildpackage: info: source distribution UNRELEASED [ 529s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 529s] dpkg-source --before-build . [ 529s] dpkg-buildpackage: info: host architecture amd64 [ 529s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 529s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 529s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 529s] ### VM INTERACTION START ### [ 530s] Powering off. [ 530s] [ 487.011459] reboot: Power down [ 530s] ### VM INTERACTION END ### [ 530s] [ 530s] cloud108 failed "build osmo-pcu_0.9.0.82.c6dc.202105060026.dsc" at Thu May 6 09:29:25 UTC 2021. [ 530s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:29:58 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:29:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <6093b728a071e_6ab22aae945685fc2661249@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/osmo-hlr failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 141s] texhash: Updating /usr/local/share/texmf/ls-R... [ 141s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 141s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 141s] texhash: Updating /var/lib/texmf/ls-R... [ 141s] texhash: Done. [ 141s] SIOCSIFADDR: File exists [ 141s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc) [ 141s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 141s] dpkg-source: info: unpacking osmo-hlr_1.3.0.2.ed2e3.202105060026.tar.xz [ 142s] ----------------------------------------------------------------- [ 142s] ----- building osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc (user abuild) [ 142s] ----------------------------------------------------------------- [ 142s] ----------------------------------------------------------------- [ 142s] dpkg-buildpackage: info: source package osmo-hlr [ 142s] dpkg-buildpackage: info: source version 1.3.0.2.ed2e3.202105060026 [ 142s] dpkg-buildpackage: info: source distribution UNRELEASED [ 142s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 142s] dpkg-source --before-build . [ 142s] dpkg-buildpackage: info: host architecture amd64 [ 142s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 142s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 142s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 142s] ### VM INTERACTION START ### [ 145s] [ 137.331550] sysrq: Power Off [ 145s] [ 137.335241] reboot: Power down [ 145s] ### VM INTERACTION END ### [ 145s] [ 145s] goat09 failed "build osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc" at Thu May 6 09:29:43 UTC 2021. [ 145s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:30:15 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:30:15 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <6093b72a473ca_6ab22aae945685fc2661586@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/Debian_8.0/x86_64 Package network:osmocom:latest/osmo-hlr failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 182s] texhash: Updating /usr/local/share/texmf/ls-R... [ 182s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 182s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 182s] texhash: Updating /var/lib/texmf/ls-R... [ 182s] texhash: Done. [ 182s] SIOCSIFADDR: File exists [ 182s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.dsc) [ 182s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 182s] dpkg-source: info: unpacking osmo-hlr_1.3.0.tar.xz [ 182s] ----------------------------------------------------------------- [ 182s] ----- building osmo-hlr_1.3.0.dsc (user abuild) [ 182s] ----------------------------------------------------------------- [ 182s] ----------------------------------------------------------------- [ 183s] dpkg-buildpackage: source package osmo-hlr [ 183s] dpkg-buildpackage: source version 1.3.0 [ 183s] dpkg-buildpackage: source distribution unstable [ 183s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 183s] dpkg-source --before-build BUILD [ 183s] dpkg-buildpackage: host architecture amd64 [ 183s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 183s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 183s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 183s] ### VM INTERACTION START ### [ 184s] Powering off. [ 184s] [ 166.751266] reboot: Power down [ 184s] ### VM INTERACTION END ### [ 184s] [ 184s] old-atreju3 failed "build osmo-hlr_1.3.0.dsc" at Thu May 6 09:30:11 UTC 2021. [ 184s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:31:06 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:31:06 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <6093b7631c47d_6ab22aae945685fc2661784@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-hlr failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:31:06 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:31:06 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <6093b76358394_6ab22aae945685fc266185d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/Debian_9.0/x86_64 Package network:osmocom:latest/osmo-hlr failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 212s] texhash: Updating /usr/local/share/texmf/ls-R... [ 212s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 212s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 212s] texhash: Updating /var/lib/texmf/ls-R... [ 212s] texhash: Done. [ 212s] SIOCSIFADDR: File exists [ 212s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.dsc) [ 212s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 212s] dpkg-source: info: unpacking osmo-hlr_1.3.0.tar.xz [ 213s] ----------------------------------------------------------------- [ 213s] ----- building osmo-hlr_1.3.0.dsc (user abuild) [ 213s] ----------------------------------------------------------------- [ 213s] ----------------------------------------------------------------- [ 213s] dpkg-buildpackage: info: source package osmo-hlr [ 213s] dpkg-buildpackage: info: source version 1.3.0 [ 213s] dpkg-buildpackage: info: source distribution unstable [ 213s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 213s] dpkg-source --before-build BUILD [ 213s] dpkg-buildpackage: info: host architecture amd64 [ 213s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 213s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 213s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 213s] ### VM INTERACTION START ### [ 216s] [ 201.251982] sysrq: Power Off [ 216s] [ 201.260477] reboot: Power down [ 217s] ### VM INTERACTION END ### [ 217s] [ 217s] lamb05 failed "build osmo-hlr_1.3.0.dsc" at Thu May 6 09:30:53 UTC 2021. [ 217s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:31:06 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:31:06 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <6093b7638b743_6ab22aae945685fc266191d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/Debian_9.0/x86_64 Package network:osmocom:nightly/osmo-hlr failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:31:23 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:31:23 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in Debian_9.0/i586 In-Reply-To: References: Message-ID: <6093b782a89ea_6ab22aae945685fc26620af@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/Debian_9.0/i586 Package network:osmocom:latest/osmo-sip-connector failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 225s] texhash: Updating /usr/local/share/texmf/ls-R... [ 225s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 225s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 225s] texhash: Updating /var/lib/texmf/ls-R... [ 225s] texhash: Done. [ 225s] SIOCSIFADDR: File exists [ 226s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.dsc) [ 226s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 226s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.tar.xz [ 226s] ----------------------------------------------------------------- [ 226s] ----- building osmo-sip-connector_1.5.0.dsc (user abuild) [ 226s] ----------------------------------------------------------------- [ 226s] ----------------------------------------------------------------- [ 226s] dpkg-buildpackage: info: source package osmo-sip-connector [ 226s] dpkg-buildpackage: info: source version 1.5.0 [ 226s] dpkg-buildpackage: info: source distribution unstable [ 226s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 226s] dpkg-source --before-build BUILD [ 226s] dpkg-buildpackage: info: host architecture i386 [ 227s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 227s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 227s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 227s] ### VM INTERACTION START ### [ 230s] [ 209.620006] sysrq: Power Off [ 230s] [ 209.626073] reboot: Power down [ 230s] ### VM INTERACTION END ### [ 230s] [ 230s] old-atreju3 failed "build osmo-sip-connector_1.5.0.dsc" at Thu May 6 09:31:12 UTC 2021. [ 230s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:31:40 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:31:40 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6093b783948ec_6ab22aae945685fc26621ac@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/osmo-hlr failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 236s] texhash: Updating /usr/local/share/texmf/ls-R... [ 236s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 236s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 236s] texhash: Updating /var/lib/texmf/ls-R... [ 236s] texhash: Done. [ 236s] SIOCSIFADDR: File exists [ 236s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc) [ 236s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 236s] dpkg-source: info: unpacking osmo-hlr_1.3.0.2.ed2e3.202105060026.tar.xz [ 236s] ----------------------------------------------------------------- [ 236s] ----- building osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc (user abuild) [ 236s] ----------------------------------------------------------------- [ 236s] ----------------------------------------------------------------- [ 236s] dpkg-buildpackage: info: source package osmo-hlr [ 236s] dpkg-buildpackage: info: source version 1.3.0.2.ed2e3.202105060026 [ 236s] dpkg-buildpackage: info: source distribution UNRELEASED [ 236s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 236s] dpkg-source --before-build . [ 236s] dpkg-buildpackage: info: host architecture amd64 [ 236s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 236s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 236s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 237s] ### VM INTERACTION START ### [ 240s] [ 227.870153] sysrq: Power Off [ 240s] [ 227.873263] reboot: Power down [ 240s] ### VM INTERACTION END ### [ 240s] [ 240s] sheep85 failed "build osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc" at Thu May 6 09:31:26 UTC 2021. [ 240s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:31:57 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:31:57 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6093b79d158c1_6ab22aae945685fc2662295@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 687s] texhash: Updating /usr/local/share/texmf/ls-R... [ 687s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 687s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 687s] texhash: Updating /var/lib/texmf/ls-R... [ 687s] texhash: Done. [ 687s] SIOCSIFADDR: File exists [ 688s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.2.107.a06d.202105060026.dsc) [ 688s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 688s] dpkg-source: info: unpacking osmo-remsim_0.2.2.107.a06d.202105060026.tar.gz [ 688s] ----------------------------------------------------------------- [ 688s] ----- building osmo-remsim_0.2.2.107.a06d.202105060026.dsc (user abuild) [ 688s] ----------------------------------------------------------------- [ 688s] ----------------------------------------------------------------- [ 689s] dpkg-buildpackage: info: source package osmo-remsim [ 689s] dpkg-buildpackage: info: source version 0.2.2.107.a06d.202105060026 [ 689s] dpkg-buildpackage: info: source distribution UNRELEASED [ 689s] dpkg-buildpackage: info: source changed by Harald Welte [ 689s] dpkg-source --before-build . [ 689s] dpkg-buildpackage: info: host architecture amd64 [ 689s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 689s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 689s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 689s] ### VM INTERACTION START ### [ 690s] Powering off. [ 691s] [ 671.089246] reboot: Power down [ 691s] ### VM INTERACTION END ### [ 691s] [ 691s] lamb53 failed "build osmo-remsim_0.2.2.107.a06d.202105060026.dsc" at Thu May 6 09:31:48 UTC 2021. [ 691s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:31:57 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:31:57 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <6093b79d82e9e_6ab22aae945685fc26623e8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/Debian_9.0/armv7l Package network:osmocom:latest/osmo-hlr failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 501s] texhash: Updating /usr/local/share/texmf/ls-R... [ 501s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 501s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 501s] texhash: Updating /var/lib/texmf/ls-R... [ 501s] texhash: Done. [ 501s] SIOCSIFADDR: File exists [ 502s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.dsc) [ 502s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 502s] dpkg-source: info: unpacking osmo-hlr_1.3.0.tar.xz [ 502s] ----------------------------------------------------------------- [ 502s] ----- building osmo-hlr_1.3.0.dsc (user abuild) [ 502s] ----------------------------------------------------------------- [ 502s] ----------------------------------------------------------------- [ 503s] dpkg-buildpackage: info: source package osmo-hlr [ 503s] dpkg-buildpackage: info: source version 1.3.0 [ 503s] dpkg-buildpackage: info: source distribution unstable [ 503s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 503s] dpkg-source --before-build BUILD [ 503s] dpkg-buildpackage: info: host architecture armhf [ 504s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 504s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 504s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 504s] ### VM INTERACTION START ### [ 507s] [ 434.167192] sysrq: Power Off [ 507s] [ 434.168865] reboot: Power down [ 507s] ### VM INTERACTION END ### [ 507s] [ 507s] armbuild15 failed "build osmo-hlr_1.3.0.dsc" at Thu May 6 09:31:54 UTC 2021. [ 507s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:32:31 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:32:31 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in xUbuntu_19.04/i586 In-Reply-To: References: Message-ID: <6093b7bf995c7_6ab22aae945685fc26627d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/xUbuntu_19.04/i586 Package network:osmocom:latest/osmo-pcu failed to build in xUbuntu_19.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 287s] texhash: Updating /usr/local/share/texmf/ls-R... [ 287s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 287s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 287s] texhash: Updating /var/lib/texmf/ls-R... [ 287s] texhash: Done. [ 287s] SIOCSIFADDR: File exists [ 287s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.dsc) [ 287s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 287s] dpkg-source: info: unpacking osmo-pcu_0.9.0.tar.xz [ 287s] ----------------------------------------------------------------- [ 287s] ----- building osmo-pcu_0.9.0.dsc (user abuild) [ 287s] ----------------------------------------------------------------- [ 287s] ----------------------------------------------------------------- [ 288s] dpkg-buildpackage: info: source package osmo-pcu [ 288s] dpkg-buildpackage: info: source version 0.9.0 [ 288s] dpkg-buildpackage: info: source distribution unstable [ 288s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 288s] dpkg-source --before-build . [ 288s] dpkg-buildpackage: info: host architecture i386 [ 288s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 288s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 288s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 288s] ### VM INTERACTION START ### [ 291s] [ 278.268484] sysrq: Power Off [ 291s] [ 278.274048] reboot: Power down [ 291s] ### VM INTERACTION END ### [ 291s] [ 291s] lamb19 failed "build osmo-pcu_0.9.0.dsc" at Thu May 6 09:32:15 UTC 2021. [ 291s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:32:31 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:32:31 +0000 Subject: Build failure of network:osmocom:latest/osmo-sgsn in Debian_8.0/i586 In-Reply-To: References: Message-ID: <6093b7bfe7c81_6ab22aae945685fc266286f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sgsn/Debian_8.0/i586 Package network:osmocom:latest/osmo-sgsn failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-sgsn Last lines of build log: [ 232s] texhash: Updating /usr/local/share/texmf/ls-R... [ 232s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 232s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 232s] texhash: Updating /var/lib/texmf/ls-R... [ 232s] texhash: Done. [ 232s] SIOCSIFADDR: File exists [ 232s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sgsn_1.7.0.dsc) [ 232s] dpkg-source: info: extracting osmo-sgsn in /usr/src/packages/BUILD [ 232s] dpkg-source: info: unpacking osmo-sgsn_1.7.0.tar.xz [ 232s] ----------------------------------------------------------------- [ 232s] ----- building osmo-sgsn_1.7.0.dsc (user abuild) [ 232s] ----------------------------------------------------------------- [ 232s] ----------------------------------------------------------------- [ 233s] dpkg-buildpackage: source package osmo-sgsn [ 233s] dpkg-buildpackage: source version 1.7.0 [ 233s] dpkg-buildpackage: source distribution unstable [ 233s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 233s] dpkg-source --before-build BUILD [ 233s] dpkg-buildpackage: host architecture i386 [ 233s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 233s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 233s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 234s] ### VM INTERACTION START ### [ 235s] Powering off. [ 235s] [ 216.889829] reboot: Power down [ 235s] ### VM INTERACTION END ### [ 235s] [ 235s] lamb02 failed "build osmo-sgsn_1.7.0.dsc" at Thu May 6 09:32:17 UTC 2021. [ 235s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:32:31 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:32:31 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <6093b7c04d68c_6ab22aae945685fc266293c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-hlr failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 286s] texhash: Updating /usr/local/share/texmf/ls-R... [ 286s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 286s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 286s] texhash: Updating /var/lib/texmf/ls-R... [ 286s] texhash: Done. [ 286s] SIOCSIFADDR: File exists [ 287s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc) [ 287s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 287s] dpkg-source: info: unpacking osmo-hlr_1.3.0.2.ed2e3.202105060026.tar.xz [ 287s] ----------------------------------------------------------------- [ 287s] ----- building osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc (user abuild) [ 287s] ----------------------------------------------------------------- [ 287s] ----------------------------------------------------------------- [ 287s] dpkg-buildpackage: info: source package osmo-hlr [ 287s] dpkg-buildpackage: info: source version 1.3.0.2.ed2e3.202105060026 [ 287s] dpkg-buildpackage: info: source distribution UNRELEASED [ 287s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 287s] dpkg-source --before-build BUILD [ 287s] dpkg-buildpackage: info: host architecture amd64 [ 287s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 287s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 287s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 287s] ### VM INTERACTION START ### [ 291s] [ 277.028142] sysrq: Power Off [ 291s] [ 277.034584] reboot: Power down [ 291s] ### VM INTERACTION END ### [ 291s] [ 291s] lamb25 failed "build osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc" at Thu May 6 09:32:20 UTC 2021. [ 291s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:33:05 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:33:05 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <6093b7da3388a_6ab22aae945685fc2663050@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/osmo-hlr failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 327s] texhash: Updating /usr/local/share/texmf/ls-R... [ 327s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 327s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 327s] texhash: Updating /var/lib/texmf/ls-R... [ 327s] texhash: Done. [ 328s] SIOCSIFADDR: File exists [ 328s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc) [ 328s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 328s] dpkg-source: info: unpacking osmo-hlr_1.3.0.2.ed2e3.202105060026.tar.xz [ 328s] ----------------------------------------------------------------- [ 328s] ----- building osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc (user abuild) [ 328s] ----------------------------------------------------------------- [ 328s] ----------------------------------------------------------------- [ 328s] dpkg-buildpackage: info: source package osmo-hlr [ 328s] dpkg-buildpackage: info: source version 1.3.0.2.ed2e3.202105060026 [ 328s] dpkg-buildpackage: info: source distribution UNRELEASED [ 328s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 328s] dpkg-source --before-build . [ 328s] dpkg-buildpackage: info: host architecture amd64 [ 329s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 329s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 329s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 329s] ### VM INTERACTION START ### [ 332s] [ 317.989180] sysrq: Power Off [ 332s] [ 317.994532] reboot: Power down [ 332s] ### VM INTERACTION END ### [ 332s] [ 332s] lamb22 failed "build osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc" at Thu May 6 09:33:01 UTC 2021. [ 332s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:33:39 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:33:39 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in Debian_9.0/i586 In-Reply-To: References: Message-ID: <6093b7fa3883e_6ab22aae945685fc26631aa@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/Debian_9.0/i586 Package network:osmocom:latest/osmo-pcu failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 176s] texhash: Updating /usr/local/share/texmf/ls-R... [ 176s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 176s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 176s] texhash: Updating /var/lib/texmf/ls-R... [ 176s] texhash: Done. [ 176s] SIOCSIFADDR: File exists [ 177s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.dsc) [ 177s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 177s] dpkg-source: info: unpacking osmo-pcu_0.9.0.tar.xz [ 177s] ----------------------------------------------------------------- [ 177s] ----- building osmo-pcu_0.9.0.dsc (user abuild) [ 177s] ----------------------------------------------------------------- [ 177s] ----------------------------------------------------------------- [ 177s] dpkg-buildpackage: info: source package osmo-pcu [ 177s] dpkg-buildpackage: info: source version 0.9.0 [ 177s] dpkg-buildpackage: info: source distribution unstable [ 177s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 177s] dpkg-source --before-build BUILD [ 177s] dpkg-buildpackage: info: host architecture i386 [ 177s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 177s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 177s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 177s] ### VM INTERACTION START ### [ 181s] [ 167.811099] sysrq: Power Off [ 181s] [ 167.815288] reboot: Power down [ 181s] ### VM INTERACTION END ### [ 181s] [ 181s] old-cirrus2 failed "build osmo-pcu_0.9.0.dsc" at Thu May 6 09:33:38 UTC 2021. [ 181s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:33:56 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:33:56 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <6093b8187b168_6ab22aae945685fc26632e7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Debian_9.0/x86_64 Package network:osmocom:nightly/osmo-bts failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 133s] texhash: Updating /usr/local/share/texmf/ls-R... [ 133s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 133s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 134s] texhash: Updating /var/lib/texmf/ls-R... [ 134s] texhash: Done. [ 134s] SIOCSIFADDR: File exists [ 134s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.0.56.9e09.202105060026.dsc) [ 134s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 134s] dpkg-source: info: unpacking osmo-bts_1.3.0.56.9e09.202105060026.tar.xz [ 134s] ----------------------------------------------------------------- [ 134s] ----- building osmo-bts_1.3.0.56.9e09.202105060026.dsc (user abuild) [ 134s] ----------------------------------------------------------------- [ 134s] ----------------------------------------------------------------- [ 134s] dpkg-buildpackage: info: source package osmo-bts [ 134s] dpkg-buildpackage: info: source version 1.3.0.56.9e09.202105060026 [ 134s] dpkg-buildpackage: info: source distribution UNRELEASED [ 134s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 134s] dpkg-source --before-build BUILD [ 134s] dpkg-buildpackage: info: host architecture amd64 [ 134s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 134s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 134s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 134s] ### VM INTERACTION START ### [ 138s] [ 127.387380] sysrq: Power Off [ 138s] [ 127.391531] reboot: Power down [ 138s] ### VM INTERACTION END ### [ 138s] [ 138s] sheep86 failed "build osmo-bts_1.3.0.56.9e09.202105060026.dsc" at Thu May 6 09:33:39 UTC 2021. [ 138s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:34:13 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:34:13 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in xUbuntu_19.04/i586 In-Reply-To: References: Message-ID: <6093b819a4ed5_6ab22aae945685fc266342d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/xUbuntu_19.04/i586 Package network:osmocom:latest/osmo-bts failed to build in xUbuntu_19.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 202s] texhash: Updating /usr/local/share/texmf/ls-R... [ 202s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 202s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 202s] texhash: Updating /var/lib/texmf/ls-R... [ 202s] texhash: Done. [ 202s] SIOCSIFADDR: File exists [ 202s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.1.dsc) [ 202s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 202s] dpkg-source: info: unpacking osmo-bts_1.3.1.tar.xz [ 202s] ----------------------------------------------------------------- [ 202s] ----- building osmo-bts_1.3.1.dsc (user abuild) [ 202s] ----------------------------------------------------------------- [ 202s] ----------------------------------------------------------------- [ 203s] dpkg-buildpackage: info: source package osmo-bts [ 203s] dpkg-buildpackage: info: source version 1.3.1 [ 203s] dpkg-buildpackage: info: source distribution unstable [ 203s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 203s] dpkg-source --before-build . [ 203s] dpkg-buildpackage: info: host architecture i386 [ 203s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 203s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 203s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 203s] ### VM INTERACTION START ### [ 206s] [ 195.124862] sysrq: Power Off [ 206s] [ 195.128309] reboot: Power down [ 206s] ### VM INTERACTION END ### [ 206s] [ 206s] wildcard2 failed "build osmo-bts_1.3.1.dsc" at Thu May 6 09:33:59 UTC 2021. [ 206s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:34:47 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:34:47 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <6093b85228c13_6ab22aae945685fc266372e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-hlr failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 412s] texhash: Updating /usr/local/share/texmf/ls-R... [ 412s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 412s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 412s] texhash: Updating /var/lib/texmf/ls-R... [ 412s] texhash: Done. [ 412s] SIOCSIFADDR: File exists [ 413s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.dsc) [ 413s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 413s] dpkg-source: info: unpacking osmo-hlr_1.3.0.tar.xz [ 413s] ----------------------------------------------------------------- [ 413s] ----- building osmo-hlr_1.3.0.dsc (user abuild) [ 413s] ----------------------------------------------------------------- [ 413s] ----------------------------------------------------------------- [ 414s] dpkg-buildpackage: info: source package osmo-hlr [ 414s] dpkg-buildpackage: info: source version 1.3.0 [ 414s] dpkg-buildpackage: info: source distribution unstable [ 414s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 414s] dpkg-source --before-build . [ 414s] dpkg-buildpackage: info: host architecture amd64 [ 414s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 414s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 414s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 414s] ### VM INTERACTION START ### [ 415s] Powering off. [ 415s] [ 383.286856] reboot: Power down [ 416s] ### VM INTERACTION END ### [ 416s] [ 416s] cloud111 failed "build osmo-hlr_1.3.0.dsc" at Thu May 6 09:34:33 UTC 2021. [ 416s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:35:04 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:35:04 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <6093b852c7edb_6ab22aae945685fc26638fa@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/xUbuntu_18.04/x86_64 Package network:osmocom:latest/osmo-hlr failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 461s] texhash: Updating /usr/local/share/texmf/ls-R... [ 461s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 461s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 461s] texhash: Updating /var/lib/texmf/ls-R... [ 461s] texhash: Done. [ 461s] SIOCSIFADDR: File exists [ 461s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.dsc) [ 461s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 461s] dpkg-source: info: unpacking osmo-hlr_1.3.0.tar.xz [ 462s] ----------------------------------------------------------------- [ 462s] ----- building osmo-hlr_1.3.0.dsc (user abuild) [ 462s] ----------------------------------------------------------------- [ 462s] ----------------------------------------------------------------- [ 462s] dpkg-buildpackage: info: source package osmo-hlr [ 462s] dpkg-buildpackage: info: source version 1.3.0 [ 462s] dpkg-buildpackage: info: source distribution unstable [ 462s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 462s] dpkg-source --before-build BUILD [ 462s] dpkg-buildpackage: info: host architecture amd64 [ 462s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 462s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 462s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 462s] ### VM INTERACTION START ### [ 466s] [ 445.564105] sysrq: Power Off [ 466s] [ 445.618636] reboot: Power down [ 466s] ### VM INTERACTION END ### [ 466s] [ 466s] lamb03 failed "build osmo-hlr_1.3.0.dsc" at Thu May 6 09:34:55 UTC 2021. [ 466s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:35:21 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:35:21 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <6093b87239b8e_6ab22aae945685fc2664176@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/xUbuntu_18.04/x86_64 Package network:osmocom:latest/osmo-pcu failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 249s] texhash: Updating /usr/local/share/texmf/ls-R... [ 249s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 249s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 249s] texhash: Updating /var/lib/texmf/ls-R... [ 249s] texhash: Done. [ 250s] SIOCSIFADDR: File exists [ 250s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.dsc) [ 250s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 250s] dpkg-source: info: unpacking osmo-pcu_0.9.0.tar.xz [ 250s] ----------------------------------------------------------------- [ 250s] ----- building osmo-pcu_0.9.0.dsc (user abuild) [ 250s] ----------------------------------------------------------------- [ 250s] ----------------------------------------------------------------- [ 250s] dpkg-buildpackage: info: source package osmo-pcu [ 250s] dpkg-buildpackage: info: source version 0.9.0 [ 250s] dpkg-buildpackage: info: source distribution unstable [ 250s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 250s] dpkg-source --before-build BUILD [ 250s] dpkg-buildpackage: info: host architecture amd64 [ 250s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 250s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 250s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 250s] ### VM INTERACTION START ### [ 254s] [ 239.965410] sysrq: Power Off [ 254s] [ 239.970128] reboot: Power down [ 254s] ### VM INTERACTION END ### [ 254s] [ 254s] lamb18 failed "build osmo-pcu_0.9.0.dsc" at Thu May 6 09:35:16 UTC 2021. [ 254s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:35:21 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:35:21 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gbproxy in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <6093b872ce530_6ab22aae945685fc26642f2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gbproxy/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-gbproxy failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gbproxy Last lines of build log: [ 221s] texhash: Updating /usr/local/share/texmf/ls-R... [ 221s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 221s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 221s] texhash: Updating /var/lib/texmf/ls-R... [ 221s] texhash: Done. [ 221s] SIOCSIFADDR: File exists [ 221s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc) [ 221s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 221s] dpkg-source: info: unpacking osmo-gbproxy_0.1.0.18.a4560.202105060026.tar.xz [ 222s] ----------------------------------------------------------------- [ 222s] ----- building osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc (user abuild) [ 222s] ----------------------------------------------------------------- [ 222s] ----------------------------------------------------------------- [ 222s] dpkg-buildpackage: source package osmo-gbproxy [ 222s] dpkg-buildpackage: source version 1:0.1.0.18.a4560.202105060026 [ 222s] dpkg-buildpackage: source distribution UNRELEASED [ 222s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 222s] dpkg-source --before-build BUILD [ 222s] dpkg-buildpackage: host architecture amd64 [ 222s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 222s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 222s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 222s] ### VM INTERACTION START ### [ 223s] Powering off. [ 223s] [ 202.994802] reboot: Power down [ 224s] ### VM INTERACTION END ### [ 224s] [ 224s] lamb60 failed "build osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc" at Thu May 6 09:35:13 UTC 2021. [ 224s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:35:38 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:35:38 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <6093b875b7dbe_6ab22aae945685fc26644b8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/xUbuntu_19.04/x86_64 Package network:osmocom:latest/osmo-remsim failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 260s] texhash: Updating /usr/local/share/texmf/ls-R... [ 260s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 260s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 260s] texhash: Updating /var/lib/texmf/ls-R... [ 260s] texhash: Done. [ 260s] SIOCSIFADDR: File exists [ 261s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.3.dsc) [ 261s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 261s] dpkg-source: info: unpacking osmo-remsim_0.2.3.tar.gz [ 261s] ----------------------------------------------------------------- [ 261s] ----- building osmo-remsim_0.2.3.dsc (user abuild) [ 261s] ----------------------------------------------------------------- [ 261s] ----------------------------------------------------------------- [ 261s] dpkg-buildpackage: info: source package osmo-remsim [ 261s] dpkg-buildpackage: info: source version 0.2.3 [ 261s] dpkg-buildpackage: info: source distribution unstable [ 261s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 261s] dpkg-source --before-build . [ 261s] dpkg-buildpackage: info: host architecture amd64 [ 261s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 261s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 261s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 261s] ### VM INTERACTION START ### [ 264s] [ 250.566427] sysrq: Power Off [ 264s] [ 250.572319] reboot: Power down [ 264s] ### VM INTERACTION END ### [ 264s] [ 264s] old-cirrus4 failed "build osmo-remsim_0.2.3.dsc" at Thu May 6 09:35:23 UTC 2021. [ 264s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:36:12 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:36:12 +0000 Subject: Build failure of network:osmocom:latest/osmo-gbproxy in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6093b891828e7_6ab22aae945685fc266476b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gbproxy/xUbuntu_20.04/x86_64 Package network:osmocom:latest/osmo-gbproxy failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gbproxy Last lines of build log: [ 297s] texhash: Updating /usr/local/share/texmf/ls-R... [ 297s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 297s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 297s] texhash: Updating /var/lib/texmf/ls-R... [ 297s] texhash: Done. [ 297s] SIOCSIFADDR: File exists [ 297s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.1.dsc) [ 297s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 297s] dpkg-source: info: unpacking osmo-gbproxy_0.1.1.tar.xz [ 297s] ----------------------------------------------------------------- [ 297s] ----- building osmo-gbproxy_0.1.1.dsc (user abuild) [ 297s] ----------------------------------------------------------------- [ 297s] ----------------------------------------------------------------- [ 298s] dpkg-buildpackage: info: source package osmo-gbproxy [ 298s] dpkg-buildpackage: info: source version 1:0.1.1 [ 298s] dpkg-buildpackage: info: source distribution unstable [ 298s] dpkg-buildpackage: info: source changed by Harald Welte [ 298s] dpkg-source --before-build . [ 298s] dpkg-buildpackage: info: host architecture amd64 [ 298s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 298s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 298s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 298s] ### VM INTERACTION START ### [ 301s] [ 284.199641] sysrq: Power Off [ 301s] [ 284.201579] reboot: Power down [ 301s] ### VM INTERACTION END ### [ 301s] [ 301s] hci-cnode1-m0 failed "build osmo-gbproxy_0.1.1.dsc" at Thu May 6 09:36:06 UTC 2021. [ 301s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:36:12 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:36:12 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <6093b8923b394_6ab22aae945685fc2664935@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/xUbuntu_18.04/i586 Package network:osmocom:latest/osmo-pcu failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 448s] texhash: Updating /usr/local/share/texmf/ls-R... [ 448s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 448s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 448s] texhash: Updating /var/lib/texmf/ls-R... [ 448s] texhash: Done. [ 449s] SIOCSIFADDR: File exists [ 449s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.dsc) [ 449s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 449s] dpkg-source: info: unpacking osmo-pcu_0.9.0.tar.xz [ 449s] ----------------------------------------------------------------- [ 449s] ----- building osmo-pcu_0.9.0.dsc (user abuild) [ 449s] ----------------------------------------------------------------- [ 449s] ----------------------------------------------------------------- [ 450s] dpkg-buildpackage: info: source package osmo-pcu [ 450s] dpkg-buildpackage: info: source version 0.9.0 [ 450s] dpkg-buildpackage: info: source distribution unstable [ 450s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 450s] dpkg-source --before-build BUILD [ 450s] dpkg-buildpackage: info: host architecture i386 [ 450s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 450s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 450s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 450s] ### VM INTERACTION START ### [ 454s] [ 433.177476] sysrq: Power Off [ 454s] [ 433.235230] reboot: Power down [ 454s] ### VM INTERACTION END ### [ 454s] [ 454s] lamb03 failed "build osmo-pcu_0.9.0.dsc" at Thu May 6 09:35:55 UTC 2021. [ 454s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:36:29 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:36:29 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <6093b8ac57a24_6ab22aae945685fc266517f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/xUbuntu_19.10/x86_64 Package network:osmocom:latest/osmo-pcu failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 314s] texhash: Updating /usr/local/share/texmf/ls-R... [ 314s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 314s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 314s] texhash: Updating /var/lib/texmf/ls-R... [ 315s] texhash: Done. [ 315s] SIOCSIFADDR: File exists [ 315s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.dsc) [ 315s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 315s] dpkg-source: info: unpacking osmo-pcu_0.9.0.tar.xz [ 315s] ----------------------------------------------------------------- [ 315s] ----- building osmo-pcu_0.9.0.dsc (user abuild) [ 315s] ----------------------------------------------------------------- [ 315s] ----------------------------------------------------------------- [ 315s] dpkg-buildpackage: info: source package osmo-pcu [ 315s] dpkg-buildpackage: info: source version 0.9.0 [ 315s] dpkg-buildpackage: info: source distribution unstable [ 315s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 315s] dpkg-source --before-build . [ 315s] dpkg-buildpackage: info: host architecture amd64 [ 316s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 316s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 316s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 316s] ### VM INTERACTION START ### [ 319s] [ 304.263706] sysrq: Power Off [ 319s] [ 304.266161] reboot: Power down [ 319s] ### VM INTERACTION END ### [ 319s] [ 319s] old-atreju3 failed "build osmo-pcu_0.9.0.dsc" at Thu May 6 09:36:14 UTC 2021. [ 319s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:36:46 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:36:46 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <6093b8cb13155_6ab22aae945685fc2665278@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-bts failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 82s] texhash: Updating /usr/local/share/texmf/ls-R... [ 82s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 82s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 82s] texhash: Updating /var/lib/texmf/ls-R... [ 82s] texhash: Done. [ 82s] SIOCSIFADDR: File exists [ 82s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.0.56.9e09.202105060026.dsc) [ 82s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 82s] dpkg-source: info: unpacking osmo-bts_1.3.0.56.9e09.202105060026.tar.xz [ 82s] ----------------------------------------------------------------- [ 82s] ----- building osmo-bts_1.3.0.56.9e09.202105060026.dsc (user abuild) [ 82s] ----------------------------------------------------------------- [ 82s] ----------------------------------------------------------------- [ 82s] dpkg-buildpackage: source package osmo-bts [ 82s] dpkg-buildpackage: source version 1.3.0.56.9e09.202105060026 [ 82s] dpkg-buildpackage: source distribution UNRELEASED [ 82s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 82s] dpkg-source --before-build BUILD [ 82s] dpkg-buildpackage: host architecture amd64 [ 82s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 82s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 82s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 82s] ### VM INTERACTION START ### [ 83s] Powering off. [ 83s] [ 77.592891] reboot: Power down [ 84s] ### VM INTERACTION END ### [ 84s] [ 84s] goat09 failed "build osmo-bts_1.3.0.56.9e09.202105060026.dsc" at Thu May 6 09:36:45 UTC 2021. [ 84s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:37:03 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:37:03 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <6093b8cbd1097_6ab22aae945685fc26654c6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/xUbuntu_18.04/i586 Package network:osmocom:latest/osmo-remsim failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 368s] texhash: Updating /usr/local/share/texmf/ls-R... [ 368s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 368s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 368s] texhash: Updating /var/lib/texmf/ls-R... [ 368s] texhash: Done. [ 368s] SIOCSIFADDR: File exists [ 368s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.3.dsc) [ 368s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 368s] dpkg-source: info: unpacking osmo-remsim_0.2.3.tar.gz [ 368s] ----------------------------------------------------------------- [ 368s] ----- building osmo-remsim_0.2.3.dsc (user abuild) [ 368s] ----------------------------------------------------------------- [ 368s] ----------------------------------------------------------------- [ 369s] dpkg-buildpackage: info: source package osmo-remsim [ 369s] dpkg-buildpackage: info: source version 0.2.3 [ 369s] dpkg-buildpackage: info: source distribution unstable [ 369s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 369s] dpkg-source --before-build BUILD [ 369s] dpkg-buildpackage: info: host architecture i386 [ 369s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 369s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 369s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 369s] ### VM INTERACTION START ### [ 372s] [ 337.228769] sysrq: Power Off [ 372s] [ 337.264836] reboot: Power down [ 373s] ### VM INTERACTION END ### [ 373s] [ 373s] old-atreju5 failed "build osmo-remsim_0.2.3.dsc" at Thu May 6 09:36:50 UTC 2021. [ 373s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:37:20 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:37:20 +0000 Subject: Build failure of network:osmocom:latest/osmo-sgsn in Debian_9.0/i586 In-Reply-To: References: Message-ID: <6093b8e6a5542_6ab22aae945685fc26657a6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sgsn/Debian_9.0/i586 Package network:osmocom:latest/osmo-sgsn failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-sgsn Last lines of build log: [ 101s] texhash: Updating /usr/local/share/texmf/ls-R... [ 101s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 101s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 101s] texhash: Updating /var/lib/texmf/ls-R... [ 101s] texhash: Done. [ 101s] SIOCSIFADDR: File exists [ 101s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sgsn_1.7.0.dsc) [ 101s] dpkg-source: info: extracting osmo-sgsn in /usr/src/packages/BUILD [ 101s] dpkg-source: info: unpacking osmo-sgsn_1.7.0.tar.xz [ 101s] ----------------------------------------------------------------- [ 101s] ----- building osmo-sgsn_1.7.0.dsc (user abuild) [ 101s] ----------------------------------------------------------------- [ 101s] ----------------------------------------------------------------- [ 102s] dpkg-buildpackage: info: source package osmo-sgsn [ 102s] dpkg-buildpackage: info: source version 1.7.0 [ 102s] dpkg-buildpackage: info: source distribution unstable [ 102s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 102s] dpkg-source --before-build BUILD [ 102s] dpkg-buildpackage: info: host architecture i386 [ 102s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 102s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 102s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 102s] ### VM INTERACTION START ### [ 105s] [ 97.976774] sysrq: Power Off [ 105s] [ 97.979543] reboot: Power down [ 105s] ### VM INTERACTION END ### [ 105s] [ 105s] goat07 failed "build osmo-sgsn_1.7.0.dsc" at Thu May 6 09:37:10 UTC 2021. [ 105s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:38:11 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:38:11 +0000 Subject: Build failure of network:osmocom:latest/osmo-gbproxy in Debian_9.0/i586 In-Reply-To: References: Message-ID: <6093b90752cdf_6ab22aae945685fc266617f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gbproxy/Debian_9.0/i586 Package network:osmocom:latest/osmo-gbproxy failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-gbproxy Last lines of build log: [ 263s] texhash: Updating /usr/local/share/texmf/ls-R... [ 263s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 263s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 263s] texhash: Updating /var/lib/texmf/ls-R... [ 263s] texhash: Done. [ 263s] SIOCSIFADDR: File exists [ 263s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.1.dsc) [ 264s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 264s] dpkg-source: info: unpacking osmo-gbproxy_0.1.1.tar.xz [ 264s] ----------------------------------------------------------------- [ 264s] ----- building osmo-gbproxy_0.1.1.dsc (user abuild) [ 264s] ----------------------------------------------------------------- [ 264s] ----------------------------------------------------------------- [ 264s] dpkg-buildpackage: info: source package osmo-gbproxy [ 264s] dpkg-buildpackage: info: source version 1:0.1.1 [ 264s] dpkg-buildpackage: info: source distribution unstable [ 264s] dpkg-buildpackage: info: source changed by Harald Welte [ 264s] dpkg-source --before-build BUILD [ 264s] dpkg-buildpackage: info: host architecture i386 [ 264s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 264s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 264s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 264s] ### VM INTERACTION START ### [ 268s] [ 252.938028] sysrq: Power Off [ 268s] [ 252.965844] reboot: Power down [ 268s] ### VM INTERACTION END ### [ 268s] [ 268s] lamb02 failed "build osmo-gbproxy_0.1.1.dsc" at Thu May 6 09:37:57 UTC 2021. [ 268s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:38:11 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:38:11 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <6093b907b9c7b_6ab22aae945685fc26662d8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/Debian_8.0/x86_64 Package network:osmocom:latest/osmo-pcu failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 88s] texhash: Updating /usr/local/share/texmf/ls-R... [ 88s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 88s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 88s] texhash: Updating /var/lib/texmf/ls-R... [ 88s] texhash: Done. [ 88s] SIOCSIFADDR: File exists [ 88s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.dsc) [ 88s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 88s] dpkg-source: info: unpacking osmo-pcu_0.9.0.tar.xz [ 88s] ----------------------------------------------------------------- [ 88s] ----- building osmo-pcu_0.9.0.dsc (user abuild) [ 88s] ----------------------------------------------------------------- [ 88s] ----------------------------------------------------------------- [ 89s] dpkg-buildpackage: source package osmo-pcu [ 89s] dpkg-buildpackage: source version 0.9.0 [ 89s] dpkg-buildpackage: source distribution unstable [ 89s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 89s] dpkg-source --before-build BUILD [ 89s] dpkg-buildpackage: host architecture amd64 [ 89s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 89s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 89s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 89s] ### VM INTERACTION START ### [ 90s] Powering off. [ 90s] [ 84.444819] reboot: Power down [ 90s] ### VM INTERACTION END ### [ 90s] [ 90s] goat03 failed "build osmo-pcu_0.9.0.dsc" at Thu May 6 09:38:00 UTC 2021. [ 90s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:38:28 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:38:28 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <6093b926b5cd3_6ab22aae945685fc26663c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_9.0/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 171s] texhash: Updating /usr/local/share/texmf/ls-R... [ 171s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 171s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 171s] texhash: Updating /var/lib/texmf/ls-R... [ 171s] texhash: Done. [ 171s] SIOCSIFADDR: File exists [ 171s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.2.107.a06d.202105060026.dsc) [ 171s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 171s] dpkg-source: info: unpacking osmo-remsim_0.2.2.107.a06d.202105060026.tar.gz [ 171s] ----------------------------------------------------------------- [ 171s] ----- building osmo-remsim_0.2.2.107.a06d.202105060026.dsc (user abuild) [ 171s] ----------------------------------------------------------------- [ 171s] ----------------------------------------------------------------- [ 172s] dpkg-buildpackage: info: source package osmo-remsim [ 172s] dpkg-buildpackage: info: source version 0.2.2.107.a06d.202105060026 [ 172s] dpkg-buildpackage: info: source distribution UNRELEASED [ 172s] dpkg-buildpackage: info: source changed by Harald Welte [ 172s] dpkg-source --before-build BUILD [ 172s] dpkg-buildpackage: info: host architecture amd64 [ 172s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 172s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 172s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 172s] ### VM INTERACTION START ### [ 175s] [ 162.576784] sysrq: Power Off [ 175s] [ 162.582647] reboot: Power down [ 175s] ### VM INTERACTION END ### [ 175s] [ 175s] lamb11 failed "build osmo-remsim_0.2.2.107.a06d.202105060026.dsc" at Thu May 6 09:38:25 UTC 2021. [ 175s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:38:28 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:38:28 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gbproxy in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <6093b927dfdf_6ab22aae945685fc266646@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gbproxy/Debian_9.0/x86_64 Package network:osmocom:nightly/osmo-gbproxy failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gbproxy Last lines of build log: [ 167s] texhash: Updating /usr/local/share/texmf/ls-R... [ 167s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 167s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 167s] texhash: Updating /var/lib/texmf/ls-R... [ 167s] texhash: Done. [ 167s] SIOCSIFADDR: File exists [ 168s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc) [ 168s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 168s] dpkg-source: info: unpacking osmo-gbproxy_0.1.0.18.a4560.202105060026.tar.xz [ 168s] ----------------------------------------------------------------- [ 168s] ----- building osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc (user abuild) [ 168s] ----------------------------------------------------------------- [ 168s] ----------------------------------------------------------------- [ 168s] dpkg-buildpackage: info: source package osmo-gbproxy [ 168s] dpkg-buildpackage: info: source version 1:0.1.0.18.a4560.202105060026 [ 168s] dpkg-buildpackage: info: source distribution UNRELEASED [ 168s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 168s] dpkg-source --before-build BUILD [ 168s] dpkg-buildpackage: info: host architecture amd64 [ 168s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 168s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 168s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 168s] ### VM INTERACTION START ### [ 172s] [ 160.232286] sysrq: Power Off [ 172s] [ 160.238569] reboot: Power down [ 172s] ### VM INTERACTION END ### [ 172s] [ 172s] lamb13 failed "build osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc" at Thu May 6 09:38:18 UTC 2021. [ 172s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:39:19 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:39:19 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <6093b9605b4c7_6ab22aae945685fc26666c4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-remsim failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 484s] texhash: Updating /usr/local/share/texmf/ls-R... [ 484s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 485s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 485s] texhash: Updating /var/lib/texmf/ls-R... [ 485s] texhash: Done. [ 485s] SIOCSIFADDR: File exists [ 485s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.3.dsc) [ 485s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 485s] dpkg-source: info: unpacking osmo-remsim_0.2.3.tar.gz [ 485s] ----------------------------------------------------------------- [ 485s] ----- building osmo-remsim_0.2.3.dsc (user abuild) [ 485s] ----------------------------------------------------------------- [ 485s] ----------------------------------------------------------------- [ 485s] dpkg-buildpackage: info: source package osmo-remsim [ 485s] dpkg-buildpackage: info: source version 0.2.3 [ 485s] dpkg-buildpackage: info: source distribution unstable [ 485s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 485s] dpkg-source --before-build . [ 485s] dpkg-buildpackage: info: host architecture amd64 [ 486s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 486s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 486s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 486s] ### VM INTERACTION START ### [ 487s] Powering off. [ 487s] [ 468.361325] reboot: Power down [ 487s] ### VM INTERACTION END ### [ 487s] [ 487s] lamb55 failed "build osmo-remsim_0.2.3.dsc" at Thu May 6 09:39:15 UTC 2021. [ 487s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:39:53 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:39:53 +0000 Subject: Build failure of network:osmocom:latest/osmo-gbproxy in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <6093b98034f7e_6ab22aae945685fc266691f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gbproxy/xUbuntu_19.04/x86_64 Package network:osmocom:latest/osmo-gbproxy failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gbproxy Last lines of build log: [ 147s] texhash: Updating /usr/local/share/texmf/ls-R... [ 147s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 147s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 147s] texhash: Updating /var/lib/texmf/ls-R... [ 147s] texhash: Done. [ 147s] SIOCSIFADDR: File exists [ 147s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.1.dsc) [ 147s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 147s] dpkg-source: info: unpacking osmo-gbproxy_0.1.1.tar.xz [ 147s] ----------------------------------------------------------------- [ 147s] ----- building osmo-gbproxy_0.1.1.dsc (user abuild) [ 147s] ----------------------------------------------------------------- [ 147s] ----------------------------------------------------------------- [ 147s] dpkg-buildpackage: info: source package osmo-gbproxy [ 147s] dpkg-buildpackage: info: source version 1:0.1.1 [ 147s] dpkg-buildpackage: info: source distribution unstable [ 147s] dpkg-buildpackage: info: source changed by Harald Welte [ 147s] dpkg-source --before-build . [ 147s] dpkg-buildpackage: info: host architecture amd64 [ 147s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 147s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 147s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 147s] ### VM INTERACTION START ### [ 150s] [ 142.595549] sysrq: Power Off [ 150s] [ 142.598103] reboot: Power down [ 150s] ### VM INTERACTION END ### [ 150s] [ 150s] goat11 failed "build osmo-gbproxy_0.1.1.dsc" at Thu May 6 09:39:41 UTC 2021. [ 150s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:39:53 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:39:53 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <6093b9806a0bb_6ab22aae945685fc2667085@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/xUbuntu_19.10/x86_64 Package network:osmocom:latest/osmo-remsim failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 146s] texhash: Updating /usr/local/share/texmf/ls-R... [ 146s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 146s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 146s] texhash: Updating /var/lib/texmf/ls-R... [ 146s] texhash: Done. [ 146s] SIOCSIFADDR: File exists [ 147s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.3.dsc) [ 147s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 147s] dpkg-source: info: unpacking osmo-remsim_0.2.3.tar.gz [ 147s] ----------------------------------------------------------------- [ 147s] ----- building osmo-remsim_0.2.3.dsc (user abuild) [ 147s] ----------------------------------------------------------------- [ 147s] ----------------------------------------------------------------- [ 147s] dpkg-buildpackage: info: source package osmo-remsim [ 147s] dpkg-buildpackage: info: source version 0.2.3 [ 147s] dpkg-buildpackage: info: source distribution unstable [ 147s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 147s] dpkg-source --before-build . [ 147s] dpkg-buildpackage: info: host architecture amd64 [ 147s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 147s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 147s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 147s] ### VM INTERACTION START ### [ 150s] [ 142.434781] sysrq: Power Off [ 150s] [ 142.437918] reboot: Power down [ 150s] ### VM INTERACTION END ### [ 150s] [ 150s] goat07 failed "build osmo-remsim_0.2.3.dsc" at Thu May 6 09:39:42 UTC 2021. [ 150s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:40:27 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:40:27 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gbproxy in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <6093b99b9ad00_6ab22aae945685fc266731a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gbproxy/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/osmo-gbproxy failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gbproxy Last lines of build log: [ 271s] texhash: Updating /usr/local/share/texmf/ls-R... [ 271s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 271s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 271s] texhash: Updating /var/lib/texmf/ls-R... [ 271s] texhash: Done. [ 271s] SIOCSIFADDR: File exists [ 271s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc) [ 271s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 271s] dpkg-source: info: unpacking osmo-gbproxy_0.1.0.18.a4560.202105060026.tar.xz [ 271s] ----------------------------------------------------------------- [ 271s] ----- building osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc (user abuild) [ 271s] ----------------------------------------------------------------- [ 271s] ----------------------------------------------------------------- [ 272s] dpkg-buildpackage: info: source package osmo-gbproxy [ 272s] dpkg-buildpackage: info: source version 1:0.1.0.18.a4560.202105060026 [ 272s] dpkg-buildpackage: info: source distribution UNRELEASED [ 272s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 272s] dpkg-source --before-build . [ 272s] dpkg-buildpackage: info: host architecture amd64 [ 272s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 272s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 272s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 272s] ### VM INTERACTION START ### [ 275s] [ 259.268839] sysrq: Power Off [ 275s] [ 259.274157] reboot: Power down [ 275s] ### VM INTERACTION END ### [ 275s] [ 275s] lamb54 failed "build osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc" at Thu May 6 09:40:10 UTC 2021. [ 275s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:40:44 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:40:44 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <6093b9baa8ed8_6ab22aae945685fc26675f2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/osmo-pcu failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 296s] texhash: Updating /usr/local/share/texmf/ls-R... [ 296s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 296s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 297s] texhash: Updating /var/lib/texmf/ls-R... [ 297s] texhash: Done. [ 297s] SIOCSIFADDR: File exists [ 297s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.82.c6dc.202105060026.dsc) [ 297s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 297s] dpkg-source: info: unpacking osmo-pcu_0.9.0.82.c6dc.202105060026.tar.xz [ 297s] ----------------------------------------------------------------- [ 297s] ----- building osmo-pcu_0.9.0.82.c6dc.202105060026.dsc (user abuild) [ 297s] ----------------------------------------------------------------- [ 297s] ----------------------------------------------------------------- [ 297s] dpkg-buildpackage: info: source package osmo-pcu [ 297s] dpkg-buildpackage: info: source version 0.9.0.82.c6dc.202105060026 [ 297s] dpkg-buildpackage: info: source distribution UNRELEASED [ 297s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 297s] dpkg-source --before-build . [ 297s] dpkg-buildpackage: info: host architecture amd64 [ 298s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 298s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 298s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 298s] ### VM INTERACTION START ### [ 301s] [ 287.865098] sysrq: Power Off [ 301s] [ 287.881341] reboot: Power down [ 301s] ### VM INTERACTION END ### [ 301s] [ 301s] lamb07 failed "build osmo-pcu_0.9.0.82.c6dc.202105060026.dsc" at Thu May 6 09:40:32 UTC 2021. [ 301s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:40:44 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:40:44 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gbproxy in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <6093b9baddc22_6ab22aae945685fc2667611@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gbproxy/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-gbproxy failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gbproxy Last lines of build log: [ 296s] texhash: Updating /usr/local/share/texmf/ls-R... [ 296s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 296s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 296s] texhash: Updating /var/lib/texmf/ls-R... [ 296s] texhash: Done. [ 296s] SIOCSIFADDR: File exists [ 296s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc) [ 296s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 296s] dpkg-source: info: unpacking osmo-gbproxy_0.1.0.18.a4560.202105060026.tar.xz [ 296s] ----------------------------------------------------------------- [ 296s] ----- building osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc (user abuild) [ 297s] ----------------------------------------------------------------- [ 297s] ----------------------------------------------------------------- [ 297s] dpkg-buildpackage: info: source package osmo-gbproxy [ 297s] dpkg-buildpackage: info: source version 1:0.1.0.18.a4560.202105060026 [ 297s] dpkg-buildpackage: info: source distribution UNRELEASED [ 297s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 297s] dpkg-source --before-build BUILD [ 297s] dpkg-buildpackage: info: host architecture amd64 [ 297s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 297s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 297s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 297s] ### VM INTERACTION START ### [ 300s] [ 287.540774] sysrq: Power Off [ 300s] [ 287.559533] reboot: Power down [ 300s] ### VM INTERACTION END ### [ 300s] [ 300s] lamb24 failed "build osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc" at Thu May 6 09:40:34 UTC 2021. [ 300s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:41:01 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:41:01 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <6093b9bb7055c_6ab22aae945685fc2667790@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/Raspbian_9.0/armv7l Package network:osmocom:latest/osmo-hlr failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 421s] texhash: Updating /usr/local/share/texmf/ls-R... [ 421s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 422s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 422s] texhash: Updating /var/lib/texmf/ls-R... [ 422s] texhash: Done. [ 422s] SIOCSIFADDR: File exists [ 422s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.dsc) [ 422s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 422s] dpkg-source: info: unpacking osmo-hlr_1.3.0.tar.xz [ 422s] ----------------------------------------------------------------- [ 422s] ----- building osmo-hlr_1.3.0.dsc (user abuild) [ 422s] ----------------------------------------------------------------- [ 422s] ----------------------------------------------------------------- [ 423s] dpkg-buildpackage: info: source package osmo-hlr [ 423s] dpkg-buildpackage: info: source version 1.3.0 [ 423s] dpkg-buildpackage: info: source distribution unstable [ 423s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 423s] dpkg-source --before-build BUILD [ 423s] dpkg-buildpackage: info: host architecture armhf [ 424s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 424s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 424s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 424s] ### VM INTERACTION START ### [ 427s] [ 399.294419] sysrq: Power Off [ 427s] [ 399.296496] reboot: Power down [ 428s] ### VM INTERACTION END ### [ 428s] [ 428s] armbuild10 failed "build osmo-hlr_1.3.0.dsc" at Thu May 6 09:40:45 UTC 2021. [ 428s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:34:30 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:34:30 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <6093b8337a693_6ab22aae945685fc26635ed@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/Debian_9.0/x86_64 Package network:osmocom:latest/osmo-bts failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 197s] texhash: Updating /usr/local/share/texmf/ls-R... [ 197s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 197s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 197s] texhash: Updating /var/lib/texmf/ls-R... [ 197s] texhash: Done. [ 197s] SIOCSIFADDR: File exists [ 197s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.1.dsc) [ 197s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 197s] dpkg-source: info: unpacking osmo-bts_1.3.1.tar.xz [ 197s] ----------------------------------------------------------------- [ 197s] ----- building osmo-bts_1.3.1.dsc (user abuild) [ 197s] ----------------------------------------------------------------- [ 197s] ----------------------------------------------------------------- [ 198s] dpkg-buildpackage: info: source package osmo-bts [ 198s] dpkg-buildpackage: info: source version 1.3.1 [ 198s] dpkg-buildpackage: info: source distribution unstable [ 198s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 198s] dpkg-source --before-build BUILD [ 198s] dpkg-buildpackage: info: host architecture amd64 [ 198s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 198s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 198s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 198s] ### VM INTERACTION START ### [ 202s] [ 189.778931] sysrq: Power Off [ 202s] [ 189.829588] reboot: Power down [ 202s] ### VM INTERACTION END ### [ 202s] [ 202s] lamb55 failed "build osmo-bts_1.3.1.dsc" at Thu May 6 09:34:28 UTC 2021. [ 202s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:34:30 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:34:30 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6093b833a9531_6ab22aae945685fc26636b3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/osmo-pcu failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 841s] texhash: Updating /usr/local/share/texmf/ls-R... [ 841s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 841s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 841s] texhash: Updating /var/lib/texmf/ls-R... [ 841s] texhash: Done. [ 841s] SIOCSIFADDR: File exists [ 841s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.82.c6dc.202105060026.dsc) [ 841s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 841s] dpkg-source: info: unpacking osmo-pcu_0.9.0.82.c6dc.202105060026.tar.xz [ 841s] ----------------------------------------------------------------- [ 841s] ----- building osmo-pcu_0.9.0.82.c6dc.202105060026.dsc (user abuild) [ 841s] ----------------------------------------------------------------- [ 841s] ----------------------------------------------------------------- [ 842s] dpkg-buildpackage: info: source package osmo-pcu [ 842s] dpkg-buildpackage: info: source version 0.9.0.82.c6dc.202105060026 [ 842s] dpkg-buildpackage: info: source distribution UNRELEASED [ 842s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 842s] dpkg-source --before-build . [ 842s] dpkg-buildpackage: info: host architecture amd64 [ 842s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 842s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 842s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 843s] ### VM INTERACTION START ### [ 844s] Powering off. [ 844s] [ 768.647644] reboot: Power down [ 844s] ### VM INTERACTION END ### [ 844s] [ 844s] old-atreju5 failed "build osmo-pcu_0.9.0.82.c6dc.202105060026.dsc" at Thu May 6 09:34:19 UTC 2021. [ 844s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:42:09 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:42:09 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6093b9f6a071f_6ab22aae945685fc2668332@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/osmo-bts failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 390s] texhash: Updating /usr/local/share/texmf/ls-R... [ 390s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 390s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 390s] texhash: Updating /var/lib/texmf/ls-R... [ 390s] texhash: Done. [ 390s] SIOCSIFADDR: File exists [ 391s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.0.56.9e09.202105060026.dsc) [ 391s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 391s] dpkg-source: info: unpacking osmo-bts_1.3.0.56.9e09.202105060026.tar.xz [ 391s] ----------------------------------------------------------------- [ 391s] ----- building osmo-bts_1.3.0.56.9e09.202105060026.dsc (user abuild) [ 391s] ----------------------------------------------------------------- [ 391s] ----------------------------------------------------------------- [ 391s] dpkg-buildpackage: info: source package osmo-bts [ 391s] dpkg-buildpackage: info: source version 1.3.0.56.9e09.202105060026 [ 391s] dpkg-buildpackage: info: source distribution UNRELEASED [ 391s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 391s] dpkg-source --before-build . [ 391s] dpkg-buildpackage: info: host architecture amd64 [ 392s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 392s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 392s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 392s] ### VM INTERACTION START ### [ 395s] [ 378.919194] sysrq: Power Off [ 395s] [ 378.945605] reboot: Power down [ 395s] ### VM INTERACTION END ### [ 395s] [ 395s] lamb25 failed "build osmo-bts_1.3.0.56.9e09.202105060026.dsc" at Thu May 6 09:42:04 UTC 2021. [ 395s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:42:09 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:42:09 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6093b9f76f84c_6ab22aae945685fc266844e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/osmo-sgsn failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 381s] texhash: Updating /usr/local/share/texmf/ls-R... [ 381s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 381s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 381s] texhash: Updating /var/lib/texmf/ls-R... [ 381s] texhash: Done. [ 382s] SIOCSIFADDR: File exists [ 382s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sgsn_1.7.0.15.8880.202105060026.dsc) [ 382s] dpkg-source: info: extracting osmo-sgsn in /usr/src/packages/BUILD [ 382s] dpkg-source: info: unpacking osmo-sgsn_1.7.0.15.8880.202105060026.tar.xz [ 382s] ----------------------------------------------------------------- [ 382s] ----- building osmo-sgsn_1.7.0.15.8880.202105060026.dsc (user abuild) [ 382s] ----------------------------------------------------------------- [ 382s] ----------------------------------------------------------------- [ 382s] dpkg-buildpackage: info: source package osmo-sgsn [ 382s] dpkg-buildpackage: info: source version 1.7.0.15.8880.202105060026 [ 382s] dpkg-buildpackage: info: source distribution UNRELEASED [ 382s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 382s] dpkg-source --before-build . [ 382s] dpkg-buildpackage: info: host architecture amd64 [ 382s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 382s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 382s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 382s] ### VM INTERACTION START ### [ 383s] Powering off. [ 383s] [ 367.514820] reboot: Power down [ 384s] ### VM INTERACTION END ### [ 384s] [ 384s] lamb08 failed "build osmo-sgsn_1.7.0.15.8880.202105060026.dsc" at Thu May 6 09:41:55 UTC 2021. [ 384s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:42:26 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:42:26 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <6093ba1610267_6ab22aae945685fc26685db@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-pcu failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 150s] texhash: Updating /usr/local/share/texmf/ls-R... [ 150s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 151s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 151s] texhash: Updating /var/lib/texmf/ls-R... [ 151s] texhash: Done. [ 151s] SIOCSIFADDR: File exists [ 151s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.82.c6dc.202105060026.dsc) [ 151s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 151s] dpkg-source: info: unpacking osmo-pcu_0.9.0.82.c6dc.202105060026.tar.xz [ 151s] ----------------------------------------------------------------- [ 151s] ----- building osmo-pcu_0.9.0.82.c6dc.202105060026.dsc (user abuild) [ 151s] ----------------------------------------------------------------- [ 151s] ----------------------------------------------------------------- [ 152s] dpkg-buildpackage: source package osmo-pcu [ 152s] dpkg-buildpackage: source version 0.9.0.82.c6dc.202105060026 [ 152s] dpkg-buildpackage: source distribution UNRELEASED [ 152s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 152s] dpkg-source --before-build BUILD [ 152s] dpkg-buildpackage: host architecture amd64 [ 152s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 152s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 152s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 152s] ### VM INTERACTION START ### [ 153s] Powering off. [ 153s] [ 139.129432] reboot: Power down [ 153s] ### VM INTERACTION END ### [ 153s] [ 153s] cloud128 failed "build osmo-pcu_0.9.0.82.c6dc.202105060026.dsc" at Thu May 6 09:42:23 UTC 2021. [ 153s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:42:26 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:42:26 +0000 Subject: Build failure of network:osmocom:latest/osmo-sgsn in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <6093ba165bc03_6ab22aae945685fc266867f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sgsn/xUbuntu_18.04/i586 Package network:osmocom:latest/osmo-sgsn failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-sgsn Last lines of build log: [ 294s] texhash: Updating /usr/local/share/texmf/ls-R... [ 294s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 294s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 294s] texhash: Updating /var/lib/texmf/ls-R... [ 294s] texhash: Done. [ 294s] SIOCSIFADDR: File exists [ 295s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sgsn_1.7.0.dsc) [ 295s] dpkg-source: info: extracting osmo-sgsn in /usr/src/packages/BUILD [ 295s] dpkg-source: info: unpacking osmo-sgsn_1.7.0.tar.xz [ 295s] ----------------------------------------------------------------- [ 295s] ----- building osmo-sgsn_1.7.0.dsc (user abuild) [ 295s] ----------------------------------------------------------------- [ 295s] ----------------------------------------------------------------- [ 295s] dpkg-buildpackage: info: source package osmo-sgsn [ 295s] dpkg-buildpackage: info: source version 1.7.0 [ 295s] dpkg-buildpackage: info: source distribution unstable [ 295s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 295s] dpkg-source --before-build BUILD [ 295s] dpkg-buildpackage: info: host architecture i386 [ 295s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 295s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 295s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 295s] ### VM INTERACTION START ### [ 299s] [ 286.682028] sysrq: Power Off [ 299s] [ 286.687258] reboot: Power down [ 299s] ### VM INTERACTION END ### [ 299s] [ 299s] old-atreju3 failed "build osmo-sgsn_1.7.0.dsc" at Thu May 6 09:42:25 UTC 2021. [ 299s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:42:43 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:42:43 +0000 Subject: Build failure of network:osmocom:latest/osmo-sgsn in xUbuntu_19.04/i586 In-Reply-To: References: Message-ID: <6093ba17a42_6ab22aae945685fc26687e3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sgsn/xUbuntu_19.04/i586 Package network:osmocom:latest/osmo-sgsn failed to build in xUbuntu_19.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-sgsn Last lines of build log: [ 419s] texhash: Updating /usr/local/share/texmf/ls-R... [ 419s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 419s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 419s] texhash: Updating /var/lib/texmf/ls-R... [ 419s] texhash: Done. [ 419s] SIOCSIFADDR: File exists [ 419s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sgsn_1.7.0.dsc) [ 419s] dpkg-source: info: extracting osmo-sgsn in /usr/src/packages/BUILD [ 419s] dpkg-source: info: unpacking osmo-sgsn_1.7.0.tar.xz [ 419s] ----------------------------------------------------------------- [ 419s] ----- building osmo-sgsn_1.7.0.dsc (user abuild) [ 419s] ----------------------------------------------------------------- [ 419s] ----------------------------------------------------------------- [ 420s] dpkg-buildpackage: info: source package osmo-sgsn [ 420s] dpkg-buildpackage: info: source version 1.7.0 [ 420s] dpkg-buildpackage: info: source distribution unstable [ 420s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 420s] dpkg-source --before-build . [ 420s] dpkg-buildpackage: info: host architecture i386 [ 420s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 420s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 420s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 420s] ### VM INTERACTION START ### [ 423s] [ 384.342284] sysrq: Power Off [ 423s] [ 384.350706] reboot: Power down [ 424s] ### VM INTERACTION END ### [ 424s] [ 424s] lamb02 failed "build osmo-sgsn_1.7.0.dsc" at Thu May 6 09:42:40 UTC 2021. [ 424s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:42:43 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:42:43 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <6093ba17a19d3_6ab22aae945685fc2668840@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/xUbuntu_18.04/i586 Package network:osmocom:latest/osmo-sip-connector failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 311s] texhash: Updating /usr/local/share/texmf/ls-R... [ 311s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 311s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 311s] texhash: Updating /var/lib/texmf/ls-R... [ 311s] texhash: Done. [ 311s] SIOCSIFADDR: File exists [ 311s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.dsc) [ 311s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 311s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.tar.xz [ 311s] ----------------------------------------------------------------- [ 311s] ----- building osmo-sip-connector_1.5.0.dsc (user abuild) [ 311s] ----------------------------------------------------------------- [ 311s] ----------------------------------------------------------------- [ 312s] dpkg-buildpackage: info: source package osmo-sip-connector [ 312s] dpkg-buildpackage: info: source version 1.5.0 [ 312s] dpkg-buildpackage: info: source distribution unstable [ 312s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 312s] dpkg-source --before-build BUILD [ 312s] dpkg-buildpackage: info: host architecture i386 [ 312s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 312s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 312s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 312s] ### VM INTERACTION START ### [ 316s] [ 290.891363] sysrq: Power Off [ 316s] [ 290.909353] reboot: Power down [ 316s] ### VM INTERACTION END ### [ 316s] [ 316s] old-atreju4 failed "build osmo-sip-connector_1.5.0.dsc" at Thu May 6 09:42:36 UTC 2021. [ 316s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:43:00 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:43:00 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <6093ba32ae169_6ab22aae945685fc26692cc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_9.0/x86_64 Package network:osmocom:nightly/osmo-pcu failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 182s] texhash: Updating /usr/local/share/texmf/ls-R... [ 182s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 182s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 182s] texhash: Updating /var/lib/texmf/ls-R... [ 182s] texhash: Done. [ 182s] SIOCSIFADDR: File exists [ 182s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.82.c6dc.202105060026.dsc) [ 182s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 182s] dpkg-source: info: unpacking osmo-pcu_0.9.0.82.c6dc.202105060026.tar.xz [ 182s] ----------------------------------------------------------------- [ 182s] ----- building osmo-pcu_0.9.0.82.c6dc.202105060026.dsc (user abuild) [ 182s] ----------------------------------------------------------------- [ 182s] ----------------------------------------------------------------- [ 183s] dpkg-buildpackage: info: source package osmo-pcu [ 183s] dpkg-buildpackage: info: source version 0.9.0.82.c6dc.202105060026 [ 183s] dpkg-buildpackage: info: source distribution UNRELEASED [ 183s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 183s] dpkg-source --before-build BUILD [ 183s] dpkg-buildpackage: info: host architecture amd64 [ 183s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 183s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 183s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 183s] ### VM INTERACTION START ### [ 186s] [ 169.643076] sysrq: Power Off [ 186s] [ 169.647014] reboot: Power down [ 186s] ### VM INTERACTION END ### [ 186s] [ 186s] cloud115 failed "build osmo-pcu_0.9.0.82.c6dc.202105060026.dsc" at Thu May 6 09:42:53 UTC 2021. [ 186s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:43:00 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:43:00 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <6093ba32ea85f_6ab22aae945685fc2669391@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/Debian_8.0/x86_64 Package network:osmocom:latest/osmo-sip-connector failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 194s] texhash: Updating /usr/local/share/texmf/ls-R... [ 194s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 194s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 194s] texhash: Updating /var/lib/texmf/ls-R... [ 194s] texhash: Done. [ 194s] SIOCSIFADDR: File exists [ 194s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.dsc) [ 194s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 194s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.tar.xz [ 194s] ----------------------------------------------------------------- [ 194s] ----- building osmo-sip-connector_1.5.0.dsc (user abuild) [ 194s] ----------------------------------------------------------------- [ 194s] ----------------------------------------------------------------- [ 195s] dpkg-buildpackage: source package osmo-sip-connector [ 195s] dpkg-buildpackage: source version 1.5.0 [ 195s] dpkg-buildpackage: source distribution unstable [ 195s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 195s] dpkg-source --before-build BUILD [ 195s] dpkg-buildpackage: host architecture amd64 [ 196s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 196s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 196s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 196s] ### VM INTERACTION START ### [ 197s] Powering off. [ 197s] [ 172.916963] reboot: Power down [ 197s] ### VM INTERACTION END ### [ 197s] [ 197s] cloud126 failed "build osmo-sip-connector_1.5.0.dsc" at Thu May 6 09:42:55 UTC 2021. [ 197s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:43:51 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:43:51 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <6093ba7059df2_6ab22aae945685fc266948a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/xUbuntu_18.04/x86_64 Package network:osmocom:latest/osmo-remsim failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 147s] texhash: Updating /usr/local/share/texmf/ls-R... [ 147s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 147s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 147s] texhash: Updating /var/lib/texmf/ls-R... [ 147s] texhash: Done. [ 147s] SIOCSIFADDR: File exists [ 147s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.3.dsc) [ 147s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 147s] dpkg-source: info: unpacking osmo-remsim_0.2.3.tar.gz [ 147s] ----------------------------------------------------------------- [ 147s] ----- building osmo-remsim_0.2.3.dsc (user abuild) [ 147s] ----------------------------------------------------------------- [ 147s] ----------------------------------------------------------------- [ 147s] dpkg-buildpackage: info: source package osmo-remsim [ 147s] dpkg-buildpackage: info: source version 0.2.3 [ 147s] dpkg-buildpackage: info: source distribution unstable [ 147s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 147s] dpkg-source --before-build BUILD [ 147s] dpkg-buildpackage: info: host architecture amd64 [ 147s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 147s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 147s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 147s] ### VM INTERACTION START ### [ 150s] [ 142.082145] sysrq: Power Off [ 150s] [ 142.085943] reboot: Power down [ 150s] ### VM INTERACTION END ### [ 150s] [ 150s] goat07 failed "build osmo-remsim_0.2.3.dsc" at Thu May 6 09:43:44 UTC 2021. [ 150s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:43:51 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:43:51 +0000 Subject: Build failure of network:osmocom:latest/osmo-gbproxy in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <6093ba708dd05_6ab22aae945685fc26695bf@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gbproxy/Debian_9.0/x86_64 Package network:osmocom:latest/osmo-gbproxy failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gbproxy Last lines of build log: [ 135s] texhash: Updating /usr/local/share/texmf/ls-R... [ 135s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 135s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 135s] texhash: Updating /var/lib/texmf/ls-R... [ 135s] texhash: Done. [ 135s] SIOCSIFADDR: File exists [ 136s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.1.dsc) [ 136s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 136s] dpkg-source: info: unpacking osmo-gbproxy_0.1.1.tar.xz [ 136s] ----------------------------------------------------------------- [ 136s] ----- building osmo-gbproxy_0.1.1.dsc (user abuild) [ 136s] ----------------------------------------------------------------- [ 136s] ----------------------------------------------------------------- [ 136s] dpkg-buildpackage: info: source package osmo-gbproxy [ 136s] dpkg-buildpackage: info: source version 1:0.1.1 [ 136s] dpkg-buildpackage: info: source distribution unstable [ 136s] dpkg-buildpackage: info: source changed by Harald Welte [ 136s] dpkg-source --before-build BUILD [ 136s] dpkg-buildpackage: info: host architecture amd64 [ 136s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 136s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 136s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 136s] ### VM INTERACTION START ### [ 139s] [ 128.833945] sysrq: Power Off [ 139s] [ 128.837268] reboot: Power down [ 139s] ### VM INTERACTION END ### [ 139s] [ 139s] sheep86 failed "build osmo-gbproxy_0.1.1.dsc" at Thu May 6 09:43:36 UTC 2021. [ 139s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:44:08 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:44:08 +0000 Subject: Build failure of network:osmocom:latest/osmo-gbproxy in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <6093ba71f0cbe_6ab22aae945685fc2669827@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gbproxy/xUbuntu_19.10/x86_64 Package network:osmocom:latest/osmo-gbproxy failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gbproxy Last lines of build log: [ 164s] texhash: Updating /usr/local/share/texmf/ls-R... [ 164s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 164s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 164s] texhash: Updating /var/lib/texmf/ls-R... [ 164s] texhash: Done. [ 165s] SIOCSIFADDR: File exists [ 165s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.1.dsc) [ 165s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 165s] dpkg-source: info: unpacking osmo-gbproxy_0.1.1.tar.xz [ 165s] ----------------------------------------------------------------- [ 165s] ----- building osmo-gbproxy_0.1.1.dsc (user abuild) [ 165s] ----------------------------------------------------------------- [ 165s] ----------------------------------------------------------------- [ 165s] dpkg-buildpackage: info: source package osmo-gbproxy [ 165s] dpkg-buildpackage: info: source version 1:0.1.1 [ 165s] dpkg-buildpackage: info: source distribution unstable [ 165s] dpkg-buildpackage: info: source changed by Harald Welte [ 165s] dpkg-source --before-build . [ 165s] dpkg-buildpackage: info: host architecture amd64 [ 165s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 165s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 165s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 165s] ### VM INTERACTION START ### [ 168s] [ 161.417255] sysrq: Power Off [ 168s] [ 161.421055] reboot: Power down [ 168s] ### VM INTERACTION END ### [ 168s] [ 168s] goat01 failed "build osmo-gbproxy_0.1.1.dsc" at Thu May 6 09:44:02 UTC 2021. [ 168s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:44:25 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:44:25 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <6093ba8c165f2_6ab22aae945685fc26700df@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/Debian_9.0/x86_64 Package network:osmocom:latest/osmo-sip-connector failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 166s] texhash: Updating /usr/local/share/texmf/ls-R... [ 166s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 166s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 166s] texhash: Updating /var/lib/texmf/ls-R... [ 166s] texhash: Done. [ 166s] SIOCSIFADDR: File exists [ 166s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.dsc) [ 166s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 166s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.tar.xz [ 167s] ----------------------------------------------------------------- [ 167s] ----- building osmo-sip-connector_1.5.0.dsc (user abuild) [ 167s] ----------------------------------------------------------------- [ 167s] ----------------------------------------------------------------- [ 167s] dpkg-buildpackage: info: source package osmo-sip-connector [ 167s] dpkg-buildpackage: info: source version 1.5.0 [ 167s] dpkg-buildpackage: info: source distribution unstable [ 167s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 167s] dpkg-source --before-build BUILD [ 167s] dpkg-buildpackage: info: host architecture amd64 [ 167s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 167s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 167s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 167s] ### VM INTERACTION START ### [ 170s] [ 156.433587] sysrq: Power Off [ 170s] [ 156.438771] reboot: Power down [ 170s] ### VM INTERACTION END ### [ 170s] [ 170s] old-cirrus1 failed "build osmo-sip-connector_1.5.0.dsc" at Thu May 6 09:44:09 UTC 2021. [ 170s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:44:42 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:44:42 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <6093ba8cdcad7_6ab22aae945685fc267026@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/Debian_8.0/x86_64 Package network:osmocom:latest/osmo-bts failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 186s] texhash: Updating /usr/local/share/texmf/ls-R... [ 186s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 186s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 187s] texhash: Updating /var/lib/texmf/ls-R... [ 187s] texhash: Done. [ 187s] SIOCSIFADDR: File exists [ 187s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.1.dsc) [ 187s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 187s] dpkg-source: info: unpacking osmo-bts_1.3.1.tar.xz [ 187s] ----------------------------------------------------------------- [ 187s] ----- building osmo-bts_1.3.1.dsc (user abuild) [ 187s] ----------------------------------------------------------------- [ 187s] ----------------------------------------------------------------- [ 187s] dpkg-buildpackage: source package osmo-bts [ 187s] dpkg-buildpackage: source version 1.3.1 [ 187s] dpkg-buildpackage: source distribution unstable [ 187s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 187s] dpkg-source --before-build BUILD [ 187s] dpkg-buildpackage: host architecture amd64 [ 188s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 188s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 188s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 188s] ### VM INTERACTION START ### [ 189s] Powering off. [ 189s] [ 178.277756] reboot: Power down [ 189s] ### VM INTERACTION END ### [ 189s] [ 189s] lamb22 failed "build osmo-bts_1.3.1.dsc" at Thu May 6 09:44:31 UTC 2021. [ 189s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:44:42 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:44:42 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6093ba8d1e6ad_6ab22aae945685fc26703dd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/xUbuntu_20.10/x86_64 Package network:osmocom:latest/osmo-sip-connector failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 425s] texhash: Updating /usr/local/share/texmf/ls-R... [ 425s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 425s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 425s] texhash: Updating /var/lib/texmf/ls-R... [ 425s] texhash: Done. [ 425s] SIOCSIFADDR: File exists [ 426s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.dsc) [ 426s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 426s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.tar.xz [ 426s] ----------------------------------------------------------------- [ 426s] ----- building osmo-sip-connector_1.5.0.dsc (user abuild) [ 426s] ----------------------------------------------------------------- [ 426s] ----------------------------------------------------------------- [ 426s] dpkg-buildpackage: info: source package osmo-sip-connector [ 426s] dpkg-buildpackage: info: source version 1.5.0 [ 426s] dpkg-buildpackage: info: source distribution unstable [ 426s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 426s] dpkg-source --before-build . [ 426s] dpkg-buildpackage: info: host architecture amd64 [ 426s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 426s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 426s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 426s] ### VM INTERACTION START ### [ 427s] Powering off. [ 427s] [ 410.922157] reboot: Power down [ 428s] ### VM INTERACTION END ### [ 428s] [ 428s] lamb60 failed "build osmo-sip-connector_1.5.0.dsc" at Thu May 6 09:44:32 UTC 2021. [ 428s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:45:33 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:45:33 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6093bac7267d9_6ab22aae945685fc26707ac@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/xUbuntu_20.04/x86_64 Package network:osmocom:latest/osmo-sip-connector failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 247s] texhash: Updating /usr/local/share/texmf/ls-R... [ 247s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 247s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 247s] texhash: Updating /var/lib/texmf/ls-R... [ 247s] texhash: Done. [ 247s] SIOCSIFADDR: File exists [ 247s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.dsc) [ 247s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 247s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.tar.xz [ 247s] ----------------------------------------------------------------- [ 247s] ----- building osmo-sip-connector_1.5.0.dsc (user abuild) [ 247s] ----------------------------------------------------------------- [ 247s] ----------------------------------------------------------------- [ 247s] dpkg-buildpackage: info: source package osmo-sip-connector [ 247s] dpkg-buildpackage: info: source version 1.5.0 [ 247s] dpkg-buildpackage: info: source distribution unstable [ 247s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 247s] dpkg-source --before-build . [ 247s] dpkg-buildpackage: info: host architecture amd64 [ 248s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 248s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 248s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 248s] ### VM INTERACTION START ### [ 251s] [ 238.032633] sysrq: Power Off [ 251s] [ 238.036769] reboot: Power down [ 251s] ### VM INTERACTION END ### [ 251s] [ 251s] sheep85 failed "build osmo-sip-connector_1.5.0.dsc" at Thu May 6 09:45:29 UTC 2021. [ 251s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:45:33 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:45:33 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <6093bac79d36b_6ab22aae945685fc267098e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/xUbuntu_18.04/x86_64 Package network:osmocom:latest/osmo-sip-connector failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 246s] texhash: Updating /usr/local/share/texmf/ls-R... [ 246s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 246s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 246s] texhash: Updating /var/lib/texmf/ls-R... [ 246s] texhash: Done. [ 246s] SIOCSIFADDR: File exists [ 246s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.dsc) [ 246s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 246s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.tar.xz [ 246s] ----------------------------------------------------------------- [ 246s] ----- building osmo-sip-connector_1.5.0.dsc (user abuild) [ 246s] ----------------------------------------------------------------- [ 246s] ----------------------------------------------------------------- [ 247s] dpkg-buildpackage: info: source package osmo-sip-connector [ 247s] dpkg-buildpackage: info: source version 1.5.0 [ 247s] dpkg-buildpackage: info: source distribution unstable [ 247s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 247s] dpkg-source --before-build BUILD [ 247s] dpkg-buildpackage: info: host architecture amd64 [ 247s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 247s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 247s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 247s] ### VM INTERACTION START ### [ 250s] [ 236.151536] sysrq: Power Off [ 250s] [ 236.159690] reboot: Power down [ 250s] ### VM INTERACTION END ### [ 250s] [ 250s] lamb12 failed "build osmo-sip-connector_1.5.0.dsc" at Thu May 6 09:45:31 UTC 2021. [ 250s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:45:50 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:45:50 +0000 Subject: Build failure of network:osmocom:latest/osmo-sgsn in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6093bae662b7f_6ab22aae945685fc2671171@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sgsn/xUbuntu_20.10/x86_64 Package network:osmocom:latest/osmo-sgsn failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sgsn Last lines of build log: [ 270s] texhash: Updating /usr/local/share/texmf/ls-R... [ 270s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 270s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 270s] texhash: Updating /var/lib/texmf/ls-R... [ 270s] texhash: Done. [ 270s] SIOCSIFADDR: File exists [ 270s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sgsn_1.7.0.dsc) [ 270s] dpkg-source: info: extracting osmo-sgsn in /usr/src/packages/BUILD [ 270s] dpkg-source: info: unpacking osmo-sgsn_1.7.0.tar.xz [ 270s] ----------------------------------------------------------------- [ 270s] ----- building osmo-sgsn_1.7.0.dsc (user abuild) [ 270s] ----------------------------------------------------------------- [ 270s] ----------------------------------------------------------------- [ 271s] dpkg-buildpackage: info: source package osmo-sgsn [ 271s] dpkg-buildpackage: info: source version 1.7.0 [ 271s] dpkg-buildpackage: info: source distribution unstable [ 271s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 271s] dpkg-source --before-build . [ 271s] dpkg-buildpackage: info: host architecture amd64 [ 271s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 271s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 271s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 271s] ### VM INTERACTION START ### [ 272s] Powering off. [ 272s] [ 258.440153] reboot: Power down [ 272s] ### VM INTERACTION END ### [ 272s] [ 272s] sheep87 failed "build osmo-sgsn_1.7.0.dsc" at Thu May 6 09:45:47 UTC 2021. [ 272s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:45:50 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:45:50 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <6093bae622b0_6ab22aae945685fc26710be@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/xUbuntu_19.04/x86_64 Package network:osmocom:latest/osmo-pcu failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 251s] texhash: Updating /usr/local/share/texmf/ls-R... [ 251s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 251s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 251s] texhash: Updating /var/lib/texmf/ls-R... [ 251s] texhash: Done. [ 251s] SIOCSIFADDR: File exists [ 251s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.dsc) [ 251s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 251s] dpkg-source: info: unpacking osmo-pcu_0.9.0.tar.xz [ 252s] ----------------------------------------------------------------- [ 252s] ----- building osmo-pcu_0.9.0.dsc (user abuild) [ 252s] ----------------------------------------------------------------- [ 252s] ----------------------------------------------------------------- [ 252s] dpkg-buildpackage: info: source package osmo-pcu [ 252s] dpkg-buildpackage: info: source version 0.9.0 [ 252s] dpkg-buildpackage: info: source distribution unstable [ 252s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 252s] dpkg-source --before-build . [ 252s] dpkg-buildpackage: info: host architecture amd64 [ 252s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 252s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 252s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 252s] ### VM INTERACTION START ### [ 255s] [ 243.038721] sysrq: Power Off [ 255s] [ 243.045872] reboot: Power down [ 255s] ### VM INTERACTION END ### [ 255s] [ 255s] lamb17 failed "build osmo-pcu_0.9.0.dsc" at Thu May 6 09:45:36 UTC 2021. [ 255s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:45:50 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:45:50 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <6093bae6a4203_6ab22aae945685fc267125a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-bts failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 243s] texhash: Updating /usr/local/share/texmf/ls-R... [ 243s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 243s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 243s] texhash: Updating /var/lib/texmf/ls-R... [ 243s] texhash: Done. [ 243s] SIOCSIFADDR: File exists [ 244s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.0.56.9e09.202105060026.dsc) [ 244s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 244s] dpkg-source: info: unpacking osmo-bts_1.3.0.56.9e09.202105060026.tar.xz [ 244s] ----------------------------------------------------------------- [ 244s] ----- building osmo-bts_1.3.0.56.9e09.202105060026.dsc (user abuild) [ 244s] ----------------------------------------------------------------- [ 244s] ----------------------------------------------------------------- [ 244s] dpkg-buildpackage: info: source package osmo-bts [ 244s] dpkg-buildpackage: info: source version 1.3.0.56.9e09.202105060026 [ 244s] dpkg-buildpackage: info: source distribution UNRELEASED [ 244s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 244s] dpkg-source --before-build BUILD [ 244s] dpkg-buildpackage: info: host architecture amd64 [ 244s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 244s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 244s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 244s] ### VM INTERACTION START ### [ 247s] [ 235.507739] sysrq: Power Off [ 247s] [ 235.515388] reboot: Power down [ 248s] ### VM INTERACTION END ### [ 248s] [ 248s] lamb16 failed "build osmo-bts_1.3.0.56.9e09.202105060026.dsc" at Thu May 6 09:45:41 UTC 2021. [ 248s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:45:50 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:45:50 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <6093bae6de108_6ab22aae945685fc267139e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/xUbuntu_19.04/x86_64 Package network:osmocom:latest/osmo-sip-connector failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 250s] texhash: Updating /usr/local/share/texmf/ls-R... [ 250s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 251s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 251s] texhash: Updating /var/lib/texmf/ls-R... [ 251s] texhash: Done. [ 251s] SIOCSIFADDR: File exists [ 251s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.dsc) [ 251s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 251s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.tar.xz [ 251s] ----------------------------------------------------------------- [ 251s] ----- building osmo-sip-connector_1.5.0.dsc (user abuild) [ 251s] ----------------------------------------------------------------- [ 251s] ----------------------------------------------------------------- [ 251s] dpkg-buildpackage: info: source package osmo-sip-connector [ 251s] dpkg-buildpackage: info: source version 1.5.0 [ 251s] dpkg-buildpackage: info: source distribution unstable [ 251s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 251s] dpkg-source --before-build . [ 251s] dpkg-buildpackage: info: host architecture amd64 [ 251s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 251s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 251s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 251s] ### VM INTERACTION START ### [ 255s] [ 240.597193] sysrq: Power Off [ 255s] [ 240.601424] reboot: Power down [ 255s] ### VM INTERACTION END ### [ 255s] [ 255s] old-cirrus3 failed "build osmo-sip-connector_1.5.0.dsc" at Thu May 6 09:45:34 UTC 2021. [ 255s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:46:07 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:46:07 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <6093bae7dad50_6ab22aae945685fc2671613@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/xUbuntu_19.10/x86_64 Package network:osmocom:latest/osmo-sip-connector failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 282s] texhash: Updating /usr/local/share/texmf/ls-R... [ 282s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 282s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 282s] texhash: Updating /var/lib/texmf/ls-R... [ 282s] texhash: Done. [ 282s] SIOCSIFADDR: File exists [ 283s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.dsc) [ 283s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 283s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.tar.xz [ 283s] ----------------------------------------------------------------- [ 283s] ----- building osmo-sip-connector_1.5.0.dsc (user abuild) [ 283s] ----------------------------------------------------------------- [ 283s] ----------------------------------------------------------------- [ 283s] dpkg-buildpackage: info: source package osmo-sip-connector [ 283s] dpkg-buildpackage: info: source version 1.5.0 [ 283s] dpkg-buildpackage: info: source distribution unstable [ 283s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 283s] dpkg-source --before-build . [ 283s] dpkg-buildpackage: info: host architecture amd64 [ 283s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 283s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 283s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 283s] ### VM INTERACTION START ### [ 286s] [ 272.858819] sysrq: Power Off [ 286s] [ 272.866302] reboot: Power down [ 286s] ### VM INTERACTION END ### [ 286s] [ 286s] lamb18 failed "build osmo-sip-connector_1.5.0.dsc" at Thu May 6 09:46:06 UTC 2021. [ 286s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:46:07 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:46:07 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <6093bae81cecf_6ab22aae945685fc2671773@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-pcu failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 273s] texhash: Updating /usr/local/share/texmf/ls-R... [ 273s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 273s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 273s] texhash: Updating /var/lib/texmf/ls-R... [ 273s] texhash: Done. [ 273s] SIOCSIFADDR: File exists [ 273s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.dsc) [ 273s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 273s] dpkg-source: info: unpacking osmo-pcu_0.9.0.tar.xz [ 273s] ----------------------------------------------------------------- [ 273s] ----- building osmo-pcu_0.9.0.dsc (user abuild) [ 273s] ----------------------------------------------------------------- [ 273s] ----------------------------------------------------------------- [ 273s] dpkg-buildpackage: info: source package osmo-pcu [ 273s] dpkg-buildpackage: info: source version 0.9.0 [ 273s] dpkg-buildpackage: info: source distribution unstable [ 273s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 273s] dpkg-source --before-build . [ 273s] dpkg-buildpackage: info: host architecture amd64 [ 274s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 274s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 274s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 274s] ### VM INTERACTION START ### [ 275s] Powering off. [ 275s] [ 259.049278] reboot: Power down [ 275s] ### VM INTERACTION END ### [ 275s] [ 275s] sheep85 failed "build osmo-pcu_0.9.0.dsc" at Thu May 6 09:45:51 UTC 2021. [ 275s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:46:07 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:46:07 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in xUbuntu_19.04/i586 In-Reply-To: References: Message-ID: <6093bae8e4cab_6ab22aae945685fc26719d1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/xUbuntu_19.04/i586 Package network:osmocom:latest/osmo-sip-connector failed to build in xUbuntu_19.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 619s] texhash: Updating /usr/local/share/texmf/ls-R... [ 619s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 619s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 619s] texhash: Updating /var/lib/texmf/ls-R... [ 619s] texhash: Done. [ 619s] SIOCSIFADDR: File exists [ 620s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.dsc) [ 620s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 620s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.tar.xz [ 620s] ----------------------------------------------------------------- [ 620s] ----- building osmo-sip-connector_1.5.0.dsc (user abuild) [ 620s] ----------------------------------------------------------------- [ 620s] ----------------------------------------------------------------- [ 620s] dpkg-buildpackage: info: source package osmo-sip-connector [ 620s] dpkg-buildpackage: info: source version 1.5.0 [ 620s] dpkg-buildpackage: info: source distribution unstable [ 620s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 620s] dpkg-source --before-build . [ 620s] dpkg-buildpackage: info: host architecture i386 [ 620s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 620s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 620s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 620s] ### VM INTERACTION START ### [ 623s] [ 602.895571] sysrq: Power Off [ 624s] [ 602.950805] reboot: Power down [ 624s] ### VM INTERACTION END ### [ 624s] [ 624s] lamb59 failed "build osmo-sip-connector_1.5.0.dsc" at Thu May 6 09:45:57 UTC 2021. [ 624s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:46:07 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:46:07 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <6093bae92939d_6ab22aae945685fc26720b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-bts failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 265s] texhash: Updating /usr/local/share/texmf/ls-R... [ 265s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 265s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 265s] texhash: Updating /var/lib/texmf/ls-R... [ 265s] texhash: Done. [ 265s] SIOCSIFADDR: File exists [ 265s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.1.dsc) [ 265s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 265s] dpkg-source: info: unpacking osmo-bts_1.3.1.tar.xz [ 265s] ----------------------------------------------------------------- [ 265s] ----- building osmo-bts_1.3.1.dsc (user abuild) [ 265s] ----------------------------------------------------------------- [ 265s] ----------------------------------------------------------------- [ 265s] dpkg-buildpackage: info: source package osmo-bts [ 265s] dpkg-buildpackage: info: source version 1.3.1 [ 265s] dpkg-buildpackage: info: source distribution unstable [ 265s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 265s] dpkg-source --before-build . [ 265s] dpkg-buildpackage: info: host architecture amd64 [ 266s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 266s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 266s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 266s] ### VM INTERACTION START ### [ 267s] Powering off. [ 267s] [ 251.545144] reboot: Power down [ 267s] ### VM INTERACTION END ### [ 267s] [ 267s] hci-cnode1-m0 failed "build osmo-bts_1.3.1.dsc" at Thu May 6 09:45:50 UTC 2021. [ 267s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:46:24 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:46:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sip-connector in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <6093bb02901da_6ab22aae945685fc267228d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sip-connector/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-sip-connector failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sip-connector Last lines of build log: [ 145s] texhash: Updating /usr/local/share/texmf/ls-R... [ 145s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 145s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 145s] texhash: Updating /var/lib/texmf/ls-R... [ 145s] texhash: Done. [ 145s] SIOCSIFADDR: File exists [ 145s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.202105060026.dsc) [ 145s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 145s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.202105060026.tar.xz [ 145s] ----------------------------------------------------------------- [ 145s] ----- building osmo-sip-connector_1.5.0.202105060026.dsc (user abuild) [ 145s] ----------------------------------------------------------------- [ 145s] ----------------------------------------------------------------- [ 146s] dpkg-buildpackage: source package osmo-sip-connector [ 146s] dpkg-buildpackage: source version 1.5.0.202105060026 [ 146s] dpkg-buildpackage: source distribution UNRELEASED [ 146s] dpkg-buildpackage: source changed by Pau Espin Pedrol [ 146s] dpkg-source --before-build BUILD [ 146s] dpkg-buildpackage: host architecture amd64 [ 146s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 146s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 146s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 146s] ### VM INTERACTION START ### [ 148s] Powering off. [ 148s] [ 136.697056] reboot: Power down [ 148s] ### VM INTERACTION END ### [ 148s] [ 148s] lamb14 failed "build osmo-sip-connector_1.5.0.202105060026.dsc" at Thu May 6 09:46:07 UTC 2021. [ 148s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:46:41 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:46:41 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sip-connector in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <6093bb0347b5f_6ab22aae945685fc26723c6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sip-connector/Debian_9.0/x86_64 Package network:osmocom:nightly/osmo-sip-connector failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sip-connector Last lines of build log: [ 174s] texhash: Updating /usr/local/share/texmf/ls-R... [ 175s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 175s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 175s] texhash: Updating /var/lib/texmf/ls-R... [ 175s] texhash: Done. [ 175s] SIOCSIFADDR: File exists [ 175s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.202105060026.dsc) [ 175s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 175s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.202105060026.tar.xz [ 175s] ----------------------------------------------------------------- [ 175s] ----- building osmo-sip-connector_1.5.0.202105060026.dsc (user abuild) [ 175s] ----------------------------------------------------------------- [ 175s] ----------------------------------------------------------------- [ 175s] dpkg-buildpackage: info: source package osmo-sip-connector [ 175s] dpkg-buildpackage: info: source version 1.5.0.202105060026 [ 175s] dpkg-buildpackage: info: source distribution UNRELEASED [ 175s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 175s] dpkg-source --before-build BUILD [ 175s] dpkg-buildpackage: info: host architecture amd64 [ 175s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 175s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 175s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 176s] ### VM INTERACTION START ### [ 179s] [ 165.175975] sysrq: Power Off [ 179s] [ 165.181161] reboot: Power down [ 179s] ### VM INTERACTION END ### [ 179s] [ 179s] lamb20 failed "build osmo-sip-connector_1.5.0.202105060026.dsc" at Thu May 6 09:46:38 UTC 2021. [ 179s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:46:41 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:46:41 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6093bb03ad64a_6ab22aae945685fc26724aa@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/xUbuntu_20.04/x86_64 Package network:osmocom:latest/osmo-bts failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 543s] texhash: Updating /usr/local/share/texmf/ls-R... [ 543s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 543s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 543s] texhash: Updating /var/lib/texmf/ls-R... [ 543s] texhash: Done. [ 543s] SIOCSIFADDR: File exists [ 543s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.1.dsc) [ 543s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 543s] dpkg-source: info: unpacking osmo-bts_1.3.1.tar.xz [ 543s] ----------------------------------------------------------------- [ 543s] ----- building osmo-bts_1.3.1.dsc (user abuild) [ 543s] ----------------------------------------------------------------- [ 543s] ----------------------------------------------------------------- [ 544s] dpkg-buildpackage: info: source package osmo-bts [ 544s] dpkg-buildpackage: info: source version 1.3.1 [ 544s] dpkg-buildpackage: info: source distribution unstable [ 544s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 544s] dpkg-source --before-build . [ 544s] dpkg-buildpackage: info: host architecture amd64 [ 544s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 544s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 544s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 544s] ### VM INTERACTION START ### [ 547s] [ 518.504411] sysrq: Power Off [ 547s] [ 518.512800] reboot: Power down [ 547s] ### VM INTERACTION END ### [ 547s] [ 547s] lamb26 failed "build osmo-bts_1.3.1.dsc" at Thu May 6 09:46:33 UTC 2021. [ 547s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:46:58 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:46:58 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <6093bb2279b58_6ab22aae945685fc26725b2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/Debian_9.0/aarch64 Package network:osmocom:latest/osmo-remsim failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 281s] texhash: Updating /usr/local/share/texmf/ls-R... [ 281s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 281s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 281s] texhash: Updating /var/lib/texmf/ls-R... [ 281s] texhash: Done. [ 281s] SIOCSIFADDR: File exists [ 282s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.3.dsc) [ 282s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 282s] dpkg-source: info: unpacking osmo-remsim_0.2.3.tar.gz [ 282s] ----------------------------------------------------------------- [ 282s] ----- building osmo-remsim_0.2.3.dsc (user abuild) [ 282s] ----------------------------------------------------------------- [ 282s] ----------------------------------------------------------------- [ 282s] dpkg-buildpackage: info: source package osmo-remsim [ 282s] dpkg-buildpackage: info: source version 0.2.3 [ 282s] dpkg-buildpackage: info: source distribution unstable [ 282s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 283s] dpkg-source --before-build BUILD [ 283s] dpkg-buildpackage: info: host architecture arm64 [ 283s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 283s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 283s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 283s] ### VM INTERACTION START ### [ 286s] [ 250.076026] sysrq: Power Off [ 286s] [ 250.077109] reboot: Power down [ 287s] ### VM INTERACTION END ### [ 287s] [ 287s] obs-arm-9 failed "build osmo-remsim_0.2.3.dsc" at Thu May 6 09:46:54 UTC 2021. [ 287s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:47:15 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:47:15 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <6093bb422895c_6ab22aae945685fc267288@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/osmo-bts failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 329s] texhash: Updating /usr/local/share/texmf/ls-R... [ 329s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 329s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 329s] texhash: Updating /var/lib/texmf/ls-R... [ 329s] texhash: Done. [ 329s] SIOCSIFADDR: File exists [ 329s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.0.56.9e09.202105060026.dsc) [ 329s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 329s] dpkg-source: info: unpacking osmo-bts_1.3.0.56.9e09.202105060026.tar.xz [ 329s] ----------------------------------------------------------------- [ 329s] ----- building osmo-bts_1.3.0.56.9e09.202105060026.dsc (user abuild) [ 329s] ----------------------------------------------------------------- [ 329s] ----------------------------------------------------------------- [ 330s] dpkg-buildpackage: info: source package osmo-bts [ 330s] dpkg-buildpackage: info: source version 1.3.0.56.9e09.202105060026 [ 330s] dpkg-buildpackage: info: source distribution UNRELEASED [ 330s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 330s] dpkg-source --before-build . [ 330s] dpkg-buildpackage: info: host architecture amd64 [ 330s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 330s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 330s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 330s] ### VM INTERACTION START ### [ 333s] [ 310.962579] sysrq: Power Off [ 333s] [ 310.969477] reboot: Power down [ 333s] ### VM INTERACTION END ### [ 333s] [ 333s] lamb07 failed "build osmo-bts_1.3.0.56.9e09.202105060026.dsc" at Thu May 6 09:47:07 UTC 2021. [ 333s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:48:40 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:48:40 +0000 Subject: Build failure of network:osmocom:latest/osmo-gbproxy in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <6093bb7fedbb6_6ab22aae945685fc26737ac@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gbproxy/Debian_8.0/x86_64 Package network:osmocom:latest/osmo-gbproxy failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gbproxy Last lines of build log: [ 77s] texhash: Updating /usr/local/share/texmf/ls-R... [ 77s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 77s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 77s] texhash: Updating /var/lib/texmf/ls-R... [ 77s] texhash: Done. [ 77s] SIOCSIFADDR: File exists [ 77s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.1.dsc) [ 77s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 77s] dpkg-source: info: unpacking osmo-gbproxy_0.1.1.tar.xz [ 77s] ----------------------------------------------------------------- [ 77s] ----- building osmo-gbproxy_0.1.1.dsc (user abuild) [ 77s] ----------------------------------------------------------------- [ 77s] ----------------------------------------------------------------- [ 78s] dpkg-buildpackage: source package osmo-gbproxy [ 78s] dpkg-buildpackage: source version 1:0.1.1 [ 78s] dpkg-buildpackage: source distribution unstable [ 78s] dpkg-buildpackage: source changed by Harald Welte [ 78s] dpkg-source --before-build BUILD [ 78s] dpkg-buildpackage: host architecture amd64 [ 78s] dpkg-checkbuilddeps: Unmet build dependencies: dh-systemd (>= 1.5) [ 78s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 78s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 78s] ### VM INTERACTION START ### [ 79s] Powering off. [ 79s] [ 73.545001] reboot: Power down [ 79s] ### VM INTERACTION END ### [ 79s] [ 79s] goat19 failed "build osmo-gbproxy_0.1.1.dsc" at Thu May 6 09:48:31 UTC 2021. [ 79s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:49:31 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:49:31 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <6093bbb8da247_6ab22aae945685fc267400@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/osmo-bts failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 341s] texhash: Updating /usr/local/share/texmf/ls-R... [ 341s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 341s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 341s] texhash: Updating /var/lib/texmf/ls-R... [ 341s] texhash: Done. [ 341s] SIOCSIFADDR: File exists [ 341s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.0.56.9e09.202105060026.dsc) [ 341s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 341s] dpkg-source: info: unpacking osmo-bts_1.3.0.56.9e09.202105060026.tar.xz [ 341s] ----------------------------------------------------------------- [ 341s] ----- building osmo-bts_1.3.0.56.9e09.202105060026.dsc (user abuild) [ 341s] ----------------------------------------------------------------- [ 341s] ----------------------------------------------------------------- [ 342s] dpkg-buildpackage: info: source package osmo-bts [ 342s] dpkg-buildpackage: info: source version 1.3.0.56.9e09.202105060026 [ 342s] dpkg-buildpackage: info: source distribution UNRELEASED [ 342s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 342s] dpkg-source --before-build . [ 342s] dpkg-buildpackage: info: host architecture amd64 [ 342s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 342s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 342s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 342s] ### VM INTERACTION START ### [ 346s] [ 325.684757] sysrq: Power Off [ 346s] [ 325.708469] reboot: Power down [ 346s] ### VM INTERACTION END ### [ 346s] [ 346s] lamb26 failed "build osmo-bts_1.3.0.56.9e09.202105060026.dsc" at Thu May 6 09:49:28 UTC 2021. [ 346s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:49:48 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:49:48 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gbproxy in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6093bbd85e5a2_6ab22aae945685fc26741c4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gbproxy/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/osmo-gbproxy failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gbproxy Last lines of build log: [ 359s] texhash: Updating /usr/local/share/texmf/ls-R... [ 359s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 359s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 359s] texhash: Updating /var/lib/texmf/ls-R... [ 359s] texhash: Done. [ 359s] SIOCSIFADDR: File exists [ 359s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc) [ 359s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 359s] dpkg-source: info: unpacking osmo-gbproxy_0.1.0.18.a4560.202105060026.tar.xz [ 359s] ----------------------------------------------------------------- [ 359s] ----- building osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc (user abuild) [ 359s] ----------------------------------------------------------------- [ 359s] ----------------------------------------------------------------- [ 360s] dpkg-buildpackage: info: source package osmo-gbproxy [ 360s] dpkg-buildpackage: info: source version 1:0.1.0.18.a4560.202105060026 [ 360s] dpkg-buildpackage: info: source distribution UNRELEASED [ 360s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 360s] dpkg-source --before-build . [ 360s] dpkg-buildpackage: info: host architecture amd64 [ 360s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 360s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 360s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 360s] ### VM INTERACTION START ### [ 363s] [ 348.511711] sysrq: Power Off [ 363s] [ 348.517592] reboot: Power down [ 363s] ### VM INTERACTION END ### [ 363s] [ 363s] lamb60 failed "build osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc" at Thu May 6 09:49:47 UTC 2021. [ 363s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:49:48 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:49:48 +0000 Subject: Build failure of network:osmocom:latest/osmo-sgsn in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <6093bbd8a6bd3_6ab22aae945685fc267428a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sgsn/xUbuntu_19.04/x86_64 Package network:osmocom:latest/osmo-sgsn failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sgsn Last lines of build log: [ 133s] texhash: Updating /usr/local/share/texmf/ls-R... [ 133s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 133s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 133s] texhash: Updating /var/lib/texmf/ls-R... [ 133s] texhash: Done. [ 133s] SIOCSIFADDR: File exists [ 133s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sgsn_1.7.0.dsc) [ 133s] dpkg-source: info: extracting osmo-sgsn in /usr/src/packages/BUILD [ 133s] dpkg-source: info: unpacking osmo-sgsn_1.7.0.tar.xz [ 133s] ----------------------------------------------------------------- [ 133s] ----- building osmo-sgsn_1.7.0.dsc (user abuild) [ 133s] ----------------------------------------------------------------- [ 133s] ----------------------------------------------------------------- [ 134s] dpkg-buildpackage: info: source package osmo-sgsn [ 134s] dpkg-buildpackage: info: source version 1.7.0 [ 134s] dpkg-buildpackage: info: source distribution unstable [ 134s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 134s] dpkg-source --before-build . [ 134s] dpkg-buildpackage: info: host architecture amd64 [ 134s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 134s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 134s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 134s] ### VM INTERACTION START ### [ 137s] [ 129.565485] sysrq: Power Off [ 137s] [ 129.568034] reboot: Power down [ 137s] ### VM INTERACTION END ### [ 137s] [ 137s] goat17 failed "build osmo-sgsn_1.7.0.dsc" at Thu May 6 09:49:32 UTC 2021. [ 137s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:49:48 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:49:48 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <6093bbd8d3e94_6ab22aae945685fc26743e9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/Debian_9.0/x86_64 Package network:osmocom:latest/osmo-remsim failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 124s] texhash: Updating /usr/local/share/texmf/ls-R... [ 124s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 124s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 124s] texhash: Updating /var/lib/texmf/ls-R... [ 124s] texhash: Done. [ 125s] SIOCSIFADDR: File exists [ 125s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.3.dsc) [ 125s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 125s] dpkg-source: info: unpacking osmo-remsim_0.2.3.tar.gz [ 125s] ----------------------------------------------------------------- [ 125s] ----- building osmo-remsim_0.2.3.dsc (user abuild) [ 125s] ----------------------------------------------------------------- [ 125s] ----------------------------------------------------------------- [ 125s] dpkg-buildpackage: info: source package osmo-remsim [ 125s] dpkg-buildpackage: info: source version 0.2.3 [ 125s] dpkg-buildpackage: info: source distribution unstable [ 125s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 125s] dpkg-source --before-build BUILD [ 125s] dpkg-buildpackage: info: host architecture amd64 [ 125s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 125s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 125s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 125s] ### VM INTERACTION START ### [ 128s] [ 117.994417] sysrq: Power Off [ 128s] [ 117.996441] reboot: Power down [ 128s] ### VM INTERACTION END ### [ 128s] [ 128s] hci-cnode1-m0 failed "build osmo-remsim_0.2.3.dsc" at Thu May 6 09:49:32 UTC 2021. [ 128s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:49:48 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:49:48 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <6093bbd91913d_6ab22aae945685fc2674472@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/Debian_9.0/x86_64 Package network:osmocom:latest/osmo-pcu failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 139s] texhash: Updating /usr/local/share/texmf/ls-R... [ 139s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 139s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 139s] texhash: Updating /var/lib/texmf/ls-R... [ 139s] texhash: Done. [ 140s] SIOCSIFADDR: File exists [ 140s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.dsc) [ 140s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 140s] dpkg-source: info: unpacking osmo-pcu_0.9.0.tar.xz [ 140s] ----------------------------------------------------------------- [ 140s] ----- building osmo-pcu_0.9.0.dsc (user abuild) [ 140s] ----------------------------------------------------------------- [ 140s] ----------------------------------------------------------------- [ 140s] dpkg-buildpackage: info: source package osmo-pcu [ 140s] dpkg-buildpackage: info: source version 0.9.0 [ 140s] dpkg-buildpackage: info: source distribution unstable [ 140s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 140s] dpkg-source --before-build BUILD [ 140s] dpkg-buildpackage: info: host architecture amd64 [ 140s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 140s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 140s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 140s] ### VM INTERACTION START ### [ 144s] [ 133.699158] sysrq: Power Off [ 144s] [ 133.700942] reboot: Power down [ 144s] ### VM INTERACTION END ### [ 144s] [ 144s] build76 failed "build osmo-pcu_0.9.0.dsc" at Thu May 6 09:49:44 UTC 2021. [ 144s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:52:04 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:52:04 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <6093bc4e16aea_6ab22aae945685fc2675133@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-pcu failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 233s] texhash: Updating /usr/local/share/texmf/ls-R... [ 233s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 233s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 233s] texhash: Updating /var/lib/texmf/ls-R... [ 233s] texhash: Done. [ 233s] SIOCSIFADDR: File exists [ 234s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.82.c6dc.202105060026.dsc) [ 234s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 234s] dpkg-source: info: unpacking osmo-pcu_0.9.0.82.c6dc.202105060026.tar.xz [ 234s] ----------------------------------------------------------------- [ 234s] ----- building osmo-pcu_0.9.0.82.c6dc.202105060026.dsc (user abuild) [ 234s] ----------------------------------------------------------------- [ 234s] ----------------------------------------------------------------- [ 234s] dpkg-buildpackage: info: source package osmo-pcu [ 234s] dpkg-buildpackage: info: source version 0.9.0.82.c6dc.202105060026 [ 234s] dpkg-buildpackage: info: source distribution UNRELEASED [ 234s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 234s] dpkg-source --before-build BUILD [ 234s] dpkg-buildpackage: info: host architecture amd64 [ 234s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 234s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 234s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 234s] ### VM INTERACTION START ### [ 237s] [ 223.759590] sysrq: Power Off [ 237s] [ 223.763427] reboot: Power down [ 237s] ### VM INTERACTION END ### [ 237s] [ 237s] old-cirrus2 failed "build osmo-pcu_0.9.0.82.c6dc.202105060026.dsc" at Thu May 6 09:51:54 UTC 2021. [ 237s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:52:38 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:52:38 +0000 Subject: Build failure of network:osmocom:latest/osmo-sgsn in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <6093bc6dd586c_6ab22aae945685fc26754af@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sgsn/xUbuntu_19.10/x86_64 Package network:osmocom:latest/osmo-sgsn failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sgsn Last lines of build log: [ 290s] texhash: Updating /usr/local/share/texmf/ls-R... [ 290s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 290s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 290s] texhash: Updating /var/lib/texmf/ls-R... [ 290s] texhash: Done. [ 290s] SIOCSIFADDR: File exists [ 291s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sgsn_1.7.0.dsc) [ 291s] dpkg-source: info: extracting osmo-sgsn in /usr/src/packages/BUILD [ 291s] dpkg-source: info: unpacking osmo-sgsn_1.7.0.tar.xz [ 291s] ----------------------------------------------------------------- [ 291s] ----- building osmo-sgsn_1.7.0.dsc (user abuild) [ 291s] ----------------------------------------------------------------- [ 291s] ----------------------------------------------------------------- [ 291s] dpkg-buildpackage: info: source package osmo-sgsn [ 291s] dpkg-buildpackage: info: source version 1.7.0 [ 291s] dpkg-buildpackage: info: source distribution unstable [ 291s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 291s] dpkg-source --before-build . [ 291s] dpkg-buildpackage: info: host architecture amd64 [ 291s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 291s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 291s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 291s] ### VM INTERACTION START ### [ 294s] [ 279.694715] sysrq: Power Off [ 294s] [ 279.699380] reboot: Power down [ 294s] ### VM INTERACTION END ### [ 294s] [ 294s] lamb12 failed "build osmo-sgsn_1.7.0.dsc" at Thu May 6 09:52:22 UTC 2021. [ 294s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:53:29 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:53:29 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6093bcab15336_6ab22aae945685fc26761a7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/xUbuntu_20.04/x86_64 Package network:osmocom:latest/osmo-remsim failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 335s] texhash: Updating /usr/local/share/texmf/ls-R... [ 335s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 335s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 335s] texhash: Updating /var/lib/texmf/ls-R... [ 335s] texhash: Done. [ 335s] SIOCSIFADDR: File exists [ 336s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.3.dsc) [ 336s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 336s] dpkg-source: info: unpacking osmo-remsim_0.2.3.tar.gz [ 336s] ----------------------------------------------------------------- [ 336s] ----- building osmo-remsim_0.2.3.dsc (user abuild) [ 336s] ----------------------------------------------------------------- [ 336s] ----------------------------------------------------------------- [ 336s] dpkg-buildpackage: info: source package osmo-remsim [ 336s] dpkg-buildpackage: info: source version 0.2.3 [ 336s] dpkg-buildpackage: info: source distribution unstable [ 336s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 336s] dpkg-source --before-build . [ 336s] dpkg-buildpackage: info: host architecture amd64 [ 336s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 336s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 336s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 336s] ### VM INTERACTION START ### [ 339s] [ 325.086965] sysrq: Power Off [ 339s] [ 325.099000] reboot: Power down [ 340s] ### VM INTERACTION END ### [ 340s] [ 340s] lamb73 failed "build osmo-remsim_0.2.3.dsc" at Thu May 6 09:53:17 UTC 2021. [ 340s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:54:03 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:54:03 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <6093bcc5e68fb_6ab22aae945685fc26762df@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 256s] texhash: Updating /usr/local/share/texmf/ls-R... [ 256s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 256s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 256s] texhash: Updating /var/lib/texmf/ls-R... [ 256s] texhash: Done. [ 256s] SIOCSIFADDR: File exists [ 257s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.2.107.a06d.202105060026.dsc) [ 257s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 257s] dpkg-source: info: unpacking osmo-remsim_0.2.2.107.a06d.202105060026.tar.gz [ 257s] ----------------------------------------------------------------- [ 257s] ----- building osmo-remsim_0.2.2.107.a06d.202105060026.dsc (user abuild) [ 257s] ----------------------------------------------------------------- [ 257s] ----------------------------------------------------------------- [ 257s] dpkg-buildpackage: info: source package osmo-remsim [ 257s] dpkg-buildpackage: info: source version 0.2.2.107.a06d.202105060026 [ 257s] dpkg-buildpackage: info: source distribution UNRELEASED [ 257s] dpkg-buildpackage: info: source changed by Harald Welte [ 257s] dpkg-source --before-build . [ 257s] dpkg-buildpackage: info: host architecture amd64 [ 257s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 257s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 257s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 257s] ### VM INTERACTION START ### [ 260s] [ 245.798261] sysrq: Power Off [ 260s] [ 245.803204] reboot: Power down [ 260s] ### VM INTERACTION END ### [ 260s] [ 260s] old-cirrus3 failed "build osmo-remsim_0.2.2.107.a06d.202105060026.dsc" at Thu May 6 09:54:02 UTC 2021. [ 260s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:54:37 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:54:37 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <6093bce5ed4c8_6ab22aae945685fc2676593@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-sip-connector failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 417s] texhash: Updating /usr/local/share/texmf/ls-R... [ 417s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 417s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 417s] texhash: Updating /var/lib/texmf/ls-R... [ 417s] texhash: Done. [ 417s] SIOCSIFADDR: File exists [ 417s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.dsc) [ 417s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 417s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.tar.xz [ 417s] ----------------------------------------------------------------- [ 417s] ----- building osmo-sip-connector_1.5.0.dsc (user abuild) [ 417s] ----------------------------------------------------------------- [ 417s] ----------------------------------------------------------------- [ 418s] dpkg-buildpackage: info: source package osmo-sip-connector [ 418s] dpkg-buildpackage: info: source version 1.5.0 [ 418s] dpkg-buildpackage: info: source distribution unstable [ 418s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 418s] dpkg-source --before-build . [ 418s] dpkg-buildpackage: info: host architecture amd64 [ 418s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 418s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 418s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 418s] ### VM INTERACTION START ### [ 419s] Powering off. [ 419s] [ 379.071585] reboot: Power down [ 419s] ### VM INTERACTION END ### [ 419s] [ 419s] cloud122 failed "build osmo-sip-connector_1.5.0.dsc" at Thu May 6 09:54:27 UTC 2021. [ 419s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:56:19 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:56:19 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6093bd5eb0f1b_6ab22aae945685fc267763c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 255s] texhash: Updating /usr/local/share/texmf/ls-R... [ 255s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 255s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 255s] texhash: Updating /var/lib/texmf/ls-R... [ 255s] texhash: Done. [ 255s] SIOCSIFADDR: File exists [ 256s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.2.107.a06d.202105060026.dsc) [ 256s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 256s] dpkg-source: info: unpacking osmo-remsim_0.2.2.107.a06d.202105060026.tar.gz [ 256s] ----------------------------------------------------------------- [ 256s] ----- building osmo-remsim_0.2.2.107.a06d.202105060026.dsc (user abuild) [ 256s] ----------------------------------------------------------------- [ 256s] ----------------------------------------------------------------- [ 256s] dpkg-buildpackage: info: source package osmo-remsim [ 256s] dpkg-buildpackage: info: source version 0.2.2.107.a06d.202105060026 [ 256s] dpkg-buildpackage: info: source distribution UNRELEASED [ 256s] dpkg-buildpackage: info: source changed by Harald Welte [ 256s] dpkg-source --before-build . [ 256s] dpkg-buildpackage: info: host architecture amd64 [ 256s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 256s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 256s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 256s] ### VM INTERACTION START ### [ 259s] [ 245.937071] sysrq: Power Off [ 259s] [ 245.940781] reboot: Power down [ 259s] ### VM INTERACTION END ### [ 259s] [ 259s] sheep88 failed "build osmo-remsim_0.2.2.107.a06d.202105060026.dsc" at Thu May 6 09:56:11 UTC 2021. [ 259s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:56:53 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:56:53 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <6093bd78b80b3_6ab22aae945685fc267773d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 294s] texhash: Updating /usr/local/share/texmf/ls-R... [ 294s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 294s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 294s] texhash: Updating /var/lib/texmf/ls-R... [ 294s] texhash: Done. [ 294s] SIOCSIFADDR: File exists [ 294s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.2.107.a06d.202105060026.dsc) [ 294s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 294s] dpkg-source: info: unpacking osmo-remsim_0.2.2.107.a06d.202105060026.tar.gz [ 294s] ----------------------------------------------------------------- [ 294s] ----- building osmo-remsim_0.2.2.107.a06d.202105060026.dsc (user abuild) [ 294s] ----------------------------------------------------------------- [ 294s] ----------------------------------------------------------------- [ 295s] dpkg-buildpackage: info: source package osmo-remsim [ 295s] dpkg-buildpackage: info: source version 0.2.2.107.a06d.202105060026 [ 295s] dpkg-buildpackage: info: source distribution UNRELEASED [ 295s] dpkg-buildpackage: info: source changed by Harald Welte [ 295s] dpkg-source --before-build . [ 295s] dpkg-buildpackage: info: host architecture amd64 [ 295s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 295s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 295s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 295s] ### VM INTERACTION START ### [ 298s] [ 284.996633] sysrq: Power Off [ 298s] [ 285.003261] reboot: Power down [ 298s] ### VM INTERACTION END ### [ 298s] [ 298s] lamb08 failed "build osmo-remsim_0.2.2.107.a06d.202105060026.dsc" at Thu May 6 09:56:46 UTC 2021. [ 298s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:58:18 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:58:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sip-connector in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <6093bdd726060_6ab22aae945685fc2678170@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sip-connector/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-sip-connector failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sip-connector Last lines of build log: [ 243s] texhash: Updating /usr/local/share/texmf/ls-R... [ 243s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 244s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 244s] texhash: Updating /var/lib/texmf/ls-R... [ 244s] texhash: Done. [ 244s] SIOCSIFADDR: File exists [ 244s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.202105060026.dsc) [ 244s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 244s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.202105060026.tar.xz [ 244s] ----------------------------------------------------------------- [ 244s] ----- building osmo-sip-connector_1.5.0.202105060026.dsc (user abuild) [ 244s] ----------------------------------------------------------------- [ 244s] ----------------------------------------------------------------- [ 244s] dpkg-buildpackage: info: source package osmo-sip-connector [ 244s] dpkg-buildpackage: info: source version 1.5.0.202105060026 [ 244s] dpkg-buildpackage: info: source distribution UNRELEASED [ 244s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 244s] dpkg-source --before-build BUILD [ 244s] dpkg-buildpackage: info: host architecture amd64 [ 245s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 245s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 245s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 245s] ### VM INTERACTION START ### [ 248s] [ 235.978836] sysrq: Power Off [ 248s] [ 235.995851] reboot: Power down [ 248s] ### VM INTERACTION END ### [ 248s] [ 248s] lamb08 failed "build osmo-sip-connector_1.5.0.202105060026.dsc" at Thu May 6 09:58:10 UTC 2021. [ 248s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 09:59:09 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 09:59:09 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <6093bdf3c09b0_6ab22aae945685fc2678436@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/osmo-pcu failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 187s] texhash: Updating /usr/local/share/texmf/ls-R... [ 187s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 187s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 187s] texhash: Updating /var/lib/texmf/ls-R... [ 187s] texhash: Done. [ 187s] SIOCSIFADDR: File exists [ 187s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.82.c6dc.202105060026.dsc) [ 187s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 187s] dpkg-source: info: unpacking osmo-pcu_0.9.0.82.c6dc.202105060026.tar.xz [ 187s] ----------------------------------------------------------------- [ 187s] ----- building osmo-pcu_0.9.0.82.c6dc.202105060026.dsc (user abuild) [ 187s] ----------------------------------------------------------------- [ 187s] ----------------------------------------------------------------- [ 188s] dpkg-buildpackage: info: source package osmo-pcu [ 188s] dpkg-buildpackage: info: source version 0.9.0.82.c6dc.202105060026 [ 188s] dpkg-buildpackage: info: source distribution UNRELEASED [ 188s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 188s] dpkg-source --before-build . [ 188s] dpkg-buildpackage: info: host architecture amd64 [ 188s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 188s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 188s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 188s] ### VM INTERACTION START ### [ 191s] [ 180.035339] sysrq: Power Off [ 191s] [ 180.039411] reboot: Power down [ 191s] ### VM INTERACTION END ### [ 191s] [ 191s] sheep86 failed "build osmo-pcu_0.9.0.82.c6dc.202105060026.dsc" at Thu May 6 09:58:57 UTC 2021. [ 191s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 10:02:50 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 10:02:50 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sip-connector in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <6093bee362497_6ab22aae945685fc26788c8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sip-connector/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/osmo-sip-connector failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sip-connector Last lines of build log: [ 417s] texhash: Updating /usr/local/share/texmf/ls-R... [ 417s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 417s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 417s] texhash: Updating /var/lib/texmf/ls-R... [ 417s] texhash: Done. [ 417s] SIOCSIFADDR: File exists [ 417s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.202105060026.dsc) [ 417s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 417s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.202105060026.tar.xz [ 417s] ----------------------------------------------------------------- [ 417s] ----- building osmo-sip-connector_1.5.0.202105060026.dsc (user abuild) [ 417s] ----------------------------------------------------------------- [ 417s] ----------------------------------------------------------------- [ 418s] dpkg-buildpackage: info: source package osmo-sip-connector [ 418s] dpkg-buildpackage: info: source version 1.5.0.202105060026 [ 418s] dpkg-buildpackage: info: source distribution UNRELEASED [ 418s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 418s] dpkg-source --before-build . [ 418s] dpkg-buildpackage: info: host architecture amd64 [ 418s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 418s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 418s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 418s] ### VM INTERACTION START ### [ 421s] [ 404.176491] sysrq: Power Off [ 421s] [ 404.186710] reboot: Power down [ 421s] ### VM INTERACTION END ### [ 421s] [ 421s] lamb02 failed "build osmo-sip-connector_1.5.0.202105060026.dsc" at Thu May 6 10:02:48 UTC 2021. [ 421s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 10:03:24 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 10:03:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <6093bf0264c9c_6ab22aae945685fc267899f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 185s] texhash: Updating /usr/local/share/texmf/ls-R... [ 185s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 185s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 185s] texhash: Updating /var/lib/texmf/ls-R... [ 185s] texhash: Done. [ 185s] SIOCSIFADDR: File exists [ 185s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.2.107.a06d.202105060026.dsc) [ 185s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 185s] dpkg-source: info: unpacking osmo-remsim_0.2.2.107.a06d.202105060026.tar.gz [ 185s] ----------------------------------------------------------------- [ 185s] ----- building osmo-remsim_0.2.2.107.a06d.202105060026.dsc (user abuild) [ 185s] ----------------------------------------------------------------- [ 185s] ----------------------------------------------------------------- [ 186s] dpkg-buildpackage: info: source package osmo-remsim [ 186s] dpkg-buildpackage: info: source version 0.2.2.107.a06d.202105060026 [ 186s] dpkg-buildpackage: info: source distribution UNRELEASED [ 186s] dpkg-buildpackage: info: source changed by Harald Welte [ 186s] dpkg-source --before-build BUILD [ 186s] dpkg-buildpackage: info: host architecture amd64 [ 186s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 186s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 186s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 186s] ### VM INTERACTION START ### [ 189s] [ 177.319125] sysrq: Power Off [ 189s] [ 177.323027] reboot: Power down [ 189s] ### VM INTERACTION END ### [ 189s] [ 189s] sheep88 failed "build osmo-remsim_0.2.2.107.a06d.202105060026.dsc" at Thu May 6 10:03:17 UTC 2021. [ 189s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 10:04:30 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 10:04:30 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <6093bf39971df_65322b071099c5f4559a4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/Debian_9.0/aarch64 Package network:osmocom:latest/osmo-bts failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 220s] texhash: Updating /usr/local/share/texmf/ls-R... [ 220s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 220s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 221s] texhash: Updating /var/lib/texmf/ls-R... [ 221s] texhash: Done. [ 221s] SIOCSIFADDR: File exists [ 221s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.1.dsc) [ 221s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 221s] dpkg-source: info: unpacking osmo-bts_1.3.1.tar.xz [ 221s] ----------------------------------------------------------------- [ 221s] ----- building osmo-bts_1.3.1.dsc (user abuild) [ 221s] ----------------------------------------------------------------- [ 221s] ----------------------------------------------------------------- [ 222s] dpkg-buildpackage: info: source package osmo-bts [ 222s] dpkg-buildpackage: info: source version 1.3.1 [ 222s] dpkg-buildpackage: info: source distribution unstable [ 222s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 222s] dpkg-source --before-build BUILD [ 222s] dpkg-buildpackage: info: host architecture arm64 [ 222s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 222s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 222s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 222s] ### VM INTERACTION START ### [ 225s] [ 209.804848] sysrq: Power Off [ 225s] [ 209.805891] reboot: Power down [ 226s] ### VM INTERACTION END ### [ 226s] [ 226s] obs-arm-9 failed "build osmo-bts_1.3.1.dsc" at Thu May 6 10:04:29 UTC 2021. [ 226s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 10:04:30 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 10:04:30 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sip-connector in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6093bf39d243b_65322b071099c5f4560e9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sip-connector/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/osmo-sip-connector failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sip-connector Last lines of build log: [ 246s] texhash: Updating /usr/local/share/texmf/ls-R... [ 246s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 246s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 246s] texhash: Updating /var/lib/texmf/ls-R... [ 246s] texhash: Done. [ 246s] SIOCSIFADDR: File exists [ 246s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.202105060026.dsc) [ 246s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 246s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.202105060026.tar.xz [ 246s] ----------------------------------------------------------------- [ 246s] ----- building osmo-sip-connector_1.5.0.202105060026.dsc (user abuild) [ 246s] ----------------------------------------------------------------- [ 246s] ----------------------------------------------------------------- [ 246s] dpkg-buildpackage: info: source package osmo-sip-connector [ 246s] dpkg-buildpackage: info: source version 1.5.0.202105060026 [ 246s] dpkg-buildpackage: info: source distribution UNRELEASED [ 246s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 246s] dpkg-source --before-build . [ 246s] dpkg-buildpackage: info: host architecture amd64 [ 247s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 247s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 247s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 247s] ### VM INTERACTION START ### [ 250s] [ 237.261471] sysrq: Power Off [ 250s] [ 237.265715] reboot: Power down [ 250s] ### VM INTERACTION END ### [ 250s] [ 250s] sheep86 failed "build osmo-sip-connector_1.5.0.202105060026.dsc" at Thu May 6 10:04:21 UTC 2021. [ 250s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 10:06:25 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 10:06:25 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gbproxy in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <6093bfab54ef6_fc52b08fe0ce5f4754a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gbproxy/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/osmo-gbproxy failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gbproxy Last lines of build log: [ 364s] texhash: Updating /usr/local/share/texmf/ls-R... [ 364s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 364s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 364s] texhash: Updating /var/lib/texmf/ls-R... [ 364s] texhash: Done. [ 364s] SIOCSIFADDR: File exists [ 364s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc) [ 364s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 364s] dpkg-source: info: unpacking osmo-gbproxy_0.1.0.18.a4560.202105060026.tar.xz [ 364s] ----------------------------------------------------------------- [ 364s] ----- building osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc (user abuild) [ 364s] ----------------------------------------------------------------- [ 364s] ----------------------------------------------------------------- [ 365s] dpkg-buildpackage: info: source package osmo-gbproxy [ 365s] dpkg-buildpackage: info: source version 1:0.1.0.18.a4560.202105060026 [ 365s] dpkg-buildpackage: info: source distribution UNRELEASED [ 365s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 365s] dpkg-source --before-build . [ 365s] dpkg-buildpackage: info: host architecture amd64 [ 365s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 365s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 365s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 365s] ### VM INTERACTION START ### [ 368s] [ 353.460839] sysrq: Power Off [ 368s] [ 353.477527] reboot: Power down [ 369s] ### VM INTERACTION END ### [ 369s] [ 369s] lamb02 failed "build osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc" at Thu May 6 10:06:16 UTC 2021. [ 369s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 6 10:11:34 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 6 May 2021 10:11:34 +0000 Subject: Change in pysim[master]: SimCardCommands: detect whether UICC or Classic SIM In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24160 ) Change subject: SimCardCommands: detect whether UICC or Classic SIM ...................................................................... Patch Set 2: Code-Review-1 (2 comments) I think this needs improvement, also I think this may be partially redundant to the generic SIM/USIM support for pySim-shell.py, which I am currently working on. First of all we consciously decide the APDU parameters for each card and I think it should be kept that way. All those classes have autodetect methods which essentially go by the ATR. I plan to have generic classes SimCard, IsimCard and UsimCard. Those will have autodetect methods that will check weather it is a UICC or not. If it is a UICC it will further check if it is an USIM or ISIM by looking at the app-ids in EF.DIR I think it makes sense to use detect_card_type() for the first step (distinguishing from UICC), but I think the code is much more readable when the parameter change takes place in the autodetect method. Once the detection is inside the base classes things will be simpler the code will only call card_detect() and get either a specific card or a generic SimCard, IsimCard or UsimCard back and the APDU parameters will also be adjusted already. Its not very far yet, but here is the change-id: Id6527254a7305516f2d00876815e46a3c71a81b6 regards. Philipp https://gerrit.osmocom.org/c/pysim/+/24160/2/pySim-prog.py File pySim-prog.py: https://gerrit.osmocom.org/c/pysim/+/24160/2/pySim-prog.py at 661 PS2, Line 661: This is dangerous. Have a look at the test output from jenkins. You will see that the FairwavesSIM fails. I ran into the same problem recently. This card seems to have a problem when trying to adm-authenticate+program with UICC APDUs. In cards.py we consciously decide whether to use UICC or the old SIM APDUs. This should be retained - especially for pySim-prog.py https://gerrit.osmocom.org/c/pysim/+/24160/2/pySim/commands.py File pySim/commands.py: https://gerrit.osmocom.org/c/pysim/+/24160/2/pySim/commands.py at 124 PS2, Line 124: I think it would be a good idea to restore the cla_byte and sel_ctrl after the detection is done. The change should be a conscious decision by the API user. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I224bd6c91cdaf444e2a94117f64030c024a776a7 Gerrit-Change-Number: 24160 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Thu, 06 May 2021 10:11:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Thu May 6 10:12:04 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 10:12:04 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sip-connector in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <6093c10bc2ac4_fc52b08fe0ce5f41029c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sip-connector/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/osmo-sip-connector failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sip-connector Last lines of build log: [ 153s] texhash: Updating /usr/local/share/texmf/ls-R... [ 153s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 153s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 153s] texhash: Updating /var/lib/texmf/ls-R... [ 153s] texhash: Done. [ 153s] SIOCSIFADDR: File exists [ 154s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.202105060026.dsc) [ 154s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 154s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.202105060026.tar.xz [ 154s] ----------------------------------------------------------------- [ 154s] ----- building osmo-sip-connector_1.5.0.202105060026.dsc (user abuild) [ 154s] ----------------------------------------------------------------- [ 154s] ----------------------------------------------------------------- [ 154s] dpkg-buildpackage: info: source package osmo-sip-connector [ 154s] dpkg-buildpackage: info: source version 1.5.0.202105060026 [ 154s] dpkg-buildpackage: info: source distribution UNRELEASED [ 154s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 154s] dpkg-source --before-build . [ 154s] dpkg-buildpackage: info: host architecture amd64 [ 154s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 154s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 154s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 154s] ### VM INTERACTION START ### [ 157s] [ 149.817706] sysrq: Power Off [ 157s] [ 149.820338] reboot: Power down [ 157s] ### VM INTERACTION END ### [ 157s] [ 157s] goat07 failed "build osmo-sip-connector_1.5.0.202105060026.dsc" at Thu May 6 10:11:54 UTC 2021. [ 157s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 10:13:29 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 10:13:29 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6093c166cf186_fc52b08fe0ce5f41113e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/osmo-pcu failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 442s] texhash: Updating /usr/local/share/texmf/ls-R... [ 442s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 442s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 442s] texhash: Updating /var/lib/texmf/ls-R... [ 442s] texhash: Done. [ 442s] SIOCSIFADDR: File exists [ 442s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.82.c6dc.202105060026.dsc) [ 443s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 443s] dpkg-source: info: unpacking osmo-pcu_0.9.0.82.c6dc.202105060026.tar.xz [ 443s] ----------------------------------------------------------------- [ 443s] ----- building osmo-pcu_0.9.0.82.c6dc.202105060026.dsc (user abuild) [ 443s] ----------------------------------------------------------------- [ 443s] ----------------------------------------------------------------- [ 443s] dpkg-buildpackage: info: source package osmo-pcu [ 443s] dpkg-buildpackage: info: source version 0.9.0.82.c6dc.202105060026 [ 443s] dpkg-buildpackage: info: source distribution UNRELEASED [ 443s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 443s] dpkg-source --before-build . [ 443s] dpkg-buildpackage: info: host architecture amd64 [ 444s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 444s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 444s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 444s] ### VM INTERACTION START ### [ 447s] [ 428.919082] sysrq: Power Off [ 447s] [ 428.922533] reboot: Power down [ 447s] ### VM INTERACTION END ### [ 447s] [ 447s] old-atreju4 failed "build osmo-pcu_0.9.0.82.c6dc.202105060026.dsc" at Thu May 6 10:13:28 UTC 2021. [ 447s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 6 10:18:30 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 6 May 2021 10:18:30 +0000 Subject: Change in pysim[master]: ts_102_221: fix unknown TLV key '9B' on SysmoSIM-SJS1 In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24159 ) Change subject: ts_102_221: fix unknown TLV key '9B' on SysmoSIM-SJS1 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8131bfbbdeb50ddb4d6a06c16586238a36582b5e Gerrit-Change-Number: 24159 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Thu, 06 May 2021 10:18:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Thu May 6 10:27:39 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 10:27:39 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <6093c4afbc1be_fc52b08fe0ce5f416187@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/Debian_9.0/aarch64 Package network:osmocom:latest/osmo-sip-connector failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 669s] texhash: Updating /usr/local/share/texmf/ls-R... [ 669s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 670s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 670s] texhash: Updating /var/lib/texmf/ls-R... [ 670s] texhash: Done. [ 670s] SIOCSIFADDR: File exists [ 671s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.dsc) [ 671s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 671s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.tar.xz [ 671s] ----------------------------------------------------------------- [ 671s] ----- building osmo-sip-connector_1.5.0.dsc (user abuild) [ 671s] ----------------------------------------------------------------- [ 671s] ----------------------------------------------------------------- [ 673s] dpkg-buildpackage: info: source package osmo-sip-connector [ 673s] dpkg-buildpackage: info: source version 1.5.0 [ 673s] dpkg-buildpackage: info: source distribution unstable [ 673s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 673s] dpkg-source --before-build BUILD [ 673s] dpkg-buildpackage: info: host architecture arm64 [ 674s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 674s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 674s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 674s] ### VM INTERACTION START ### [ 678s] [ 632.810224] sysrq: Power Off [ 678s] [ 632.830235] reboot: Power down [ 678s] ### VM INTERACTION END ### [ 678s] [ 678s] obs-arm-3 failed "build osmo-sip-connector_1.5.0.dsc" at Thu May 6 10:27:31 UTC 2021. [ 678s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 10:34:10 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 10:34:10 +0000 Subject: Build failure of network:osmocom:latest/osmo-gbproxy in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <6093c631d9fb8_fc52b08fe0ce5f4182ea@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gbproxy/Debian_9.0/aarch64 Package network:osmocom:latest/osmo-gbproxy failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gbproxy Last lines of build log: [ 192s] texhash: Updating /usr/local/share/texmf/ls-R... [ 192s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 192s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 192s] texhash: Updating /var/lib/texmf/ls-R... [ 192s] texhash: Done. [ 192s] SIOCSIFADDR: File exists [ 192s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.1.dsc) [ 192s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 192s] dpkg-source: info: unpacking osmo-gbproxy_0.1.1.tar.xz [ 192s] ----------------------------------------------------------------- [ 192s] ----- building osmo-gbproxy_0.1.1.dsc (user abuild) [ 192s] ----------------------------------------------------------------- [ 192s] ----------------------------------------------------------------- [ 193s] dpkg-buildpackage: info: source package osmo-gbproxy [ 193s] dpkg-buildpackage: info: source version 1:0.1.1 [ 193s] dpkg-buildpackage: info: source distribution unstable [ 193s] dpkg-buildpackage: info: source changed by Harald Welte [ 193s] dpkg-source --before-build BUILD [ 193s] dpkg-buildpackage: info: host architecture arm64 [ 193s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 193s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 193s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 193s] ### VM INTERACTION START ### [ 196s] [ 181.942959] sysrq: Power Off [ 196s] [ 181.944829] reboot: Power down [ 197s] ### VM INTERACTION END ### [ 197s] [ 197s] obs-arm-8 failed "build osmo-gbproxy_0.1.1.dsc" at Thu May 6 10:34:04 UTC 2021. [ 197s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 10:46:55 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 10:46:55 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <6093c9402c20d_fc52b08fe0ce5f4219b2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/Debian_9.0/aarch64 Package network:osmocom:latest/osmo-pcu failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 649s] texhash: Updating /usr/local/share/texmf/ls-R... [ 649s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 650s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 650s] texhash: Updating /var/lib/texmf/ls-R... [ 650s] texhash: Done. [ 650s] SIOCSIFADDR: File exists [ 651s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.dsc) [ 651s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 651s] dpkg-source: info: unpacking osmo-pcu_0.9.0.tar.xz [ 651s] ----------------------------------------------------------------- [ 651s] ----- building osmo-pcu_0.9.0.dsc (user abuild) [ 651s] ----------------------------------------------------------------- [ 651s] ----------------------------------------------------------------- [ 652s] dpkg-buildpackage: info: source package osmo-pcu [ 652s] dpkg-buildpackage: info: source version 0.9.0 [ 652s] dpkg-buildpackage: info: source distribution unstable [ 652s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 652s] dpkg-source --before-build BUILD [ 652s] dpkg-buildpackage: info: host architecture arm64 [ 653s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 653s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 653s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 654s] ### VM INTERACTION START ### [ 657s] [ 589.276628] sysrq: Power Off [ 657s] [ 589.282050] reboot: Power down [ 657s] ### VM INTERACTION END ### [ 657s] [ 657s] obs-arm-1 failed "build osmo-pcu_0.9.0.dsc" at Thu May 6 10:46:50 UTC 2021. [ 657s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 10:48:20 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 10:48:20 +0000 Subject: Build failure of network:osmocom:latest/osmo-gbproxy in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <6093c97bedce3_fc52b08fe0ce5f4226da@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gbproxy/Raspbian_9.0/armv7l Package network:osmocom:latest/osmo-gbproxy failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-gbproxy Last lines of build log: [ 639s] texhash: Updating /usr/local/share/texmf/ls-R... [ 639s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 639s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 640s] texhash: Updating /var/lib/texmf/ls-R... [ 640s] texhash: Done. [ 640s] SIOCSIFADDR: File exists [ 641s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.1.dsc) [ 641s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 641s] dpkg-source: info: unpacking osmo-gbproxy_0.1.1.tar.xz [ 641s] ----------------------------------------------------------------- [ 641s] ----- building osmo-gbproxy_0.1.1.dsc (user abuild) [ 641s] ----------------------------------------------------------------- [ 641s] ----------------------------------------------------------------- [ 642s] dpkg-buildpackage: info: source package osmo-gbproxy [ 642s] dpkg-buildpackage: info: source version 1:0.1.1 [ 642s] dpkg-buildpackage: info: source distribution unstable [ 642s] dpkg-buildpackage: info: source changed by Harald Welte [ 642s] dpkg-source --before-build BUILD [ 642s] dpkg-buildpackage: info: host architecture armhf [ 643s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 643s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 643s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 643s] ### VM INTERACTION START ### [ 646s] [ 587.538796] sysrq: SysRq : Power Off [ 647s] [ 587.767570] reboot: Power down [ 648s] ### VM INTERACTION END ### [ 648s] [ 648s] armbuild24 failed "build osmo-gbproxy_0.1.1.dsc" at Thu May 6 10:48:18 UTC 2021. [ 648s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 10:57:41 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 10:57:41 +0000 Subject: Build failure of network:osmocom:latest/osmo-gbproxy in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <6093cbb4b511d_fc52b08fe0ce5f4251a4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gbproxy/Debian_9.0/armv7l Package network:osmocom:latest/osmo-gbproxy failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-gbproxy Last lines of build log: [ 403s] texhash: Updating /usr/local/share/texmf/ls-R... [ 403s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 403s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 403s] texhash: Updating /var/lib/texmf/ls-R... [ 403s] texhash: Done. [ 404s] SIOCSIFADDR: File exists [ 404s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.1.dsc) [ 404s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 404s] dpkg-source: info: unpacking osmo-gbproxy_0.1.1.tar.xz [ 404s] ----------------------------------------------------------------- [ 404s] ----- building osmo-gbproxy_0.1.1.dsc (user abuild) [ 404s] ----------------------------------------------------------------- [ 404s] ----------------------------------------------------------------- [ 405s] dpkg-buildpackage: info: source package osmo-gbproxy [ 405s] dpkg-buildpackage: info: source version 1:0.1.1 [ 405s] dpkg-buildpackage: info: source distribution unstable [ 405s] dpkg-buildpackage: info: source changed by Harald Welte [ 405s] dpkg-source --before-build BUILD [ 405s] dpkg-buildpackage: info: host architecture armhf [ 405s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 405s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 405s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 405s] ### VM INTERACTION START ### [ 409s] [ 381.212354] sysrq: SysRq : Power Off [ 409s] [ 381.221614] reboot: Power down [ 409s] ### VM INTERACTION END ### [ 409s] [ 409s] obs-arm-5 failed "build osmo-gbproxy_0.1.1.dsc" at Thu May 6 10:57:31 UTC 2021. [ 409s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 11:14:41 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 11:14:41 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <6093cfb11b4d0_fc52b08fe0ce5f4310df@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:latest/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 449s] texhash: Updating /usr/local/share/texmf/ls-R... [ 449s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 450s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 450s] texhash: Updating /var/lib/texmf/ls-R... [ 450s] texhash: Done. [ 450s] SIOCSIFADDR: File exists [ 450s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.1.dsc) [ 450s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 450s] dpkg-source: info: unpacking osmo-bts_1.3.1.tar.xz [ 450s] ----------------------------------------------------------------- [ 450s] ----- building osmo-bts_1.3.1.dsc (user abuild) [ 450s] ----------------------------------------------------------------- [ 450s] ----------------------------------------------------------------- [ 451s] dpkg-buildpackage: info: source package osmo-bts [ 451s] dpkg-buildpackage: info: source version 1.3.1 [ 451s] dpkg-buildpackage: info: source distribution unstable [ 451s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 451s] dpkg-source --before-build BUILD [ 451s] dpkg-buildpackage: info: host architecture armhf [ 452s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 452s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 452s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 452s] ### VM INTERACTION START ### [ 455s] [ 428.471611] sysrq: SysRq : Power Off [ 455s] [ 428.474296] reboot: Power down [ 456s] ### VM INTERACTION END ### [ 456s] [ 456s] obs-arm-5 failed "build osmo-bts_1.3.1.dsc" at Thu May 6 11:14:40 UTC 2021. [ 456s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 6 11:18:50 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Thu, 6 May 2021 11:18:50 +0000 Subject: Change in pysim[master]: WIP References: Message-ID: Falkenber9 has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24161 ) Change subject: WIP ...................................................................... WIP Break down autodetect into different detection methods based on: - ATR - ICCID - typical files This comes handy especially if ATR is not available, i.e. using ModemATCommandLink instead of PCSC Change-Id: I862c42f2c3805886f18214d8b4c39da55a735473 --- M pySim/cards.py 1 file changed, 103 insertions(+), 36 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/61/24161/1 diff --git a/pySim/cards.py b/pySim/cards.py index 30857b3..f2809a4 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -39,6 +39,27 @@ self._adm_chv_num = 4 self._aids = [] + @classmethod + def match_atr(kls, atr) -> bool: + return False + + @classmethod + def match_iccids(kls, iccid) -> bool: + return iccid.startswith("98") + + @classmethod + def match_typical_files(kls, scc) -> bool: + return False + + @classmethod + def autodetect(kls, scc): + generic_card = Card(scc) + (iccid, sw) = generic_card.read_iccid() + if iccid is not None: + if kls.match_iccids(iccid): + return kls(scc) + return None + def reset(self): self._scc.reset_card() @@ -285,6 +306,16 @@ def __init__(self, ssc): super(UsimCard, self).__init__(ssc) + @classmethod + def autodetect(kls, scc): + try: + # Look for ATR + if kls.match_atr(scc.get_atr()): + return kls(scc) + except: + pass + return None + def read_ehplmn(self): (res, sw) = self._scc.read_binary(EF_USIM_ADF_map['EHPLMN']) if sw == '9000': @@ -355,6 +386,10 @@ def __init__(self, ssc): super(IsimCard, self).__init__(ssc) + @classmethod + def autodetect(kls, scc): + return None + def read_pcscf(self): rec_cnt = self._scc.record_count(EF_ISIM_ADF_map['PCSCF']) pcscf_recs = "" @@ -770,9 +805,9 @@ name = 'sysmoUSIM-GR1' @classmethod - def autodetect(kls, scc): + def match_atr(kls, atr) -> bool: # TODO: Access the ATR - return None + return False def program(self, p): # TODO: check if verify_chv could be used or what it needs @@ -877,13 +912,27 @@ self._scc.sel_ctrl = "0004" #request an FCP @classmethod + def match_atr(kls, atr) -> bool: + return atr == toBytes("3B 9F 96 80 1F C7 80 31 A0 73 BE 21 13 67 43 20 07 18 00 00 01 A5") + + @classmethod + def match_iccids(kls, iccid) -> bool: + return iccid.startswith("89882110000003") # to be verified by sysmocom + + @classmethod def autodetect(kls, scc): try: # Look for ATR - if scc.get_atr() == toBytes("3B 9F 96 80 1F C7 80 31 A0 73 BE 21 13 67 43 20 07 18 00 00 01 A5"): + if kls.match_atr(scc.get_atr()): return kls(scc) except: - return None + pass + # Look for known ICCIDs + generic_card = Card(scc) + (iccid, sw) = generic_card.read_iccid() + if iccid is not None: + if kls.match_iccids(iccid): + return kls(scc) return None def verify_adm(self, key): @@ -1003,17 +1052,9 @@ self._adm_chv_num = 0x11 self._adm2_chv_num = 0x12 - @classmethod - def autodetect(kls, scc): - try: - # Look for ATR - if scc.get_atr() == toBytes("3B 9F 96 80 1F C7 80 31 A0 73 BE 21 13 67 44 22 06 10 00 00 01 A9"): - return kls(scc) - except: - return None - return None - + def match_atr(kls, atr) -> bool: + return atr == toBytes("3B 9F 96 80 1F C7 80 31 A0 73 BE 21 13 67 44 22 06 10 00 00 01 A9") def verify_adm2(self, key): ''' @@ -1177,14 +1218,8 @@ self._scc.sel_ctrl = "0004" #request an FCP @classmethod - def autodetect(kls, scc): - try: - # Look for ATR - if scc.get_atr() == toBytes("3B 9F 95 80 1F C7 80 31 E0 73 F6 21 13 67 4D 45 16 00 43 01 00 8F"): - return kls(scc) - except: - return None - return None + def match_atr(kls, atr) -> bool: + return atr == toBytes("3B 9F 95 80 1F C7 80 31 E0 73 F6 21 13 67 4D 45 16 00 43 01 00 8F") def program(self, p): if not p['pin_adm']: @@ -1268,26 +1303,58 @@ self._scc.sel_ctrl = "0004" #request an FCP @classmethod + def match_atr(kls, atr) -> bool: + atrs = [ + # Try card model #1 + "3B 9F 96 80 1F 87 80 31 E0 73 FE 21 1B 67 4A 4C 75 30 34 05 4B A9", + # Try card model #2 + "3B 9F 96 80 1F 87 80 31 E0 73 FE 21 1B 67 4A 4C 75 31 33 02 51 B2", + # Try card model #3 + "3B 9F 96 80 1F 87 80 31 E0 73 FE 21 1B 67 4A 4C 52 75 31 04 51 D5" + ] + return atr in [toBytes(a) for a in atrs] + + @classmethod + def match_iccids(kls, iccid) -> bool: + return iccid.startswith("89882110000004") # to be verified by sysmocom + + @classmethod def autodetect(kls, scc): try: - # Try card model #1 - atr = "3B 9F 96 80 1F 87 80 31 E0 73 FE 21 1B 67 4A 4C 75 30 34 05 4B A9" - if scc.get_atr() == toBytes(atr): - return kls(scc) - - # Try card model #2 - atr = "3B 9F 96 80 1F 87 80 31 E0 73 FE 21 1B 67 4A 4C 75 31 33 02 51 B2" - if scc.get_atr() == toBytes(atr): - return kls(scc) - - # Try card model #3 - atr = "3B 9F 96 80 1F 87 80 31 E0 73 FE 21 1B 67 4A 4C 52 75 31 04 51 D5" - if scc.get_atr() == toBytes(atr): + # Look for ATR + if kls.match_atr(scc.get_atr()): return kls(scc) except: - return None + pass + # Look for known ICCIDs + generic_card = Card(scc) + (iccid, sw) = generic_card.read_iccid() + if iccid is not None: + if kls.match_iccids(iccid): + return kls(scc) return None + # @classmethod + # def autodetect(kls, scc): + # try: + # # Try card model #1 + # atr = "3B 9F 96 80 1F 87 80 31 E0 73 FE 21 1B 67 4A 4C 75 30 34 05 4B A9" + # if scc.get_atr() == toBytes(atr): + # return kls(scc) + + # # Try card model #2 + # atr = "3B 9F 96 80 1F 87 80 31 E0 73 FE 21 1B 67 4A 4C 75 31 33 02 51 B2" + # if scc.get_atr() == toBytes(atr): + # return kls(scc) + + # # Try card model #3 + # atr = "3B 9F 96 80 1F 87 80 31 E0 73 FE 21 1B 67 4A 4C 52 75 31 04 51 D5" + # if scc.get_atr() == toBytes(atr): + # return kls(scc) + # except: + # return None + # return None + def verify_adm(self, key): # authenticate as ADM using default key (written on the card..) if not key: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I862c42f2c3805886f18214d8b4c39da55a735473 Gerrit-Change-Number: 24161 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 11:25:37 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Thu, 6 May 2021 11:25:37 +0000 Subject: Change in pysim[master]: SimCardCommands: detect whether UICC or Classic SIM In-Reply-To: References: Message-ID: Falkenber9 has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24160 ) Change subject: SimCardCommands: detect whether UICC or Classic SIM ...................................................................... Patch Set 2: > Patch Set 2: Code-Review-1 > > (2 comments) > > I think this needs improvement, also I think this may be partially redundant to the generic SIM/USIM support for pySim-shell.py, which I am currently working on. > > First of all we consciously decide the APDU parameters for each card and I think it should be kept that way. All those classes have autodetect methods which essentially go by the ATR. I plan to have generic classes SimCard, IsimCard and UsimCard. Those will have autodetect methods that will check weather it is a UICC or not. If it is a UICC it will further check if it is an USIM or ISIM by looking at the app-ids in EF.DIR > > I think it makes sense to use detect_card_type() for the first step (distinguishing from UICC), but I think the code is much more readable when the parameter change takes place in the autodetect method. > > Once the detection is inside the base classes things will be simpler the code will only call card_detect() and get either a specific card or a generic SimCard, IsimCard or UsimCard back and the APDU parameters will also be adjusted already. > > Its not very far yet, but here is the change-id: Id6527254a7305516f2d00876815e46a3c71a81b6 > > regards. > Philipp Thanks for the feedback, didn't want to be too invasive. I think your suggestion is the way to go and actually will get obsolete if you add your changes. Actually, I was working on the same issue - here ist my change-id: I862c42f2c3805886f18214d8b4c39da55a735473 But I think, it makes more sense to make those function non-classmethods as you did. Nevertheless, I suggest to (optionally) support multiple different detection methods, in case ATR is not available in transport layer (e.g. AT commands). -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I224bd6c91cdaf444e2a94117f64030c024a776a7 Gerrit-Change-Number: 24160 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Thu, 06 May 2021 11:25:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 12:59:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 12:59:14 +0000 Subject: Change in osmo-mgw[master]: add osmo_mgcpc_ep_ci_get_remote_rtp_info() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24145 ) Change subject: add osmo_mgcpc_ep_ci_get_remote_rtp_info() ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24145/1/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c File src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24145/1/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c at 511 PS1, Line 511: /*! Return the RTP port information that MGW is receiving on for this connection, as returned by the last CRCX-OK / > "the RTP port where MGW is receiving on" is IMHO the clearest description... [?] Yes please, "local" and "remote" is a usual terminology which helps understanding quickly. https://gerrit.osmocom.org/c/osmo-mgw/+/24145/1/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c at 523 PS1, Line 523: /*! Return the RTP port information that the MGW is sending to for this connection, as sent to the MGW by the last > hmm "MGW's remote RTP port" is again a bit weird, because it is the port of the MGW's peer, not belo [?] "MGW's remote RTP port". The problem seems to be that in libosmo-mgcp-client, the "local" port would be the one bound in the client, and the remote would be the one listening on the MGW. So it may actually may sense to change the API name here... -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb488925827d9dc0ccb1f8d6d84728745d086793 Gerrit-Change-Number: 24145 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 12:59:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 12:59:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 12:59:42 +0000 Subject: Change in osmo-mgw[master]: send DLCX only once In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24143 ) Change subject: send DLCX only once ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I35e415f67946b73c74408afe265618cfe4f72b0b Gerrit-Change-Number: 24143 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 12:59:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 12:59:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 12:59:59 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoftue: solve conflict of sample rate param in rf_driver In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24140 ) Change subject: amarisoftue: solve conflict of sample rate param in rf_driver ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icc8042c3eec2a1e8bfc6823c06430c1cb18355b7 Gerrit-Change-Number: 24140 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 12:59:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 13:00:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 13:00:09 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: add NR support In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24126 ) Change subject: amarisoft_enb: add NR support ...................................................................... amarisoft_enb: add NR support this patch adds the ability to configure NR cells with Amarisoft eNB. It adds the new DRB-NR template and updates the normal enb.cfg template to allow using it as LTE only or with NR cells (5G NSA). Change-Id: Ia27bbc6db5920ce14bacabe8043601aa2adaa5fe --- M doc/examples/4g_srsLTE/defaults.conf M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py A src/osmo_gsm_tester/templates/amarisoft_drb_nr.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl M sysmocom/defaults.conf 7 files changed, 943 insertions(+), 14 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/examples/4g_srsLTE/defaults.conf b/doc/examples/4g_srsLTE/defaults.conf index 4a3b4c4..1d1f286 100644 --- a/doc/examples/4g_srsLTE/defaults.conf +++ b/doc/examples/4g_srsLTE/defaults.conf @@ -12,6 +12,7 @@ mnc: 70 transmission_mode: 1 num_cells: 1 + num_nr_cells: 0 enable_measurements: false a1_report_type: rsrp a1_report_value: -105 diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 252fa14..e976753 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -68,12 +68,18 @@ 'cell_list[].ncell_list[].pci': schema.UINT, 'cell_list[].ncell_list[].dl_earfcn': schema.UINT, 'cell_list[].scell_list[]': schema.UINT, + 'cell_list[].nr_scell_list[]': schema.UINT, 'cell_list[].dl_earfcn': schema.UINT, 'cell_list[].root_seq_idx': schema.UINT, 'cell_list[].tac': schema.UINT, 'cell_list[].dl_rfemu.type': schema.STR, 'cell_list[].dl_rfemu.addr': schema.IPV4, 'cell_list[].dl_rfemu.ports[]': schema.UINT, + 'num_nr_cells': schema.UINT, + 'nr_cell_list[].rf_port': schema.UINT, + 'nr_cell_list[].cell_id': schema.UINT, + 'nr_cell_list[].band': schema.UINT, + 'nr_cell_list[].dl_nr_arfcn': schema.UINT, } for key, val in run_node.RunNode.schema().items(): resource_schema['run_node.%s' % key] = val @@ -98,9 +104,11 @@ self.set_name('%s_%s' % (name, self._run_node.run_addr())) self._txmode = 0 self._id = None + self._ran_config = "lte" # Used to determine whether we are in NSA self._duplex = None self._num_prb = 0 self._num_cells = None + self._num_nr_cells = None self._epc = None self.gen_conf = None self.gr_broker = GrBroker.ref() @@ -126,10 +134,11 @@ def calc_required_zmq_ports(self, cfg_values): cell_list = cfg_values['enb']['cell_list'] - return len(cell_list) * self.num_ports() # *2 if MIMO + nr_cell_list = cfg_values['enb']['nr_cell_list'] + return len(cell_list) * self.num_ports() + len(nr_cell_list) # *2 if LTE MIMO def calc_required_zmq_ports_joined_earfcn(self, cfg_values): - #gr_broker will join the earfcns, so we need to count uniqe earfcns: + #gr_broker will join the earfcns, so we need to count unique earfcns (only implemented for LTE): cell_list = cfg_values['enb']['cell_list'] earfcn_li = [] [earfcn_li.append(int(cell['dl_earfcn'])) for cell in cell_list if int(cell['dl_earfcn']) not in earfcn_li] @@ -142,6 +151,10 @@ for cell in cell_list: cell[port_name] = base_port + port_offset port_offset += self.num_ports() + nr_cell_list = cfg_values['enb']['nr_cell_list'] + for nr_cell in nr_cell_list: + nr_cell[port_name] = base_port + port_offset + port_offset += 1 # TODO: do we need to assign cell_list back? def assign_enb_zmq_ports_joined_earfcn(self, cfg_values, port_name, base_port): @@ -176,7 +189,9 @@ config.overlay(values, dict(enb={ 'mme_addr': self._epc.addr() })) config.overlay(values, dict(enb={ 'gtp_bind_addr': self._gtp_bind_addr })) self._num_cells = int(values['enb'].get('num_cells', None)) - assert self._num_cells + self._num_nr_cells = int(values['enb'].get('num_nr_cells', None)) + assert self._num_cells is not None + assert self._num_nr_cells is not None # adjust cell_list to num_cells length: len_cell_list = len(values['enb']['cell_list']) @@ -231,6 +246,9 @@ def num_cells(self): return self._num_cells + def num_nr_cells(self): + return self._num_nr_cells + ######################## # PUBLIC - INTERNAL API ######################## @@ -280,6 +298,13 @@ rf_dev_args += ',rx_port%u=tcp://%s:%u' %(idx + 1, ul_rem_addr, cell['zmq_enb_peer_port'] + 1) idx += self.num_ports() + # Only single antenna supported for NR cells + nr_cell_list = cfg_values['enb']['nr_cell_list'] + for nr_cell in nr_cell_list: + rf_dev_args += ',tx_port%u=tcp://%s:%u' % (idx, self.addr(), nr_cell['zmq_enb_bind_port'] + 0) + rf_dev_args += ',rx_port%u=tcp://%s:%u' % (idx, ul_rem_addr, nr_cell['zmq_enb_peer_port'] + 0) + idx += 1 + rf_dev_args += ',id=enb,base_srate=' + str(base_srate) return rf_dev_args @@ -300,6 +325,14 @@ if self.num_ports() > 1: rf_dev_args += ',rx_port%u=tcp://%s:%u' %(idx + 1, self.addr(), cell['zmq_ue_peer_port'] + 1) idx += self.num_ports() + + # NR cells again only with single antenna support + nr_cell_list = self.gen_conf['enb']['nr_cell_list'] + for nr_cell in nr_cell_list: + rf_dev_args += ',tx_port%u=tcp://%s:%u' %(idx, ue.addr(), nr_cell['zmq_ue_bind_port'] + 0) + rf_dev_args += ',rx_port%u=tcp://%s:%u' %(idx, self.addr(), nr_cell['zmq_ue_peer_port'] + 0) + idx += 1 + # remove trailing comma: if rf_dev_args[0] == ',': return rf_dev_args[1:] diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index 405ed68..34ab5c1 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -22,6 +22,7 @@ from ..core import log, util, config, template, process, remote from ..core import schema +from ..core.event_loop import MainLoop from . import enb from . import rfemu @@ -33,12 +34,16 @@ config_schema = { 'log_options': schema.STR, + 'nr_bandwidth': schema.INT, } schema.register_config_schema('amarisoftenb', config_schema) def rf_type_valid(rf_type_str): return rf_type_str in ('uhd', 'zmq', 'sdr') +def ran_type_valid(ran_type_str): + return ran_type_str in ('lte', '5g_nsa') + class AmarisoftENB(enb.eNodeB): REMOTE_DIR = '/osmo-gsm-tester-amarisoftenb' @@ -48,6 +53,7 @@ CFGFILE_SIB23 = 'amarisoft_sib23.asn' CFGFILE_RF = 'amarisoft_rf_driver.cfg' CFGFILE_DRB = 'amarisoft_drb.cfg' + CFGFILE_DRB_NR = 'amarisoft_drb_nr.cfg' LOGFILE = 'lteenb.log' PHY_SIGNAL_FILE = 'lteenb.log.bin' @@ -63,6 +69,7 @@ self.config_sib23_file = None self.config_rf_file = None self.config_drb_file = None + self.config_drb_nr_file = None self.log_file = None self.process = None self.rem_host = None @@ -72,8 +79,11 @@ self.remote_config_sib23_file = None self.remote_config_rf_file = None self.remote_config_drb_file = None + self.remote_config_drb_nr_file = None self.remote_log_file = None self.enable_measurements = False + self.nr_bandwidth = None + self.ran_type = None self.testenv = testenv if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -131,8 +141,8 @@ self.process.launch() def stop(self): - # Not implemented - pass + # Allow for some time to flush logs + MainLoop.sleep(5) def gen_conf_file(self, path, filename, values): self.dbg('AmarisoftENB ' + filename + ':\n' + pprint.pformat(values)) @@ -151,6 +161,7 @@ self.config_sib23_file = self.run_dir.child(AmarisoftENB.CFGFILE_SIB23) self.config_rf_file = self.run_dir.child(AmarisoftENB.CFGFILE_RF) self.config_drb_file = self.run_dir.child(AmarisoftENB.CFGFILE_DRB) + self.config_drb_nr_file = self.run_dir.child(AmarisoftENB.CFGFILE_DRB_NR) self.log_file = self.run_dir.child(AmarisoftENB.LOGFILE) self.phy_signal_file = self.run_dir.child(AmarisoftENB.PHY_SIGNAL_FILE) @@ -165,6 +176,7 @@ self.remote_config_sib23_file = remote_run_dir.child(AmarisoftENB.CFGFILE_SIB23) self.remote_config_rf_file = remote_run_dir.child(AmarisoftENB.CFGFILE_RF) self.remote_config_drb_file = remote_run_dir.child(AmarisoftENB.CFGFILE_DRB) + self.remote_config_drb_nr_file = remote_run_dir.child(AmarisoftENB.CFGFILE_DRB_NR) self.remote_log_file = remote_run_dir.child(AmarisoftENB.LOGFILE) self.remote_phy_signal_file = remote_run_dir.child(AmarisoftENB.PHY_SIGNAL_FILE) @@ -176,6 +188,17 @@ config.overlay(values, dict(enb={'enable_dl_awgn': util.str2bool(values['enb'].get('enable_dl_awgn', 'false'))})) + self.nr_bandwidth = int(values['enb'].get('nr_bandwidth', 10)) + config.overlay(values, dict(enb={'nr_bandwidth': self.nr_bandwidth})) + + if (self._num_cells > 0): + if (self._num_nr_cells <= 0): + self.ran_type = "lte" + else: + self.ran_type = "nsa" + else: + raise log.Error('5G SA not supported yet') + # Remove EEA0 from cipher list, if specified, as it's always assumed as default cipher_list = values['enb'].get('cipher_list', None) if "eea0" in cipher_list: cipher_list.remove("eea0") @@ -237,6 +260,7 @@ self.gen_conf_file(self.config_sib23_file, AmarisoftENB.CFGFILE_SIB23, values) self.gen_conf_file(self.config_rf_file, AmarisoftENB.CFGFILE_RF, values) self.gen_conf_file(self.config_drb_file, AmarisoftENB.CFGFILE_DRB, values) + self.gen_conf_file(self.config_drb_nr_file, AmarisoftENB.CFGFILE_DRB_NR, values) if not self._run_node.is_local(): self.rem_host.recreate_remote_dir(self.remote_inst) @@ -247,6 +271,7 @@ self.rem_host.scp('scp-cfg-sib23-to-remote', self.config_sib23_file, self.remote_config_sib23_file) self.rem_host.scp('scp-cfg-rr-to-remote', self.config_rf_file, self.remote_config_rf_file) self.rem_host.scp('scp-cfg-drb-to-remote', self.config_drb_file, self.remote_config_drb_file) + self.rem_host.scp('scp-cfg-drb-nr-to-remote', self.config_drb_nr_file, self.remote_config_drb_nr_file) def ue_add(self, ue): if self.ue is not None: @@ -279,11 +304,17 @@ rfemu_obj = rfemu.get_instance_by_type(rfemu_cfg['type'], rfemu_cfg) return rfemu_obj + def get_nr_bandwidth(self): + return self.nr_bandwidth + def ue_max_rate(self, downlink=True, num_carriers=1): - if self._duplex == 'fdd': - return self.ue_max_rate_fdd(downlink, num_carriers) + if self.ran_type == 'lte': + if self._duplex == 'fdd': + return self.ue_max_rate_fdd(downlink, num_carriers) + else: + return self.ue_max_rate_tdd(downlink, num_carriers) else: - return self.ue_max_rate_tdd(downlink, num_carriers) + return self.ue_max_rate_nsa_tdd(downlink) def ue_max_rate_fdd(self, downlink, num_carriers): # The max rate for a single UE per PRB configuration in TM1 with MCS 28 QAM64 @@ -323,7 +354,7 @@ return max_rate def ue_max_rate_tdd(self, downlink, num_carriers): - # Max rate calculation for TDD depends on the acutal TDD configuration + # Max rate calculation for TDD depends on the actual TDD configuration # See: https://www.sharetechnote.com/html/Handbook_LTE_ThroughputCalculationExample_TDD.html # and https://i0.wp.com/www.techtrained.com/wp-content/uploads/2017/09/Blog_Post_1_TDD_Max_Throughput_Theoretical.jpg max_phy_rate_tdd_uldl_config0_sp0 = { 6 : 1.5e6, @@ -333,8 +364,21 @@ 75 : 18.4e6, 100 : 54.5e6 } if downlink: - max_rate = max_phy_rate_tdd_uldl_config0_sp0[self.num_prb()] + return max_phy_rate_tdd_uldl_config0_sp0[self.num_prb()] else: return 1e6 # dummy value, we need to replace that later + def ue_max_rate_nsa_tdd(self, downlink): + # Max rate calculation based on https://5g-tools.com/5g-nr-throughput-calculator/ + # Only FR1 15kHz SCS, QAM64, 6 DL slots, 3 UL slots + max_phy_rate_nsa_dl_fr1_15khz = { 10: 18.4e6, + 20: 38.0e6 } + max_phy_rate_nsa_ul_fr1_15khz = { 10: 10.7e6, + 20: 23.0e6 } + + if downlink: + return max_phy_rate_nsa_dl_fr1_15khz[self.get_nr_bandwidth()] + else: + return max_phy_rate_nsa_ul_fr1_15khz[self.get_nr_bandwidth()] + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/templates/amarisoft_drb_nr.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_drb_nr.cfg.tmpl new file mode 100644 index 0000000..82f3b8c --- /dev/null +++ b/src/osmo_gsm_tester/templates/amarisoft_drb_nr.cfg.tmpl @@ -0,0 +1,423 @@ +/* DRB configuration for each QCI value. + QCI characteristics in TS 23.203 table 6.1.7 */ +[ + /**************************************** GBR */ + { + qci: 1, /* UM - real time (RTP for VOIP) */ + use_for_en_dc: false, + pdcp_config: { + discardTimer: 100, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 12, + pdcp_SN_SizeDL: 12, + statusReportRequired: false, + outOfOrderDelivery: false, + t_Reordering: 0, + /* ROHC header compression */ + /* + headerCompression: { + maxCID: 15, + profile0x0001: true, // RTP profile + profile0x0002: true, // UDP profile + profile0x0004: false, // IP profile + }, + */ + }, + rlc_config: { + ul_um: { + sn_FieldLength: 6, + }, + dl_um: { + sn_FieldLength: 6, + t_Reassembly: 50, + }, + }, + logical_channel_config: { + priority: 7, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + }, + }, + { + qci: 2, /* UM - real time (video) */ + pdcp_config: { + discardTimer: 150, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: false, + outOfOrderDelivery: false, + t_Reordering: 0, + }, + rlc_config: { + ul_um: { + sn_FieldLength: 12, + }, + dl_um: { + sn_FieldLength: 12, + t_Reassembly: 50, + }, + }, + logical_channel_config: { + priority: 8, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + }, + }, + { + qci: 3, /* UM - real time (gaming) */ + pdcp_config: { + discardTimer: 100, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: false, + outOfOrderDelivery: false, + t_Reordering: 0, + }, + rlc_config: { + ul_um: { + sn_FieldLength: 12, + }, + dl_um: { + sn_FieldLength: 12, + t_Reassembly: 50, + }, + }, + logical_channel_config: { + priority: 7, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 2, + }, + }, + { + qci: 4, /* AM - Non-Conversational Video (Buffered Streaming) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: true, + outOfOrderDelivery: false, + }, + rlc_config: { + ul_am: { + sn_FieldLength: 18, + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 4, + }, + dl_am: { + sn_FieldLength: 18, + t_Reassembly: 80, /* in ms */ + t_StatusProhibit: 10, /* in ms */ + }, + }, + logical_channel_config: { + priority: 9, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 3, + }, + }, + { + qci: 65, /* UM - real time (MC-PTT voice) */ + use_for_en_dc: false, + pdcp_config: { + discardTimer: 100, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 12, + pdcp_SN_SizeDL: 12, + statusReportRequired: false, + outOfOrderDelivery: false, + t_Reordering: 0, + /* ROHC header compression */ + /* + headerCompression: { + maxCID: 15, + profile0x0001: true, // RTP profile + profile0x0002: true, // UDP profile + profile0x0004: false, // IP profile + }, + */ + }, + rlc_config: { + ul_um: { + sn_FieldLength: 6, + }, + dl_um: { + sn_FieldLength: 6, + t_Reassembly: 50, + }, + }, + logical_channel_config: { + priority: 5, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 4, + }, + }, + { + qci: 66, /* UM - real time (non MC-PTT voice) */ + use_for_en_dc: false, + pdcp_config: { + discardTimer: 150, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: false, + outOfOrderDelivery: false, + t_Reordering: 0, + }, + rlc_config: { + ul_um: { + sn_FieldLength: 12, + }, + dl_um: { + sn_FieldLength: 12, + t_Reassembly: 50, + }, + }, + logical_channel_config: { + priority: 7, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 4, + }, + }, + { + qci: 67, /* UM - Mission Critical Video user plane */ + use_for_en_dc: false, + pdcp_config: { + discardTimer: 100, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: false, + outOfOrderDelivery: false, + t_Reordering: 0, + }, + rlc_config: { + ul_um: { + sn_FieldLength: 12, + }, + dl_um: { + sn_FieldLength: 12, + t_Reassembly: 50, + }, + }, + logical_channel_config: { + priority: 6, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 5, + }, + }, + /**************************************** non GBR */ + { + qci: 5, /* AM - high priority (SIP) */ + use_for_en_dc: false, + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: true, + outOfOrderDelivery: false, + }, + rlc_config: { + ul_am: { + sn_FieldLength: 18, + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 4, + }, + dl_am: { + sn_FieldLength: 18, + t_Reassembly: 80, /* in ms */ + t_StatusProhibit: 10, /* in ms */ + }, + }, + logical_channel_config: { + priority: 6, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 4, + }, + }, + { + qci: 6, /* AM - Video (buffered streaming) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: true, + outOfOrderDelivery: false, + }, + rlc_config: { + ul_am: { + sn_FieldLength: 18, + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 4, + }, + dl_am: { + sn_FieldLength: 18, + t_Reassembly: 80, /* in ms */ + t_StatusProhibit: 10, /* in ms */ + }, + }, + logical_channel_config: { + priority: 10, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 5, + }, + }, + { + qci: 7, /* UM - voice, video (live streaming), interactive gaming */ + pdcp_config: { + discardTimer: 100, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: false, + outOfOrderDelivery: false, + t_Reordering: 0, + }, + rlc_config: { + ul_um: { + sn_FieldLength: 12, + }, + dl_um: { + sn_FieldLength: 12, + t_Reassembly: 50, + }, + }, + logical_channel_config: { + priority: 11, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 6, + }, + }, + { + qci: 8, /* AM - best effort (Internet traffic) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: true, + outOfOrderDelivery: false, + }, + rlc_config: { + ul_am: { + sn_FieldLength: 18, + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 4, + }, + dl_am: { + sn_FieldLength: 18, + t_Reassembly: 80, /* in ms */ + t_StatusProhibit: 10, /* in ms */ + }, + }, + logical_channel_config: { + priority: 12, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 7, + }, + }, + { + qci: 9, /* AM - best effort (Internet traffic) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: true, + outOfOrderDelivery: false, + }, + rlc_config: { + ul_am: { + sn_FieldLength: 18, + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 4, + }, + dl_am: { + sn_FieldLength: 18, + t_Reassembly: 80, /* in ms */ + t_StatusProhibit: 10, /* in ms */ + }, + }, + logical_channel_config: { + priority: 13, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 7, + }, + }, + { + qci: 69, /* AM - high priority (MC-PTT signalling) */ + use_for_en_dc: false, + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: true, + outOfOrderDelivery: false, + }, + rlc_config: { + ul_am: { + sn_FieldLength: 18, + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 4, + }, + dl_am: { + sn_FieldLength: 18, + t_Reassembly: 80, /* in ms */ + t_StatusProhibit: 10, /* in ms */ + }, + }, + logical_channel_config: { + priority: 4, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 4, + }, + }, + { + qci: 70, /* AM - MC data */ + use_for_en_dc: false, + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + pdcp_SN_SizeUL: 18, + pdcp_SN_SizeDL: 18, + statusReportRequired: true, + outOfOrderDelivery: false, + }, + rlc_config: { + ul_am: { + sn_FieldLength: 18, + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 4, + }, + dl_am: { + sn_FieldLength: 18, + t_Reassembly: 80, /* in ms */ + t_StatusProhibit: 10, /* in ms */ + }, + }, + logical_channel_config: { + priority: 11, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 5, + }, + }, +] diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 2c6fcc0..89b531c 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -1,6 +1,5 @@ -/* lteenb configuration file version 2018-10-18 - * Copyright (C) 2015-2018 Amarisoft - */ +/* OGT templated version of the lteenb configuration file for 4G and 5G NSA */ + { %if enb.license_server_addr != '0.0.0.0': @@ -64,10 +63,15 @@ /* high 20 bits of SIB1.cellIdentifier */ enb_id: ${enb.id}, +% if int(enb.num_nr_cells) > 0: + nr_support: true, +% endif + /* list of cells */ cell_list: [ %for cell in enb.cell_list: +%if loop.index == 0: { dl_earfcn: ${cell.dl_earfcn}, rf_port: ${cell.rf_port}, @@ -87,10 +91,36 @@ { cell_id: ${scell_id}, cross_carrier_scheduling: false, scheduling_cell_id: ${cell.cell_id}, ul_allowed: true}, %endfor ], + + nr_scell_list: [ +%for nr_scell_id in cell.nr_scell_list: + { cell_id: ${nr_scell_id} }, +%endfor + ], }, +%endif %endfor ], /* cell_list */ +% if int(enb.num_nr_cells) > 0: + + nr_cell_list: [ + +%for nr_cell in enb.nr_cell_list: + %if loop.index == 0: + { + rf_port: ${nr_cell.rf_port}, + cell_id: ${nr_cell.cell_id}, + band: ${nr_cell.band}, + dl_nr_arfcn: ${nr_cell.dl_nr_arfcn}, + }, + %endif +%endfor + + ], /* nr_cell_list */ + +% endif + /* default cell parameters */ cell_default: { /* Broadcasted PLMN identities */ @@ -123,7 +153,11 @@ /* other SIBs, in same order as the scheduling list in SIB 1 */ sib_sched_list: [ "amarisoft_sib23.asn" ], +% if int(enb.num_prb) == 6: si_coderate: 0.30, /* maximum code rate for SI/RA/P-RNTI messages */ +% else: + si_coderate: 0.20, /* maximum code rate for SI/RA/P-RNTI messages */ +% endif si_pdcch_format: 2, /* 2 or 3. Log2 of the number of CCEs for PDCCH for SI/RA/P-RNTI */ @@ -154,7 +188,11 @@ pusch_msg3_mcs: 0, /* this CQI value is assumed when none is received from the UE */ +% if int(enb.num_prb) == 6: initial_cqi: 5, +% else: + initial_cqi: 3, +% endif /* if defined, force the PUSCH MCS for all UEs. Otherwise it is computed from the last received SRS/PUSCH. */ @@ -162,6 +200,9 @@ transmission_mode: ${enb.transmission_mode}, + dl_256qam: true, + ul_64qam: true, + /* Scheduling request period (ms). Must be >= 40 for HD-FDD */ sr_period: 20, @@ -188,6 +229,9 @@ // tdd_ack_nack_feedback_mode_r10: "cs", % endif + n1_pucch_sr_count: 11, /* increase if more UEs are needed */ + cqi_pucch_n_rb: 1, /* increase if more UEs are needed */ + /* number of PUCCH 1b CS resources. It determines the maximum number of UEs that can be scheduled in one TTI using carrier aggregation with PUCCH 1b CS ack/nack feedback. */ @@ -266,6 +310,14 @@ a3_offset: ${enb.a3_report_value}, a3_hysteresis: ${enb.a3_hysteresis}, a3_time_to_trigger: ${enb.a3_time_to_trigger}, +% if int(enb.num_nr_cells) > 0: + // NR events hard-coded + nr_b1_report_type: "rsrp", + nr_b1_rsrp: -100, + nr_b1_hysteresis: 0, + nr_b1_time_to_trigger: 100, + nr_rsrp_filter_coeff: 3 +% endif }, /* measurement gap configuration */ @@ -276,4 +328,357 @@ ho_from_meas: true, % endif }, -} + +% if int(enb.num_nr_cells) > 0: + nr_cell_default: { + subcarrier_spacing: 15, /* kHz */ + ssb_subcarrier_spacing: 30, + bandwidth: ${enb.nr_bandwidth}, /* MHz */ + n_antenna_dl: 1, + n_antenna_ul: 1, + + /* force the timing TA offset (optional) */ + n_timing_advance_offset: 0, + + tdd_ul_dl_config: { + pattern1: { + period: 10, + dl_slots: 6, + dl_symbols: 0, + ul_slots: 3, + ul_symbols: 0, + }, + }, + ssb_pos_bitmap: "10000000", + ssb_period: 20, /* in ms */ + n_id_cell: 500, + + root_sequence_index: 1, /* PRACH root sequence index */ + + /* Scheduling request period (slots). */ + sr_period: 40, + + dmrs_type_a_pos: 2, + + /* to limit the number of HARQ feedback in UL, use pdsch_harq_ack_max; + allows to workaround issues with SM-G977N for example */ + //pdsch_harq_ack_max: 2, + + prach: { + prach_config_index: 0, + msg1_subcarrier_spacing: 15, /* kHz */ + msg1_fdm: 1, +% if int(enb.nr_bandwidth) == 10: + msg1_frequency_start: 1, +% else: + msg1_frequency_start: 3, +% endif + zero_correlation_zone_config: 0, + preamble_received_target_power: -110, /* in dBm */ + preamble_trans_max: 7, + power_ramping_step: 4, /* in dB */ + ra_response_window: 10, /* in slots */ + restricted_set_config: "unrestricted_set", + ra_contention_resolution_timer: 64, /* in ms */ + ssb_per_prach_occasion: 1, + cb_preambles_per_ssb: 8, + }, + + pdcch: { + common_coreset: { + rb_start: -1, /* -1 to have the maximum bandwidth */ + l_crb: -1, /* -1 means all the bandwidth */ + duration: 1, + precoder_granularity: "sameAsREG_bundle", + //dmrs_scid: 0, + }, + + dedicated_coreset: { + rb_start: -1, /* -1 to have the maximum bandwidth */ + l_crb: -1, /* -1 means all the bandwidth */ + duration: 1, + precoder_granularity: "sameAsREG_bundle", + //dmrs_scid: 0, + }, + + css: { + n_candidates: [ 1, 1, 1, 0, 0 ], + }, + rar_al_index: 2, + + uss: { + n_candidates: [ 0, 2, 1, 0, 0 ], + dci_0_1_and_1_1: false, + force_dci_0_0: true, // Forces DCI format 0_0 for Uplink + force_dci_1_0: true, // Forces DCI format 1_0 for Downlink + }, + al_index: 1, + }, + + pdsch: { + mapping_type: "typeA", + start_symb: 1, + n_symb: 13, + dmrs_add_pos: 1, + dmrs_type: 1, + dmrs_max_len: 1, + k0: 0, /* delay in slots from DCI to PDSCH */ + /* delay in slots from PDSCH to PUCCH/PUSCH ACK/NACK */ + k1: [ 8, 7, 6, 6, 5, 4], + mcs_table: "qam64", + + rar_mcs: 2, + /* If defined, force the PDSCH MCS for all UEs. Otherwise it is computed + * based on DL channel quality estimation */ + /* mcs: 24, */ + }, + + csi_rs: { + nzp_csi_rs_resource: [ + { + csi_rs_id: 0, + n_ports: 1, + frequency_domain_allocation: "row2", + bitmap: "100000000000", + cdm_type: "no_cdm", + density: 1, + first_symb: 4, + rb_start: 0, + l_crb: -1, /* -1 means from rb_start to the end of the bandwidth */ + power_control_offset: 0, /* dB */ + power_control_offset_ss: 0, /* dB */ + scrambling_id: 0, + period: 80, + offset: 1, /* != 0 to avoid collision with SSB */ + qcl_info_periodic_csi_rs: 0, + }, +#define USE_TRS +#ifdef USE_TRS + /* TRS : period of 40 ms, slots 1 & 2, symbols 4 and 8 */ + { + csi_rs_id: 1, + n_ports: 1, + frequency_domain_allocation: "row1", + bitmap: "0001", + cdm_type: "no_cdm", + density: 3, + first_symb: 4, + rb_start: 0, + l_crb: -1, /* -1 means from rb_start to the end of the bandwidth */ + power_control_offset: 0, /* dB */ + power_control_offset_ss: 0, /* dB */ + scrambling_id: 0, + period: 40, + offset: 11, + qcl_info_periodic_csi_rs: 0, + }, + { + csi_rs_id: 2, + n_ports: 1, + frequency_domain_allocation: "row1", + bitmap: "0001", + cdm_type: "no_cdm", + density: 3, + first_symb: 8, + rb_start: 0, + l_crb: -1, /* -1 means from rb_start to the end of the bandwidth */ + power_control_offset: 0, /* dB */ + power_control_offset_ss: 0, /* dB */ + scrambling_id: 0, + period: 40, + offset: 11, + qcl_info_periodic_csi_rs: 0, + }, + { + csi_rs_id: 3, + n_ports: 1, + frequency_domain_allocation: "row1", + bitmap: "0001", + cdm_type: "no_cdm", + density: 3, + first_symb: 4, + rb_start: 0, + l_crb: -1, /* -1 means from rb_start to the end of the bandwidth */ + power_control_offset: 0, /* dB */ + power_control_offset_ss: 0, /* dB */ + scrambling_id: 0, + period: 40, + offset: 12, + qcl_info_periodic_csi_rs: 0, + }, + { + csi_rs_id: 4, + n_ports: 1, + frequency_domain_allocation: "row1", + bitmap: "0001", + cdm_type: "no_cdm", + density: 3, + first_symb: 8, + rb_start: 0, + l_crb: -1, /* -1 means from rb_start to the end of the bandwidth */ + power_control_offset: 0, /* dB */ + power_control_offset_ss: 0, /* dB */ + scrambling_id: 0, + period: 40, + offset: 12, + qcl_info_periodic_csi_rs: 0, + }, +#endif + ], + nzp_csi_rs_resource_set: [ + { + csi_rs_set_id: 0, + nzp_csi_rs_resources: [ 0 ], + repetition: false, + }, +#ifdef USE_TRS + { + csi_rs_set_id: 1, + nzp_csi_rs_resources: [ 1, 2, 3, 4 ], + repetition: false, + trs_info: true, + }, +#endif + ], + + csi_im_resource: [ + { + csi_im_id: 0, + pattern: 1, + subcarrier_location: 8, + symbol_location: 8, + rb_start: 0, + l_crb: -1, /* -1 means from rb_start to the end of the bandwidth */ + period: 80, + offset: 1, /* != 0 to avoid collision with SSB */ + }, + ], + csi_im_resource_set: [ + { + csi_im_set_id: 0, + csi_im_resources: [ 0 ], + } + ], + /* ZP CSI-RS to set the CSI-IM REs to zero */ + zp_csi_rs_resource: [ + { + csi_rs_id: 0, + frequency_domain_allocation: "row4", + bitmap: "100", + n_ports: 4, + cdm_type: "fd_cdm2", + first_symb: 8, + density: 1, + rb_start: 0, + l_crb: -1, /* -1 means from rb_start to the end of the bandwidth */ + period: 80, + offset: 1, + }, + ], + p_zp_csi_rs_resource_set: [ + { + zp_csi_rs_resources: [ 0 ], + }, + ], + + csi_resource_config: [ + { + csi_rsc_config_id: 0, + nzp_csi_rs_resource_set_list: [ 0 ], + resource_type: "periodic", + }, + { + csi_rsc_config_id: 1, + csi_im_resource_set_list: [ 0 ], + resource_type: "periodic", + }, +#ifdef USE_TRS + { + csi_rsc_config_id: 2, + nzp_csi_rs_resource_set_list: [ 1 ], + resource_type: "periodic", + }, +#endif + ], + csi_report_config: [ + { + resources_for_channel_measurement: 0, + csi_im_resources_for_interference: 1, + report_config_type: "periodic", + period: 80, + report_quantity: "CRI_RI_PMI_CQI", + cqi_table: 2, + subband_size: "value1", + }, + ], + }, + + pucch: { + pucch_group_hopping: "neither", + hopping_id: -1, /* -1 = n_cell_id */ + p0_nominal: -90, + pucch1: { + n_cs: 3, + n_occ: 3, + freq_hopping: false, + }, + pucch2: { + n_symb: 2, + n_prb: 1, + freq_hopping: false, + simultaneous_harq_ack_csi: false, + max_code_rate: 0.25, + }, + }, + + pusch: { + mapping_type: "typeA", + n_symb: 14, + dmrs_add_pos: 1, + dmrs_type: 1, + dmrs_max_len: 1, + tf_precoding: false, + mcs_table: "qam64", /* without transform precoding */ + mcs_table_tp: "qam64", /* with transform precoding */ + ldpc_max_its: 5, + k2: 4, /* delay in slots from DCI to PUSCH */ + p0_nominal_with_grant: -90, + msg3_k2: 5, + msg3_mcs: 4, + msg3_delta_power: 0, /* in dB */ + beta_offset_ack_index: 9, + + /* hardcoded scheduling parameters */ + n_dmrs_cdm_groups: 1, + n_layer: 1, + /* if defined, force the PUSCH MCS for all UEs. Otherwise it is + computed from the last received PUSCH. */ + //mcs: 16, + //max_mcs: 16, + }, + + /* MAC configuration */ + mac_config: { + msg3_max_harq_tx: 5, + ul_max_harq_tx: 5, /* max number of HARQ transmissions for uplink */ + dl_max_harq_tx: 5, /* max number of HARQ transmissions for downlink */ + ul_max_consecutive_retx: 30, /* disconnect UE if reached */ + dl_max_consecutive_retx: 30, /* disconnect UE if reached */ + periodic_bsr_timer: 20, + retx_bsr_timer: 320, + periodic_phr_timer: 500, + prohibit_phr_timer: 200, + phr_tx_power_factor_change: "dB3", + sr_prohibit_timer: 0, /* in ms, 0 to disable the timer */ + sr_trans_max: 64, + }, + + cipher_algo_pref: [${', '.join(list(dict.fromkeys(enb.cipher_list))).split("eea")[1] if len(list(dict.fromkeys(enb.cipher_list))) > 0 else ''}], + integ_algo_pref: [${', '.join(list(dict.fromkeys(enb.integrity_list))).split("eia")[1]}], + + inactivity_timer: ${enb.inactivity_timer}, + + drb_config: "amarisoft_drb_nr.cfg", + }, +% endif +} \ No newline at end of file diff --git a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl index 36d34ad..f2942d7 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -15,6 +15,26 @@ tx_gain: ${trx.tx_gain}, /* TX gain (in dB) B2x0: 0 to 89.8 dB */ rx_gain: ${trx.rx_gain}, /* RX gain (in dB) B2x0: 0 to 73 dB */ +rf_ports: [ + % if trx.rf_dev_type == 'sdr': + { + sample_rate: 23.04, + }, + { + sample_rate: 61.44, + dl_freq: 3502.8, // Moves NR DL LO frequency -5.76 MHz + ul_freq: 3502.8, // Moves NR UL LO frequency -5.76 MHz + } + % else: + { + sample_rate: ${enb.sample_rate}, + }, + { + sample_rate: ${enb.sample_rate}, + } + % endif +], + // only the B210 requires a sample offset % if "b200" in trx.rf_dev_args: tx_time_offset: -150, diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index 8740d62..5af2962 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -114,6 +114,7 @@ duplex: fdd transmission_mode: 1 num_cells: 1 + num_nr_cells: 0 inactivity_timer: 20000 enable_measurements: false enable_dl_awgn: false @@ -147,6 +148,8 @@ root_seq_idx: 205 scell_list: [] ncell_list: [] + nr_scell_list: [] + nr_cell_list: [] cipher_list: - eea0 - eea2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia27bbc6db5920ce14bacabe8043601aa2adaa5fe Gerrit-Change-Number: 24126 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 13:00:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 13:00:09 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add 5G NSA support In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24127 ) Change subject: ms_srs: add 5G NSA support ...................................................................... ms_srs: add 5G NSA support extend the MS to allow for NR carriers Change-Id: I7de9f867e7e32d0ab4f74eb7661928175f6c1a16 --- M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl M sysmocom/defaults.conf 3 files changed, 37 insertions(+), 22 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 54dc5de..ec4486f 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -36,6 +36,7 @@ 'rf_dev_args': schema.STR, 'rf_dev_sync': schema.STR, 'num_carriers': schema.UINT, + 'num_nr_carriers': schema.UINT, 'additional_args[]': schema.STR, 'airplane_t_on_ms': schema.INT, 'airplane_t_off_ms': schema.INT, @@ -54,7 +55,11 @@ 'enable_pcap': schema.BOOL_STR, 'log_all_level': schema.STR, 'log_nas_level': schema.STR, - 'nr_short_sn_support': schema.BOOL_STR + 'nr_short_sn_support': schema.BOOL_STR, + 'rrc_release': schema.INT, + 'ue_category': schema.INT, + 'ue_category_dl': schema.INT, + 'ue_category_ul': schema.INT, } schema.register_config_schema('modem', config_schema) @@ -101,6 +106,7 @@ self.remote_metrics_file = None self.enable_pcap = False self.num_carriers = 1 + self.num_nr_carriers = 0 self._additional_args = [] if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -270,6 +276,7 @@ self._additional_args += add_args.split() self.num_carriers = int(values['ue'].get('num_carriers', 1)) + self.num_nr_carriers = int(values['ue'].get('num_nr_carriers', 0)) # Simply pass-through the sync options config.overlay(values, dict(ue={'rf_dev_sync': values['ue'].get('rf_dev_sync', None)})) @@ -283,7 +290,7 @@ if self.num_carriers == 1: # Single carrier - if self.enb.num_ports() == 1: + if self.enb.num_ports() == 1 and self.num_nr_carriers == 0: # SISO rf_dev_args += ',rx_freq0=2630e6,tx_freq0=2510e6' elif self.enb.num_ports() == 2: diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 8d206fa..412dbda 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -22,22 +22,30 @@ device_args = ${ue.rf_dev_args},${ue.rf_dev_sync} [rat.eutra] -% if int(ue.num_carriers) == 4: -dl_earfcn = 2850,3050,3250,3350 -% elif int(ue.num_carriers) == 2: -dl_earfcn = 2850,3050 + +% if ue.get('dl_earfcn', None) != None: +dl_earfcn = ${ue.dl_earfcn} + % else: -dl_earfcn = 2850 + % if int(ue.num_carriers) == 4: + dl_earfcn = 2850,3050,3250,3350 + % elif int(ue.num_carriers) == 2: + dl_earfcn = 2850,3050 + % else: + dl_earfcn = 2850 + % endif % endif -% if ue.get('dl_freq', -1) != -1: + +% if float(ue.get('dl_freq', -1)) != -1: dl_freq = ${ue.dl_freq} % endif -% if ue.get('ul_freq', -1) != -1: +% if float(ue.get('ul_freq', -1)) != -1: ul_freq = ${ue.ul_freq} % endif - nof_carriers = ${ue.num_carriers} +[rat.nr] +nof_carriers = ${ue.num_nr_carriers} [pcap] enable = ${'mac' if ue.enable_pcap else 'none'} @@ -65,19 +73,18 @@ imsi = ${ue.imsi} imei = 353490069873319 - [rrc] -% if "dl_qam256" in ue.features or "ul_qam64" in ue.features: -ue_category = 8 -release = 13 -ue_category_dl = 14 -ue_category_ul = 5 -% elif int(ue.num_carriers) > 1: -ue_category = 7 -release = 10 -% else: -#ue_category = 4 -#release = 8 +% if ue.get('rrc_release', None) != None: +release = ${ue.rrc_release} +% endif +% if ue.get('ue_category', None) != None: +ue_category = ${ue.ue_category} +% endif +% if ue.get('ue_category_dl', None) != None: +ue_category_dl = ${ue.ue_category_dl} +% endif +% if ue.get('ue_category_ul', None) != None: +ue_category_ul = ${ue.ue_category_ul} % endif diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index 5af2962..67c9c5d 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -184,6 +184,7 @@ airplane_t_on_ms: -1 airplane_t_off_ms: -1 num_carriers: 1 + num_nr_carriers: 0 tx_gain: 80 rx_gain: 40 freq_offset: 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I7de9f867e7e32d0ab4f74eb7661928175f6c1a16 Gerrit-Change-Number: 24127 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 13:00:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 13:00:09 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_ltemme.cfg.tmpl: enable ENDC support in config template In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24128 ) Change subject: amarisoft_ltemme.cfg.tmpl: enable ENDC support in config template ...................................................................... amarisoft_ltemme.cfg.tmpl: enable ENDC support in config template patch also remove the UE forwarding option which isn't used anymore in the MME. Change-Id: Ia1628e6674b124806e3cd59c5b190d27f6ba4403 --- M src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl 1 file changed, 3 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl index a6de3c0..05b891a 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl @@ -51,6 +51,9 @@ /* Control Plane Cellular IoT EPS optimization support */ cp_ciot_opt: true, + /* DCNR support */ + nr_support: true, + /* Public Data Networks. The first one is the default. */ pdn_list: [ { @@ -148,12 +151,6 @@ */ tun_setup_script: "${epc.ifup_filename}", - /* If true, inter-UE routing is done inside the MME (hence no IP - packet is output to the virtual network interface in case of - inter-UE communication). Otherwise, it is done by the Linux IP - layer. */ - ue_to_ue_forwarding: false, - /* NAS ciphering algorithm preference. EEA0 is always the last. */ nas_cipher_algo_pref: [ ], /* NAS integrity algorithm preference. EIA0 is always the last. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia1628e6674b124806e3cd59c5b190d27f6ba4403 Gerrit-Change-Number: 24128 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 13:00:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 13:00:09 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoftue: solve conflict of sample rate param in rf_driver In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24140 ) Change subject: amarisoftue: solve conflict of sample rate param in rf_driver ...................................................................... amarisoftue: solve conflict of sample rate param in rf_driver move sample_rate setting into rf_driver template that is shared between enb and ue Change-Id: Icc8042c3eec2a1e8bfc6823c06430c1cb18355b7 --- M src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl 2 files changed, 22 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl index f9b2933..448c23c 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl @@ -10,12 +10,7 @@ }, %endif -% if ue.rf_dev_type == 'zmq': - /* Force sampling rate (if uncommented) */ - sample_rate: ${ue.sample_rate}, -% else: bandwidth: ${ue.bandwidth}, -%endif // log_options: "all.level=debug,all.max_size=32", log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,rrc.level=debug,rrc.max_size=1", diff --git a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl index f2942d7..d33b743 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -15,8 +15,12 @@ tx_gain: ${trx.tx_gain}, /* TX gain (in dB) B2x0: 0 to 89.8 dB */ rx_gain: ${trx.rx_gain}, /* RX gain (in dB) B2x0: 0 to 73 dB */ +// Only SDR and ZMQ devices require dedicated rf_port parameters +% if trx.rf_dev_type != 'uhd': + rf_ports: [ % if trx.rf_dev_type == 'sdr': + // NSA specific configuration { sample_rate: 23.04, }, @@ -26,15 +30,28 @@ ul_freq: 3502.8, // Moves NR UL LO frequency -5.76 MHz } % else: + // default case for UHD and ZMQ usage + <% + # determine ports and sample rate from either eNB or UE object + num_ports = 1 + try: + obj_sample_rate = enb.sample_rate + num_ports = int(enb.num_cells) + int(enb.num_nr_cells) + except AttributeError: + obj_sample_rate = ue.sample_rate + %> + + %for port in range(num_ports): { - sample_rate: ${enb.sample_rate}, + sample_rate: ${obj_sample_rate}, }, - { - sample_rate: ${enb.sample_rate}, - } - % endif + %endfor + + % endif ], +% endif + // only the B210 requires a sample offset % if "b200" in trx.rf_dev_args: tx_time_offset: -150, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icc8042c3eec2a1e8bfc6823c06430c1cb18355b7 Gerrit-Change-Number: 24140 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 13:02:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 13:02:31 +0000 Subject: Change in libosmo-abis[master]: Fix up vty 'show' commands for E1 line/timeslots In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24133 ) Change subject: Fix up vty 'show' commands for E1 line/timeslots ...................................................................... Patch Set 5: can you better describe why this commit fixes the commands? it's because those arg names doesn't exist? what's the error you get? -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I6af92ae2808713c74afeecaa1f500443fb2b7795 Gerrit-Change-Number: 24133 Gerrit-PatchSet: 5 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 06 May 2021 13:02:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 13:02:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 13:02:50 +0000 Subject: Change in libosmocore[master]: gsm/abis_nm: add missing NM_OC_IPAC_* value-string entries In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24150 ) Change subject: gsm/abis_nm: add missing NM_OC_IPAC_* value-string entries ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24150 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2181af229e8e7da12d716c176ab9230f09e29eef Gerrit-Change-Number: 24150 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 13:02:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 13:03:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 13:03:09 +0000 Subject: Change in osmo-bts[master]: struct gsm_bts_trx: remove unused leftovers from openbsc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24152 ) Change subject: struct gsm_bts_trx: remove unused leftovers from openbsc ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24152 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I667fc1d6a5eaccb69b45197da71d4a699f52fcfc Gerrit-Change-Number: 24152 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 13:03:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Thu May 6 13:04:11 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 13:04:11 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <6093e95bfbef_fc52b08fe0ce5f48804f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/Debian_9.0/armv7l Package network:osmocom:latest/osmo-bts failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 435s] texhash: Updating /usr/local/share/texmf/ls-R... [ 435s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 436s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 436s] texhash: Updating /var/lib/texmf/ls-R... [ 436s] texhash: Done. [ 436s] SIOCSIFADDR: File exists [ 436s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.1.dsc) [ 436s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 436s] dpkg-source: info: unpacking osmo-bts_1.3.1.tar.xz [ 437s] ----------------------------------------------------------------- [ 437s] ----- building osmo-bts_1.3.1.dsc (user abuild) [ 437s] ----------------------------------------------------------------- [ 437s] ----------------------------------------------------------------- [ 437s] dpkg-buildpackage: info: source package osmo-bts [ 437s] dpkg-buildpackage: info: source version 1.3.1 [ 437s] dpkg-buildpackage: info: source distribution unstable [ 437s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 438s] dpkg-source --before-build BUILD [ 438s] dpkg-buildpackage: info: host architecture armhf [ 438s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 438s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 438s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 438s] ### VM INTERACTION START ### [ 441s] [ 411.667419] sysrq: Power Off [ 441s] [ 411.668954] reboot: Power down [ 442s] ### VM INTERACTION END ### [ 442s] [ 442s] armbuild14 failed "build osmo-bts_1.3.1.dsc" at Thu May 6 13:04:00 UTC 2021. [ 442s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 13:49:51 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 13:49:51 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <6093f4078f469_fc52b08fe0ce5f4101753@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/Raspbian_9.0/armv7l Package network:osmocom:latest/osmo-remsim failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 315s] texhash: Updating /usr/local/share/texmf/ls-R... [ 315s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 315s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 315s] texhash: Updating /var/lib/texmf/ls-R... [ 315s] texhash: Done. [ 315s] SIOCSIFADDR: File exists [ 315s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.3.dsc) [ 315s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 315s] dpkg-source: info: unpacking osmo-remsim_0.2.3.tar.gz [ 316s] ----------------------------------------------------------------- [ 316s] ----- building osmo-remsim_0.2.3.dsc (user abuild) [ 316s] ----------------------------------------------------------------- [ 316s] ----------------------------------------------------------------- [ 316s] dpkg-buildpackage: info: source package osmo-remsim [ 316s] dpkg-buildpackage: info: source version 0.2.3 [ 316s] dpkg-buildpackage: info: source distribution unstable [ 316s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 316s] dpkg-source --before-build BUILD [ 316s] dpkg-buildpackage: info: host architecture armhf [ 317s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 317s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 317s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 317s] ### VM INTERACTION START ### [ 320s] [ 303.368860] sysrq: SysRq : Power Off [ 320s] [ 303.373095] reboot: Power down [ 320s] ### VM INTERACTION END ### [ 320s] [ 320s] armbuild04 failed "build osmo-remsim_0.2.3.dsc" at Thu May 6 13:49:39 UTC 2021. [ 320s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 6 14:04:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 14:04:23 +0000 Subject: Change in libosmocore[master]: gb: Fix missing exporting symbol bssgp_encode_rim_pdu References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24162 ) Change subject: gb: Fix missing exporting symbol bssgp_encode_rim_pdu ...................................................................... gb: Fix missing exporting symbol bssgp_encode_rim_pdu The symbol was not in the list of exported symbols. Change-Id: I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c --- M src/gb/libosmogb.map 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/62/24162/1 diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map index db638f9..ff5b34a 100644 --- a/src/gb/libosmogb.map +++ b/src/gb/libosmogb.map @@ -20,6 +20,7 @@ bssgp_enc_ran_inf_app_cont_nacc; bssgp_enc_ran_inf_app_err_rim_cont; bssgp_enc_ran_inf_rim_cont; +bssgp_encode_rim_pdu; bssgp_fc_in; bssgp_fc_init; bssgp_fc_ms_init; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Gerrit-Change-Number: 24162 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Thu May 6 14:16:49 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 14:16:49 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <6093fa5d381dd_fc52b08fe0ce5f4108833@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/Debian_9.0/armv7l Package network:osmocom:latest/osmo-sip-connector failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 687s] texhash: Updating /usr/local/share/texmf/ls-R... [ 688s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 688s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 688s] texhash: Updating /var/lib/texmf/ls-R... [ 688s] texhash: Done. [ 688s] SIOCSIFADDR: File exists [ 689s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.dsc) [ 689s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 689s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.tar.xz [ 689s] ----------------------------------------------------------------- [ 689s] ----- building osmo-sip-connector_1.5.0.dsc (user abuild) [ 689s] ----------------------------------------------------------------- [ 689s] ----------------------------------------------------------------- [ 690s] dpkg-buildpackage: info: source package osmo-sip-connector [ 690s] dpkg-buildpackage: info: source version 1.5.0 [ 690s] dpkg-buildpackage: info: source distribution unstable [ 690s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 690s] dpkg-source --before-build BUILD [ 690s] dpkg-buildpackage: info: host architecture armhf [ 690s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 690s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 690s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 691s] ### VM INTERACTION START ### [ 694s] [ 658.848489] sysrq: SysRq : Power Off [ 694s] [ 658.851546] reboot: Power down [ 694s] ### VM INTERACTION END ### [ 694s] [ 694s] obs-arm-5 failed "build osmo-sip-connector_1.5.0.dsc" at Thu May 6 14:16:41 UTC 2021. [ 694s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 15:00:36 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 15:00:36 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <609404aa344eb_fc52b08fe0ce5f4124558@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/Raspbian_9.0/armv7l Package network:osmocom:latest/osmo-sip-connector failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 517s] texhash: Updating /usr/local/share/texmf/ls-R... [ 517s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 518s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 518s] texhash: Updating /var/lib/texmf/ls-R... [ 518s] texhash: Done. [ 518s] SIOCSIFADDR: File exists [ 519s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.dsc) [ 519s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 519s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.tar.xz [ 519s] ----------------------------------------------------------------- [ 519s] ----- building osmo-sip-connector_1.5.0.dsc (user abuild) [ 519s] ----------------------------------------------------------------- [ 519s] ----------------------------------------------------------------- [ 520s] dpkg-buildpackage: info: source package osmo-sip-connector [ 520s] dpkg-buildpackage: info: source version 1.5.0 [ 520s] dpkg-buildpackage: info: source distribution unstable [ 520s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 521s] dpkg-source --before-build BUILD [ 521s] dpkg-buildpackage: info: host architecture armhf [ 522s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 522s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 522s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 522s] ### VM INTERACTION START ### [ 525s] [ 486.650528] sysrq: SysRq : Power Off [ 525s] [ 486.660313] reboot: Power down [ 526s] ### VM INTERACTION END ### [ 526s] [ 526s] obs-arm-5 failed "build osmo-sip-connector_1.5.0.dsc" at Thu May 6 15:00:32 UTC 2021. [ 526s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 6 15:24:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 15:24:07 +0000 Subject: Change in osmo-ggsn[master]: gtp: Support tx/rx RAN Information Relay message References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24163 ) Change subject: gtp: Support tx/rx RAN Information Relay message ...................................................................... gtp: Support tx/rx RAN Information Relay message See 3GPP TS 29.060 sec 7.5.14.1 RAN Information Relay. Related: SYS#5314 Change-Id: Iea3eb032ccd4aed5187baca7f7719349d76039d4 --- M gtp/gtp.c M gtp/gtp.h 2 files changed, 72 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/63/24163/1 diff --git a/gtp/gtp.c b/gtp/gtp.c index caee5a6..59fd355 100644 --- a/gtp/gtp.c +++ b/gtp/gtp.c @@ -196,6 +196,13 @@ return 0; } +int gtp_set_cb_ran_info_relay_ind(struct gsn_t *gsn, + int (*cb) (struct sockaddr_in * peer, union gtpie_member **ie)) +{ + gsn->cb_ran_info_relay_ind = cb; + return 0; +} + /* API: Initialise delete context callback */ /* Called whenever a pdp context is deleted for any reason */ int gtp_set_cb_delete_context(struct gsn_t *gsn, int (*cb) (struct pdp_t * pdp)) @@ -1200,6 +1207,57 @@ return 0; } +/* Handle a RAN Information Relay message */ +static int gtp_ran_info_relay_ind(struct gsn_t *gsn, int version, struct sockaddr_in *peer, + void *pack, unsigned len) +{ + union gtpie_member *ie[GTPIE_SIZE]; + + if (version != 1) { + LOGP(DLGTP, LOGL_NOTICE, + "RAN Information Relay expected only on GTPCv1: %u\n", version); + return -EINVAL; + } + + int hlen = get_hlen(pack); + + /* Decode information elements */ + if (gtpie_decaps(ie, version, pack + hlen, len - hlen)) { + gsn->invalid++; + GTP_LOGPKG(LOGL_ERROR, peer, pack, len, + "Invalid message format (AN Information Relay)\n"); + return -EINVAL; + } + + if (gsn->cb_ran_info_relay_ind) + gsn->cb_ran_info_relay_ind(peer, ie); + + return 0; +} + +/* Send off a RAN Information Relay message */ +int gtp_ran_info_relay_req(struct gsn_t *gsn, const struct sockaddr_in *peer, + const uint8_t *ran_container, size_t ran_container_len, + const uint8_t *rim_route_addr, size_t rim_route_addr_len, + uint8_t rim_route_addr_discr) +{ + union gtp_packet packet; + + /* GTP 1 is the highest supported protocol */ + unsigned int length = get_default_gtp(1, GTP_RAN_INFO_RELAY, &packet); + + gtpie_tlv(&packet, &length, GTP_MAX, GTPIE_RAN_T_CONTAIN, ran_container_len, + ran_container); + if (rim_route_addr) { + gtpie_tlv(&packet, &length, GTP_MAX, GTPIE_RIM_ROUT_ADDR, + rim_route_addr_len, rim_route_addr); + gtpie_tlv(&packet, &length, GTP_MAX, GTPIE_RIM_RA_DISCR, 1, + &rim_route_addr_discr); + } + + return gtp_notification(gsn, 1, &packet, length, peer, gsn->fd1c, 0); +} + /* *********************************************************** * Session management messages * Messages: create, update and delete PDP context @@ -3202,6 +3260,9 @@ case GTP_ERROR: gtp_error_ind_conf(gsn, version, &peer, buffer, status); break; + case GTP_RAN_INFO_RELAY: + gtp_ran_info_relay_ind(gsn, version, &peer, buffer, status); + break; default: gsn->unknown++; GTP_LOGPKG(LOGL_ERROR, &peer, buffer, status, diff --git a/gtp/gtp.h b/gtp/gtp.h index 45eb285..b4baae9 100644 --- a/gtp/gtp.h +++ b/gtp/gtp.h @@ -16,6 +16,7 @@ #include #include +#include "gtpie.h" #include "pdp.h" #define GTP_MODE_GGSN 1 @@ -85,6 +86,7 @@ #define GTP_FWD_SRNS 58 /* Forward SRNS Context */ #define GTP_FWD_RELOC_ACK 59 /* Forward Relocation Complete Acknowledge */ #define GTP_FWD_SRNS_ACK 60 /* Forward SRNS Context Acknowledge */ +#define GTP_RAN_INFO_RELAY 70 /* Forward SRNS Context Acknowledge */ /* 61-239 For future use. */ #define GTP_DATA_TRAN_REQ 240 /* Data Record Transfer Request */ #define GTP_DATA_TRAN_RSP 241 /* Data Record Transfer Response */ @@ -276,6 +278,7 @@ int (*cb_create_context_ind) (struct pdp_t *); int (*cb_unsup_ind) (struct sockaddr_in * peer); int (*cb_extheader_ind) (struct sockaddr_in * peer); + int (*cb_ran_info_relay_ind) (struct sockaddr_in *peer, union gtpie_member **ie); int (*cb_conf) (int type, int cause, struct pdp_t * pdp, void *cbp); int (*cb_data_ind) (struct pdp_t * pdp, void *pack, unsigned len); int (*cb_recovery) (struct sockaddr_in * peer, uint8_t recovery); @@ -343,6 +346,11 @@ extern int gtp_data_req(struct gsn_t *gsn, struct pdp_t *pdp, void *pack, unsigned len); +extern int gtp_ran_info_relay_req(struct gsn_t *gsn, const struct sockaddr_in *peer, + const uint8_t *ran_container, size_t ran_container_len, + const uint8_t *rim_route_addr, size_t rim_route_addr_len, + uint8_t rim_route_addr_discr); + extern int gtp_set_cb_data_ind(struct gsn_t *gsn, int (*cb_data_ind) (struct pdp_t * pdp, void *pack, unsigned len)); @@ -366,6 +374,9 @@ extern int gtp_set_cb_extheader_ind(struct gsn_t *gsn, int (*cb) (struct sockaddr_in * peer)); +extern int gtp_set_cb_ran_info_relay_ind(struct gsn_t *gsn, + int (*cb) (struct sockaddr_in * peer, union gtpie_member **ie)); + extern int gtp_set_cb_conf(struct gsn_t *gsn, int (*cb) (int type, int cause, struct pdp_t * pdp, void *cbp)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iea3eb032ccd4aed5187baca7f7719349d76039d4 Gerrit-Change-Number: 24163 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 15:25:39 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 May 2021 15:25:39 +0000 Subject: Change in osmo-bts[master]: struct gsm_bts_trx: remove unused leftovers from openbsc In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24152 ) Change subject: struct gsm_bts_trx: remove unused leftovers from openbsc ...................................................................... struct gsm_bts_trx: remove unused leftovers from openbsc Change-Id: I667fc1d6a5eaccb69b45197da71d4a699f52fcfc --- M include/osmo-bts/bts_trx.h 1 file changed, 0 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/include/osmo-bts/bts_trx.h b/include/osmo-bts/bts_trx.h index 4474903..8513a12 100644 --- a/include/osmo-bts/bts_trx.h +++ b/include/osmo-bts/bts_trx.h @@ -40,13 +40,6 @@ void *l1h; } role_bts; - union { - struct { - unsigned int test_state; - uint8_t test_nr; - struct rxlev_stats rxlev_stat; - } ipaccess; - }; struct gsm_bts_trx_ts ts[TRX_NR_TS]; }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24152 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I667fc1d6a5eaccb69b45197da71d4a699f52fcfc Gerrit-Change-Number: 24152 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 15:29:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 15:29:00 +0000 Subject: Change in osmo-sgsn[master]: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 ) Change subject: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN ...................................................................... Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN MMEs connect over Gn interface using GTPCv1 towards the SGSn in order to exchange RIM PDUs by using "RAN Informarion Relay" GTPCv1 message type. For more info, see 3GPP TS 29.060 sec 7.5.14.1 "RAN Information Relay" In order to support it, this commit does the following: * Uses new libgtp APIs to rx and tx RAN Information Relay messages. The same "gsn" object is reused, ie. the local GTPCv1 socket address used for exchanging messages against GGSN is reused. * Adds a new "sgsn_mme_ctx" struct holding information about MMEs allowed by the SGSN, each one containing information about the GTP address it uses, the in/out routing based on TAI requests, etc. The set of MMEs and their config can be set up using new VTY node introduced in this commit. * The RIM related code in SGSN is refactored to allow forwarding from and to several types of addresses/interfaces. Depends: osmo-ggsn.git Change-Id Iea3eb032ccd4aed5187baca7f7719349d76039d4 Depends: libosmocore.git Change-Id I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Related: SYS#5314 Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 --- M TODO-RELEASE M include/osmocom/sgsn/Makefile.am A include/osmocom/sgsn/gtp_mme.h M include/osmocom/sgsn/sgsn.h M include/osmocom/sgsn/sgsn_rim.h M include/osmocom/sgsn/vty.h M src/sgsn/Makefile.am M src/sgsn/gprs_sgsn.c A src/sgsn/gtp_mme.c M src/sgsn/sgsn_libgtp.c M src/sgsn/sgsn_main.c M src/sgsn/sgsn_rim.c M src/sgsn/sgsn_vty.c M tests/sgsn/Makefile.am 14 files changed, 573 insertions(+), 36 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/64/24164/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index 1c5d61f..44ee421 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -1 +1,3 @@ #component what description / commit summary line +libosmogb > 1.5.1 bssgp_encode_rim_pdu symbol was not exported previously +libgtp > 1.7.1 use gtp_ran_info_relay_req(), gtp_set_cb_ran_info_relay_ind() diff --git a/include/osmocom/sgsn/Makefile.am b/include/osmocom/sgsn/Makefile.am index 51bdee8..289f502 100644 --- a/include/osmocom/sgsn/Makefile.am +++ b/include/osmocom/sgsn/Makefile.am @@ -22,6 +22,7 @@ gprs_subscriber.h \ gprs_utils.h \ gtphub.h \ + gtp_mme.h \ sgsn.h \ sgsn_rim.h \ signal.h \ diff --git a/include/osmocom/sgsn/gtp_mme.h b/include/osmocom/sgsn/gtp_mme.h new file mode 100644 index 0000000..ceea405 --- /dev/null +++ b/include/osmocom/sgsn/gtp_mme.h @@ -0,0 +1,41 @@ +#pragma once + +#include + +#include +#include +#include + +struct gsn_t; + +struct mme_rim_route { + struct llist_head list; /* item in struct sgsn_mme_ctx */ + struct osmo_eutran_tai tai; +}; + +struct sgsn_mme_ctx { + struct llist_head list; /* item in sgsn_mme_ctxts */ + struct llist_head routes; /* list of struct mme_rim_route */ + struct sgsn_instance *sgsn; /* backpointer */ + char *name; + struct in_addr remote_addr; + + /* is it the default route for outgoing message? are all incoming messages accepted? */ + bool default_route; +}; +struct sgsn_mme_ctx *sgsn_mme_ctx_alloc(struct sgsn_instance *sgsn, const char *name); +struct sgsn_mme_ctx *sgsn_mme_ctx_find_alloc(struct sgsn_instance *sgsn, const char *name); +void sgsn_mme_ctx_free(struct sgsn_mme_ctx *mme); + +struct sgsn_mme_ctx *sgsn_mme_ctx_by_name(const struct sgsn_instance *sgsn, const char *name); +struct sgsn_mme_ctx *sgsn_mme_ctx_by_addr(const struct sgsn_instance *sgsn, const struct in_addr *addr); +struct sgsn_mme_ctx *sgsn_mme_ctx_by_route(const struct sgsn_instance *sgsn, const struct osmo_eutran_tai *tai); +struct sgsn_mme_ctx *sgsn_mme_ctx_by_default_route(const struct sgsn_instance *sgsn); + +void sgsn_mme_ctx_route_add(struct sgsn_mme_ctx *mme, const struct osmo_eutran_tai *tai); +void sgsn_mme_ctx_route_del(struct sgsn_mme_ctx *mme, const struct osmo_eutran_tai *tai); + +#define LOGMME(mme, cat, level, fmt, args...) { \ + char _buf[INET_ADDRSTRLEN]; \ + LOGP(cat, level, "MME(%s:%s): " fmt, (mme)->name, inet_ntop(AF_INET, &(mme)->remote_addr, _buf, sizeof(_buf)), ## args); \ + } while (0) diff --git a/include/osmocom/sgsn/sgsn.h b/include/osmocom/sgsn/sgsn.h index d9ef938..b686c7c 100644 --- a/include/osmocom/sgsn/sgsn.h +++ b/include/osmocom/sgsn/sgsn.h @@ -6,7 +6,10 @@ #include #include #include +#include + #include +#include #include #include #include @@ -145,6 +148,8 @@ struct ares_addr_node *ares_servers; struct rate_ctr_group *rate_ctrs; + + struct llist_head mme_list; /* list of struct sgsn_mme_ctx */ }; extern struct sgsn_instance *sgsn; @@ -169,6 +174,7 @@ void sgsn_pdp_upd_gtp_u(struct sgsn_pdp_ctx *pdp, void *addr, size_t alen); void sgsn_ggsn_echo_req(struct sgsn_ggsn_ctx *ggc); int send_act_pdp_cont_acc(struct sgsn_pdp_ctx *pctx); +int sgsn_mme_ran_info_req(struct sgsn_mme_ctx *mme, const struct bssgp_ran_information_pdu *pdu); /* gprs_sndcp.c */ diff --git a/include/osmocom/sgsn/sgsn_rim.h b/include/osmocom/sgsn/sgsn_rim.h index ca3660b..aa5a726 100644 --- a/include/osmocom/sgsn/sgsn_rim.h +++ b/include/osmocom/sgsn/sgsn_rim.h @@ -1,3 +1,6 @@ #pragma once -int sgsn_rim_rx(struct osmo_bssgp_prim *bp, struct msgb *msg); +struct sgsn_mme_ctx; + +int sgsn_rim_rx_from_gb(struct osmo_bssgp_prim *bp, struct msgb *msg); +int sgsn_rim_rx_from_gtp(struct bssgp_ran_information_pdu *pdu, struct sgsn_mme_ctx *mme); diff --git a/include/osmocom/sgsn/vty.h b/include/osmocom/sgsn/vty.h index bd469ef..a273222 100644 --- a/include/osmocom/sgsn/vty.h +++ b/include/osmocom/sgsn/vty.h @@ -5,4 +5,5 @@ enum bsc_vty_node { SGSN_NODE = _LAST_OSMOVTY_NODE + 1, GTPHUB_NODE, + MME_NODE, }; diff --git a/src/sgsn/Makefile.am b/src/sgsn/Makefile.am index 8738986..9e4a342 100644 --- a/src/sgsn/Makefile.am +++ b/src/sgsn/Makefile.am @@ -53,6 +53,7 @@ gprs_sndcp_pcomp.c \ gprs_sndcp_vty.c \ gprs_sndcp_xid.c \ + gtp_mme.c \ sgsn_main.c \ sgsn_vty.c \ sgsn_libgtp.c \ diff --git a/src/sgsn/gprs_sgsn.c b/src/sgsn/gprs_sgsn.c index d4bc554..f744257 100644 --- a/src/sgsn/gprs_sgsn.c +++ b/src/sgsn/gprs_sgsn.c @@ -1042,6 +1042,8 @@ inst->cfg.auth_policy = SGSN_AUTH_POLICY_CLOSED; inst->cfg.require_authentication = true; /* only applies if auth_policy is REMOTE */ inst->cfg.gsup_server_port = OSMO_GSUP_PORT; + + INIT_LLIST_HEAD(&inst->mme_list); return inst; } diff --git a/src/sgsn/gtp_mme.c b/src/sgsn/gtp_mme.c new file mode 100644 index 0000000..2b01542 --- /dev/null +++ b/src/sgsn/gtp_mme.c @@ -0,0 +1,145 @@ +/* TS 29.060 ? 7.5.14 RAN Information Management Messages */ +/* + * (C) 2021 by sysmocom - s.m.f.c. GmbH + * All Rights Reserved + * + * SPDX-License-Identifier: AGPL-3.0+ + * + * Author: Pau Espin Pedrol + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +#include + +#include +#include + +extern void *tall_sgsn_ctx; + +static bool _eutran_tai_equal(const struct osmo_eutran_tai *t1, const struct osmo_eutran_tai *t2) +{ + return t1->mcc == t2->mcc && + t1->mnc == t2->mnc && + t1->mnc_3_digits == t2->mnc_3_digits && + t1->tac == t2->tac; +} + +struct sgsn_mme_ctx *sgsn_mme_ctx_alloc(struct sgsn_instance *sgsn, const char *name) +{ + struct sgsn_mme_ctx *mme; + mme = talloc_zero(tall_sgsn_ctx, struct sgsn_mme_ctx); + if (!mme) + return NULL; + + /* if we are called from config file parse, this gsn doesn't exist yet */ + mme->sgsn = sgsn; + + mme->name = talloc_strdup(mme, name); + + INIT_LLIST_HEAD(&mme->routes); + llist_add(&mme->list, &sgsn->mme_list); + + return mme; +} + +void sgsn_mme_ctx_free(struct sgsn_mme_ctx *mme) +{ + struct mme_rim_route *rt, *rt2; + llist_del(&mme->list); + + llist_for_each_entry_safe(rt, rt2, &mme->routes, list) { + llist_del(&rt->list); + talloc_free(rt); + } + + talloc_free(mme); +} + +struct sgsn_mme_ctx *sgsn_mme_ctx_find_alloc(struct sgsn_instance *sgsn, const char *name) +{ + struct sgsn_mme_ctx *mme; + + mme = sgsn_mme_ctx_by_name(sgsn, name); + if (!mme) + mme = sgsn_mme_ctx_alloc(sgsn, name); + return mme; +} + +void sgsn_mme_ctx_route_add(struct sgsn_mme_ctx *mme, const struct osmo_eutran_tai *tai) +{ + struct mme_rim_route *rt = talloc_zero(mme, struct mme_rim_route); + rt->tai = *tai; + llist_add(&rt->list, &mme->routes); +} + +void sgsn_mme_ctx_route_del(struct sgsn_mme_ctx *mme, const struct osmo_eutran_tai *tai) +{ + struct mme_rim_route *rt; + + llist_for_each_entry(rt, &mme->routes, list) { + if (_eutran_tai_equal(tai, &rt->tai)) { + llist_del(&rt->list); + talloc_free(rt); + return; + } + } +} + +struct sgsn_mme_ctx *sgsn_mme_ctx_by_name(const struct sgsn_instance *sgsn, const char *name) +{ + struct sgsn_mme_ctx *mme; + + llist_for_each_entry(mme, &sgsn->mme_list, list) { + if (!strcmp(name, mme->name)) + return mme; + } + return NULL; +} + +struct sgsn_mme_ctx *sgsn_mme_ctx_by_addr(const struct sgsn_instance *sgsn, const struct in_addr *addr) +{ + struct sgsn_mme_ctx *mme; + + llist_for_each_entry(mme, &sgsn->mme_list, list) { + if (!memcmp(addr, &mme->remote_addr, sizeof(*addr))) + return mme; + } + return NULL; +} + +struct sgsn_mme_ctx *sgsn_mme_ctx_by_route(const struct sgsn_instance *sgsn, const struct osmo_eutran_tai *tai) +{ + struct sgsn_mme_ctx *mme; + llist_for_each_entry(mme, &sgsn->mme_list, list) { + struct mme_rim_route *rt; + llist_for_each_entry(rt, &mme->routes, list) { + if (_eutran_tai_equal(tai, &rt->tai)) { + return mme; + } + } + } + return NULL; +} + +struct sgsn_mme_ctx *sgsn_mme_ctx_by_default_route(const struct sgsn_instance *sgsn) +{ + struct sgsn_mme_ctx *mme; + + llist_for_each_entry(mme, &sgsn->mme_list, list) { + if (mme->default_route) + return mme; + } + return NULL; +} diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c index 367570d..e1e43b1 100644 --- a/src/sgsn/sgsn_libgtp.c +++ b/src/sgsn/sgsn_libgtp.c @@ -55,6 +55,8 @@ #include #include #include +#include +#include #include #include @@ -479,6 +481,43 @@ gtp_echo_req(ggc->gsn, ggc->gtp_version, ggc, &ggc->remote_addr); } +int sgsn_mme_ran_info_req(struct sgsn_mme_ctx *mme, const struct bssgp_ran_information_pdu *pdu) +{ + char ri_src_str[64], ri_dest_str[64]; + int ri_len; + struct msgb *msg; + struct bssgp_normal_hdr *bgph; + int rc; + uint8_t ri_buf[64]; + uint8_t *ri_ptr = &ri_buf[0]; + struct sockaddr_in sk_in = { + .sin_family = AF_INET, + .sin_port = htons(GTP1C_PORT), + .sin_addr = mme->remote_addr, + }; + + msg = bssgp_encode_rim_pdu(pdu); + if (!msg) { + LOGMME(mme, DRIM, LOGL_ERROR, "Tx GTP RAN Information Relay: failed to encode pdu\n"); + return -EINVAL; + } + bgph = (struct bssgp_normal_hdr *)msgb_bssgph(msg); + DEBUGP(DLBSSGP, "Tx GTP RAN Information Relay: RIM-PDU:%s, src=%s, dest=%s\n", + bssgp_pdu_str(bgph->pdu_type), + bssgp_rim_ri_name_buf(ri_src_str, sizeof(ri_src_str), &pdu->routing_info_src), + bssgp_rim_ri_name_buf(ri_dest_str, sizeof(ri_dest_str), &pdu->routing_info_dest)); + + if ((ri_len = bssgp_create_rim_ri(ri_ptr, &pdu->routing_info_dest)) < 0) { + ri_ptr = NULL; + ri_len = 0; + } + + rc = gtp_ran_info_relay_req(mme->sgsn->gsn, &sk_in, msgb_data(msg), msgb_length(msg), + ri_ptr, ri_len, pdu->routing_info_dest.discr); + msgb_free(msg); + return rc; +} + /* Confirmation of a PDP Context Delete */ static int delete_pdp_conf(struct pdp_t *pdp, void *cbp, int cause) { @@ -619,6 +658,56 @@ return 0; } +static int cb_gtp_ran_info_relay_ind(struct sockaddr_in *peer, union gtpie_member **ie) +{ + char addrbuf[INET_ADDRSTRLEN]; + struct sgsn_mme_ctx *mme = sgsn_mme_ctx_by_addr(sgsn, &peer->sin_addr); + if (!mme) { + LOGP(DGTP, LOGL_NOTICE, "Rx GTP RAN Information Relay from unknown MME %s\n", + inet_ntop(AF_INET, &peer->sin_addr, addrbuf, sizeof(addrbuf))); + return -ECONNREFUSED; + } + + LOGMME(mme, DGTP, LOGL_INFO, "Rx GTP RAN Information Relay\n"); + + unsigned int len = 0; + //uint8_t discr; + struct msgb *msg = msgb_alloc(4096, "gtpcv1_ran_info"); + struct bssgp_ran_information_pdu pdu; + + if (gtpie_gettlv(ie, GTPIE_RAN_T_CONTAIN, 0, &len, msgb_data(msg), 4096) || len <= 0) { + LOGMME(mme, DGTP, LOGL_ERROR, "Rx GTP RAN Information Relay: No Transparent Container IE found!\n"); + goto ret_error; + } + msgb_put(msg, len); + msgb_bssgph(msg) = msg->data; + msgb_nsei(msg) = 0; + if (bssgp_parse_rim_pdu(&pdu, msg) < 0) { + LOGMME(mme, DGTP, LOGL_ERROR, "Rx GTP RAN Information Relay: Failed parsing Transparent Container IE!\n"); + goto ret_error; + } + + /* + if (gtpie_gettlv(ie, GTPIE_RIM_RA_DISCR, 0, &len, &discr, 1) || len != 1) { + goto ret_error; + } + if (discr != BSSGP_RIM_ROUTING_INFO_GERAN) { + goto ret_error; + } + pdu->routing_info_dest.discr = discr; + + if (gtpie_gettlv(ie, GTPIE_RIM_ROUT_ADDR, 0, &pdu->rim_cont_len, &pdu->routing_info_dest.geran, sizeof(buf))) { + goto ret_error; + } + */ + msgb_free(msg); + return sgsn_rim_rx_from_gtp(&pdu, mme); + +ret_error: + msgb_free(msg); + return -EINVAL; +} + /* Called whenever we receive a DATA packet */ static int cb_data_ind(struct pdp_t *lib, void *packet, unsigned int len) { @@ -808,6 +897,7 @@ gtp_set_cb_data_ind(gsn, cb_data_ind); gtp_set_cb_unsup_ind(gsn, cb_unsup_ind); gtp_set_cb_extheader_ind(gsn, cb_extheader_ind); + gtp_set_cb_ran_info_relay_ind(gsn, cb_gtp_ran_info_relay_ind); return 0; } diff --git a/src/sgsn/sgsn_main.c b/src/sgsn/sgsn_main.c index 71f2efa..34d4fcd 100644 --- a/src/sgsn/sgsn_main.c +++ b/src/sgsn/sgsn_main.c @@ -122,7 +122,7 @@ case SAP_BSSGP_NM: break; case SAP_BSSGP_RIM: - return sgsn_rim_rx(bp, oph->msg); + return sgsn_rim_rx_from_gb(bp, oph->msg); } return 0; } @@ -162,6 +162,23 @@ } } +static int sgsn_vty_go_parent(struct vty *vty) +{ + switch (vty->node) { + case SGSN_NODE: + vty->node = CONFIG_NODE; + break; + case MME_NODE: + vty->node = SGSN_NODE; + vty->index = NULL; + break; + default: + osmo_ss7_vty_go_parent(vty); + } + + return vty->node; +} + /* NSI that BSSGP uses when transmitting on NS */ extern struct gprs_ns_inst *bssgp_nsi; @@ -169,7 +186,7 @@ .name = "OsmoSGSN", .version = PACKAGE_VERSION, #if BUILD_IU - .go_parent_cb = osmo_ss7_vty_go_parent, + .go_parent_cb = sgsn_vty_go_parent, #endif }; diff --git a/src/sgsn/sgsn_rim.c b/src/sgsn/sgsn_rim.c index 71e6d98..003e424 100644 --- a/src/sgsn/sgsn_rim.c +++ b/src/sgsn/sgsn_rim.c @@ -11,57 +11,114 @@ #include #include #include +#include #include +#include -/* Find an NSEI for the destination cell, this function works only for GERAN! */ -static int find_dest_nsei_geran(struct bssgp_rim_routing_info *dest_rim_ri, uint16_t nsei) +static int sgsn_bssgp_fwd_rim_to_geran(const struct bssgp_ran_information_pdu *pdu) { struct bssgp_bvc_ctx *bvc_ctx; + OSMO_ASSERT(pdu->routing_info_dest.discr == BSSGP_RIM_ROUTING_INFO_GERAN); - OSMO_ASSERT(dest_rim_ri->discr == BSSGP_RIM_ROUTING_INFO_GERAN); - - bvc_ctx = btsctx_by_raid_cid(&dest_rim_ri->geran.raid, dest_rim_ri->geran.cid); + bvc_ctx = btsctx_by_raid_cid(&pdu->routing_info_dest.geran.raid, pdu->routing_info_dest.geran.cid); if (!bvc_ctx) { - LOGP(DRIM, LOGL_ERROR, "BSSGP RIM (NSEI=%u) cannot find NSEI for destination cell\n", nsei); + LOGP(DRIM, LOGL_ERROR, "Unable to find NSEI for destination cell %s\n", + bssgp_rim_ri_name(&pdu->routing_info_dest)); return -EINVAL; } - return bvc_ctx->nsei; + /* Forward PDU as it is to the correct interface */ + return bssgp_tx_rim(pdu, bvc_ctx->nsei); } -int sgsn_rim_rx(struct osmo_bssgp_prim *bp, struct msgb *msg) +static int sgsn_bssgp_fwd_rim_to_eutran(const struct bssgp_ran_information_pdu *pdu) { - struct bssgp_ran_information_pdu *pdu = &bp->u.rim_pdu; - int d_nsei; - uint16_t nsei = msgb_nsei(msg); + struct sgsn_mme_ctx *mme; + OSMO_ASSERT(pdu->routing_info_dest.discr == BSSGP_RIM_ROUTING_INFO_EUTRAN); - /* At the moment we only support GERAN, so we block all other network - * types here. */ - if (pdu->routing_info_dest.discr != BSSGP_RIM_ROUTING_INFO_GERAN) { - LOGP(DRIM, LOGL_ERROR, - "BSSGP RIM (NSEI=%u) only GERAN supported, destination cell is not a GERAN cell -- rejected.\n", - nsei); - /* At the moment we can only handle GERAN addresses, any other - * type of address will be consideres as an invalid address. - * see also: 3GPP TS 48.018, section 8c.3.1.3 */ - return bssgp_tx_status(BSSGP_CAUSE_UNKN_RIM_AI, NULL, msg); + mme = sgsn_mme_ctx_by_route(sgsn, &pdu->routing_info_dest.eutran.tai); + if (!mme) { /* See if we have a default route configured */ + mme = sgsn_mme_ctx_by_default_route(sgsn); + if (!mme) { + LOGP(DRIM, LOGL_ERROR, "Unable to find MME for destination cell %s\n", + bssgp_rim_ri_name(&pdu->routing_info_dest)); + return -EINVAL; + } } + + /* TODO: find mme from VTY routing rules */ + return sgsn_mme_ran_info_req(mme, pdu); +} + +/* Receive a RIM PDU from BSSGP (GERAN) */ +int sgsn_rim_rx_from_gb(struct osmo_bssgp_prim *bp, struct msgb *msg) +{ + uint16_t nsei = msgb_nsei(msg); + struct bssgp_ran_information_pdu *pdu = &bp->u.rim_pdu; + if (pdu->routing_info_src.discr != BSSGP_RIM_ROUTING_INFO_GERAN) { LOGP(DRIM, LOGL_ERROR, - "BSSGP RIM (NSEI=%u) only GERAN supported, source cell is not a GERAN cell -- rejected.\n", nsei); - /* See comment above */ - return bssgp_tx_status(BSSGP_CAUSE_UNKN_RIM_AI, NULL, msg); + "Rx BSSGP RIM (NSEI=%u): Expected src %s, got %s\n", nsei, + bssgp_rim_routing_info_discr_str(BSSGP_RIM_ROUTING_INFO_GERAN), + bssgp_rim_routing_info_discr_str(pdu->routing_info_src.discr)); + goto err; } - d_nsei = find_dest_nsei_geran(&pdu->routing_info_dest, nsei); - if (d_nsei < 0) { - LOGP(DRIM, LOGL_NOTICE, "BSSGP RIM (NSEI=%u) Cell %s unknown to this sgsn\n", - nsei, bssgp_rim_ri_name(&pdu->routing_info_dest)); - /* In case of an invalid destination address we respond with - * a BSSGP STATUS PDU, see also: 3GPP TS 48.018, section 8c.3.1.3 */ - return bssgp_tx_status(BSSGP_CAUSE_UNKN_RIM_AI, NULL, msg); + switch (pdu->routing_info_dest.discr) { + case BSSGP_RIM_ROUTING_INFO_GERAN: + return sgsn_bssgp_fwd_rim_to_geran(pdu); + case BSSGP_RIM_ROUTING_INFO_EUTRAN: + return sgsn_bssgp_fwd_rim_to_eutran(pdu); + default: + /* At the moment we can only handle GERAN/EUTRAN addresses, any + * other type of address will be considered as an invalid + * address. see also: 3GPP TS 48.018, section 8c.3.1.3 + */ + LOGP(DRIM, LOGL_ERROR, + "Rx BSSGP RIM (NSEI=%u): Unsupported dst %s\n", nsei, + bssgp_rim_routing_info_discr_str(pdu->routing_info_dest.discr)); } - /* Forward PDU as it is to the correct interface */ - return bssgp_tx_rim(pdu, (uint16_t) d_nsei); + LOGP(DRIM, LOGL_INFO, "Rx BSSGP RIM (NSEI=%u): for dest cell %s\n", nsei, + bssgp_rim_ri_name(&pdu->routing_info_dest)); + +err: + /* In case of an invalid destination address we respond with + * a BSSGP STATUS PDU, see also: 3GPP TS 48.018, section 8c.3.1.3 */ + bssgp_tx_status(BSSGP_CAUSE_UNKN_RIM_AI, NULL, msg); + return -1; +} + +/* Receive a RIM PDU from GTPvC1 (EUTRAN) */ +int sgsn_rim_rx_from_gtp(struct bssgp_ran_information_pdu *pdu, struct sgsn_mme_ctx *mme) +{ + struct sgsn_mme_ctx *mme_tmp; + if (pdu->routing_info_src.discr != BSSGP_RIM_ROUTING_INFO_EUTRAN) { + LOGMME(mme, DRIM, LOGL_ERROR, "Rx GTP RAN Information Relay: Expected src %s, got %s\n", + bssgp_rim_routing_info_discr_str(BSSGP_RIM_ROUTING_INFO_EUTRAN), + bssgp_rim_routing_info_discr_str(pdu->routing_info_src.discr)); + return -EINVAL; + } + + if (pdu->routing_info_dest.discr != BSSGP_RIM_ROUTING_INFO_GERAN) { + LOGMME(mme, DRIM, LOGL_ERROR, "Rx GTP RAN Information Relay: Expected dst %s, got %s\n", + bssgp_rim_routing_info_discr_str(BSSGP_RIM_ROUTING_INFO_GERAN), + bssgp_rim_routing_info_discr_str(pdu->routing_info_dest.discr)); + return -EINVAL; + } + + mme_tmp = sgsn_mme_ctx_by_route(sgsn, &pdu->routing_info_src.eutran.tai); + if (!mme_tmp)/* See if we have a default route configured */ + mme_tmp = sgsn_mme_ctx_by_default_route(sgsn); + if (mme != mme_tmp) { + LOGP(DRIM, LOGL_ERROR, "Rx GTP RAN Information Relay: " + "Source MME doesn't have RIM routing configured for TAI: %s\n", + bssgp_rim_ri_name(&pdu->routing_info_src)); + return -EINVAL; + } + + LOGMME(mme, DRIM, LOGL_INFO, "Rx GTP RAN Information Relay for dest cell %s\n", + bssgp_rim_ri_name(&pdu->routing_info_dest)); + + return sgsn_bssgp_fwd_rim_to_geran(pdu); } diff --git a/src/sgsn/sgsn_vty.c b/src/sgsn/sgsn_vty.c index 042bad5..ba5e288 100644 --- a/src/sgsn/sgsn_vty.c +++ b/src/sgsn/sgsn_vty.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include @@ -176,6 +177,12 @@ 1, }; +static struct cmd_node mme_node = { + MME_NODE, + "%s(config-sgsn-mme)# ", + 1, +}; + static int config_write_sgsn(struct vty *vty) { struct sgsn_ggsn_ctx *gctx; @@ -1423,6 +1430,159 @@ } #endif +DEFUN(cfg_sgsn_mme, cfg_sgsn_mme_cmd, + "mme NAME", + "Configure an MME peer\n") +{ + struct sgsn_mme_ctx *mme; + + mme = sgsn_mme_ctx_find_alloc(sgsn, argv[0]); + if (!mme) + return CMD_WARNING; + + vty->node = MME_NODE; + vty->index = mme; + + return CMD_SUCCESS; +} + +DEFUN(cfg_sgsn_no_mme, cfg_sgsn_no_mme_cmd, + "no mme NAME", + "Delete an MME peer configuration\n") +{ + struct sgsn_mme_ctx *mme; + + mme = sgsn_mme_ctx_by_name(sgsn, argv[0]); + if (!mme) { + vty_out(vty, "%% MME %s doesn't exist.%s", + argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + sgsn_mme_ctx_free(mme); + + return CMD_SUCCESS; +} + +#define GTP_STR "Configure GTP connection" + +DEFUN(cfg_mme_remote_ip, cfg_mme_remote_ip_cmd, + "gtp remote-ip A.B.C.D", + GTP_STR "Set Remote GTP IP address\n" IP_STR) +{ + struct sgsn_mme_ctx *mme = (struct sgsn_mme_ctx *) vty->index; + + inet_aton(argv[0], &mme->remote_addr); + + return CMD_SUCCESS; +} + +#define RAN_INFO_STR "Configure RAN Information Relay routing\n" +#define TAI_DOC "MCC\n" "MNC\n" "TAC\n" + +DEFUN(cfg_mme_ran_info_relay_tai, cfg_mme_ran_info_relay_tai_cmd, + "gtp ran-info-relay <0-999> <0-999> <0-65535>", + GTP_STR RAN_INFO_STR TAI_DOC) +{ + struct sgsn_mme_ctx *mme = (struct sgsn_mme_ctx *) vty->index; + struct sgsn_mme_ctx *mme_tmp; + struct osmo_eutran_tai tai; + + const char *mcc = argv[0]; + const char *mnc = argv[1]; + const char *tac = argv[2]; + + if (osmo_mcc_from_str(mcc, &tai.mcc)) { + vty_out(vty, "%% Error decoding MCC: %s%s", mcc, VTY_NEWLINE); + return CMD_WARNING; + } + if (osmo_mnc_from_str(mnc, &tai.mnc, &tai.mnc_3_digits)) { + vty_out(vty, "%% Error decoding MNC: %s%s", mnc, VTY_NEWLINE); + return CMD_WARNING; + } + tai.tac = atoi(tac); + + if ((mme_tmp = sgsn_mme_ctx_by_route(sgsn, &tai))) { + if (mme_tmp != mme) { + vty_out(vty, "%% Another MME %s already contains this route%s", + mme_tmp->name, VTY_NEWLINE); + return CMD_WARNING; + } + /* else: NO-OP, return */ + return CMD_SUCCESS; + } + + sgsn_mme_ctx_route_add(mme, &tai); + return CMD_SUCCESS; +} + +DEFUN(cfg_mme_no_ran_info_relay_tai, cfg_mme_no_ran_info_relay_tai_cmd, + "no gtp ran-info-relay <0-999> <0-999> <0-65535>", + NO_STR GTP_STR RAN_INFO_STR TAI_DOC) +{ + struct sgsn_mme_ctx *mme = (struct sgsn_mme_ctx *) vty->index; + struct sgsn_mme_ctx *mme_tmp; + struct osmo_eutran_tai tai; + + const char *mcc = argv[0]; + const char *mnc = argv[1]; + const char *tac = argv[2]; + + if (osmo_mcc_from_str(mcc, &tai.mcc)) { + vty_out(vty, "%% Error decoding MCC: %s%s", mcc, VTY_NEWLINE); + return CMD_WARNING; + } + if (osmo_mnc_from_str(mnc, &tai.mnc, &tai.mnc_3_digits)) { + vty_out(vty, "%% Error decoding MNC: %s%s", mnc, VTY_NEWLINE); + return CMD_WARNING; + } + tai.tac = atoi(tac); + + if ((mme_tmp = sgsn_mme_ctx_by_route(sgsn, &tai))) { + if (mme_tmp != mme) { + vty_out(vty, "%% Another MME %s contains this route%s", + mme_tmp->name, VTY_NEWLINE); + return CMD_WARNING; + } + sgsn_mme_ctx_route_del(mme, &tai); + return CMD_SUCCESS; + } else { + vty_out(vty, "%% This route doesn't exist in current MME %s%s", + mme->name, VTY_NEWLINE); + return CMD_WARNING; + } +} + +DEFUN(cfg_mme_ran_info_relay_default, cfg_mme_ran_info_relay_default_cmd, + "gtp ran-info-relay default", + GTP_STR RAN_INFO_STR "Set as default route") +{ + struct sgsn_mme_ctx *mme = (struct sgsn_mme_ctx *) vty->index; + struct sgsn_mme_ctx *default_mme; + + if (mme->default_route) + return CMD_SUCCESS; /* NO-OP */ + + if ((default_mme = sgsn_mme_ctx_by_default_route(sgsn))) { + vty_out(vty, "%% Another MME %s is already set as default route, " + "remove it before setting it here.%s", + default_mme->name, VTY_NEWLINE); + return CMD_WARNING; + } + + mme->default_route = true; + return CMD_SUCCESS; +} + +DEFUN(cfg_mme_no_ran_info_relay_default, cfg_mme_no_ran_info_relay_default_cmd, + "no gtp ran-info-relay default", + NO_STR GTP_STR RAN_INFO_STR "Set as default route") +{ + struct sgsn_mme_ctx *mme = (struct sgsn_mme_ctx *) vty->index; + mme->default_route = false; + return CMD_SUCCESS; +} + int sgsn_vty_init(struct sgsn_config *cfg) { g_cfg = cfg; @@ -1486,6 +1646,15 @@ install_element(SGSN_NODE, &cfg_comp_v42bis_cmd); install_element(SGSN_NODE, &cfg_comp_v42bisp_cmd); + install_element(SGSN_NODE, &cfg_sgsn_mme_cmd); + install_element(SGSN_NODE, &cfg_sgsn_no_mme_cmd); + install_node(&mme_node, NULL); + install_element(MME_NODE, &cfg_mme_remote_ip_cmd); + install_element(MME_NODE, &cfg_mme_ran_info_relay_default_cmd); + install_element(MME_NODE, &cfg_mme_no_ran_info_relay_default_cmd); + install_element(MME_NODE, &cfg_mme_ran_info_relay_tai_cmd); + install_element(MME_NODE, &cfg_mme_no_ran_info_relay_tai_cmd); + #ifdef BUILD_IU install_element(SGSN_NODE, &cfg_sgsn_cs7_instance_iu_cmd); ranap_iu_vty_init(SGSN_NODE, &g_cfg->iu.rab_assign_addr_enc); diff --git a/tests/sgsn/Makefile.am b/tests/sgsn/Makefile.am index b72c446..bdf941d 100644 --- a/tests/sgsn/Makefile.am +++ b/tests/sgsn/Makefile.am @@ -50,6 +50,7 @@ $(top_builddir)/src/sgsn/gprs_gmm_fsm.o \ $(top_builddir)/src/sgsn/gprs_mm_state_gb_fsm.o \ $(top_builddir)/src/sgsn/gprs_sgsn.o \ + $(top_builddir)/src/sgsn/gtp_mme.o \ $(top_builddir)/src/sgsn/sgsn_vty.o \ $(top_builddir)/src/sgsn/sgsn_libgtp.o \ $(top_builddir)/src/sgsn/sgsn_auth.o \ @@ -62,6 +63,7 @@ $(top_builddir)/src/sgsn/gprs_sndcp_pcomp.o \ $(top_builddir)/src/sgsn/v42bis.o \ $(top_builddir)/src/sgsn/gprs_sndcp_dcomp.o \ + $(top_builddir)/src/sgsn/sgsn_rim.o \ $(top_builddir)/src/gprs/gprs_utils.o \ $(top_builddir)/src/gprs/gprs_llc_parse.o \ $(top_builddir)/src/gprs/gprs_gb_parse.o \ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 Gerrit-Change-Number: 24164 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 15:34:10 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 6 May 2021 15:34:10 +0000 Subject: Change in libosmocore[master]: gb: Fix missing exporting symbol bssgp_encode_rim_pdu In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24162 ) Change subject: gb: Fix missing exporting symbol bssgp_encode_rim_pdu ...................................................................... Patch Set 1: The naming of exported symbols appears to be bssgp_enc_* - shouldn't this be renamed as well before exporting it? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Gerrit-Change-Number: 24162 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: Hoernchen Gerrit-Comment-Date: Thu, 06 May 2021 15:34:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 15:35:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 15:35:33 +0000 Subject: Change in libosmocore[master]: gb: Fix missing exporting symbol bssgp_encode_rim_pdu In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24162 ) Change subject: gb: Fix missing exporting symbol bssgp_encode_rim_pdu ...................................................................... Patch Set 1: > Patch Set 1: > > The naming of exported symbols appears to be bssgp_enc_* - shouldn't this be renamed as well before exporting it? @dexter, any comment? iirc you wrote the API? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Gerrit-Change-Number: 24162 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: Hoernchen Gerrit-Comment-Date: Thu, 06 May 2021 15:35:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Thu May 6 15:36:30 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 15:36:30 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <60940d1891fee_fc52b08fe0ce5f4135523@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/Debian_9.0/aarch64 Package network:osmocom:nightly/osmo-hlr failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 238s] texhash: Updating /usr/local/share/texmf/ls-R... [ 238s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 238s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 238s] texhash: Updating /var/lib/texmf/ls-R... [ 238s] texhash: Done. [ 239s] SIOCSIFADDR: File exists [ 239s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc) [ 239s] dpkg-source: info: extracting osmo-hlr in /usr/src/packages/BUILD [ 239s] dpkg-source: info: unpacking osmo-hlr_1.3.0.2.ed2e3.202105060026.tar.xz [ 239s] ----------------------------------------------------------------- [ 239s] ----- building osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc (user abuild) [ 239s] ----------------------------------------------------------------- [ 239s] ----------------------------------------------------------------- [ 239s] dpkg-buildpackage: info: source package osmo-hlr [ 239s] dpkg-buildpackage: info: source version 1.3.0.2.ed2e3.202105060026 [ 239s] dpkg-buildpackage: info: source distribution UNRELEASED [ 239s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 239s] dpkg-source --before-build BUILD [ 239s] dpkg-buildpackage: info: host architecture arm64 [ 240s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 240s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 240s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 240s] ### VM INTERACTION START ### [ 243s] [ 226.388117] sysrq: Power Off [ 243s] [ 226.422466] reboot: Power down [ 244s] ### VM INTERACTION END ### [ 244s] [ 244s] obs-arm-8 failed "build osmo-hlr_1.3.0.2.ed2e3.202105060026.dsc" at Thu May 6 15:36:29 UTC 2021. [ 244s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 6 15:46:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 15:46:42 +0000 Subject: Change in libosmocore[master]: gb: Fix missing exporting symbol bssgp_encode_rim_pdu In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24162 ) Change subject: gb: Fix missing exporting symbol bssgp_encode_rim_pdu ...................................................................... Patch Set 1: I would also say rather rename now before we have exported our inconsistency. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Gerrit-Change-Number: 24162 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: Hoernchen Gerrit-Comment-Date: Thu, 06 May 2021 15:46:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 15:57:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 15:57:42 +0000 Subject: Change in libosmocore[master]: gb: Fix naming and export symbol bssgp_enc_rim_pdu In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24162 to look at the new patch set (#2). Change subject: gb: Fix naming and export symbol bssgp_enc_rim_pdu ...................................................................... gb: Fix naming and export symbol bssgp_enc_rim_pdu The symbol was not in the list of exported symbols. Take the chance that it was not used anywhere outside libosmocore to rename it in order to follow similar naming as other existing APIs. Change-Id: I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c --- M include/osmocom/gprs/gprs_bssgp_rim.h M src/gb/gprs_bssgp_rim.c M src/gb/libosmogb.map 3 files changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/62/24162/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Gerrit-Change-Number: 24162 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: Hoernchen Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Thu May 6 15:57:38 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 15:57:38 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <609412045d7b8_fc52b08fe0ce5f4141434@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/Debian_9.0/armv7l Package network:osmocom:latest/osmo-pcu failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 419s] texhash: Updating /usr/local/share/texmf/ls-R... [ 420s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 420s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 420s] texhash: Updating /var/lib/texmf/ls-R... [ 420s] texhash: Done. [ 420s] SIOCSIFADDR: File exists [ 421s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.dsc) [ 421s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 421s] dpkg-source: info: unpacking osmo-pcu_0.9.0.tar.xz [ 421s] ----------------------------------------------------------------- [ 421s] ----- building osmo-pcu_0.9.0.dsc (user abuild) [ 421s] ----------------------------------------------------------------- [ 421s] ----------------------------------------------------------------- [ 422s] dpkg-buildpackage: info: source package osmo-pcu [ 422s] dpkg-buildpackage: info: source version 0.9.0 [ 422s] dpkg-buildpackage: info: source distribution unstable [ 422s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 423s] dpkg-source --before-build BUILD [ 423s] dpkg-buildpackage: info: host architecture armhf [ 423s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 423s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 423s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 423s] ### VM INTERACTION START ### [ 427s] [ 402.693634] sysrq: SysRq : Power Off [ 427s] [ 402.710883] reboot: Power down [ 428s] ### VM INTERACTION END ### [ 428s] [ 428s] obs-arm-5 failed "build osmo-pcu_0.9.0.dsc" at Thu May 6 15:57:31 UTC 2021. [ 428s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 6 15:58:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 15:58:32 +0000 Subject: Change in osmo-sgsn[master]: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 to look at the new patch set (#2). Change subject: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN ...................................................................... Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN MMEs connect over Gn interface using GTPCv1 towards the SGSn in order to exchange RIM PDUs by using "RAN Informarion Relay" GTPCv1 message type. For more info, see 3GPP TS 29.060 sec 7.5.14.1 "RAN Information Relay" In order to support it, this commit does the following: * Uses new libgtp APIs to rx and tx RAN Information Relay messages. The same "gsn" object is reused, ie. the local GTPCv1 socket address used for exchanging messages against GGSN is reused. * Adds a new "sgsn_mme_ctx" struct holding information about MMEs allowed by the SGSN, each one containing information about the GTP address it uses, the in/out routing based on TAI requests, etc. The set of MMEs and their config can be set up using new VTY node introduced in this commit. * The RIM related code in SGSN is refactored to allow forwarding from and to several types of addresses/interfaces. Depends: osmo-ggsn.git Change-Id Iea3eb032ccd4aed5187baca7f7719349d76039d4 Depends: libosmocore.git Change-Id I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Related: SYS#5314 Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 --- M TODO-RELEASE M include/osmocom/sgsn/Makefile.am A include/osmocom/sgsn/gtp_mme.h M include/osmocom/sgsn/sgsn.h M include/osmocom/sgsn/sgsn_rim.h M include/osmocom/sgsn/vty.h M src/sgsn/Makefile.am M src/sgsn/gprs_sgsn.c A src/sgsn/gtp_mme.c M src/sgsn/sgsn_libgtp.c M src/sgsn/sgsn_main.c M src/sgsn/sgsn_rim.c M src/sgsn/sgsn_vty.c M tests/sgsn/Makefile.am 14 files changed, 573 insertions(+), 36 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/64/24164/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 Gerrit-Change-Number: 24164 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 15:59:20 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 6 May 2021 15:59:20 +0000 Subject: Change in libosmocore[master]: gb: Fix naming and export symbol bssgp_enc_rim_pdu In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24162 ) Change subject: gb: Fix naming and export symbol bssgp_enc_rim_pdu ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Gerrit-Change-Number: 24162 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 May 2021 15:59:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:05:07 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 6 May 2021 16:05:07 +0000 Subject: Change in libosmocore[master]: gb: Fix naming and export symbol bssgp_enc_rim_pdu In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24162 ) Change subject: gb: Fix naming and export symbol bssgp_enc_rim_pdu ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Gerrit-Change-Number: 24162 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 May 2021 16:05:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:14:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 16:14:19 +0000 Subject: Change in libosmocore[master]: gb: Fix naming and export symbol bssgp_enc_rim_pdu In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24162 ) Change subject: gb: Fix naming and export symbol bssgp_enc_rim_pdu ...................................................................... gb: Fix naming and export symbol bssgp_enc_rim_pdu The symbol was not in the list of exported symbols. Take the chance that it was not used anywhere outside libosmocore to rename it in order to follow similar naming as other existing APIs. Change-Id: I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c --- M include/osmocom/gprs/gprs_bssgp_rim.h M src/gb/gprs_bssgp_rim.c M src/gb/libosmogb.map 3 files changed, 4 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified Hoernchen: Looks good to me, approved diff --git a/include/osmocom/gprs/gprs_bssgp_rim.h b/include/osmocom/gprs/gprs_bssgp_rim.h index 5f397c9..41d7982 100644 --- a/include/osmocom/gprs/gprs_bssgp_rim.h +++ b/include/osmocom/gprs/gprs_bssgp_rim.h @@ -267,6 +267,6 @@ }; int bssgp_parse_rim_pdu(struct bssgp_ran_information_pdu *pdu, const struct msgb *msg); -struct msgb *bssgp_encode_rim_pdu(const struct bssgp_ran_information_pdu *pdu); +struct msgb *bssgp_enc_rim_pdu(const struct bssgp_ran_information_pdu *pdu); int bssgp_tx_rim(const struct bssgp_ran_information_pdu *pdu, uint16_t nsei); diff --git a/src/gb/gprs_bssgp_rim.c b/src/gb/gprs_bssgp_rim.c index 63b303e..00b3826 100644 --- a/src/gb/gprs_bssgp_rim.c +++ b/src/gb/gprs_bssgp_rim.c @@ -1059,7 +1059,7 @@ /*! Encode a given rim-pdu struct into a message buffer. * \param[out] pdu user provided memory that contains the RAN INFORMATION PDU to encode. * \returns BSSGP message buffer on sccess, NULL on error. */ -struct msgb *bssgp_encode_rim_pdu(const struct bssgp_ran_information_pdu *pdu) +struct msgb *bssgp_enc_rim_pdu(const struct bssgp_ran_information_pdu *pdu) { struct msgb *msg = bssgp_msgb_alloc(); struct bssgp_normal_hdr *bgph; @@ -1160,7 +1160,7 @@ char ri_dest_str[64]; /* Encode RIM PDU into mesage buffer */ - msg = bssgp_encode_rim_pdu(pdu); + msg = bssgp_enc_rim_pdu(pdu); if (!msg) { LOGP(DLBSSGP, LOGL_ERROR, "BSSGP RIM (NSEI=%u) unable to encode BSSGP RIM PDU\n", nsei); diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map index db638f9..44e622c 100644 --- a/src/gb/libosmogb.map +++ b/src/gb/libosmogb.map @@ -20,6 +20,7 @@ bssgp_enc_ran_inf_app_cont_nacc; bssgp_enc_ran_inf_app_err_rim_cont; bssgp_enc_ran_inf_rim_cont; +bssgp_enc_rim_pdu; bssgp_fc_in; bssgp_fc_init; bssgp_fc_ms_init; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Gerrit-Change-Number: 24162 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:15:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:15:14 +0000 Subject: Change in libosmocore[master]: gb: Fix naming and export symbol bssgp_enc_rim_pdu In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24162 ) Change subject: gb: Fix naming and export symbol bssgp_enc_rim_pdu ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24162/2/include/osmocom/gprs/gprs_bssgp_rim.h File include/osmocom/gprs/gprs_bssgp_rim.h: https://gerrit.osmocom.org/c/libosmocore/+/24162/2/include/osmocom/gprs/gprs_bssgp_rim.h at a250 PS2, Line 250: /* Decoded variant of the RIM container */ I'm sorry, now it becomes obvious that the _enc_ functions are for some ies while the _encode_ and _decode_ are for the full pdu. so the old name is correct. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Gerrit-Change-Number: 24162 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 16:15:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:16:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:16:04 +0000 Subject: Change in osmo-sgsn[master]: Drop unused GBRPOXY enum field In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24104 ) Change subject: Drop unused GBRPOXY enum field ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I85dbc65addfbb072a75b6f62fcc4306b7fbb6a91 Gerrit-Change-Number: 24104 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 May 2021 16:16:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:17:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:17:59 +0000 Subject: Change in osmo-sgsn[master]: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 ) Change subject: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 Gerrit-Change-Number: 24164 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 May 2021 16:17:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:18:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 16:18:38 +0000 Subject: Change in libosmocore[master]: Revert "gb: Fix naming and export symbol bssgp_enc_rim_pdu" References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24165 ) Change subject: Revert "gb: Fix naming and export symbol bssgp_enc_rim_pdu" ...................................................................... Revert "gb: Fix naming and export symbol bssgp_enc_rim_pdu" This reverts commit 43ad616e4b66913eedc54f136addcc961b6402f8. _enc_ functions are for some ies while the _encode_ and _decode_ are for the full pdu. so the old name is correct. Change-Id: Ib0b4a6fd7f8c96e4647a373541e3cccb324c6a11 --- M include/osmocom/gprs/gprs_bssgp_rim.h M src/gb/gprs_bssgp_rim.c M src/gb/libosmogb.map 3 files changed, 3 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/65/24165/1 diff --git a/include/osmocom/gprs/gprs_bssgp_rim.h b/include/osmocom/gprs/gprs_bssgp_rim.h index 41d7982..5f397c9 100644 --- a/include/osmocom/gprs/gprs_bssgp_rim.h +++ b/include/osmocom/gprs/gprs_bssgp_rim.h @@ -267,6 +267,6 @@ }; int bssgp_parse_rim_pdu(struct bssgp_ran_information_pdu *pdu, const struct msgb *msg); -struct msgb *bssgp_enc_rim_pdu(const struct bssgp_ran_information_pdu *pdu); +struct msgb *bssgp_encode_rim_pdu(const struct bssgp_ran_information_pdu *pdu); int bssgp_tx_rim(const struct bssgp_ran_information_pdu *pdu, uint16_t nsei); diff --git a/src/gb/gprs_bssgp_rim.c b/src/gb/gprs_bssgp_rim.c index 00b3826..63b303e 100644 --- a/src/gb/gprs_bssgp_rim.c +++ b/src/gb/gprs_bssgp_rim.c @@ -1059,7 +1059,7 @@ /*! Encode a given rim-pdu struct into a message buffer. * \param[out] pdu user provided memory that contains the RAN INFORMATION PDU to encode. * \returns BSSGP message buffer on sccess, NULL on error. */ -struct msgb *bssgp_enc_rim_pdu(const struct bssgp_ran_information_pdu *pdu) +struct msgb *bssgp_encode_rim_pdu(const struct bssgp_ran_information_pdu *pdu) { struct msgb *msg = bssgp_msgb_alloc(); struct bssgp_normal_hdr *bgph; @@ -1160,7 +1160,7 @@ char ri_dest_str[64]; /* Encode RIM PDU into mesage buffer */ - msg = bssgp_enc_rim_pdu(pdu); + msg = bssgp_encode_rim_pdu(pdu); if (!msg) { LOGP(DLBSSGP, LOGL_ERROR, "BSSGP RIM (NSEI=%u) unable to encode BSSGP RIM PDU\n", nsei); diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map index 44e622c..db638f9 100644 --- a/src/gb/libosmogb.map +++ b/src/gb/libosmogb.map @@ -20,7 +20,6 @@ bssgp_enc_ran_inf_app_cont_nacc; bssgp_enc_ran_inf_app_err_rim_cont; bssgp_enc_ran_inf_rim_cont; -bssgp_enc_rim_pdu; bssgp_fc_in; bssgp_fc_init; bssgp_fc_ms_init; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib0b4a6fd7f8c96e4647a373541e3cccb324c6a11 Gerrit-Change-Number: 24165 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:18:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 16:18:39 +0000 Subject: Change in libosmocore[master]: gb: Fix missing exporting symbol bssgp_encode_rim_pdu References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24166 ) Change subject: gb: Fix missing exporting symbol bssgp_encode_rim_pdu ...................................................................... gb: Fix missing exporting symbol bssgp_encode_rim_pdu The symbol was not in the list of exported symbols. Change-Id: I4c3792c3b22989571548e40aa4fbf26912e699df --- M src/gb/libosmogb.map 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/66/24166/1 diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map index db638f9..ff5b34a 100644 --- a/src/gb/libosmogb.map +++ b/src/gb/libosmogb.map @@ -20,6 +20,7 @@ bssgp_enc_ran_inf_app_cont_nacc; bssgp_enc_ran_inf_app_err_rim_cont; bssgp_enc_ran_inf_rim_cont; +bssgp_encode_rim_pdu; bssgp_fc_in; bssgp_fc_init; bssgp_fc_ms_init; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24166 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4c3792c3b22989571548e40aa4fbf26912e699df Gerrit-Change-Number: 24166 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:18:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:18:40 +0000 Subject: Change in pysim[master]: ModemATCommandLink: return lower case hexstring In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24156 ) Change subject: ModemATCommandLink: return lower case hexstring ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id56e92962c1d75b832b42516099f97aac5a9d1d3 Gerrit-Change-Number: 24156 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 May 2021 16:18:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:18:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 16:18:59 +0000 Subject: Change in osmo-sgsn[master]: Drop unused GBRPOXY enum field In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24104 ) Change subject: Drop unused GBRPOXY enum field ...................................................................... Drop unused GBRPOXY enum field Change-Id: I85dbc65addfbb072a75b6f62fcc4306b7fbb6a91 --- M include/osmocom/sgsn/vty.h 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/sgsn/vty.h b/include/osmocom/sgsn/vty.h index d2e3d9a..bd469ef 100644 --- a/include/osmocom/sgsn/vty.h +++ b/include/osmocom/sgsn/vty.h @@ -3,7 +3,6 @@ #include enum bsc_vty_node { - GBPROXY_NODE = _LAST_OSMOVTY_NODE + 1, - SGSN_NODE, + SGSN_NODE = _LAST_OSMOVTY_NODE + 1, GTPHUB_NODE, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I85dbc65addfbb072a75b6f62fcc4306b7fbb6a91 Gerrit-Change-Number: 24104 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:19:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 16:19:07 +0000 Subject: Change in libosmocore[master]: Revert "gb: Fix naming and export symbol bssgp_enc_rim_pdu" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24165 ) Change subject: Revert "gb: Fix naming and export symbol bssgp_enc_rim_pdu" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib0b4a6fd7f8c96e4647a373541e3cccb324c6a11 Gerrit-Change-Number: 24165 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 06 May 2021 16:19:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:19:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:19:09 +0000 Subject: Change in pysim[master]: ModemATCommandLink: add some logging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24157 ) Change subject: ModemATCommandLink: add some logging ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/24157/1/pySim/transport/modem_atcmd.py File pySim/transport/modem_atcmd.py: https://gerrit.osmocom.org/c/pysim/+/24157/1/pySim/transport/modem_atcmd.py at 140 PS1, Line 140: info I would argue if anything counts as debug, it's the low-level dumping of every AT command. So I'd go for log.debug here. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I303506a751b4a34d83c18bc097e0cfb0517ee82c Gerrit-Change-Number: 24157 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 06 May 2021 16:19:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:19:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:19:12 +0000 Subject: Change in pysim[master]: ModemATCommandLink: return lower case hexstring In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24156 ) Change subject: ModemATCommandLink: return lower case hexstring ...................................................................... ModemATCommandLink: return lower case hexstring Change-Id: Id56e92962c1d75b832b42516099f97aac5a9d1d3 --- M pySim/transport/modem_atcmd.py 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py index 2018ac2..bb23ce9 100644 --- a/pySim/transport/modem_atcmd.py +++ b/pySim/transport/modem_atcmd.py @@ -153,6 +153,6 @@ raise ReaderError('Failed to parse response from modem: %s' % rsp) # TODO: make sure we have at least SW - data = rsp_pdu[:-4].decode() - sw = rsp_pdu[-4:].decode() + data = rsp_pdu[:-4].decode().lower() + sw = rsp_pdu[-4:].decode().lower() return data, sw -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id56e92962c1d75b832b42516099f97aac5a9d1d3 Gerrit-Change-Number: 24156 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:20:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:20:24 +0000 Subject: Change in pysim[master]: ModemATCommandLink: improve response time for "+CME ERROR" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24158 ) Change subject: ModemATCommandLink: improve response time for "+CME ERROR" ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/pysim/+/24158/1/pySim/transport/modem_atcmd.py File pySim/transport/modem_atcmd.py: https://gerrit.osmocom.org/c/pysim/+/24158/1/pySim/transport/modem_atcmd.py at 74 PS1, Line 74: debug I would log it as debug for OK but definitely as something higher (error?) when it fails. https://gerrit.osmocom.org/c/pysim/+/24158/1/pySim/transport/modem_atcmd.py at 78 PS1, Line 78: debug nothing you touched in your patch, but just noticing this: A timeout should at least be notice/warning, IMHO. It shouldn't be hidden in a debug log. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I41af33c1898f5ed3d1c5238e45f956c6ceab2826 Gerrit-Change-Number: 24158 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 06 May 2021 16:20:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:20:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 16:20:44 +0000 Subject: Change in osmo-sgsn[master]: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 to look at the new patch set (#3). Change subject: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN ...................................................................... Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN MMEs connect over Gn interface using GTPCv1 towards the SGSn in order to exchange RIM PDUs by using "RAN Informarion Relay" GTPCv1 message type. For more info, see 3GPP TS 29.060 sec 7.5.14.1 "RAN Information Relay" In order to support it, this commit does the following: * Uses new libgtp APIs to rx and tx RAN Information Relay messages. The same "gsn" object is reused, ie. the local GTPCv1 socket address used for exchanging messages against GGSN is reused. * Adds a new "sgsn_mme_ctx" struct holding information about MMEs allowed by the SGSN, each one containing information about the GTP address it uses, the in/out routing based on TAI requests, etc. The set of MMEs and their config can be set up using new VTY node introduced in this commit. * The RIM related code in SGSN is refactored to allow forwarding from and to several types of addresses/interfaces. Depends: osmo-ggsn.git Change-Id Iea3eb032ccd4aed5187baca7f7719349d76039d4 Depends: libosmocore.git Change-Id I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Related: SYS#5314 Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 --- M TODO-RELEASE M include/osmocom/sgsn/Makefile.am A include/osmocom/sgsn/gtp_mme.h M include/osmocom/sgsn/sgsn.h M include/osmocom/sgsn/sgsn_rim.h M include/osmocom/sgsn/vty.h M src/sgsn/Makefile.am M src/sgsn/gprs_sgsn.c A src/sgsn/gtp_mme.c M src/sgsn/sgsn_libgtp.c M src/sgsn/sgsn_main.c M src/sgsn/sgsn_rim.c M src/sgsn/sgsn_vty.c M tests/sgsn/Makefile.am 14 files changed, 573 insertions(+), 36 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/64/24164/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 Gerrit-Change-Number: 24164 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Thu May 6 16:20:47 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 16:20:47 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <6094176b9376c_fc52b08fe0ce5f4148557@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/Raspbian_9.0/armv7l Package network:osmocom:latest/osmo-pcu failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 603s] texhash: Updating /usr/local/share/texmf/ls-R... [ 603s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 603s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 604s] texhash: Updating /var/lib/texmf/ls-R... [ 604s] texhash: Done. [ 604s] SIOCSIFADDR: File exists [ 604s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.dsc) [ 604s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 604s] dpkg-source: info: unpacking osmo-pcu_0.9.0.tar.xz [ 605s] ----------------------------------------------------------------- [ 605s] ----- building osmo-pcu_0.9.0.dsc (user abuild) [ 605s] ----------------------------------------------------------------- [ 605s] ----------------------------------------------------------------- [ 605s] dpkg-buildpackage: info: source package osmo-pcu [ 605s] dpkg-buildpackage: info: source version 0.9.0 [ 605s] dpkg-buildpackage: info: source distribution unstable [ 605s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 606s] dpkg-source --before-build BUILD [ 606s] dpkg-buildpackage: info: host architecture armhf [ 606s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 606s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 606s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 606s] ### VM INTERACTION START ### [ 609s] [ 570.905640] sysrq: SysRq : Power Off [ 609s] [ 570.927653] reboot: Power down [ 610s] ### VM INTERACTION END ### [ 610s] [ 610s] obs-arm-5 failed "build osmo-pcu_0.9.0.dsc" at Thu May 6 16:20:38 UTC 2021. [ 610s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 6 16:24:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:24:39 +0000 Subject: Change in pysim[master]: ts_102_221: fix unknown TLV key '9B' on SysmoSIM-SJS1 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24159 ) Change subject: ts_102_221: fix unknown TLV key '9B' on SysmoSIM-SJS1 ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/24159/1/pySim/ts_102_221.py File pySim/ts_102_221.py: https://gerrit.osmocom.org/c/pysim/+/24159/1/pySim/ts_102_221.py at 186 PS1, Line 186: tlv_map['9B'] = 'unknown_9B' # found on SysmoSIM-SJS1; seems to mirror the file path Please call it sysmoUSIM-SJS1 in both the commit log and here. Theren were sysmoSIM-* cards, but not SJS1. Thanks. Please call the attribute 'target_ef'. It refers to linked files. Think of symlinks on a linux machine: you can have multiple directory entries pointing to the same file (e.g. from ADF.USIM/DF_GSM_ACCESS to files in DF_GSM. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8131bfbbdeb50ddb4d6a06c16586238a36582b5e Gerrit-Change-Number: 24159 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 May 2021 16:24:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Thu May 6 16:25:38 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 16:25:38 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <60941899e82a_fc52b08fe0ce5f4150283@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Debian_9.0/aarch64 Package network:osmocom:nightly/osmo-bts failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 270s] texhash: Updating /usr/local/share/texmf/ls-R... [ 270s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 270s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 270s] texhash: Updating /var/lib/texmf/ls-R... [ 270s] texhash: Done. [ 270s] SIOCSIFADDR: File exists [ 271s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-bts_1.3.0.56.9e09.202105060026.dsc) [ 271s] dpkg-source: info: extracting osmo-bts in /usr/src/packages/BUILD [ 271s] dpkg-source: info: unpacking osmo-bts_1.3.0.56.9e09.202105060026.tar.xz [ 271s] ----------------------------------------------------------------- [ 271s] ----- building osmo-bts_1.3.0.56.9e09.202105060026.dsc (user abuild) [ 271s] ----------------------------------------------------------------- [ 271s] ----------------------------------------------------------------- [ 271s] dpkg-buildpackage: info: source package osmo-bts [ 271s] dpkg-buildpackage: info: source version 1.3.0.56.9e09.202105060026 [ 271s] dpkg-buildpackage: info: source distribution UNRELEASED [ 271s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 271s] dpkg-source --before-build BUILD [ 271s] dpkg-buildpackage: info: host architecture arm64 [ 272s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 272s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 272s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 272s] ### VM INTERACTION START ### [ 276s] [ 247.667728] sysrq: Power Off [ 276s] [ 247.669306] reboot: Power down [ 276s] ### VM INTERACTION END ### [ 276s] [ 276s] obs-arm-8 failed "build osmo-bts_1.3.0.56.9e09.202105060026.dsc" at Thu May 6 16:25:21 UTC 2021. [ 276s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 6 16:26:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:26:09 +0000 Subject: Change in osmo-mgw[master]: Add vty command 'show mgcp active' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24131 ) Change subject: Add vty command 'show mgcp active' ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I23a26b4fdc03d8b2469d293dd6c06ed83ce739e9 Gerrit-Change-Number: 24131 Gerrit-PatchSet: 3 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 16:26:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:27:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:27:44 +0000 Subject: Change in osmo-mgw[master]: Log messages about RTP timestamps at level INFO In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24130 ) Change subject: Log messages about RTP timestamps at level INFO ...................................................................... Patch Set 1: Code-Review-1 I'm not convinced that this is the right way. Those messages should not occur in normal operation. What kind of use case is this? what is the remote end? Why does that RTP source on the orther end not behave as expected in terms of sequence number and timestamp increments? If you get those all the time, there may be a serious problem. Reducing the log level is just hiding that. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id76dc6345e1b1875240c87c609b5224ea9a6643f Gerrit-Change-Number: 24130 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 16:27:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:28:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:28:10 +0000 Subject: Change in osmo-mgw[master]: send DLCX only once In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24143 ) Change subject: send DLCX only once ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I35e415f67946b73c74408afe265618cfe4f72b0b Gerrit-Change-Number: 24143 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 16:28:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:28:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:28:24 +0000 Subject: Change in osmo-mgw[master]: tweak termination DLCX log msg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24144 ) Change subject: tweak termination DLCX log msg ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24144 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id723d949f101b66fb75296d01489d9dac350c7c8 Gerrit-Change-Number: 24144 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 16:28:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:29:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:29:28 +0000 Subject: Change in libosmo-abis[master]: Log TRAU FSM at INFO not NOTICE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24132 ) Change subject: Log TRAU FSM at INFO not NOTICE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24132 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ib4c5ac130e766906361c63090b30111970343075 Gerrit-Change-Number: 24132 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 16:29:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:29:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:29:29 +0000 Subject: Change in libosmo-abis[master]: Log TRAU FSM at INFO not NOTICE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24132 ) Change subject: Log TRAU FSM at INFO not NOTICE ...................................................................... Log TRAU FSM at INFO not NOTICE During normal operations, osmo-mgw floods the log/vty at level NOTICE with: Received Event RX_BITS (trau_sync.c:525) Change-Id: Ib4c5ac130e766906361c63090b30111970343075 --- M src/trau/trau_sync.c M tests/trau_sync/trau_sync_test.c 2 files changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/trau/trau_sync.c b/src/trau/trau_sync.c index 89c5558..dba9cd1 100644 --- a/src/trau/trau_sync.c +++ b/src/trau/trau_sync.c @@ -487,7 +487,7 @@ if (pat_id >= ARRAY_SIZE(sync_patterns)) return NULL; - fi = osmo_fsm_inst_alloc(&trau_sync_fsm, ctx, NULL, LOGL_NOTICE, name); + fi = osmo_fsm_inst_alloc(&trau_sync_fsm, ctx, NULL, LOGL_INFO, name); if (!fi) return NULL; tss = talloc_zero(fi, struct trau_rx_sync_state); diff --git a/tests/trau_sync/trau_sync_test.c b/tests/trau_sync/trau_sync_test.c index 88b5c6d..4e41dd2 100644 --- a/tests/trau_sync/trau_sync_test.c +++ b/tests/trau_sync/trau_sync_test.c @@ -84,5 +84,6 @@ log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); log_set_print_category(osmo_stderr_target, 0); log_set_print_category_hex(osmo_stderr_target, 0); + log_set_log_level(osmo_stderr_target, LOGL_INFO); test_body(); } -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24132 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ib4c5ac130e766906361c63090b30111970343075 Gerrit-Change-Number: 24132 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:30:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:30:40 +0000 Subject: Change in libosmo-abis[master]: Fix up vty 'show' commands for E1 line/timeslots In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24133 ) Change subject: Fix up vty 'show' commands for E1 line/timeslots ...................................................................... Patch Set 5: Code-Review+2 > Patch Set 5: > > can you better describe why this commit fixes the commands? it's because those arg names doesn't exist? what's the error you get? "[line_nr]" will only match the literal string "line_nr" but never any integers or any other string. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I6af92ae2808713c74afeecaa1f500443fb2b7795 Gerrit-Change-Number: 24133 Gerrit-PatchSet: 5 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 06 May 2021 16:30:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:31:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:31:37 +0000 Subject: Change in libosmo-abis[master]: Fix up vty 'show' commands for E1 line/timeslots In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24133 ) Change subject: Fix up vty 'show' commands for E1 line/timeslots ...................................................................... Patch Set 5: > "[line_nr]" will only match the literal string "line_nr" but never any integers or any other string. If you wanted an arbitrary optional string it would have to be "[LINE_NR]", which was probably what the original author (me?) meant here. But since we know it's an integer, we might as well constrain it to that, as keith did. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I6af92ae2808713c74afeecaa1f500443fb2b7795 Gerrit-Change-Number: 24133 Gerrit-PatchSet: 5 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 06 May 2021 16:31:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:31:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:31:50 +0000 Subject: Change in libosmo-abis[master]: Fix up vty 'show' commands for E1 line/timeslots In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24133 ) Change subject: Fix up vty 'show' commands for E1 line/timeslots ...................................................................... Fix up vty 'show' commands for E1 line/timeslots Change-Id: I6af92ae2808713c74afeecaa1f500443fb2b7795 --- M src/e1_input_vty.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/e1_input_vty.c b/src/e1_input_vty.c index c392a3b..af30ed9 100644 --- a/src/e1_input_vty.c +++ b/src/e1_input_vty.c @@ -453,7 +453,7 @@ DEFUN(show_e1line, show_e1line_cmd, - "show e1_line [line_nr] [stats]", + "show e1_line [<0-255>] [stats]", SHOW_STR "Display information about a E1 line\n" "E1 Line Number\n" "Include statistics\n") { @@ -487,13 +487,13 @@ if (ts->type == E1INP_TS_TYPE_NONE) return; vty_out(vty, "E1 Timeslot %2u of Line %u is Type %s%s", - ts->num, ts->line->num, e1inp_tstype_name(ts->type), + ts->num-1, ts->line->num, e1inp_tstype_name(ts->type), VTY_NEWLINE); } DEFUN(show_e1ts, show_e1ts_cmd, - "show e1_timeslot [line_nr] [ts_nr]", + "show e1_timeslot [<0-255>] [<0-31>]", SHOW_STR "Display information about a E1 timeslot\n" "E1 Line Number\n" "E1 Timeslot Number\n") { -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I6af92ae2808713c74afeecaa1f500443fb2b7795 Gerrit-Change-Number: 24133 Gerrit-PatchSet: 5 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:32:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:32:20 +0000 Subject: Change in libosmocore[master]: gsm/abis_nm: add missing NM_OC_IPAC_* value-string entries In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24150 ) Change subject: gsm/abis_nm: add missing NM_OC_IPAC_* value-string entries ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24150 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2181af229e8e7da12d716c176ab9230f09e29eef Gerrit-Change-Number: 24150 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 16:32:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:32:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:32:29 +0000 Subject: Change in libosmocore[master]: gsm/abis_nm: add missing NM_OC_IPAC_* value-string entries In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24150 ) Change subject: gsm/abis_nm: add missing NM_OC_IPAC_* value-string entries ...................................................................... gsm/abis_nm: add missing NM_OC_IPAC_* value-string entries Change-Id: I2181af229e8e7da12d716c176ab9230f09e29eef --- M src/gsm/abis_nm.c 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gsm/abis_nm.c b/src/gsm/abis_nm.c index 13837d2..f7793d7 100644 --- a/src/gsm/abis_nm.c +++ b/src/gsm/abis_nm.c @@ -610,6 +610,10 @@ { NM_OC_RADIO_CARRIER, "RADIO-CARRIER" }, { NM_OC_BASEB_TRANSC, "BASEBAND-TRANSCEIVER" }, { NM_OC_CHANNEL, "CHANNEL" }, + { NM_OC_IPAC_E1_TRUNK, "IPAC-E1-TRUNK" }, + { NM_OC_IPAC_E1_PORT, "IPAC-E1-PORT" }, + { NM_OC_IPAC_E1_CHAN, "IPAC-E1-CHAN" }, + { NM_OC_IPAC_CLK_MODULE,"IPAC-CLK-MODULE" }, { NM_OC_BS11_ADJC, "ADJC" }, { NM_OC_BS11_HANDOVER, "HANDOVER" }, { NM_OC_BS11_PWR_CTRL, "POWER-CONTROL" }, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24150 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2181af229e8e7da12d716c176ab9230f09e29eef Gerrit-Change-Number: 24150 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:32:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:32:46 +0000 Subject: Change in osmo-ggsn[master]: cosmetic: gtpie.c: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24103 ) Change subject: cosmetic: gtpie.c: Fix trailing whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I552e3b5f694e1b49fe5e21fa4023e4a24ffc2784 Gerrit-Change-Number: 24103 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 May 2021 16:32:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:32:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:32:56 +0000 Subject: Change in osmo-ggsn[master]: gtp: constify pointer arg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24148 ) Change subject: gtp: constify pointer arg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24148 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ib5b5a8b64247202a2538c2ff8f8601981ccda822 Gerrit-Change-Number: 24148 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 May 2021 16:32:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:34:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:34:09 +0000 Subject: Change in osmo-ggsn[master]: gtp: Support tx/rx RAN Information Relay message In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24163 ) Change subject: gtp: Support tx/rx RAN Information Relay message ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/24163/1/gtp/gtp.h File gtp/gtp.h: https://gerrit.osmocom.org/c/osmo-ggsn/+/24163/1/gtp/gtp.h at 89 PS1, Line 89: Forward SRNS Context Acknowledge */ comment is wrong -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iea3eb032ccd4aed5187baca7f7719349d76039d4 Gerrit-Change-Number: 24163 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 06 May 2021 16:34:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:34:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:34:14 +0000 Subject: Change in osmo-ggsn[master]: cosmetic: gtpie.c: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24103 ) Change subject: cosmetic: gtpie.c: Fix trailing whitespace ...................................................................... cosmetic: gtpie.c: Fix trailing whitespace Change-Id: I552e3b5f694e1b49fe5e21fa4023e4a24ffc2784 --- M gtp/gtpie.c 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/gtp/gtpie.c b/gtp/gtpie.c index fa21ab2..e413d11 100644 --- a/gtp/gtpie.c +++ b/gtp/gtpie.c @@ -1,17 +1,17 @@ -/* +/* * OsmoGGSN - Gateway GPRS Support Node * Copyright (C) 2002 Mondru AB. - * + * * The contents of this file may be used under the terms of the GNU * General Public License Version 2, provided that the above copyright * notice and this permission notice is included in all copies or * substantial portions of the software. - * + * */ /* - * gtpie.c: Contains functions to encapsulate and decapsulate GTP - * information elements + * gtpie.c: Contains functions to encapsulate and decapsulate GTP + * information elements * * * Encapsulation -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I552e3b5f694e1b49fe5e21fa4023e4a24ffc2784 Gerrit-Change-Number: 24103 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:34:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:34:15 +0000 Subject: Change in osmo-ggsn[master]: gtp: constify pointer arg In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24148 ) Change subject: gtp: constify pointer arg ...................................................................... gtp: constify pointer arg Change-Id: Ib5b5a8b64247202a2538c2ff8f8601981ccda822 --- M gtp/gtp.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/gtp/gtp.c b/gtp/gtp.c index 547241d..caee5a6 100644 --- a/gtp/gtp.c +++ b/gtp/gtp.c @@ -773,7 +773,7 @@ static int gtp_notification(struct gsn_t *gsn, uint8_t version, union gtp_packet *packet, int len, - struct sockaddr_in *peer, int fd, uint16_t seq) + const struct sockaddr_in *peer, int fd, uint16_t seq) { uint8_t ver = GTPHDR_F_GET_VER(packet->flags); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24148 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ib5b5a8b64247202a2538c2ff8f8601981ccda822 Gerrit-Change-Number: 24148 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:35:59 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 6 May 2021 16:35:59 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-omldummy: create shadow TRXes iff VAMOS is enabled In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24155 ) Change subject: [VAMOS] osmo-bts-omldummy: create shadow TRXes iff VAMOS is enabled ...................................................................... Patch Set 1: Code-Review+1 (1 comment) Looks ok to me, but I can not say if this is technically correct. https://gerrit.osmocom.org/c/osmo-bts/+/24155/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/24155/1//COMMIT_MSG at 7 PS1, Line 7: [VAMOS] osmo-bts-omldummy: create shadow TRXes iff VAMOS is enabled typo: iff -> if -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4aa9a8bb35bd828d6f25d5690297e727dace5974 Gerrit-Change-Number: 24155 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Thu, 06 May 2021 16:35:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:39:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:39:55 +0000 Subject: Change in pysim[master]: cards: IsimCard inherits UsimCard In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24134 ) Change subject: cards: IsimCard inherits UsimCard ...................................................................... Patch Set 3: I am not aware of any spec requirement by 3GPP that a card with an ISIM application must always have an USIM application. Can you please point me to it? >From a logical point of view, I don't see any reason for that. IMS services exist over non-3GPP networks (VoWiFi), and use of such a service (IMS over WiFi) doesn't require an USIM application, only an ISIM application. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2de36a488840ec2bad94fa1830f9a2ac369bad80 Gerrit-Change-Number: 24134 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 06 May 2021 16:39:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:40:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:40:25 +0000 Subject: Change in pysim[master]: cards: populate name property in Card, UsimCard and IsimCard In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24135 ) Change subject: cards: populate name property in Card, UsimCard and IsimCard ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id643e1f83718aea073e7200aecbf2db2def8652f Gerrit-Change-Number: 24135 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 May 2021 16:40:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:40:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:40:43 +0000 Subject: Change in pysim[master]: cards:FairwavesSIM: force SIM APDUs during programming In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24139 ) Change subject: cards:FairwavesSIM: force SIM APDUs during programming ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24139 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8f02625d2b620ecdf4b2afc27a8750119b707152 Gerrit-Change-Number: 24139 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 May 2021 16:40:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:41:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:41:00 +0000 Subject: Change in pysim[master]: cards: get rid of "kls" parameter in autodetect methods In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24141 ) Change subject: cards: get rid of "kls" parameter in autodetect methods ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3e5defee394e1301bad8f04853fab8e9ded84335 Gerrit-Change-Number: 24141 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 May 2021 16:41:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:41:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:41:20 +0000 Subject: Change in pysim[master]: cards: rename class "Card" to "SimCard" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24142 ) Change subject: cards: rename class "Card" to "SimCard" ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2077ded44bc2297b8d478c5bd1895951b494efcc Gerrit-Change-Number: 24142 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 May 2021 16:41:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Thu May 6 16:41:04 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 16:41:04 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gbproxy in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <60941c379d686_fc52b08fe0ce5f415598f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gbproxy/Debian_9.0/aarch64 Package network:osmocom:nightly/osmo-gbproxy failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gbproxy Last lines of build log: [ 268s] texhash: Updating /usr/local/share/texmf/ls-R... [ 268s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 268s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 268s] texhash: Updating /var/lib/texmf/ls-R... [ 268s] texhash: Done. [ 268s] SIOCSIFADDR: File exists [ 269s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc) [ 269s] dpkg-source: info: extracting osmo-gbproxy in /usr/src/packages/BUILD [ 269s] dpkg-source: info: unpacking osmo-gbproxy_0.1.0.18.a4560.202105060026.tar.xz [ 269s] ----------------------------------------------------------------- [ 269s] ----- building osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc (user abuild) [ 269s] ----------------------------------------------------------------- [ 269s] ----------------------------------------------------------------- [ 269s] dpkg-buildpackage: info: source package osmo-gbproxy [ 269s] dpkg-buildpackage: info: source version 1:0.1.0.18.a4560.202105060026 [ 269s] dpkg-buildpackage: info: source distribution UNRELEASED [ 269s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 269s] dpkg-source --before-build BUILD [ 269s] dpkg-buildpackage: info: host architecture arm64 [ 270s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 270s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 270s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 270s] ### VM INTERACTION START ### [ 273s] [ 255.925885] sysrq: Power Off [ 273s] [ 255.927683] reboot: Power down [ 273s] ### VM INTERACTION END ### [ 273s] [ 273s] obs-arm-8 failed "build osmo-gbproxy_0.1.0.18.a4560.202105060026.dsc" at Thu May 6 16:40:56 UTC 2021. [ 273s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 6 16:42:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 May 2021 16:42:06 +0000 Subject: Change in pysim[master]: cards: move methods read_aids and select_adf_by_aid to class UsimCard In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24146 ) Change subject: cards: move methods read_aids and select_adf_by_aid to class UsimCard ...................................................................... Patch Set 1: the logical way to do this is to handle it in an UICC class. An ISIM or USIM application exists on an UICC. EF.DIR is specified in UICC. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71667b7b38c930b4e0409fe2ba2786e1db9cf9a3 Gerrit-Change-Number: 24146 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 06 May 2021 16:42:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Thu May 6 16:48:47 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 16:48:47 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <60941dfa1b2a5_fc52b08fe0ce5f41609cb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/Debian_9.0/armv7l Package network:osmocom:latest/osmo-remsim failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 708s] texhash: Updating /usr/local/share/texmf/ls-R... [ 708s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 708s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 708s] texhash: Updating /var/lib/texmf/ls-R... [ 708s] texhash: Done. [ 709s] SIOCSIFADDR: File exists [ 709s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.3.dsc) [ 709s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 709s] dpkg-source: info: unpacking osmo-remsim_0.2.3.tar.gz [ 709s] ----------------------------------------------------------------- [ 709s] ----- building osmo-remsim_0.2.3.dsc (user abuild) [ 709s] ----------------------------------------------------------------- [ 709s] ----------------------------------------------------------------- [ 710s] dpkg-buildpackage: info: source package osmo-remsim [ 710s] dpkg-buildpackage: info: source version 0.2.3 [ 710s] dpkg-buildpackage: info: source distribution unstable [ 710s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 710s] dpkg-source --before-build BUILD [ 710s] dpkg-buildpackage: info: host architecture armhf [ 711s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 711s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 711s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 711s] ### VM INTERACTION START ### [ 714s] [ 683.380227] sysrq: SysRq : Power Off [ 714s] [ 683.406732] reboot: Power down [ 716s] ### VM INTERACTION END ### [ 716s] [ 716s] obs-arm-5 failed "build osmo-remsim_0.2.3.dsc" at Thu May 6 16:48:32 UTC 2021. [ 716s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 6 16:56:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 16:56:16 +0000 Subject: Change in osmo-ggsn[master]: gtp: Support tx/rx RAN Information Relay message In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24163 to look at the new patch set (#2). Change subject: gtp: Support tx/rx RAN Information Relay message ...................................................................... gtp: Support tx/rx RAN Information Relay message See 3GPP TS 29.060 sec 7.5.14.1 RAN Information Relay. Related: SYS#5314 Change-Id: Iea3eb032ccd4aed5187baca7f7719349d76039d4 --- M gtp/gtp.c M gtp/gtp.h 2 files changed, 72 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/63/24163/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iea3eb032ccd4aed5187baca7f7719349d76039d4 Gerrit-Change-Number: 24163 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:57:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 16:57:20 +0000 Subject: Change in osmo-ggsn[master]: gtp: Support tx/rx RAN Information Relay message In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24163 to look at the new patch set (#3). Change subject: gtp: Support tx/rx RAN Information Relay message ...................................................................... gtp: Support tx/rx RAN Information Relay message See 3GPP TS 29.060 sec 7.5.14.1 RAN Information Relay. Related: SYS#5314 Change-Id: Iea3eb032ccd4aed5187baca7f7719349d76039d4 --- M TODO-RELEASE M gtp/gtp.c M gtp/gtp.h 3 files changed, 73 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/63/24163/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iea3eb032ccd4aed5187baca7f7719349d76039d4 Gerrit-Change-Number: 24163 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 16:58:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 16:58:17 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-omldummy: create shadow TRXes iff VAMOS is enabled In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24155 ) Change subject: [VAMOS] osmo-bts-omldummy: create shadow TRXes iff VAMOS is enabled ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24155/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/24155/1//COMMIT_MSG at 7 PS1, Line 7: [VAMOS] osmo-bts-omldummy: create shadow TRXes iff VAMOS is enabled > typo: iff -> if I think it's fine, as an abbreviation for "if and only if" -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4aa9a8bb35bd828d6f25d5690297e727dace5974 Gerrit-Change-Number: 24155 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 06 May 2021 16:58:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Thu May 6 16:59:04 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 16:59:04 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <60942071bee33_fc52b08fe0ce5f4172282@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_9.0/aarch64 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 633s] texhash: Updating /usr/local/share/texmf/ls-R... [ 633s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 633s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 633s] texhash: Updating /var/lib/texmf/ls-R... [ 633s] texhash: Done. [ 634s] SIOCSIFADDR: File exists [ 635s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-remsim_0.2.2.107.a06d.202105060026.dsc) [ 635s] dpkg-source: info: extracting osmo-remsim in /usr/src/packages/BUILD [ 635s] dpkg-source: info: unpacking osmo-remsim_0.2.2.107.a06d.202105060026.tar.gz [ 635s] ----------------------------------------------------------------- [ 635s] ----- building osmo-remsim_0.2.2.107.a06d.202105060026.dsc (user abuild) [ 635s] ----------------------------------------------------------------- [ 635s] ----------------------------------------------------------------- [ 636s] dpkg-buildpackage: info: source package osmo-remsim [ 636s] dpkg-buildpackage: info: source version 0.2.2.107.a06d.202105060026 [ 636s] dpkg-buildpackage: info: source distribution UNRELEASED [ 636s] dpkg-buildpackage: info: source changed by Harald Welte [ 637s] dpkg-source --before-build BUILD [ 637s] dpkg-buildpackage: info: host architecture arm64 [ 638s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 638s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 638s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 638s] ### VM INTERACTION START ### [ 641s] [ 596.786071] sysrq: Power Off [ 641s] [ 596.800962] reboot: Power down [ 642s] ### VM INTERACTION END ### [ 642s] [ 642s] obs-arm-2 failed "build osmo-remsim_0.2.2.107.a06d.202105060026.dsc" at Thu May 6 16:59:03 UTC 2021. [ 642s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 6 16:59:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 May 2021 16:59:48 +0000 Subject: Change in osmo-sgsn[master]: Drop unused GBRPOXY enum field In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24104 ) Change subject: Drop unused GBRPOXY enum field ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I85dbc65addfbb072a75b6f62fcc4306b7fbb6a91 Gerrit-Change-Number: 24104 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 16:59:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 17:05:51 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Thu, 6 May 2021 17:05:51 +0000 Subject: Change in pysim[master]: ModemATCommandLink: add some logging In-Reply-To: References: Message-ID: Falkenber9 has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24157 ) Change subject: ModemATCommandLink: add some logging ...................................................................... Patch Set 1: (1 comment) Done https://gerrit.osmocom.org/c/pysim/+/24157/1/pySim/transport/modem_atcmd.py File pySim/transport/modem_atcmd.py: https://gerrit.osmocom.org/c/pysim/+/24157/1/pySim/transport/modem_atcmd.py at 140 PS1, Line 140: info > I would argue if anything counts as debug, it's the low-level dumping of every AT command. [?] Done -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I303506a751b4a34d83c18bc097e0cfb0517ee82c Gerrit-Change-Number: 24157 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 06 May 2021 17:05:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 17:05:58 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Thu, 6 May 2021 17:05:58 +0000 Subject: Change in pysim[master]: ModemATCommandLink: add some logging In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24157 to look at the new patch set (#2). Change subject: ModemATCommandLink: add some logging ...................................................................... ModemATCommandLink: add some logging Change-Id: I303506a751b4a34d83c18bc097e0cfb0517ee82c --- M pySim/transport/modem_atcmd.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/57/24157/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I303506a751b4a34d83c18bc097e0cfb0517ee82c Gerrit-Change-Number: 24157 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Thu May 6 17:16:47 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 17:16:47 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <6094248ac9a8d_fc52b08fe0ce5f417927b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_9.0/aarch64 Package network:osmocom:nightly/osmo-pcu failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 210s] texhash: Updating /usr/local/share/texmf/ls-R... [ 210s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 211s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 211s] texhash: Updating /var/lib/texmf/ls-R... [ 211s] texhash: Done. [ 211s] SIOCSIFADDR: File exists [ 211s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-pcu_0.9.0.82.c6dc.202105060026.dsc) [ 211s] dpkg-source: info: extracting osmo-pcu in /usr/src/packages/BUILD [ 211s] dpkg-source: info: unpacking osmo-pcu_0.9.0.82.c6dc.202105060026.tar.xz [ 211s] ----------------------------------------------------------------- [ 211s] ----- building osmo-pcu_0.9.0.82.c6dc.202105060026.dsc (user abuild) [ 211s] ----------------------------------------------------------------- [ 211s] ----------------------------------------------------------------- [ 212s] dpkg-buildpackage: info: source package osmo-pcu [ 212s] dpkg-buildpackage: info: source version 0.9.0.82.c6dc.202105060026 [ 212s] dpkg-buildpackage: info: source distribution UNRELEASED [ 212s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 212s] dpkg-source --before-build BUILD [ 212s] dpkg-buildpackage: info: host architecture arm64 [ 212s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 212s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 212s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 212s] ### VM INTERACTION START ### [ 215s] [ 200.571083] sysrq: Power Off [ 215s] [ 200.607293] reboot: Power down [ 216s] ### VM INTERACTION END ### [ 216s] [ 216s] obs-arm-7 failed "build osmo-pcu_0.9.0.82.c6dc.202105060026.dsc" at Thu May 6 17:16:43 UTC 2021. [ 216s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu May 6 17:25:56 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 06 May 2021 17:25:56 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sip-connector in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <609426c4a7200_fc52b08fe0ce5f4182458@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sip-connector/Debian_9.0/aarch64 Package network:osmocom:nightly/osmo-sip-connector failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sip-connector Last lines of build log: [ 246s] texhash: Updating /usr/local/share/texmf/ls-R... [ 246s] texhash: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... [ 246s] texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN... [ 246s] texhash: Updating /var/lib/texmf/ls-R... [ 246s] texhash: Done. [ 246s] SIOCSIFADDR: File exists [ 246s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/osmo-sip-connector_1.5.0.202105060026.dsc) [ 246s] dpkg-source: info: extracting osmo-sip-connector in /usr/src/packages/BUILD [ 246s] dpkg-source: info: unpacking osmo-sip-connector_1.5.0.202105060026.tar.xz [ 247s] ----------------------------------------------------------------- [ 247s] ----- building osmo-sip-connector_1.5.0.202105060026.dsc (user abuild) [ 247s] ----------------------------------------------------------------- [ 247s] ----------------------------------------------------------------- [ 247s] dpkg-buildpackage: info: source package osmo-sip-connector [ 247s] dpkg-buildpackage: info: source version 1.5.0.202105060026 [ 247s] dpkg-buildpackage: info: source distribution UNRELEASED [ 247s] dpkg-buildpackage: info: source changed by Pau Espin Pedrol [ 247s] dpkg-source --before-build BUILD [ 247s] dpkg-buildpackage: info: host architecture arm64 [ 248s] dpkg-checkbuilddeps: error: Unmet build dependencies: dh-systemd (>= 1.5) [ 248s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 248s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 248s] ### VM INTERACTION START ### [ 254s] [ 238.125292] sysrq: Power Off [ 254s] [ 238.126656] reboot: Power down [ 254s] ### VM INTERACTION END ### [ 254s] [ 254s] obs-arm-8 failed "build osmo-sip-connector_1.5.0.202105060026.dsc" at Thu May 6 17:25:51 UTC 2021. [ 254s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 6 18:02:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 18:02:55 +0000 Subject: Change in osmo-pcu[master]: rim: Constify param in func References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24168 ) Change subject: rim: Constify param in func ...................................................................... rim: Constify param in func Change-Id: I47c471929a62d6a5340ae4a4ca88bd0b758c208d --- M src/gprs_bssgp_rim.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/68/24168/1 diff --git a/src/gprs_bssgp_rim.c b/src/gprs_bssgp_rim.c index c1f9cec..e9b9ef8 100644 --- a/src/gprs_bssgp_rim.c +++ b/src/gprs_bssgp_rim.c @@ -97,7 +97,8 @@ } /* Format a RAN INFORMATION PDU that contains the requested system information */ -static void format_response_pdu(struct bssgp_ran_information_pdu *resp_pdu, struct bssgp_ran_information_pdu *req_pdu, +static void format_response_pdu(struct bssgp_ran_information_pdu *resp_pdu, + const struct bssgp_ran_information_pdu *req_pdu, const struct gprs_rlcmac_bts *bts) { memset(resp_pdu, 0, sizeof(*resp_pdu)); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I47c471929a62d6a5340ae4a4ca88bd0b758c208d Gerrit-Change-Number: 24168 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 18:02:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 18:02:56 +0000 Subject: Change in osmo-pcu[master]: RIM: Refactor Rx path to decode stack in proper order References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24169 ) Change subject: RIM: Refactor Rx path to decode stack in proper order ...................................................................... RIM: Refactor Rx path to decode stack in proper order Previous implementation of the Rx path was first checking the APP ID before checking the lower layer (container type), which was confusing because the information is then not verified in ascending order in the protocol stack. Let's instead, first, pass the pdu to the correct container type handler, and only once there, let each container type handler verify the available applications. Change-Id: Ibe017c1a6e789f45d74c4a5f5f4608298c8c9f91 --- M src/gprs_bssgp_rim.c 1 file changed, 46 insertions(+), 63 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/69/24169/1 diff --git a/src/gprs_bssgp_rim.c b/src/gprs_bssgp_rim.c index e9b9ef8..68c863b 100644 --- a/src/gprs_bssgp_rim.c +++ b/src/gprs_bssgp_rim.c @@ -136,34 +136,6 @@ resp_pdu->rim_cont_iei = BSSGP_IE_RI_ERROR_RIM_COINTAINER; } -/* Check if the application ID in the request PDU is actually BSSGP_RAN_INF_APP_ID_NACC */ -static const enum bssgp_ran_inf_app_id *get_app_id(const struct bssgp_ran_information_pdu *pdu) -{ - switch (pdu->rim_cont_iei) { - case BSSGP_IE_RI_REQ_RIM_CONTAINER: - return &pdu->decoded.req_rim_cont.app_id; - case BSSGP_IE_RI_RIM_CONTAINER: - return &pdu->decoded.rim_cont.app_id; - case BSSGP_IE_RI_APP_ERROR_RIM_CONT: - return &pdu->decoded.app_err_rim_cont.app_id; - case BSSGP_IE_RI_ACK_RIM_CONTAINER: - return &pdu->decoded.ack_rim_cont.app_id; - case BSSGP_IE_RI_ERROR_RIM_COINTAINER: - return &pdu->decoded.err_rim_cont.app_id; - default: - return NULL; - } -} - -/* Check if the application ID in the request PDU is of a certain type */ -static bool match_app_id(const struct bssgp_ran_information_pdu *pdu, enum bssgp_ran_inf_app_id exp_app_id) -{ - const enum bssgp_ran_inf_app_id *app_id = get_app_id(pdu); - if (app_id && *app_id == exp_app_id) - return true; - return false; -} - static int handle_ran_info_response_nacc(const struct bssgp_ran_inf_app_cont_nacc *nacc, struct gprs_rlcmac_bts *bts) { struct si_cache_value val; @@ -197,11 +169,55 @@ return 0; } +static int handle_ran_info_request(const struct bssgp_ran_information_pdu *pdu, struct gprs_rlcmac_bts *bts, uint16_t nsei) +{ + const struct bssgp_ran_inf_req_rim_cont *ri_req = &pdu->decoded.req_rim_cont; + const struct bssgp_ran_inf_req_app_cont_nacc *nacc_req; + struct bssgp_ran_information_pdu resp_pdu; + int rc; + + /* Check if we support the application ID */ + if (ri_req->app_id != BSSGP_RAN_INF_APP_ID_NACC) { + LOGPRIM(nsei, LOGL_ERROR, + "Rx RAN-INFO-REQ for cell %s with unknown/wrong application ID %s received -- reject.\n", + osmo_cgi_ps_name(&bts->cgi_ps), bssgp_ran_inf_app_id_str(ri_req->app_id)); + format_response_pdu_err(&resp_pdu, pdu); + rc = -ENOTSUP; + goto tx_ret; + } + + nacc_req = &ri_req->u.app_cont_nacc; + rc = osmo_cgi_ps_cmp(&bts->cgi_ps, &nacc_req->reprt_cell); + if (rc != 0) { + LOGPRIM(nsei, LOGL_ERROR, "reporting cell in RIM application container %s " + "does not match destination cell in RIM routing info %s -- rejected.\n", + osmo_cgi_ps_name(&nacc_req->reprt_cell), + osmo_cgi_ps_name2(&bts->cgi_ps)); + format_response_pdu_err(&resp_pdu, pdu); + } else { + LOGPRIM(nsei, LOGL_INFO, "Responding to RAN INFORMATION REQUEST %s ...\n", + osmo_cgi_ps_name(&nacc_req->reprt_cell)); + format_response_pdu(&resp_pdu, pdu, bts); + } + +tx_ret: + bssgp_tx_rim(&resp_pdu, nsei); + return rc; +} + static int handle_ran_info_response(const struct bssgp_ran_information_pdu *pdu, struct gprs_rlcmac_bts *bts) { const struct bssgp_ran_inf_rim_cont *ran_info = &pdu->decoded.rim_cont; char ri_src_str[64]; + /* Check if we support the application ID */ + if (ran_info->app_id != BSSGP_RAN_INF_APP_ID_NACC) { + LOGP(DRIM, LOGL_ERROR, + "Rx RAN-INFO for cell %s with unknown/wrong application ID %s received -- reject.\n", + osmo_cgi_ps_name(&bts->cgi_ps), bssgp_ran_inf_app_id_str(ran_info->app_id)); + return -1; + } + if (ran_info->app_err) { LOGP(DRIM, LOGL_ERROR, "%s Rx RAN-INFO with an app error! cause: %s\n", @@ -210,16 +226,7 @@ return -1; } - switch (pdu->decoded.rim_cont.app_id) { - case BSSGP_RAN_INF_APP_ID_NACC: - handle_ran_info_response_nacc(&ran_info->u.app_cont_nacc, bts); - break; - default: - LOGP(DRIM, LOGL_ERROR, "%s Rx RAN-INFO with unknown/wrong application ID %s received\n", - bssgp_rim_ri_name_buf(ri_src_str, sizeof(ri_src_str), &pdu->routing_info_src), - bssgp_ran_inf_app_id_str(pdu->decoded.rim_cont.app_id)); - return -1; - } + handle_ran_info_response_nacc(&ran_info->u.app_cont_nacc, bts); return 0; } @@ -231,7 +238,6 @@ struct bssgp_ran_information_pdu resp_pdu; struct osmo_cell_global_id_ps dst_addr; struct gprs_rlcmac_bts *bts; - int rc; OSMO_ASSERT (bp->oph.sap == SAP_BSSGP_RIM); @@ -265,33 +271,10 @@ return 0; } - /* Check if the RIM container inside the incoming RIM PDU has the correct - * application ID */ - if (!match_app_id(pdu, BSSGP_RAN_INF_APP_ID_NACC)) { - LOGPRIM(nsei, LOGL_ERROR, - "RIM PDU for cell %s with unknown/wrong application ID received -- reject.\n", - osmo_cgi_ps_name(&dst_addr)); - format_response_pdu_err(&resp_pdu, pdu); - return 0; - } - /* Handle incoming RIM container */ switch (pdu->rim_cont_iei) { case BSSGP_IE_RI_REQ_RIM_CONTAINER: - rc = osmo_cgi_ps_cmp(&dst_addr, &pdu->decoded.req_rim_cont.u.app_cont_nacc.reprt_cell); - if (rc != 0) { - LOGPRIM(nsei, LOGL_ERROR, "reporting cell in RIM application container %s " - "does not match destination cell in RIM routing info %s -- rejected.\n", - osmo_cgi_ps_name(&pdu->decoded.req_rim_cont.u.app_cont_nacc.reprt_cell), - osmo_cgi_ps_name2(&dst_addr)); - format_response_pdu_err(&resp_pdu, pdu); - } else { - LOGPRIM(nsei, LOGL_INFO, "Responding to RAN INFORMATION REQUEST %s ...\n", - osmo_cgi_ps_name(&pdu->decoded.req_rim_cont.u.app_cont_nacc.reprt_cell)); - format_response_pdu(&resp_pdu, pdu, bts); - } - bssgp_tx_rim(&resp_pdu, nsei); - break; + return handle_ran_info_request(pdu, bts, nsei); case BSSGP_IE_RI_RIM_CONTAINER: return handle_ran_info_response(pdu, bts); case BSSGP_IE_RI_APP_ERROR_RIM_CONT: -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe017c1a6e789f45d74c4a5f5f4608298c8c9f91 Gerrit-Change-Number: 24169 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 18:24:11 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Thu, 6 May 2021 18:24:11 +0000 Subject: Change in pysim[master]: ModemATCommandLink: add/adjust some logging In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24157 to look at the new patch set (#3). Change subject: ModemATCommandLink: add/adjust some logging ...................................................................... ModemATCommandLink: add/adjust some logging Change-Id: I303506a751b4a34d83c18bc097e0cfb0517ee82c --- M pySim/transport/modem_atcmd.py 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/57/24157/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I303506a751b4a34d83c18bc097e0cfb0517ee82c Gerrit-Change-Number: 24157 Gerrit-PatchSet: 3 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 18:24:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 18:24:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_rim_ran_info_req_single_rep_eutran References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24170 ) Change subject: pcu: Introduce test TC_rim_ran_info_req_single_rep_eutran ...................................................................... pcu: Introduce test TC_rim_ran_info_req_single_rep_eutran Related: SYS#5314 Change-Id: I87f3daba1521d2dc8eed78ffdc6de5744484ba7a --- M pcu/PCU_Tests.ttcn 1 file changed, 56 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/24170/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index f42a85b..3825bf8 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -5569,21 +5569,15 @@ f_dl_block_ack_fn(dl_block, dl_fn)); } -/* Send a RIM RAN info request to the PCU and verify the response, we expect - * getting the system information back which we have transfered to the PCU via - * PCUIF on startup. */ -testcase TC_rim_ran_info_req_single_rep() runs on RAW_PCU_Test_CT { - const BssgpBvci bvci := mp_gb_cfg.bvc[0].bvci; - timer T := 2.0; - /* Initialize NS/BSSGP side */ - f_init_bssgp(); - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - /* Establish BSSGP connection to the PCU */ - f_bssgp_establish(); +function f_do_inbound_nacc(template (value) RIM_Routing_Information tx_src_addr, template RIM_Routing_Information rx_dst_addr) +runs on RAW_PCU_Test_CT +{ + var template (value) RAN_Information_Request_RIM_Container req_cont; + var template (value) PDU_BSSGP bssgp_rim_pdu; + var template PDU_BSSGP bssgp_rim_pdu_expect; + var template RAN_Information_RIM_Container rim_cont_expect; + var RIM_Routing_Address bts_addr; /* Send sysinfo to the PCU */ var template PCUIF_Message si1_data_ind := ts_PCUIF_DATA_IND(0, 0, 0, 0, PCU_IF_SAPI_BCCH, '5506'O & si1_default, 0, 0, 0, 0, 32767); @@ -5594,16 +5588,7 @@ BTS.send(si13_data_ind); f_sleep(1.0); - var RIM_Routing_Address dst_addr; - var RIM_Routing_Address src_addr; - var template (value) RAN_Information_Request_RIM_Container req_cont; - var template (value) PDU_BSSGP bssgp_rim_pdu; - var template PDU_BSSGP bssgp_rim_pdu_expect; - var template RAN_Information_RIM_Container rim_cont_expect; - - var BssgpCellId src_cid := {ra_id := { lai := { mcc_mnc := '262F42'H, lac := 12345}, rac := 0 }, cell_id := 20962 }; - src_addr := valueof(t_RIM_Routing_Address_cid(src_cid)); - dst_addr := valueof(t_RIM_Routing_Address_cid(mp_gb_cfg.bvc[0].cell_id)); + bts_addr := valueof(t_RIM_Routing_Address_cid(mp_gb_cfg.bvc[0].cell_id)); req_cont := ts_RAN_Information_Request_RIM_Container(ts_RIM_Application_Identity(RIM_APP_ID_NACC), ts_RIM_Sequence_Number(1), @@ -5611,9 +5596,8 @@ ts_RIM_Protocol_Version_Number(1), tsu_RAN_Information_Request_Application_Container_NACC(mp_gb_cfg.bvc[0].cell_id), omit); - bssgp_rim_pdu := ts_RAN_INFORMATION_REQUEST(ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, dst_addr), - ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, src_addr), - req_cont); + bssgp_rim_pdu := ts_RAN_INFORMATION_REQUEST(ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, bts_addr), + tx_src_addr, req_cont); rim_cont_expect := tr_RAN_Information_RIM_Container(tr_RIM_Application_Identity(RIM_APP_ID_NACC), tr_RIM_Sequence_Number(1), @@ -5622,10 +5606,11 @@ tru_ApplContainer_or_ApplErrContainer_NACC(tru_ApplContainer_NACC(mp_gb_cfg.bvc[0].cell_id, false, 3, si_default)), omit); - bssgp_rim_pdu_expect := tr_PDU_BSSGP_RAN_INFORMATION(tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, src_addr), - tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, dst_addr), + bssgp_rim_pdu_expect := tr_PDU_BSSGP_RAN_INFORMATION(rx_dst_addr, + tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, bts_addr), rim_cont_expect); RIM.send(bssgp_rim_pdu); + timer T := 2.0; T.start; alt { [] RIM.receive(bssgp_rim_pdu_expect) { } @@ -5637,6 +5622,47 @@ mtc.stop; } } +} +/* Send a RIM RAN info request to the PCU and verify the response, we expect + * getting the system information back which we have transfered to the PCU via + * PCUIF on startup. */ +testcase TC_rim_ran_info_req_single_rep() runs on RAW_PCU_Test_CT { + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + + var BssgpCellId src_cid := {ra_id := { lai := { mcc_mnc := '262F42'H, lac := 12345}, rac := 0 }, cell_id := 20962 }; + var RIM_Routing_Address src_addr := valueof(t_RIM_Routing_Address_cid(src_cid)); + + f_do_inbound_nacc(ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, src_addr), + tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, src_addr)); + + f_shutdown(__BFILE__, __LINE__, final := true); +} + +/* Same as TC_rim_ran_info_req_single_rep, but using an EUTRAN eNodeB ID as + * Routing information, to verify PCU handles that kind of address just fine + */ +testcase TC_rim_ran_info_req_single_rep_eutran() runs on RAW_PCU_Test_CT { + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + + var BssgpCellId src_cid := {ra_id := { lai := { mcc_mnc := '262F42'H, lac := 12345}, rac := 0 }, cell_id := 20962 }; + var RIM_Routing_Address src_addr := valueof(t_RIM_Routing_Address_enbid(src_cid, tac := 3, gnbid := '12345678123456'O)); + + f_do_inbound_nacc(ts_RIM_Routing_Information(RIM_ADDR_EUTRAN_NODEB_ID, src_addr), + tr_RIM_Routing_Information(RIM_ADDR_EUTRAN_NODEB_ID, src_addr)); f_shutdown(__BFILE__, __LINE__, final := true); } @@ -5812,6 +5838,7 @@ execute( TC_nacc_outbound_pkt_cell_chg_notif_unassigned_dl_tbf() ); execute( TC_rim_ran_info_req_single_rep() ); + execute( TC_rim_ran_info_req_single_rep_eutran() ); execute( TC_rim_ran_info_req_single_rep_no_si() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24170 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: I87f3daba1521d2dc8eed78ffdc6de5744484ba7a Gerrit-Change-Number: 24170 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 18:28:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 May 2021 18:28:12 +0000 Subject: Change in libosmocore[master]: Revert "gb: Fix naming and export symbol bssgp_enc_rim_pdu" In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24165 ) Change subject: Revert "gb: Fix naming and export symbol bssgp_enc_rim_pdu" ...................................................................... Revert "gb: Fix naming and export symbol bssgp_enc_rim_pdu" This reverts commit 43ad616e4b66913eedc54f136addcc961b6402f8. _enc_ functions are for some ies while the _encode_ and _decode_ are for the full pdu. so the old name is correct. Change-Id: Ib0b4a6fd7f8c96e4647a373541e3cccb324c6a11 --- M include/osmocom/gprs/gprs_bssgp_rim.h M src/gb/gprs_bssgp_rim.c M src/gb/libosmogb.map 3 files changed, 3 insertions(+), 4 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gprs/gprs_bssgp_rim.h b/include/osmocom/gprs/gprs_bssgp_rim.h index 41d7982..5f397c9 100644 --- a/include/osmocom/gprs/gprs_bssgp_rim.h +++ b/include/osmocom/gprs/gprs_bssgp_rim.h @@ -267,6 +267,6 @@ }; int bssgp_parse_rim_pdu(struct bssgp_ran_information_pdu *pdu, const struct msgb *msg); -struct msgb *bssgp_enc_rim_pdu(const struct bssgp_ran_information_pdu *pdu); +struct msgb *bssgp_encode_rim_pdu(const struct bssgp_ran_information_pdu *pdu); int bssgp_tx_rim(const struct bssgp_ran_information_pdu *pdu, uint16_t nsei); diff --git a/src/gb/gprs_bssgp_rim.c b/src/gb/gprs_bssgp_rim.c index 00b3826..63b303e 100644 --- a/src/gb/gprs_bssgp_rim.c +++ b/src/gb/gprs_bssgp_rim.c @@ -1059,7 +1059,7 @@ /*! Encode a given rim-pdu struct into a message buffer. * \param[out] pdu user provided memory that contains the RAN INFORMATION PDU to encode. * \returns BSSGP message buffer on sccess, NULL on error. */ -struct msgb *bssgp_enc_rim_pdu(const struct bssgp_ran_information_pdu *pdu) +struct msgb *bssgp_encode_rim_pdu(const struct bssgp_ran_information_pdu *pdu) { struct msgb *msg = bssgp_msgb_alloc(); struct bssgp_normal_hdr *bgph; @@ -1160,7 +1160,7 @@ char ri_dest_str[64]; /* Encode RIM PDU into mesage buffer */ - msg = bssgp_enc_rim_pdu(pdu); + msg = bssgp_encode_rim_pdu(pdu); if (!msg) { LOGP(DLBSSGP, LOGL_ERROR, "BSSGP RIM (NSEI=%u) unable to encode BSSGP RIM PDU\n", nsei); diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map index 44e622c..db638f9 100644 --- a/src/gb/libosmogb.map +++ b/src/gb/libosmogb.map @@ -20,7 +20,6 @@ bssgp_enc_ran_inf_app_cont_nacc; bssgp_enc_ran_inf_app_err_rim_cont; bssgp_enc_ran_inf_rim_cont; -bssgp_enc_rim_pdu; bssgp_fc_in; bssgp_fc_init; bssgp_fc_ms_init; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib0b4a6fd7f8c96e4647a373541e3cccb324c6a11 Gerrit-Change-Number: 24165 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 18:37:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 May 2021 18:37:33 +0000 Subject: Change in pysim[master]: cards: rename class "Card" to "SimCard" In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24142 ) Change subject: cards: rename class "Card" to "SimCard" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2077ded44bc2297b8d478c5bd1895951b494efcc Gerrit-Change-Number: 24142 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 18:37:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 18:37:47 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Thu, 6 May 2021 18:37:47 +0000 Subject: Change in pysim[master]: ModemATCommandLink: improve response time for "+CME ERROR" In-Reply-To: References: Message-ID: Falkenber9 has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24158 ) Change subject: ModemATCommandLink: improve response time for "+CME ERROR" ...................................................................... Patch Set 1: (2 comments) Thanks https://gerrit.osmocom.org/c/pysim/+/24158/1/pySim/transport/modem_atcmd.py File pySim/transport/modem_atcmd.py: https://gerrit.osmocom.org/c/pysim/+/24158/1/pySim/transport/modem_atcmd.py at 74 PS1, Line 74: debug > I would log it as debug for OK but definitely as something higher (error?) when it fails. Done https://gerrit.osmocom.org/c/pysim/+/24158/1/pySim/transport/modem_atcmd.py at 78 PS1, Line 78: debug > nothing you touched in your patch, but just noticing this: A timeout should at least be notice/warni [?] Done in I303506a751b4a34d83c18bc097e0cfb0517ee82c -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I41af33c1898f5ed3d1c5238e45f956c6ceab2826 Gerrit-Change-Number: 24158 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 06 May 2021 18:37:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 18:37:55 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Thu, 6 May 2021 18:37:55 +0000 Subject: Change in pysim[master]: ModemATCommandLink: improve response time for "+CME ERROR" In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24158 to look at the new patch set (#2). Change subject: ModemATCommandLink: improve response time for "+CME ERROR" ...................................................................... ModemATCommandLink: improve response time for "+CME ERROR" Change-Id: I41af33c1898f5ed3d1c5238e45f956c6ceab2826 --- M pySim/transport/modem_atcmd.py 1 file changed, 10 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/58/24158/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I41af33c1898f5ed3d1c5238e45f956c6ceab2826 Gerrit-Change-Number: 24158 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 18:43:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 May 2021 18:43:46 +0000 Subject: Change in pysim[master]: cards: get rid of "kls" parameter in autodetect methods In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24141 ) Change subject: cards: get rid of "kls" parameter in autodetect methods ...................................................................... Patch Set 2: Code-Review-2 (1 comment) https://gerrit.osmocom.org/c/pysim/+/24141/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/pysim/+/24141/2//COMMIT_MSG at 10 PS2, Line 10: for unknown reason Well, there is a reason: it's defined as a '@classmethod'. This means that you can call it directly without insinuating MagicSimBase, i.e. MagicSimBase.autodetect(). As far as I can see, this is what the code is supposed to do and this method returns an instance itself. So your change is wrong, there is no 'self' in classmethods (you can still use any arbitrary name though). -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3e5defee394e1301bad8f04853fab8e9ded84335 Gerrit-Change-Number: 24141 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 18:43:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 18:46:38 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Thu, 6 May 2021 18:46:38 +0000 Subject: Change in pysim[master]: ts_102_221: fix unknown TLV key '9B' on SysmoSIM-SJS1 In-Reply-To: References: Message-ID: Falkenber9 has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24159 ) Change subject: ts_102_221: fix unknown TLV key '9B' on SysmoSIM-SJS1 ...................................................................... Patch Set 1: (1 comment) Thanks https://gerrit.osmocom.org/c/pysim/+/24159/1/pySim/ts_102_221.py File pySim/ts_102_221.py: https://gerrit.osmocom.org/c/pysim/+/24159/1/pySim/ts_102_221.py at 186 PS1, Line 186: tlv_map['9B'] = 'unknown_9B' # found on SysmoSIM-SJS1; seems to mirror the file path > Please call it sysmoUSIM-SJS1 in both the commit log and here. [?] Done -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8131bfbbdeb50ddb4d6a06c16586238a36582b5e Gerrit-Change-Number: 24159 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 May 2021 18:46:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 18:46:45 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Thu, 6 May 2021 18:46:45 +0000 Subject: Change in pysim[master]: ts_102_221: add missing TLV key '9B'/'target_ef' for sysmoUSIM-SJS1 In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24159 to look at the new patch set (#2). Change subject: ts_102_221: add missing TLV key '9B'/'target_ef' for sysmoUSIM-SJS1 ...................................................................... ts_102_221: add missing TLV key '9B'/'target_ef' for sysmoUSIM-SJS1 Change-Id: I8131bfbbdeb50ddb4d6a06c16586238a36582b5e --- M pySim/ts_102_221.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/59/24159/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8131bfbbdeb50ddb4d6a06c16586238a36582b5e Gerrit-Change-Number: 24159 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 18:49:45 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 May 2021 18:49:45 +0000 Subject: Change in pysim[master]: cards:FairwavesSIM: force SIM APDUs during programming In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24139 ) Change subject: cards:FairwavesSIM: force SIM APDUs during programming ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/pysim/+/24139/1/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/24139/1/pySim/cards.py at a1014 PS1, Line 1014: unrelated ws change (I wish we had some git commit hook warning about that) https://gerrit.osmocom.org/c/pysim/+/24139/1/pySim/cards.py at 1103 PS1, Line 1103: raise ValueError("Please provide a PIN-ADM as there is no default one") If an exception happens, then you never reach the end of function and thus never revert your USIM->SIM protocol change. I suggest to rename the original method to '_program', and add a 'program' wrapper that would basically do: def program(self, p): # Change from USIM to SIM try: self._program(p) finally: # restore original cla byte and sel ctrl -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24139 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8f02625d2b620ecdf4b2afc27a8750119b707152 Gerrit-Change-Number: 24139 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 18:49:45 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 18:52:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 May 2021 18:52:02 +0000 Subject: Change in pysim[master]: cards: populate name property in Card, UsimCard and IsimCard In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24135 ) Change subject: cards: populate name property in Card, UsimCard and IsimCard ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/24135/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/pysim/+/24135/2//COMMIT_MSG at 10 PS2, Line 10: inheret from mit s/inheret/inherit/ s/mit/it/ -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id643e1f83718aea073e7200aecbf2db2def8652f Gerrit-Change-Number: 24135 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 May 2021 18:52:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 19:01:13 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 May 2021 19:01:13 +0000 Subject: Change in pysim[master]: filesystem: add unit tests for encoder/decoder methods In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24012 ) Change subject: filesystem: add unit tests for encoder/decoder methods ...................................................................... Patch Set 4: > I would be careful with such statements. The point here is that each file class defines _data_, and not code. Then there is a shared function that excudes a common unit test with the data specified in the file-specific class. I am fine with having the test vectors in each class. When I posted my comments it was Patchset 1, and the test logic was defined in CardEF.test_encode_decode() and this is what I was not happy about. Now I see that it has been moved to test_files.py. > At least I know python unittest only in he following way: > * specify _code_ for each class to test > * that test is not with the implementation bu in a separate file ACK. > If you are aware of python unittest implementing a data-driven approach with 'test data within implementation', please show some pointers, thanks. I am taking a look at the new patchset, will post my suggestions in a few minutes. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I02d884547f4982e0b8ed7ef21b8cda75237942e2 Gerrit-Change-Number: 24012 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 19:01:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 19:06:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 May 2021 19:06:47 +0000 Subject: Change in pysim[master]: filesystem: add unit tests for encoder/decoder methods In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24012 ) Change subject: filesystem: add unit tests for encoder/decoder methods ...................................................................... Patch Set 4: (4 comments) Cosmetic comments first. https://gerrit.osmocom.org/c/pysim/+/24012/4/pySim/ts_31_102.py File pySim/ts_31_102.py: https://gerrit.osmocom.org/c/pysim/+/24012/4/pySim/ts_31_102.py at 294 PS4, Line 294: _encode_decode_testvector = ['{"prot_scheme_id_list": [{"priority": 0, "identifier": 2, "key_index": 1}, {"priority": 1, "identifier": 1, "key_index": 2}, {"priority": 2, "identifier": 0, "key_index": 0}], "hnet_pubkey_list": [{"hnet_pubkey_identifier": 27, "hnet_pubkey": "0272da71976234ce833a6907425867b82e074d44ef907dfb4b3e21c1c2256ebcd1"}, {"hnet_pubkey_identifier": 30, "hnet_pubkey": "5a8d38864820197c3394b92613b20b91633cbd897119273bf8e4a6f4eec0a650"}]}'] This line looks way too long and IMO unreadable. Can we split it somehow? Or maybe even define as Python object and then convert to string somehow? This way you get error checking at load time. https://gerrit.osmocom.org/c/pysim/+/24012/4/pySim/ts_31_103.py File pySim/ts_31_103.py: https://gerrit.osmocom.org/c/pysim/+/24012/4/pySim/ts_31_103.py at 121 PS4, Line 121: '{"addr": "hello,world", "addr_type": "00"}'] mixing tabs and spaces, let's avoid this https://gerrit.osmocom.org/c/pysim/+/24012/4/pySim/ts_51_011.py File pySim/ts_51_011.py: https://gerrit.osmocom.org/c/pysim/+/24012/4/pySim/ts_51_011.py at 380 PS4, Line 380: '{"msisdn": [1, 3, "123456"]}'] mixing tabs and spaces, let's avoid this https://gerrit.osmocom.org/c/pysim/+/24012/4/pySim/ts_51_011.py at 471 PS4, Line 471: '{"imsi": "123456789012345"}'] same here and below -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I02d884547f4982e0b8ed7ef21b8cda75237942e2 Gerrit-Change-Number: 24012 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 19:06:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 19:44:04 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 May 2021 19:44:04 +0000 Subject: Change in pysim[master]: filesystem: add unit tests for encoder/decoder methods In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24012 ) Change subject: filesystem: add unit tests for encoder/decoder methods ...................................................................... Patch Set 4: Code-Review-1 (10 comments) https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py File tests/test_files.py: https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 22 PS4, Line 22: def test_encode_decode(testcase, ef, verbose=False): As I pointed out below, this function should become a method of DecTestCase. https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 39 PS4, Line 39: print It's not a good idea to use print() directly in unit tests. Usually you get a brief summary printed by unittest itself, and now imagine if you have lots of test cases printing some internal stuff... Just use Python's logging framework with DEBUG or INFO level. If something goes wrong, you can always increase the default logging level and see what happens. import logging ... logging.info('foo %s', foo) logging.debug('bar %d', bar) https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 49 PS4, Line 49: if not has_testvec: This condition looks common for both branches, I would move it below. https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 57 PS4, Line 57: for testvec_json in ef.__class__._encode_decode_testvector: Probably makes sense to wrap each vector into self.subTest too. https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 60 PS4, Line 60: if verbose: Again, logging.debug() would do this for you. https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 71 PS4, Line 71: testcase.assertEqual(testvec_json, decoded_json) Not sure if it's a good idea to have the test vectors in JSON and match strings. You can execute self.assertEqual on Python objects, and if something does not match, it would give you a very precise diff on fields that differ. After all, imagine JSON library slightly changes the ordering some day... https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 82 PS4, Line 82: DecTestCase Is it only decoding or encoding and decoding together? The name looks confusing. https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 94 PS4, Line 94: for obj in gc.get_objects(): Using garbage collector for finding all instances of CardEF is an option, but how can you be sure that you cover _all_ classes? There should be a more elegant solution, like using a meta-class, similar to what unittest framework does: you inherit your test-case class from 'unittest.TestCase' and unittest knows about existence of your inherited class. There is also built-in property '__subclasses__()', but you would need to expand the returned value recursively. https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 96 PS4, Line 96: if not file_in_list(test_candidates, obj.name): Would be nice to implement the concept of sub-tests here for each file: for obj in gc.get_objects(): if not isinstance(obj, CardEF): continue with self.subTest(obj.__class__.__name__): test_encode_decode(self, obj) This would improve the test execution output. https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 101 PS4, Line 101: test_encode_decode So you have a function that accepts a reference to the test case instance, but for some reason it's not a method of 'DecTestCase' class? This looks very odd to me, why this way? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I02d884547f4982e0b8ed7ef21b8cda75237942e2 Gerrit-Change-Number: 24012 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 19:44:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 19:50:58 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 May 2021 19:50:58 +0000 Subject: Change in pysim[master]: utils: split string formatting from dec_addr_tlv In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24010 ) Change subject: utils: split string formatting from dec_addr_tlv ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/pysim/+/24010/6/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/24010/6/pySim/cards.py at 392 PS6, Line 392: format_addr Does it really make sense to pass (None, None) to this function? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id017b0786089adac4d6c5be688742eaa9699e529 Gerrit-Change-Number: 24010 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 06 May 2021 19:50:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 19:51:18 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 May 2021 19:51:18 +0000 Subject: Change in pysim[master]: ts_31_103: finish decoder and fix encoder for EF.PCSCF In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24011 ) Change subject: ts_31_103: finish decoder and fix encoder for EF.PCSCF ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24011 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7613b8b71624dc5802aca93163788a2a2d4ca345 Gerrit-Change-Number: 24011 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 19:51:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 20:06:57 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 May 2021 20:06:57 +0000 Subject: Change in osmo-mgw[master]: Add vty command 'show mgcp active' In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24131 ) Change subject: Add vty command 'show mgcp active' ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I23a26b4fdc03d8b2469d293dd6c06ed83ce739e9 Gerrit-Change-Number: 24131 Gerrit-PatchSet: 3 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 20:06:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 20:14:21 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 6 May 2021 20:14:21 +0000 Subject: Change in libosmocore[master]: gb: Fix missing exporting symbol bssgp_encode_rim_pdu In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24166 ) Change subject: gb: Fix missing exporting symbol bssgp_encode_rim_pdu ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24166 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4c3792c3b22989571548e40aa4fbf26912e699df Gerrit-Change-Number: 24166 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 May 2021 20:14:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 20:39:32 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Thu, 6 May 2021 20:39:32 +0000 Subject: Change in osmo-mgw[master]: Log messages about RTP timestamps at level INFO In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24130 ) Change subject: Log messages about RTP timestamps at level INFO ...................................................................... Patch Set 1: > Patch Set 1: Code-Review-1 > > I'm not convinced that this is the right way. ... Hmm, you're right - and just today now I cannot seem to reproduce whatever was causing it. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id76dc6345e1b1875240c87c609b5224ea9a6643f Gerrit-Change-Number: 24130 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 May 2021 20:39:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 21:01:13 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Thu, 6 May 2021 21:01:13 +0000 Subject: Change in pysim[master]: ts_51_011: fix encoder of EF_SPN: In-Reply-To: References: Message-ID: Falkenber9 has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24006 ) Change subject: ts_51_011: fix encoder of EF_SPN: ...................................................................... Patch Set 6: looks_OK_for_me -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0a405793c8909d4279e634b93dcb76e5cb2963f3 Gerrit-Change-Number: 24006 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 06 May 2021 21:01:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 6 21:15:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 May 2021 21:15:40 +0000 Subject: Change in libosmocore[master]: gsm/abis_nm: add Osmocom specific OC for shadow transceiver In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24151 ) Change subject: gsm/abis_nm: add Osmocom specific OC for shadow transceiver ...................................................................... Abandoned It was decided to not have OML FSMs for the shadow TRXs. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24151 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idf3e917d7eb595e498514f1de50d4a5cb0333419 Gerrit-Change-Number: 24151 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 10:23:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 7 May 2021 10:23:19 +0000 Subject: Change in libosmocore[master]: gb: Fix missing exporting symbol bssgp_encode_rim_pdu In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24166 ) Change subject: gb: Fix missing exporting symbol bssgp_encode_rim_pdu ...................................................................... gb: Fix missing exporting symbol bssgp_encode_rim_pdu The symbol was not in the list of exported symbols. Change-Id: I4c3792c3b22989571548e40aa4fbf26912e699df --- M src/gb/libosmogb.map 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Hoernchen: Looks good to me, approved diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map index db638f9..ff5b34a 100644 --- a/src/gb/libosmogb.map +++ b/src/gb/libosmogb.map @@ -20,6 +20,7 @@ bssgp_enc_ran_inf_app_cont_nacc; bssgp_enc_ran_inf_app_err_rim_cont; bssgp_enc_ran_inf_rim_cont; +bssgp_encode_rim_pdu; bssgp_fc_in; bssgp_fc_init; bssgp_fc_ms_init; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24166 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4c3792c3b22989571548e40aa4fbf26912e699df Gerrit-Change-Number: 24166 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 10:45:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 7 May 2021 10:45:10 +0000 Subject: Change in osmo-sgsn[master]: gtp: Delete ctx upon receive UpdateCtxResp with cause Non-existent In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23851 ) Change subject: gtp: Delete ctx upon receive UpdateCtxResp with cause Non-existent ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ic5f682a79663acc65fd364dd7a3a7cc554534414 Gerrit-Change-Number: 23851 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Fri, 07 May 2021 10:45:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 11:33:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 7 May 2021 11:33:41 +0000 Subject: Change in osmo-gbproxy[master]: Avoid sending tx_status upon rx of RIM messages References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24171 ) Change subject: Avoid sending tx_status upon rx of RIM messages ...................................................................... Avoid sending tx_status upon rx of RIM messages Change-Id: Ib8d580ad437f11f6b0a42e76e28b8c3a6c2a12d7 --- M src/gb_proxy.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/71/24171/1 diff --git a/src/gb_proxy.c b/src/gb_proxy.c index 64b1397..31c5a6b 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -1441,6 +1441,7 @@ case BSSGP_PDUT_RAN_INFO_ERROR: case BSSGP_PDUT_RAN_INFO_APP_ERROR: rc = gbprox_rx_rim_from_sgsn(tp, nse, msg, log_pfx, pdut_name); + break; default: LOGPNSE(nse, LOGL_NOTICE, "Rx %s: Not supported\n", pdut_name); rate_ctr_inc(&cfg->ctrg->ctr[GBPROX_GLOB_CTR_PROTO_ERR_SGSN]); -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ib8d580ad437f11f6b0a42e76e28b8c3a6c2a12d7 Gerrit-Change-Number: 24171 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 11:36:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 7 May 2021 11:36:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gbproxy: Introduce test TC_rim_from_eutran References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24172 ) Change subject: gbproxy: Introduce test TC_rim_from_eutran ...................................................................... gbproxy: Introduce test TC_rim_from_eutran Related: SYS#5314 Change-Id: Idd760ef9ede08a155752a5bee5b8d8f9dfa440da --- M gbproxy/GBProxy_Tests.ttcn 1 file changed, 47 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/72/24172/1 diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn index dcf72b0..c496ca8 100644 --- a/gbproxy/GBProxy_Tests.ttcn +++ b/gbproxy/GBProxy_Tests.ttcn @@ -3228,6 +3228,52 @@ f_cleanup(); } + +/* Test RIM REQ sent from an MME->SGSN->GBPROXY->PCU and back (eNACC) */ +private function f_TC_rim_from_eutran(integer sgsn_idx, integer pcu_idx, integer bvc_idx := 0) +runs on GlobalTest_CT +{ + var BssgpCellId cell_id := g_pcu[pcu_idx].cfg.bvc[bvc_idx].cell_id; + var template (value) RAN_Information_Request_RIM_Container cont_tx; + var template RAN_Information_Request_RIM_Container cont_rx; + var template RIM_Routing_Address ra_pcu; + var template RIM_Routing_Address ra_sgsn; + + ra_pcu := t_RIM_Routing_Address_cid(cell_id); + ra_sgsn := t_RIM_Routing_Address_enbid(cell_id_sgsn, tac := 3, gnbid := '12345678123456'O); + + cont_tx := ts_RAN_Information_Request_RIM_Container(ts_RIM_Application_Identity(RIM_APP_ID_NACC), + ts_RIM_Sequence_Number(0), + ts_RIM_PDU_Indications(false, RIM_PDU_TYPE_STOP)); + cont_rx := tr_RAN_Information_Request_RIM_Container(tr_RIM_Application_Identity(RIM_APP_ID_NACC), + tr_RIM_Sequence_Number(0), + tr_RIM_PDU_Indications(false, RIM_PDU_TYPE_STOP)); + + f_rim_sgsn2pcu(ts_RAN_INFORMATION_REQUEST(dst := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu), + src := ts_RIM_Routing_Information(RIM_ADDR_EUTRAN_NODEB_ID, ra_sgsn), + cont := cont_tx), + tr_RAN_INFORMATION_REQUEST(dst := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu), + src := tr_RIM_Routing_Information(RIM_ADDR_EUTRAN_NODEB_ID, ra_sgsn), + cont := cont_rx), + sgsn_idx, pcu_idx); + + + f_rim_pcu2sgsn(ts_RAN_INFORMATION_REQUEST(dst := ts_RIM_Routing_Information(RIM_ADDR_EUTRAN_NODEB_ID, ra_sgsn), + src := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu), + cont := cont_tx), + tr_RAN_INFORMATION_REQUEST(dst := tr_RIM_Routing_Information(RIM_ADDR_EUTRAN_NODEB_ID, ra_sgsn), + src := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu), + cont := cont_rx), + pcu_idx); +} +testcase TC_rim_from_eutran() runs on GlobalTest_CT +{ + f_init(); + f_global_init(); + f_rim_iterator(refers(f_TC_rim_from_eutran)); + f_cleanup(); +} + /*********************************************************************** * STATUS handling ***********************************************************************/ @@ -3488,6 +3534,7 @@ execute( TC_rim_info_error() ); execute( TC_rim_info_app_error() ); execute( TC_rim_info_pcu2pcu() ); + execute( TC_rim_from_eutran() ); execute( TC_flush_ll() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24172 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: Idd760ef9ede08a155752a5bee5b8d8f9dfa440da Gerrit-Change-Number: 24172 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 13:12:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 May 2021 13:12:38 +0000 Subject: Change in pysim[master]: ModemATCommandLink: add/adjust some logging In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24157 ) Change subject: ModemATCommandLink: add/adjust some logging ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/24157/3/pySim/transport/modem_atcmd.py File pySim/transport/modem_atcmd.py: https://gerrit.osmocom.org/c/pysim/+/24157/3/pySim/transport/modem_atcmd.py at 77 PS3, Line 77: info Isn't this also an error? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I303506a751b4a34d83c18bc097e0cfb0517ee82c Gerrit-Change-Number: 24157 Gerrit-PatchSet: 3 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 07 May 2021 13:12:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 13:16:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 May 2021 13:16:08 +0000 Subject: Change in pysim[master]: ModemATCommandLink: improve response time for "+CME ERROR" In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24158 ) Change subject: ModemATCommandLink: improve response time for "+CME ERROR" ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/24158/2/pySim/transport/modem_atcmd.py File pySim/transport/modem_atcmd.py: https://gerrit.osmocom.org/c/pysim/+/24158/2/pySim/transport/modem_atcmd.py at 71 PS2, Line 71: if len(lines) >= 2: You can actually reduce nesting here by doing: if len(lines) < 2: continue -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I41af33c1898f5ed3d1c5238e45f956c6ceab2826 Gerrit-Change-Number: 24158 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 07 May 2021 13:16:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 13:19:19 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 May 2021 13:19:19 +0000 Subject: Change in pysim[master]: ts_102_221: add missing TLV key '9B'/'target_ef' for sysmoUSIM-SJS1 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24159 ) Change subject: ts_102_221: add missing TLV key '9B'/'target_ef' for sysmoUSIM-SJS1 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8131bfbbdeb50ddb4d6a06c16586238a36582b5e Gerrit-Change-Number: 24159 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 07 May 2021 13:19:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 13:34:55 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Fri, 7 May 2021 13:34:55 +0000 Subject: Change in pysim[master]: ModemATCommandLink: improve response time for "+CME ERROR" In-Reply-To: References: Message-ID: Falkenber9 has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24158 ) Change subject: ModemATCommandLink: improve response time for "+CME ERROR" ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/pysim/+/24158/2/pySim/transport/modem_atcmd.py File pySim/transport/modem_atcmd.py: https://gerrit.osmocom.org/c/pysim/+/24158/2/pySim/transport/modem_atcmd.py at 71 PS2, Line 71: if len(lines) >= 2: > You can actually reduce nesting here by doing: [?] Well, this may break the time check below if the modem does not (yet) respond anything. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I41af33c1898f5ed3d1c5238e45f956c6ceab2826 Gerrit-Change-Number: 24158 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 07 May 2021 13:34:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 13:58:33 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 7 May 2021 13:58:33 +0000 Subject: Change in pysim[master]: ts_102_221: add missing TLV key '9B'/'target_ef' for sysmoUSIM-SJS1 In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24159 ) Change subject: ts_102_221: add missing TLV key '9B'/'target_ef' for sysmoUSIM-SJS1 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8131bfbbdeb50ddb4d6a06c16586238a36582b5e Gerrit-Change-Number: 24159 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 07 May 2021 13:58:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 14:24:40 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 7 May 2021 14:24:40 +0000 Subject: Change in pysim[master]: cards: FairwavesSIM: force SIM APDUs during programming In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24139 to look at the new patch set (#2). Change subject: cards: FairwavesSIM: force SIM APDUs during programming ...................................................................... cards: FairwavesSIM: force SIM APDUs during programming The FairwavesSIM programming fails when the card is accessed with USIM APDUs. To keep it working temporarly switch to SIM APDUs during programming. Change-Id: I8f02625d2b620ecdf4b2afc27a8750119b707152 --- M pySim/cards.py 1 file changed, 20 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/39/24139/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24139 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8f02625d2b620ecdf4b2afc27a8750119b707152 Gerrit-Change-Number: 24139 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 14:24:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 7 May 2021 14:24:54 +0000 Subject: Change in pysim[master]: cards: FairwavesSIM: force SIM APDUs during programming In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24139 ) Change subject: cards: FairwavesSIM: force SIM APDUs during programming ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/pysim/+/24139/1/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/24139/1/pySim/cards.py at a1014 PS1, Line 1014: > unrelated ws change (I wish we had some git commit hook warning about that) Done https://gerrit.osmocom.org/c/pysim/+/24139/1/pySim/cards.py at 1103 PS1, Line 1103: raise ValueError("Please provide a PIN-ADM as there is no default one") > If an exception happens, then you never reach the end of function and thus never revert your USIM->S [?] Done -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24139 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8f02625d2b620ecdf4b2afc27a8750119b707152 Gerrit-Change-Number: 24139 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 May 2021 14:24:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 14:40:52 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 May 2021 14:40:52 +0000 Subject: Change in pysim[master]: ModemATCommandLink: improve response time for "+CME ERROR" In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24158 ) Change subject: ModemATCommandLink: improve response time for "+CME ERROR" ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/pysim/+/24158/2/pySim/transport/modem_atcmd.py File pySim/transport/modem_atcmd.py: https://gerrit.osmocom.org/c/pysim/+/24158/2/pySim/transport/modem_atcmd.py at 71 PS2, Line 71: if len(lines) >= 2: > Well, this may break the time check below if the modem does not (yet) respond anything. Ah, you're right. Nevermind :) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I41af33c1898f5ed3d1c5238e45f956c6ceab2826 Gerrit-Change-Number: 24158 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 07 May 2021 14:40:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: Falkenber9 Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 14:42:56 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 May 2021 14:42:56 +0000 Subject: Change in pysim[master]: cards: FairwavesSIM: force SIM APDUs during programming In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24139 ) Change subject: cards: FairwavesSIM: force SIM APDUs during programming ...................................................................... Patch Set 2: (1 comment) Looks fine now, except the new unrelated ws change :/ https://gerrit.osmocom.org/c/pysim/+/24139/2/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/24139/2/pySim/cards.py at 1142 PS2, Line 1142: Now you introducing this unrelated ws... -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24139 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8f02625d2b620ecdf4b2afc27a8750119b707152 Gerrit-Change-Number: 24139 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 May 2021 14:42:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 14:57:59 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 7 May 2021 14:57:59 +0000 Subject: Change in pysim[master]: cards: get rid of "kls" parameter in autodetect methods In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/24141 ) Change subject: cards: get rid of "kls" parameter in autodetect methods ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3e5defee394e1301bad8f04853fab8e9ded84335 Gerrit-Change-Number: 24141 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 14:58:04 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 7 May 2021 14:58:04 +0000 Subject: Change in pysim[master]: cards: get rid of "kls" parameter in autodetect methods In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24141 ) Change subject: cards: get rid of "kls" parameter in autodetect methods ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/pysim/+/24141/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/pysim/+/24141/2//COMMIT_MSG at 10 PS2, Line 10: for unknown reason > Well, there is a reason: it's defined as a '@classmethod'. [?] ok, thats at least a valid explanation. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3e5defee394e1301bad8f04853fab8e9ded84335 Gerrit-Change-Number: 24141 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 May 2021 14:58:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 15:31:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 7 May 2021 15:31:37 +0000 Subject: Change in osmo-mgw[master]: Fix OSMO_ASSERT() in case rtp.end.addr is still uninitialized In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/23812 ) Change subject: Fix OSMO_ASSERT() in case rtp.end.addr is still uninitialized ...................................................................... Patch Set 4: ping regarding rework of this patch (see instructions in https://osmocom.org/issues/5123#note-11). Summary: patch should drop the ASSERT completely. I can take over the ticket if you want. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/23812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ecf81447e6a92fb566baba53fcf819f4029d54d Gerrit-Change-Number: 23812 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 May 2021 15:31:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 16:17:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 7 May 2021 16:17:59 +0000 Subject: Change in osmo-sgsn[master]: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 to look at the new patch set (#4). Change subject: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN ...................................................................... Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN MMEs connect over Gn interface using GTPCv1 towards the SGSn in order to exchange RIM PDUs by using "RAN Informarion Relay" GTPCv1 message type. For more info, see 3GPP TS 29.060 sec 7.5.14.1 "RAN Information Relay" In order to support it, this commit does the following: * Uses new libgtp APIs to rx and tx RAN Information Relay messages. The same "gsn" object is reused, ie. the local GTPCv1 socket address used for exchanging messages against GGSN is reused. * Adds a new "sgsn_mme_ctx" struct holding information about MMEs allowed by the SGSN, each one containing information about the GTP address it uses, the in/out routing based on TAI requests, etc. The set of MMEs and their config can be set up using new VTY node introduced in this commit. * The RIM related code in SGSN is refactored to allow forwarding from and to several types of addresses/interfaces. Depends: osmo-ggsn.git Change-Id Iea3eb032ccd4aed5187baca7f7719349d76039d4 Depends: libosmocore.git Change-Id I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Related: SYS#5314 Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 --- M TODO-RELEASE M doc/manuals/chapters/configuration.adoc M include/osmocom/sgsn/Makefile.am A include/osmocom/sgsn/gtp_mme.h M include/osmocom/sgsn/sgsn.h M include/osmocom/sgsn/sgsn_rim.h M include/osmocom/sgsn/vty.h M src/sgsn/Makefile.am M src/sgsn/gprs_sgsn.c A src/sgsn/gtp_mme.c M src/sgsn/sgsn_libgtp.c M src/sgsn/sgsn_main.c M src/sgsn/sgsn_rim.c M src/sgsn/sgsn_vty.c M tests/sgsn/Makefile.am 15 files changed, 629 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/64/24164/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 Gerrit-Change-Number: 24164 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 19:00:03 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 7 May 2021 19:00:03 +0000 Subject: Change in osmo-mgw[master]: Add vty command 'show mgcp active' In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24131 ) Change subject: Add vty command 'show mgcp active' ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I23a26b4fdc03d8b2469d293dd6c06ed83ce739e9 Gerrit-Change-Number: 24131 Gerrit-PatchSet: 3 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 May 2021 19:00:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 19:04:34 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 7 May 2021 19:04:34 +0000 Subject: Change in osmo-mgw[master]: Add vty command 'show mgcp active' In-Reply-To: References: Message-ID: keith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24131 ) Change subject: Add vty command 'show mgcp active' ...................................................................... Add vty command 'show mgcp active' With just one E1 line, the 'show mgcp' command outputs several hundred lines to the vty. Add a 'active' parameter to only show endpoints that are active. Change-Id: I23a26b4fdc03d8b2469d293dd6c06ed83ce739e9 --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 38 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve keith: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 521f86e..5892df1 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -301,9 +301,10 @@ } -static void dump_trunk(struct vty *vty, struct mgcp_trunk *trunk, int show_stats) +static void dump_trunk(struct vty *vty, struct mgcp_trunk *trunk, int show_stats, int active_only) { int i; + int active_count = 0; vty_out(vty, "%s trunk %d with %d endpoints:%s", trunk->trunk_type == MGCP_TRUNK_VIRTUAL ? "Virtual" : "E1", @@ -316,29 +317,30 @@ for (i = 0; i < trunk->number_endpoints; ++i) { struct mgcp_endpoint *endp = trunk->endpoints[i]; - dump_endpoint(vty, endp, trunk->trunk_nr, trunk->trunk_type, - show_stats); - if (i < trunk->number_endpoints - 1) - vty_out(vty, "%s", VTY_NEWLINE); + if (!active_only || !llist_empty(&endp->conns)) { + dump_endpoint(vty, endp, trunk->trunk_nr, trunk->trunk_type, + show_stats); + if (i < trunk->number_endpoints - 1) + vty_out(vty, "%s", VTY_NEWLINE); + } + if (!llist_empty(&endp->conns)) + active_count++; } + if (active_count == 0) + vty_out(vty, "No endpoints in use.%s", VTY_NEWLINE); + if (show_stats) dump_ratectr_trunk(vty, trunk); } -#define SHOW_MGCP_STR "Display information about the MGCP Media Gateway\n" - -DEFUN(show_mcgp, show_mgcp_cmd, - "show mgcp [stats]", - SHOW_STR - SHOW_MGCP_STR - "Include Statistics\n") +static int mgcp_show(struct vty *vty, int argc, const char **argv, + int show_stats, int active_only) { struct mgcp_trunk *trunk; - int show_stats = argc >= 1; llist_for_each_entry(trunk, &g_cfg->trunks, entry) - dump_trunk(vty, trunk, show_stats); + dump_trunk(vty, trunk, show_stats, active_only); if (g_cfg->osmux) vty_out(vty, "Osmux used CID: %d%s", osmux_cid_pool_count_used(), @@ -350,6 +352,27 @@ return CMD_SUCCESS; } +#define SHOW_MGCP_STR "Display information about the MGCP Media Gateway\n" + +DEFUN(show_mgcp, show_mgcp_cmd, + "show mgcp [stats]", + SHOW_STR + SHOW_MGCP_STR + "Include statistics\n") +{ + int show_stats = argc >= 1; + return mgcp_show(vty, argc, argv, show_stats, 0); +} + +DEFUN(show_mgcp_active, show_mgcp_active_cmd, + "show mgcp active", + SHOW_STR + SHOW_MGCP_STR + "Show only endpoints with active connections\n") +{ + return mgcp_show(vty, argc, argv, 0, 1); +} + static void dump_mgcp_endpoint(struct vty *vty, struct mgcp_trunk *trunk, const char *epname) { @@ -1606,6 +1629,7 @@ int mgcp_vty_init(void) { install_element_ve(&show_mgcp_cmd); + install_element_ve(&show_mgcp_active_cmd); install_element_ve(&show_mgcp_endpoint_cmd); install_element_ve(&show_mgcp_trunk_endpoint_cmd); install_element(ENABLE_NODE, &loop_conn_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I23a26b4fdc03d8b2469d293dd6c06ed83ce739e9 Gerrit-Change-Number: 24131 Gerrit-PatchSet: 4 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 19:38:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 7 May 2021 19:38:35 +0000 Subject: Change in osmo-mgw[master]: add osmo_mgcpc_ep_ci_get_remote_rtp_info() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24145 ) Change subject: add osmo_mgcpc_ep_ci_get_remote_rtp_info() ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24145/1/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c File src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24145/1/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c at 523 PS1, Line 523: /*! Return the RTP port information that the MGW is sending to for this connection, as sent to the MGW by the last > "MGW's remote RTP port". [?] this is the situation around this function: http://people.osmocom.org/neels/xahF6eiz/remote.png It should return the RTP IP+port of where the arrow points. So there is a lot of potential confusion here. it still seems "MGW's local RTP port" and "MGW's remote RTP port" is clear enough... Right? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb488925827d9dc0ccb1f8d6d84728745d086793 Gerrit-Change-Number: 24145 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 May 2021 19:38:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 19:39:22 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 7 May 2021 19:39:22 +0000 Subject: Change in osmo-mgw[master]: Fix OSMO_ASSERT() in case rtp.end.addr is still uninitialized In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/23812 ) Change subject: Fix OSMO_ASSERT() in case rtp.end.addr is still uninitialized ...................................................................... Patch Set 4: > Patch Set 4: > > ping regarding rework of this patch (see instructions in https://osmocom.org/issues/5123#note-11). Summary: patch should drop the ASSERT completely. > I can take over the ticket if you want. I am currently on it. I can trigger the problem using TTCN3. I also think that the ASSERT can be dropped. I think I can fix this + adding a TTCN3 test. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/23812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ecf81447e6a92fb566baba53fcf819f4029d54d Gerrit-Change-Number: 23812 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 May 2021 19:39:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 21:09:19 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 7 May 2021 21:09:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: test LOOPBACK with implicit destination addr References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24173 ) Change subject: MGCP_Test: test LOOPBACK with implicit destination addr ...................................................................... MGCP_Test: test LOOPBACK with implicit destination addr Test what happens when the MGW gets a CRCX that creates a connection in LOOPBACK mode but does not specify an RTP destination address. The MGW is expected to deduct the destination address from the first incoming RTP packet and loop it back to its originating address. Change-Id: I7baf827fb0c3f33e13ccbaffd37ba0eb4e20c304 Related: OS#5123 --- M mgw/MGCP_Test.ttcn 1 file changed, 18 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/73/24173/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index f6dfe57..c4f97a8 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -1693,7 +1693,7 @@ /* Create one connection in loopback mode, test if the RTP packets are * actually reflected */ - testcase TC_one_crcx_loopback_rtp() runs on dummy_CT { + function f_TC_one_crcx_loopback_rtp(boolean one_phase := true) runs on dummy_CT { var RtpFlowData flow; var MgcpEndpoint ep := c_mgw_ep_rtpbridge & "1@" & c_mgw_domain; var MgcpCallId call_id := '1225'H; @@ -1702,7 +1702,7 @@ f_init(ep); flow := valueof(t_RtpFlow(mp_local_ipv4, mp_remote_ipv4, 111, "GSM-HR-08/8000/1")); flow.em.portnr := 10000; - f_flow_create(RTPEM[0], ep, call_id, "loopback", flow); + f_flow_create(RTPEM[0], ep, call_id, "loopback", flow, one_phase := one_phase); f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); f_sleep(1.0); @@ -1722,6 +1722,21 @@ setverdict(pass); } + /* Create one connection in loopback mode, test if the RTP packets are + * actually reflected */ + testcase TC_one_crcx_loopback_rtp() runs on dummy_CT { + f_TC_one_crcx_loopback_rtp(one_phase := true) + } + + /* Same as above, but we will intenionally not tell the MGW where to + * send the outgoing traffic. The connection is still created in + * loopback mode, so the MGW should take the originating address from + * the incoming RTP packet and send it back to the source */ + testcase TC_one_crcx_loopback_rtp_implicit() runs on dummy_CT { + f_TC_one_crcx_loopback_rtp(one_phase := false) + } + + function f_TC_two_crcx_and_rtp(boolean bidir, charstring codec_name_a, integer pt_a, charstring codec_name_b, integer pt_b) runs on dummy_CT { var RtpFlowData flow[2]; @@ -2426,6 +2441,7 @@ execute(TC_one_crcx_receive_only_rtp()); execute(TC_one_crcx_loopback_rtp()); + execute(TC_one_crcx_loopback_rtp_implicit()); execute(TC_two_crcx_and_rtp()); execute(TC_two_crcx_and_rtp_bidir()); execute(TC_two_crcx_diff_pt_and_rtp()); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24173 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: I7baf827fb0c3f33e13ccbaffd37ba0eb4e20c304 Gerrit-Change-Number: 24173 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 21:09:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 7 May 2021 21:09:54 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: fix implicit address loopback References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24174 ) Change subject: mgcp_network: fix implicit address loopback ...................................................................... mgcp_network: fix implicit address loopback A call agent may send a CRCX to create a connection in LOOPBACK mode but without specifiying the destination address. In those cases the MGW should deduct the destination address from the first incoming RTP packet. Unfortunately this is currently blocked by an OSMO_ASSERT that checks the current sa_familiy against the sa_family from the incoming packet. This makes no sense since the current sa_family is still uninitalized, which is expected and not an error since the code that follows will initalize it. It also makes sense not to access the osmo_sockaddr struct members individually but rather copy the address as a wohle. Since the event only happens once and since it is also somewhat special it makes sense to log the event as well. Change-Id: I2dbd6f62170a7f62e5287d04a4ee6716b8786c26 Related: OS#5123 --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 14 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/74/24174/1 diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 6a30165..abe01c9 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -1251,6 +1251,7 @@ struct mgcp_conn *conn = conn_src->conn; struct mgcp_conn *conn_dst; struct osmo_sockaddr *from_addr = mc->from_addr; + char ipbuf[INET6_ADDRSTRLEN]; /*! NOTE: This callback function implements the endpoint specific * dispatch behaviour of an rtp bridge/proxy endpoint. It is assumed @@ -1269,19 +1270,22 @@ * address data from the UDP packet header to patch the * outgoing address in connection on the fly */ if (conn->u.rtp.end.rtp_port == 0) { - OSMO_ASSERT(conn->u.rtp.end.addr.u.sa.sa_family == from_addr->u.sa.sa_family); + memcpy(&conn->u.rtp.end.addr, from_addr, + sizeof(conn->u.rtp.end.addr)); switch (from_addr->u.sa.sa_family) { case AF_INET: - conn->u.rtp.end.addr.u.sin.sin_addr = from_addr->u.sin.sin_addr; conn->u.rtp.end.rtp_port = from_addr->u.sin.sin_port; break; case AF_INET6: - conn->u.rtp.end.addr.u.sin6.sin6_addr = from_addr->u.sin6.sin6_addr; conn->u.rtp.end.rtp_port = from_addr->u.sin6.sin6_port; break; default: OSMO_ASSERT(false); } + LOG_CONN_RTP(conn_src, LOGL_NOTICE, + "loopback mode: implicitly using source address (%s:%u) as destination address\n", + osmo_sockaddr_ntop(&from_addr->u.sa, ipbuf), + conn->u.rtp.end.rtp_port); } return mgcp_send_rtp(conn_src, msg); } @@ -1331,6 +1335,7 @@ struct mgcp_conn_rtp *conn_src = mc->conn_src; struct mgcp_conn *conn = conn_src->conn; struct osmo_sockaddr *from_addr = mc->from_addr; + char ipbuf[INET6_ADDRSTRLEN]; /* Check if the connection is in loopback mode, if yes, just send the * incoming data back to the origin */ @@ -1340,19 +1345,22 @@ * address data from the UDP packet header to patch the * outgoing address in connection on the fly */ if (conn->u.rtp.end.rtp_port == 0) { - OSMO_ASSERT(conn->u.rtp.end.addr.u.sa.sa_family == from_addr->u.sa.sa_family); + memcpy(&conn->u.rtp.end.addr, from_addr, + sizeof(conn->u.rtp.end.addr)); switch (from_addr->u.sa.sa_family) { case AF_INET: - conn->u.rtp.end.addr.u.sin.sin_addr = from_addr->u.sin.sin_addr; conn->u.rtp.end.rtp_port = from_addr->u.sin.sin_port; break; case AF_INET6: - conn->u.rtp.end.addr.u.sin6.sin6_addr = from_addr->u.sin6.sin6_addr; conn->u.rtp.end.rtp_port = from_addr->u.sin6.sin6_port; break; default: OSMO_ASSERT(false); } + LOG_CONN_RTP(conn_src, LOGL_NOTICE, + "loopback mode: implicitly using source address (%s:%u) as destination address\n", + osmo_sockaddr_ntop(&from_addr->u.sa, ipbuf), + conn->u.rtp.end.rtp_port); } return mgcp_send_rtp(conn_src, msg); } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2dbd6f62170a7f62e5287d04a4ee6716b8786c26 Gerrit-Change-Number: 24174 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 21:48:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 7 May 2021 21:48:56 +0000 Subject: Change in pysim[master]: ModemATCommandLink: improve response time for "+CME ERROR" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24158 ) Change subject: ModemATCommandLink: improve response time for "+CME ERROR" ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I41af33c1898f5ed3d1c5238e45f956c6ceab2826 Gerrit-Change-Number: 24158 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 07 May 2021 21:48:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 21:49:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 7 May 2021 21:49:11 +0000 Subject: Change in pysim[master]: ModemATCommandLink: add/adjust some logging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24157 ) Change subject: ModemATCommandLink: add/adjust some logging ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/pysim/+/24157/3/pySim/transport/modem_atcmd.py File pySim/transport/modem_atcmd.py: https://gerrit.osmocom.org/c/pysim/+/24157/3/pySim/transport/modem_atcmd.py at 77 PS3, Line 77: info > Isn't this also an error? Ack -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I303506a751b4a34d83c18bc097e0cfb0517ee82c Gerrit-Change-Number: 24157 Gerrit-PatchSet: 3 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 07 May 2021 21:49:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 21:49:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 7 May 2021 21:49:40 +0000 Subject: Change in pysim[master]: ts_102_221: add missing TLV key '9B'/'target_ef' for sysmoUSIM-SJS1 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24159 ) Change subject: ts_102_221: add missing TLV key '9B'/'target_ef' for sysmoUSIM-SJS1 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8131bfbbdeb50ddb4d6a06c16586238a36582b5e Gerrit-Change-Number: 24159 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 07 May 2021 21:49:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 21:49:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 7 May 2021 21:49:51 +0000 Subject: Change in pysim[master]: ModemATCommandLink: add/adjust some logging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24157 ) Change subject: ModemATCommandLink: add/adjust some logging ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I303506a751b4a34d83c18bc097e0cfb0517ee82c Gerrit-Change-Number: 24157 Gerrit-PatchSet: 3 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 07 May 2021 21:49:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 21:49:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 7 May 2021 21:49:54 +0000 Subject: Change in pysim[master]: ModemATCommandLink: add/adjust some logging In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24157 ) Change subject: ModemATCommandLink: add/adjust some logging ...................................................................... ModemATCommandLink: add/adjust some logging Change-Id: I303506a751b4a34d83c18bc097e0cfb0517ee82c --- M pySim/transport/modem_atcmd.py 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py index bb23ce9..3d39a20 100644 --- a/pySim/transport/modem_atcmd.py +++ b/pySim/transport/modem_atcmd.py @@ -71,10 +71,10 @@ log.debug('Command finished with result: OK') break if rsp.endswith(b'ERROR\r\n'): - log.debug('Command finished with result: ERROR') + log.error('Command finished with result: ERROR') break if time.time() - t_start >= timeout: - log.debug('Command finished with timeout >= %ss', timeout) + log.info('Command finished with timeout >= %ss', timeout) break time.sleep(patience) its += 1 @@ -137,6 +137,7 @@ # Prepare the command as described in 8.17 cmd = 'AT+CSIM=%d,\"%s\"' % (len(pdu), pdu) + log.debug('Sending command: %s', cmd) # Send AT+CSIM command to the modem # TODO: also handle +CME ERROR: @@ -155,4 +156,5 @@ # TODO: make sure we have at least SW data = rsp_pdu[:-4].decode().lower() sw = rsp_pdu[-4:].decode().lower() + log.debug('Command response: %s, %s', data, sw) return data, sw -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I303506a751b4a34d83c18bc097e0cfb0517ee82c Gerrit-Change-Number: 24157 Gerrit-PatchSet: 3 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 21:49:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 7 May 2021 21:49:54 +0000 Subject: Change in pysim[master]: ModemATCommandLink: improve response time for "+CME ERROR" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24158 ) Change subject: ModemATCommandLink: improve response time for "+CME ERROR" ...................................................................... ModemATCommandLink: improve response time for "+CME ERROR" Change-Id: I41af33c1898f5ed3d1c5238e45f956c6ceab2826 --- M pySim/transport/modem_atcmd.py 1 file changed, 10 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py index 3d39a20..04f9221 100644 --- a/pySim/transport/modem_atcmd.py +++ b/pySim/transport/modem_atcmd.py @@ -67,12 +67,16 @@ t_start = time.time() while True: rsp = rsp + self._sl.read(self._sl.in_waiting) - if rsp.endswith(b'OK\r\n'): - log.debug('Command finished with result: OK') - break - if rsp.endswith(b'ERROR\r\n'): - log.error('Command finished with result: ERROR') - break + lines = rsp.split(b'\r\n') + if len(lines) >= 2: + res = lines[-2] + if res == b'OK': + log.debug('Command finished with result: %s', res) + break + if res == b'ERROR' or res.startswith(b'+CME ERROR:'): + log.error('Command failed with result: %s', res) + break + if time.time() - t_start >= timeout: log.info('Command finished with timeout >= %ss', timeout) break -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I41af33c1898f5ed3d1c5238e45f956c6ceab2826 Gerrit-Change-Number: 24158 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 21:49:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 7 May 2021 21:49:55 +0000 Subject: Change in pysim[master]: ts_102_221: add missing TLV key '9B'/'target_ef' for sysmoUSIM-SJS1 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24159 ) Change subject: ts_102_221: add missing TLV key '9B'/'target_ef' for sysmoUSIM-SJS1 ...................................................................... ts_102_221: add missing TLV key '9B'/'target_ef' for sysmoUSIM-SJS1 Change-Id: I8131bfbbdeb50ddb4d6a06c16586238a36582b5e --- M pySim/ts_102_221.py 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pySim/ts_102_221.py b/pySim/ts_102_221.py index bb49fe5..38a69de 100644 --- a/pySim/ts_102_221.py +++ b/pySim/ts_102_221.py @@ -182,6 +182,8 @@ for i in range(0xc0, 0xff): i_hex = i2h([i]).upper() tlv_map[i_hex] = 'proprietary_' + i_hex + # Other non-standard TLV objects found on some cards + tlv_map['9B'] = 'target_ef' # for sysmoUSIM-SJS1 def tlv_key_replace(inmap, indata): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8131bfbbdeb50ddb4d6a06c16586238a36582b5e Gerrit-Change-Number: 24159 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 21:50:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 7 May 2021 21:50:10 +0000 Subject: Change in pysim[master]: ts_51_011: fix encoder of EF_SPN: In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24006 ) Change subject: ts_51_011: fix encoder of EF_SPN: ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0a405793c8909d4279e634b93dcb76e5cb2963f3 Gerrit-Change-Number: 24006 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 07 May 2021 21:50:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 21:52:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 7 May 2021 21:52:12 +0000 Subject: Change in pysim[master]: commands: pad short data input in update_record() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24008 ) Change subject: commands: pad short data input in update_record() ...................................................................... Patch Set 6: doesn't this break the partial update of a record? I would think it's legal to say "I want to updte only the first two bytes of a record" without writing the entire record (which can be long). Wouldn't your patch now overwrite the remainder of the record with padding? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9a5df0e46c3dd2e87d447c5c01cf15844b0eed07 Gerrit-Change-Number: 24008 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 May 2021 21:52:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 21:52:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 7 May 2021 21:52:25 +0000 Subject: Change in pysim[master]: pySim_prog: remove unused import for dec_addr_tlv In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24009 ) Change subject: pySim_prog: remove unused import for dec_addr_tlv ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2a962d544f288259f16c1dca92715953d1c24d82 Gerrit-Change-Number: 24009 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 07 May 2021 21:52:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 21:52:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 7 May 2021 21:52:30 +0000 Subject: Change in pysim[master]: ts_51_011: fix encoder of EF_SPN: In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24006 ) Change subject: ts_51_011: fix encoder of EF_SPN: ...................................................................... ts_51_011: fix encoder of EF_SPN: The encoder for EF_SPN is passing the 'spn' parameter (which is a list) directly to enc_spn without taking it apart first. Change-Id: I0a405793c8909d4279e634b93dcb76e5cb2963f3 Related: OS#4963 --- M pySim/ts_51_011.py 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py index 4189e6e..dba0369 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -522,7 +522,8 @@ def _decode_hex(self, raw_hex): return {'spn': dec_spn(raw_hex)} def _encode_hex(self, abstract): - return enc_spn(abstract['spn']) + spn = abstract['spn'] + return enc_spn(spn[0], spn[1], spn[2]) # TS 51.011 Section 10.3.13 class EF_CBMI(TransRecEF): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0a405793c8909d4279e634b93dcb76e5cb2963f3 Gerrit-Change-Number: 24006 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 21:53:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 7 May 2021 21:53:29 +0000 Subject: Change in pysim[master]: ts_31_103: finish decoder and fix encoder for EF.PCSCF In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24011 ) Change subject: ts_31_103: finish decoder and fix encoder for EF.PCSCF ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24011 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7613b8b71624dc5802aca93163788a2a2d4ca345 Gerrit-Change-Number: 24011 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 May 2021 21:53:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 21:53:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 7 May 2021 21:53:57 +0000 Subject: Change in pysim[master]: utils: split string formatting from dec_addr_tlv In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24010 ) Change subject: utils: split string formatting from dec_addr_tlv ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id017b0786089adac4d6c5be688742eaa9699e529 Gerrit-Change-Number: 24010 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 07 May 2021 21:53:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 21:56:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 7 May 2021 21:56:03 +0000 Subject: Change in pysim[master]: filesystem: add unit tests for encoder/decoder methods In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24012 ) Change subject: filesystem: add unit tests for encoder/decoder methods ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/pysim/+/24012/4/pySim/ts_31_102.py File pySim/ts_31_102.py: https://gerrit.osmocom.org/c/pysim/+/24012/4/pySim/ts_31_102.py at 294 PS4, Line 294: _encode_decode_testvector = ['{"prot_scheme_id_list": [{"priority": 0, "identifier": 2, "key_index": 1}, {"priority": 1, "identifier": 1, "key_index": 2}, {"priority": 2, "identifier": 0, "key_index": 0}], "hnet_pubkey_list": [{"hnet_pubkey_identifier": 27, "hnet_pubkey": "0272da71976234ce833a6907425867b82e074d44ef907dfb4b3e21c1c2256ebcd1"}, {"hnet_pubkey_identifier": 30, "hnet_pubkey": "5a8d38864820197c3394b92613b20b91633cbd897119273bf8e4a6f4eec0a650"}]}'] > This line looks way too long and IMO unreadable. [?] one could use a dict and then json-serialize that. however, that's not actually covering the full end-to-end-test. I think it makes sense to have actual JSON string documents as the tests, as that is the exact user-visible format we carea about. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I02d884547f4982e0b8ed7ef21b8cda75237942e2 Gerrit-Change-Number: 24012 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 May 2021 21:56:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 7 22:02:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 7 May 2021 22:02:21 +0000 Subject: Change in pysim[master]: filesystem: add unit tests for encoder/decoder methods In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24012 ) Change subject: filesystem: add unit tests for encoder/decoder methods ...................................................................... Patch Set 4: (3 comments) https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py File tests/test_files.py: https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 39 PS4, Line 39: print > It's not a good idea to use print() directly in unit tests. [?] Ack https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 60 PS4, Line 60: if verbose: > Again, logging.debug() would do this for you. Ack https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 71 PS4, Line 71: testcase.assertEqual(testvec_json, decoded_json) > Not sure if it's a good idea to have the test vectors in JSON and match strings. [?] there's pros and cons. As stated in the other comment, I somehow think testing the JSON document is the right thing to do here, not comparing python dicts. But I don't have a very strong opinion about it. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I02d884547f4982e0b8ed7ef21b8cda75237942e2 Gerrit-Change-Number: 24012 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 May 2021 22:02:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Sat May 8 03:52:26 2021 From: noreply at opensuse.org (OBS Notification) Date: Sat, 08 May 2021 03:52:26 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_10/armv7l In-Reply-To: References: Message-ID: <60960b045ebd2_602b2add512f65f8288870@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_10/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 0s] [ 0s] armbuild04 started "build libosmocore_1.5.1.115.a5af0.202105080026.dsc" at Sat May 8 03:52:09 UTC 2021. [ 0s] [ 0s] Building libosmocore for project 'network:osmocom:nightly' repository 'Debian_10' arch 'armv7l' srcmd5 '8d6809b7ec3afd262e0fa8e8f6681247' [ 0s] [ 0s] processing recipe /var/cache/obs/worker/root_2/.build-srcdir/libosmocore_1.5.1.115.a5af0.202105080026.dsc ... [ 0s] running changelog2spec --target debian --file /var/cache/obs/worker/root_2/.build-srcdir/libosmocore_1.5.1.115.a5af0.202105080026.dsc [ 0s] init_buildsystem --configdir /var/run/obs/worker/2/build/configs --cachedir /var/cache/build --prepare --clean --rpmlist /var/cache/obs/worker/root_2/.build.rpmlist /var/cache/obs/worker/root_2/.build-srcdir/libosmocore_1.5.1.115.a5af0.202105080026.dsc build ... [ 1s] unknown keyword in config: [ 1s] could not autodetect package type [ 1s] [ 1s] armbuild04 failed "build libosmocore_1.5.1.115.a5af0.202105080026.dsc" at Sat May 8 03:52:10 UTC 2021. [ 1s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sat May 8 08:20:29 2021 From: noreply at opensuse.org (OBS Notification) Date: Sat, 08 May 2021 08:20:29 +0000 Subject: Build failure of network:osmocom:nightly/libsmpp34 in Debian_10/armv7l In-Reply-To: References: Message-ID: <609649d55b854_602b2add512f65f832249f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libsmpp34/Debian_10/armv7l Package network:osmocom:nightly/libsmpp34 failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libsmpp34 Last lines of build log: [ 1s] [ 1s] armbuild04 started "build libsmpp34_1.14.1.202105080026.dsc" at Sat May 8 08:20:16 UTC 2021. [ 1s] [ 1s] Building libsmpp34 for project 'network:osmocom:nightly' repository 'Debian_10' arch 'armv7l' srcmd5 '7e9687b72399700de71780dd7cd9c6f3' [ 1s] [ 1s] processing recipe /var/cache/obs/worker/root_2/.build-srcdir/libsmpp34_1.14.1.202105080026.dsc ... [ 1s] running changelog2spec --target debian --file /var/cache/obs/worker/root_2/.build-srcdir/libsmpp34_1.14.1.202105080026.dsc [ 1s] init_buildsystem --configdir /var/run/obs/worker/2/build/configs --cachedir /var/cache/build --prepare --clean --rpmlist /var/cache/obs/worker/root_2/.build.rpmlist /var/cache/obs/worker/root_2/.build-srcdir/libsmpp34_1.14.1.202105080026.dsc build ... [ 1s] unknown keyword in config: [ 1s] could not autodetect package type [ 1s] [ 1s] armbuild04 failed "build libsmpp34_1.14.1.202105080026.dsc" at Sat May 8 08:20:16 UTC 2021. [ 1s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat May 8 08:55:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 08:55:15 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: fix implicit address loopback In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24174 ) Change subject: mgcp_network: fix implicit address loopback ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2dbd6f62170a7f62e5287d04a4ee6716b8786c26 Gerrit-Change-Number: 24174 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sat, 08 May 2021 08:55:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 08:57:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 08:57:22 +0000 Subject: Change in osmo-sgsn[master]: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 ) Change subject: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 Gerrit-Change-Number: 24164 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 May 2021 08:57:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 08:58:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 08:58:28 +0000 Subject: Change in pysim[master]: cards: FairwavesSIM: force SIM APDUs during programming In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24139 ) Change subject: cards: FairwavesSIM: force SIM APDUs during programming ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24139 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8f02625d2b620ecdf4b2afc27a8750119b707152 Gerrit-Change-Number: 24139 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 08 May 2021 08:58:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 08:59:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 08:59:32 +0000 Subject: Change in osmo-gbproxy[master]: Avoid sending tx_status upon rx of RIM messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24171 ) Change subject: Avoid sending tx_status upon rx of RIM messages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ib8d580ad437f11f6b0a42e76e28b8c3a6c2a12d7 Gerrit-Change-Number: 24171 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Sat, 08 May 2021 08:59:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 08:59:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 08:59:34 +0000 Subject: Change in osmo-gbproxy[master]: Avoid sending tx_status upon rx of RIM messages In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24171 ) Change subject: Avoid sending tx_status upon rx of RIM messages ...................................................................... Avoid sending tx_status upon rx of RIM messages Change-Id: Ib8d580ad437f11f6b0a42e76e28b8c3a6c2a12d7 --- M src/gb_proxy.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gb_proxy.c b/src/gb_proxy.c index 64b1397..31c5a6b 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -1441,6 +1441,7 @@ case BSSGP_PDUT_RAN_INFO_ERROR: case BSSGP_PDUT_RAN_INFO_APP_ERROR: rc = gbprox_rx_rim_from_sgsn(tp, nse, msg, log_pfx, pdut_name); + break; default: LOGPNSE(nse, LOGL_NOTICE, "Rx %s: Not supported\n", pdut_name); rate_ctr_inc(&cfg->ctrg->ctr[GBPROX_GLOB_CTR_PROTO_ERR_SGSN]); -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ib8d580ad437f11f6b0a42e76e28b8c3a6c2a12d7 Gerrit-Change-Number: 24171 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 08:59:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 08:59:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gbproxy: Introduce test TC_rim_from_eutran In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24172 ) Change subject: gbproxy: Introduce test TC_rim_from_eutran ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24172 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: Idd760ef9ede08a155752a5bee5b8d8f9dfa440da Gerrit-Change-Number: 24172 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 May 2021 08:59:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 08:59:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 08:59:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gbproxy: Introduce test TC_rim_from_eutran In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24172 ) Change subject: gbproxy: Introduce test TC_rim_from_eutran ...................................................................... gbproxy: Introduce test TC_rim_from_eutran Related: SYS#5314 Change-Id: Idd760ef9ede08a155752a5bee5b8d8f9dfa440da --- M gbproxy/GBProxy_Tests.ttcn 1 file changed, 47 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn index dcf72b0..c496ca8 100644 --- a/gbproxy/GBProxy_Tests.ttcn +++ b/gbproxy/GBProxy_Tests.ttcn @@ -3228,6 +3228,52 @@ f_cleanup(); } + +/* Test RIM REQ sent from an MME->SGSN->GBPROXY->PCU and back (eNACC) */ +private function f_TC_rim_from_eutran(integer sgsn_idx, integer pcu_idx, integer bvc_idx := 0) +runs on GlobalTest_CT +{ + var BssgpCellId cell_id := g_pcu[pcu_idx].cfg.bvc[bvc_idx].cell_id; + var template (value) RAN_Information_Request_RIM_Container cont_tx; + var template RAN_Information_Request_RIM_Container cont_rx; + var template RIM_Routing_Address ra_pcu; + var template RIM_Routing_Address ra_sgsn; + + ra_pcu := t_RIM_Routing_Address_cid(cell_id); + ra_sgsn := t_RIM_Routing_Address_enbid(cell_id_sgsn, tac := 3, gnbid := '12345678123456'O); + + cont_tx := ts_RAN_Information_Request_RIM_Container(ts_RIM_Application_Identity(RIM_APP_ID_NACC), + ts_RIM_Sequence_Number(0), + ts_RIM_PDU_Indications(false, RIM_PDU_TYPE_STOP)); + cont_rx := tr_RAN_Information_Request_RIM_Container(tr_RIM_Application_Identity(RIM_APP_ID_NACC), + tr_RIM_Sequence_Number(0), + tr_RIM_PDU_Indications(false, RIM_PDU_TYPE_STOP)); + + f_rim_sgsn2pcu(ts_RAN_INFORMATION_REQUEST(dst := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu), + src := ts_RIM_Routing_Information(RIM_ADDR_EUTRAN_NODEB_ID, ra_sgsn), + cont := cont_tx), + tr_RAN_INFORMATION_REQUEST(dst := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu), + src := tr_RIM_Routing_Information(RIM_ADDR_EUTRAN_NODEB_ID, ra_sgsn), + cont := cont_rx), + sgsn_idx, pcu_idx); + + + f_rim_pcu2sgsn(ts_RAN_INFORMATION_REQUEST(dst := ts_RIM_Routing_Information(RIM_ADDR_EUTRAN_NODEB_ID, ra_sgsn), + src := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu), + cont := cont_tx), + tr_RAN_INFORMATION_REQUEST(dst := tr_RIM_Routing_Information(RIM_ADDR_EUTRAN_NODEB_ID, ra_sgsn), + src := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu), + cont := cont_rx), + pcu_idx); +} +testcase TC_rim_from_eutran() runs on GlobalTest_CT +{ + f_init(); + f_global_init(); + f_rim_iterator(refers(f_TC_rim_from_eutran)); + f_cleanup(); +} + /*********************************************************************** * STATUS handling ***********************************************************************/ @@ -3488,6 +3534,7 @@ execute( TC_rim_info_error() ); execute( TC_rim_info_app_error() ); execute( TC_rim_info_pcu2pcu() ); + execute( TC_rim_from_eutran() ); execute( TC_flush_ll() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24172 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: Idd760ef9ede08a155752a5bee5b8d8f9dfa440da Gerrit-Change-Number: 24172 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 09:00:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 09:00:37 +0000 Subject: Change in osmo-sgsn[master]: gtp: Delete ctx upon receive UpdateCtxResp with cause Non-existent In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23851 ) Change subject: gtp: Delete ctx upon receive UpdateCtxResp with cause Non-existent ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ic5f682a79663acc65fd364dd7a3a7cc554534414 Gerrit-Change-Number: 23851 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 May 2021 09:00:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 09:00:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 09:00:45 +0000 Subject: Change in osmo-sgsn[master]: gtp: Delete ctx upon receive UpdateCtxResp with cause Non-existent In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23851 ) Change subject: gtp: Delete ctx upon receive UpdateCtxResp with cause Non-existent ...................................................................... gtp: Delete ctx upon receive UpdateCtxResp with cause Non-existent Related: SYS#5435 Change-Id: Ic5f682a79663acc65fd364dd7a3a7cc554534414 --- M src/sgsn/sgsn_libgtp.c 1 file changed, 29 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c index 367570d..8be7927 100644 --- a/src/sgsn/sgsn_libgtp.c +++ b/src/sgsn/sgsn_libgtp.c @@ -479,6 +479,33 @@ gtp_echo_req(ggc->gsn, ggc->gtp_version, ggc, &ggc->remote_addr); } +/* Confirmation of a PDP Context Update */ +static int update_pdp_conf(struct pdp_t *pdp, void *cbp, int cause) +{ + struct sgsn_pdp_ctx *pctx = cbp; + int rc; + + LOGPDPCTXP(LOGL_INFO, pctx, "Received Update PDP CTX CONF, cause=%d(%s)\n", + cause, get_value_string(gtp_cause_strs, cause)); + + /* 3GPP TS 29.060 "7.3.4": + * "If the SGSN receives an Update PDP Context Response with a Cause + * value other than "Request accepted", it shall abort the update of the + * PDP context."" + * "If the SGSN receives an Update PDP Context Response with + * a Cause value "Non-existent", it shall delete the PDP Context." + */ + if (cause != GTPCAUSE_NON_EXIST) + return 0; /* Nothing to do */ + + LOGPDPCTXP(LOGL_INFO, pctx, "PDP CTX we tried to update doesn't exist in " + "the GGSN anymore, deleting it locally.\n"); + + rc = gtp_freepdp(pctx->ggsn->gsn, pctx->lib); + /* related mmctx is torn down in cb_delete_context called by gtp_freepdp() */ + return rc; +} + /* Confirmation of a PDP Context Delete */ static int delete_pdp_conf(struct pdp_t *pdp, void *cbp, int cause) { @@ -577,6 +604,8 @@ return echo_conf(cbp, cause == EOF); case GTP_CREATE_PDP_REQ: return create_pdp_conf(pdp, cbp, cause); + case GTP_UPDATE_PDP_REQ: + return update_pdp_conf(pdp, cbp, cause); case GTP_DELETE_PDP_REQ: return delete_pdp_conf(pdp, cbp, cause); default: -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ic5f682a79663acc65fd364dd7a3a7cc554534414 Gerrit-Change-Number: 23851 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 09:01:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 09:01:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_rim_ran_info_req_single_rep_eutran In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24170 ) Change subject: pcu: Introduce test TC_rim_ran_info_req_single_rep_eutran ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24170 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: I87f3daba1521d2dc8eed78ffdc6de5744484ba7a Gerrit-Change-Number: 24170 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 May 2021 09:01:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 09:02:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 09:02:05 +0000 Subject: Change in osmo-pcu[master]: rim: Constify param in func In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24168 ) Change subject: rim: Constify param in func ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I47c471929a62d6a5340ae4a4ca88bd0b758c208d Gerrit-Change-Number: 24168 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 May 2021 09:02:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 09:02:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 09:02:09 +0000 Subject: Change in osmo-pcu[master]: rim: Constify param in func In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24168 ) Change subject: rim: Constify param in func ...................................................................... rim: Constify param in func Change-Id: I47c471929a62d6a5340ae4a4ca88bd0b758c208d --- M src/gprs_bssgp_rim.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gprs_bssgp_rim.c b/src/gprs_bssgp_rim.c index c1f9cec..e9b9ef8 100644 --- a/src/gprs_bssgp_rim.c +++ b/src/gprs_bssgp_rim.c @@ -97,7 +97,8 @@ } /* Format a RAN INFORMATION PDU that contains the requested system information */ -static void format_response_pdu(struct bssgp_ran_information_pdu *resp_pdu, struct bssgp_ran_information_pdu *req_pdu, +static void format_response_pdu(struct bssgp_ran_information_pdu *resp_pdu, + const struct bssgp_ran_information_pdu *req_pdu, const struct gprs_rlcmac_bts *bts) { memset(resp_pdu, 0, sizeof(*resp_pdu)); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I47c471929a62d6a5340ae4a4ca88bd0b758c208d Gerrit-Change-Number: 24168 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 09:02:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 09:02:57 +0000 Subject: Change in osmo-pcu[master]: RIM: Refactor Rx path to decode stack in proper order In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24169 ) Change subject: RIM: Refactor Rx path to decode stack in proper order ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe017c1a6e789f45d74c4a5f5f4608298c8c9f91 Gerrit-Change-Number: 24169 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 May 2021 09:02:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 09:05:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 09:05:01 +0000 Subject: Change in osmo-mgw[master]: send DLCX only once In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24143 ) Change subject: send DLCX only once ...................................................................... send DLCX only once If the mgcp_client_fsm gets terminated in ST_DLCX_RESP, it has already sent a DLCX to the MGW. So do not send a second one. I noticed the duplicate DLCX for the same endpoint conn identifier while running TTCN3 tests and watching the network trace of test teardown. Change-Id: I35e415f67946b73c74408afe265618cfe4f72b0b --- M src/libosmo-mgcp-client/mgcp_client_fsm.c 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/libosmo-mgcp-client/mgcp_client_fsm.c b/src/libosmo-mgcp-client/mgcp_client_fsm.c index 83dd2f1..9e4a100 100644 --- a/src/libosmo-mgcp-client/mgcp_client_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_fsm.c @@ -521,8 +521,10 @@ /* Should the FSM be terminated while there are still open connections * on the MGW, we send an unconditional DLCX to terminate the * connection. This is not the normal case. The user should always use - * mgcp_conn_delete() to instruct the FSM to perform a graceful exit */ - if (strlen(mgcp_ctx->conn_id)) { + * mgcp_conn_delete() to instruct the FSM to perform a graceful exit. + * If in ST_DLCX_RESP, a DLCX was already sent and we did not get a + * response. No point in sending another one. */ + if (fi->state != ST_DLCX_RESP && strlen(mgcp_ctx->conn_id)) { LOGPFSML(fi, LOGL_NOTICE, "MGW/DLCX: FSM termination with connections still present, sending unconditional DLCX...\n"); msg = make_dlcx_msg(mgcp_ctx); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I35e415f67946b73c74408afe265618cfe4f72b0b Gerrit-Change-Number: 24143 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 09:05:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 09:05:01 +0000 Subject: Change in osmo-mgw[master]: tweak termination DLCX log msg In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24144 ) Change subject: tweak termination DLCX log msg ...................................................................... tweak termination DLCX log msg Sending a DLCX upon FSM cleanup is not unusual. Move the log about that DLCX to INFO, and also print the endpoint and conn identifier. Change-Id: Id723d949f101b66fb75296d01489d9dac350c7c8 --- M src/libosmo-mgcp-client/mgcp_client_fsm.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/libosmo-mgcp-client/mgcp_client_fsm.c b/src/libosmo-mgcp-client/mgcp_client_fsm.c index 9e4a100..1c0cd59 100644 --- a/src/libosmo-mgcp-client/mgcp_client_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_fsm.c @@ -525,8 +525,8 @@ * If in ST_DLCX_RESP, a DLCX was already sent and we did not get a * response. No point in sending another one. */ if (fi->state != ST_DLCX_RESP && strlen(mgcp_ctx->conn_id)) { - LOGPFSML(fi, LOGL_NOTICE, - "MGW/DLCX: FSM termination with connections still present, sending unconditional DLCX...\n"); + LOGPFSML(fi, LOGL_INFO, "Conn cleanup, sending DLCX for %s %s\n", mgcp_ctx->conn_peer_remote.endpoint, + mgcp_ctx->conn_id); msg = make_dlcx_msg(mgcp_ctx); if (!msg) LOGPFSML(fi, LOGL_ERROR, "MGW/DLCX: Error composing DLCX message\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24144 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id723d949f101b66fb75296d01489d9dac350c7c8 Gerrit-Change-Number: 24144 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 09:05:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 09:05:29 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_lchan_name_compute(): indicate if TRX is a shadow TRX In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24154 ) Change subject: [VAMOS] gsm_lchan_name_compute(): indicate if TRX is a shadow TRX ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24154 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0e350fb067e0ff02d2f3cb54929ef152bb542636 Gerrit-Change-Number: 24154 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 May 2021 09:05:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 09:05:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 09:05:56 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-omldummy: create shadow TRXes iff VAMOS is enabled In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24155 ) Change subject: [VAMOS] osmo-bts-omldummy: create shadow TRXes iff VAMOS is enabled ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4aa9a8bb35bd828d6f25d5690297e727dace5974 Gerrit-Change-Number: 24155 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 08 May 2021 09:05:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 09:06:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 09:06:14 +0000 Subject: Change in gr-gsm[master]: dists: add PKGBUILD script for Arch Linux In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24137 ) Change subject: dists: add PKGBUILD script for Arch Linux ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24137 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iabf6db281e95e72cdf0bd744bb7fd00c09360a38 Gerrit-Change-Number: 24137 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 May 2021 09:06:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 09:06:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 09:06:30 +0000 Subject: Change in libosmocore[master]: gprs_ns2: sns: fix del bind() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24120 ) Change subject: gprs_ns2: sns: fix del bind() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I79062d404ebba9d5c8f7f209bebde146fa08c71f Gerrit-Change-Number: 24120 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 08 May 2021 09:06:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 09:07:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 09:07:05 +0000 Subject: Change in libosmocore[master]: gprs_ns2: vty: fix removing a bind from a SNS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24121 ) Change subject: gprs_ns2: vty: fix removing a bind from a SNS ...................................................................... Patch Set 2: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24121/2/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/24121/2/src/gb/gprs_ns2_vty.c at 215 PS2, Line 215: llist_for_each_entry_safe(vnse_bind, tmp, &vnse->binds, list) { > there's no need to use _safe variant here since list is not used anymore after llist_del. ACK, but it also doesn't hurt -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I088c18abafc82ae7bd7b8c487ad9e9b448c42ba9 Gerrit-Change-Number: 24121 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 08 May 2021 09:07:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 09:08:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 09:08:36 +0000 Subject: Change in libosmocore[master]: gprs_ns2: implement local update weight procedure In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23187 ) Change subject: gprs_ns2: implement local update weight procedure ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23187/5/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23187/5/src/gb/gprs_ns2_sns.c at 1641 PS5, Line 1641: case GPRS_SNS_ST_LOCAL_PROCEDURE: > Not sure how wise it is to mix enums in here that could theoretically clash with the other timer val [?] Ack -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 Gerrit-Change-Number: 23187 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: daniel Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 08 May 2021 09:08:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 09:09:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 09:09:33 +0000 Subject: Change in libosmocore[master]: osmo_sock_*_ofd(): Mark OSMO_FD_WRITE on non-blocking connect() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23985 ) Change subject: osmo_sock_*_ofd(): Mark OSMO_FD_WRITE on non-blocking connect() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23985/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/23985/1//COMMIT_MSG at 9 PS1, Line 9: When we perform a non-blocking > Looks like your keyboard slipped away in the middle of typing ;) more likely somebody interrupted me exactly at that point in time with something urgent to look at :( -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23985 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I22964c5d5da849abcd97a900bd86ab5b4ada05da Gerrit-Change-Number: 23985 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 08 May 2021 09:09:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 10:34:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 10:34:47 +0000 Subject: Change in libosmocore[master]: osmo_sock_*_ofd(): Mark OSMO_FD_WRITE on non-blocking connect() In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23985 to look at the new patch set (#2). Change subject: osmo_sock_*_ofd(): Mark OSMO_FD_WRITE on non-blocking connect() ...................................................................... osmo_sock_*_ofd(): Mark OSMO_FD_WRITE on non-blocking connect() When we perform a non-blocking connect, the completion of the connect will be signaled by marking the fd as WRITE-able. So we should automatically set OSMO_FD_WRITE to make sure the user gets notified on completion. Change-Id: I22964c5d5da849abcd97a900bd86ab5b4ada05da --- M src/socket.c 1 file changed, 14 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/85/23985/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23985 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I22964c5d5da849abcd97a900bd86ab5b4ada05da Gerrit-Change-Number: 23985 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 10:35:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 10:35:05 +0000 Subject: Change in libosmocore[master]: osmo_sock_*_ofd(): Mark OSMO_FD_WRITE on non-blocking connect() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23985 ) Change subject: osmo_sock_*_ofd(): Mark OSMO_FD_WRITE on non-blocking connect() ...................................................................... Patch Set 2: Code-Review+2 re-adding +2 after commitlog change -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23985 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I22964c5d5da849abcd97a900bd86ab5b4ada05da Gerrit-Change-Number: 23985 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 08 May 2021 10:35:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 10:36:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 10:36:36 +0000 Subject: Change in osmo-bsc[master]: lchan and assignment FSMs: make Channel Mode Modify more sane In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23943 ) Change subject: lchan and assignment FSMs: make Channel Mode Modify more sane ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23943 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4986844f839b1c9672c61d916eb3d33d0042d747 Gerrit-Change-Number: 23943 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 May 2021 10:36:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 10:37:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 10:37:47 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: update entries in enum Modulation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24016 ) Change subject: trx_toolkit/data_msg.py: update entries in enum Modulation ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24016 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia96b263bbb162b6c40f2cf81616118cc297299a5 Gerrit-Change-Number: 24016 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 08 May 2021 10:37:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 10:38:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 10:38:00 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: remove obsolete documentation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24017 ) Change subject: trx_toolkit/data_msg.py: remove obsolete documentation ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24017 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I47786cf3039f712efadc85bc4e1c3ae89e79ff25 Gerrit-Change-Number: 24017 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 May 2021 10:38:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 10:38:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 10:38:44 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit: use RxMsg/TxMsg instead of TRX2L1/L12TRX In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24018 ) Change subject: trx_toolkit: use RxMsg/TxMsg instead of TRX2L1/L12TRX ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24018 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I688f24a3c09dd7e1cc00b5530ec26c8e8cfd8f7c Gerrit-Change-Number: 24018 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 May 2021 10:38:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 10:39:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 10:39:20 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: enable TRXDv2 protocol support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24020 ) Change subject: trx_toolkit/data_msg.py: enable TRXDv2 protocol support ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24020 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib76138ec6523970fca43a4d69919c178f5a4b411 Gerrit-Change-Number: 24020 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 May 2021 10:39:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 10:39:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 10:39:47 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_if.py: enrich encoding/decoding error messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24021 ) Change subject: trx_toolkit/data_if.py: enrich encoding/decoding error messages ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iec80890e52f7aa24c145356b5f2e1f66a47fbd4c Gerrit-Change-Number: 24021 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 May 2021 10:39:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 10:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 10:39:59 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trx_sniff.py: enrich decoding error messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24022 ) Change subject: trx_toolkit/trx_sniff.py: enrich decoding error messages ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24022 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I625f5ae0ed9373cbece5f2201759ed0b51f0db68 Gerrit-Change-Number: 24022 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 May 2021 10:39:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 10:40:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 10:40:05 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_if.py: enrich encoding/decoding error messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24021 ) Change subject: trx_toolkit/data_if.py: enrich encoding/decoding error messages ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iec80890e52f7aa24c145356b5f2e1f66a47fbd4c Gerrit-Change-Number: 24021 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 May 2021 10:40:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 10:40:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 May 2021 10:40:13 +0000 Subject: Change in libosmocore[master]: osmo_sock_*_ofd(): Mark OSMO_FD_WRITE on non-blocking connect() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23985 ) Change subject: osmo_sock_*_ofd(): Mark OSMO_FD_WRITE on non-blocking connect() ...................................................................... osmo_sock_*_ofd(): Mark OSMO_FD_WRITE on non-blocking connect() When we perform a non-blocking connect, the completion of the connect will be signaled by marking the fd as WRITE-able. So we should automatically set OSMO_FD_WRITE to make sure the user gets notified on completion. Change-Id: I22964c5d5da849abcd97a900bd86ab5b4ada05da --- M src/socket.c 1 file changed, 14 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/socket.c b/src/socket.c index 59d0876..34972b8 100644 --- a/src/socket.c +++ b/src/socket.c @@ -972,11 +972,12 @@ /*! fill \ref osmo_fd for a give sfd * \param[out] ofd file descriptor (will be filled in) * \param[in] sfd socket file descriptor + * \param[in] flags flags like \ref OSMO_SOCK_F_CONNECT * \returns socket fd on success; negative on error * * This function fills the \a ofd structure. */ -static inline int osmo_fd_init_ofd(struct osmo_fd *ofd, int sfd) +static inline int osmo_fd_init_ofd(struct osmo_fd *ofd, int sfd, unsigned int flags) { int rc; @@ -986,6 +987,14 @@ ofd->fd = sfd; ofd->when = OSMO_FD_READ; + /* if we're doing a non-blocking connect, the completion will be signaled + * by marking the fd as WRITE-able. So in this exceptional case, we're + * also interested in when the socket becomes write-able */ + if ((flags & (OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_NONBLOCK)) == + (OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_NONBLOCK)) { + ofd->when |= OSMO_FD_WRITE; + } + rc = osmo_fd_register(ofd); if (rc < 0) { close(sfd); @@ -1011,7 +1020,7 @@ int osmo_sock_init_ofd(struct osmo_fd *ofd, int family, int type, int proto, const char *host, uint16_t port, unsigned int flags) { - return osmo_fd_init_ofd(ofd, osmo_sock_init(family, type, proto, host, port, flags)); + return osmo_fd_init_ofd(ofd, osmo_sock_init(family, type, proto, host, port, flags), flags); } /*! Initialize a socket and fill \ref osmo_fd @@ -1034,14 +1043,14 @@ const char *remote_host, uint16_t remote_port, unsigned int flags) { return osmo_fd_init_ofd(ofd, osmo_sock_init2(family, type, proto, local_host, - local_port, remote_host, remote_port, flags)); + local_port, remote_host, remote_port, flags), flags); } int osmo_sock_init_osa_ofd(struct osmo_fd *ofd, int type, int proto, const struct osmo_sockaddr *local, const struct osmo_sockaddr *remote, unsigned int flags) { - return osmo_fd_init_ofd(ofd, osmo_sock_init_osa(type, proto, local, remote, flags)); + return osmo_fd_init_ofd(ofd, osmo_sock_init_osa(type, proto, local, remote, flags), flags); } /*! Initialize a socket and fill \ref sockaddr @@ -1313,7 +1322,7 @@ int osmo_sock_unix_init_ofd(struct osmo_fd *ofd, uint16_t type, uint8_t proto, const char *socket_path, unsigned int flags) { - return osmo_fd_init_ofd(ofd, osmo_sock_unix_init(type, proto, socket_path, flags)); + return osmo_fd_init_ofd(ofd, osmo_sock_unix_init(type, proto, socket_path, flags), flags); } /*! Get the IP and/or port number on socket in separate string buffers. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23985 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I22964c5d5da849abcd97a900bd86ab5b4ada05da Gerrit-Change-Number: 23985 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 13:23:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 8 May 2021 13:23:59 +0000 Subject: Change in gr-gsm[master]: dists: add PKGBUILD script for Arch Linux In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24137 ) Change subject: dists: add PKGBUILD script for Arch Linux ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24137 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iabf6db281e95e72cdf0bd744bb7fd00c09360a38 Gerrit-Change-Number: 24137 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 May 2021 13:23:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 13:26:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 8 May 2021 13:26:30 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: update entries in enum Modulation In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24016 ) Change subject: trx_toolkit/data_msg.py: update entries in enum Modulation ...................................................................... trx_toolkit/data_msg.py: update entries in enum Modulation Change-Id: Ia96b263bbb162b6c40f2cf81616118cc297299a5 Related: OS#4006, SYS#4895 --- M src/target/trx_toolkit/data_msg.py 1 file changed, 7 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Objections: dexter: I would prefer this is not merged as is diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index 5e42964..8257c4d 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -31,11 +31,13 @@ class Modulation(Enum): """ Modulation types defined in 3GPP TS 45.002 """ - ModGMSK = (0b0000, 148) - Mod8PSK = (0b0100, 444) - ModAQPSK = (0b0110, 296) - Mod16QAM = (0b1000, 592) - Mod32QAM = (0b1010, 740) + ModGMSK = (0b0000, 1 * GMSK_BURST_LEN) + Mod8PSK = (0b0100, 3 * GMSK_BURST_LEN) + ModGMSK_AB = (0b0110, 1 * GMSK_BURST_LEN) + # ModRFU = (0b0111, 0) # Reserved for Future Use + Mod16QAM = (0b1000, 4 * GMSK_BURST_LEN) + Mod32QAM = (0b1010, 5 * GMSK_BURST_LEN) + ModAQPSK = (0b1100, 2 * GMSK_BURST_LEN) def __init__(self, coding, bl): # Coding in TRXD header -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24016 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia96b263bbb162b6c40f2cf81616118cc297299a5 Gerrit-Change-Number: 24016 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 13:26:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 8 May 2021 13:26:30 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: remove obsolete documentation In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24017 ) Change subject: trx_toolkit/data_msg.py: remove obsolete documentation ...................................................................... trx_toolkit/data_msg.py: remove obsolete documentation We do have TRXC/TRXD documentation in osmo-gsm-manuals repository. These big comments are out of sync with what we have in the manuals, so let's better remove them to avoid maintaining docs in several places. Change-Id: I47786cf3039f712efadc85bc4e1c3ae89e79ff25 Related: OS#4006, SYS#4895 --- M src/target/trx_toolkit/data_msg.py 1 file changed, 3 insertions(+), 170 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index 8257c4d..a1410fc 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -60,67 +60,7 @@ return None class DATAMSG(abc.ABC): - """ TRXD (DATA) message codec (common part). - - The DATA messages are used to carry bursts in both directions - between L1 and TRX. There exist two kinds of them: - - - L12TRX (L1 -> TRX) - to be transmitted bursts, - - TRX2L1 (TRX -> L1) - received bursts. - - Both of them have quite similar structure, and start with - the common fixed-size message header (no TLVs): - - +---------------+-----------------+------------+ - | common header | specific header | burst bits | - +---------------+-----------------+------------+ - - while the message specific headers and bit types are different. - - The common header is represented by this class, which is the - parent of both DATAMSG_L12TRX and DATAMSG_TRX2L2 (see below), - and has the following fields: - - +-----------------+----------------+-------------------+ - | VER (1/2 octet) | TN (1/2 octet) | FN (4 octets, BE) | - +-----------------+----------------+-------------------+ - - where: - - - VER is the header version indicator (1/2 octet MSB), - - TN is TDMA time-slot number (1/2 octet LSB), and - - FN is TDMA frame number (4 octets, big endian). - - == Header version indication - - It may be necessary to extend the message specific header - with more information. Since this is not a TLV-based - protocol, we need to include the header format version. - - +-----------------+------------------------+ - | 7 6 5 4 3 2 1 0 | bit numbers | - +-----------------+------------------------+ - | X X X X . . . . | header version (0..15) | - +-----------------+------------------------+ - | . . . . . X X X | TDMA TN (0..7) | - +-----------------+------------------------+ - | . . . . X . . . | RESERVED (0) | - +-----------------+------------------------+ - - Instead of prepending an additional byte, it was decided to use - 4 MSB bits of the first octet, which used to be zero-initialized - due to the value range of TDMA TN. Therefore, the legacy header - format has implicit version 0x00. - - Otherwise Wireshark (or trx_sniff.py) would need to guess the - header version, or alternatively follow the control channel - looking for the version setting command. - - The reserved bit number 3 can be used in the future to extend - the TDMA TN range to (0..15), in case anybody would need - to transfer UMTS bursts. - - """ + ''' TRXD (DATA) message coding API (common part). ''' # NOTE: up to 16 versions can be encoded CHDR_VERSION_MAX = 0b1111 @@ -289,26 +229,7 @@ self.burst = None class DATAMSG_L12TRX(DATAMSG): - """ L12TRX (L1 -> TRX) message codec. - - This message represents a Downlink burst on the BTS side, - or an Uplink burst on the MS side, and has the following - message specific fixed-size header preceding the burst bits: - - == Versions 0x00, 0x01 - - +-----+--------------------+ - | PWR | hard-bits (1 or 0) | - +-----+--------------------+ - - where PWR (1 octet) is relative (to the full-scale amplitude) - transmit power level in dB. The absolute value is set on - the control interface. - - Each hard-bit (1 or 0) of the burst is represented using one - byte (0x01 or 0x00 respectively). - - """ + ''' L12TRX (L1 -> TRX) message coding API. ''' # Constants PWR_MIN = 0x00 @@ -435,95 +356,7 @@ return msg class DATAMSG_TRX2L1(DATAMSG): - """ TRX2L1 (TRX -> L1) message codec. - - This message represents an Uplink burst on the BTS side, - or a Downlink burst on the MS side, and has the following - message specific fixed-size header preceding the burst bits: - - == Version 0x00 - - +------+-----+--------------------+ - | RSSI | ToA | soft-bits (254..0) | - +------+-----+--------------------+ - - == Version 0x01 - - +------+-----+-----+-----+--------------------+ - | RSSI | ToA | MTS | C/I | soft-bits (254..0) | - +------+-----+-----+-----+--------------------+ - - where: - - - RSSI (1 octet) - Received Signal Strength Indication - encoded without the negative sign. - - ToA (2 octets) - Timing of Arrival in units of 1/256 - of symbol (big endian). - - MTS (1 octet) - Modulation and Training Sequence info. - - C/I (2 octets) - Carrier-to-Interference ratio (big endian). - - == Coding of MTS: Modulation and Training Sequence info - - 3GPP TS 45.002 version 15.1.0 defines several modulation types, - and a few sets of training sequences for each type. The most - common are GMSK and 8-PSK (which is used in EDGE). - - +-----------------+---------------------------------------+ - | 7 6 5 4 3 2 1 0 | bit numbers (value range) | - +-----------------+---------------------------------------+ - | X . . . . . . . | IDLE / nope frame indication (0 or 1) | - +-----------------+---------------------------------------+ - | . X X X X . . . | Modulation, TS set number (see below) | - +-----------------+---------------------------------------+ - | . . . . . X X X | Training Sequence Code (0..7) | - +-----------------+---------------------------------------+ - - The bit number 7 (MSB) is set to high when either nothing has been - detected, or during IDLE frames, so we can deliver noise levels, - and avoid clock gaps on the L1 side. Other bits are ignored, - and should be set to low (0) in this case. - - == Coding of modulation and TS set number - - GMSK has 4 sets of training sequences (see tables 5.2.3a-d), - while 8-PSK (see tables 5.2.3f-g) and the others have 2 sets. - Access and Synchronization bursts also have several synch. - sequences. - - +-----------------+---------------------------------------+ - | 7 6 5 4 3 2 1 0 | bit numbers (value range) | - +-----------------+---------------------------------------+ - | . 0 0 X X . . . | GMSK, 4 TS sets (0..3) | - +-----------------+---------------------------------------+ - | . 0 1 0 X . . . | 8-PSK, 2 TS sets (0..1) | - +-----------------+---------------------------------------+ - | . 0 1 1 X . . . | AQPSK, 2 TS sets (0..1) | - +-----------------+---------------------------------------+ - | . 1 0 0 X . . . | 16QAM, 2 TS sets (0..1) | - +-----------------+---------------------------------------+ - | . 1 0 1 X . . . | 32QAM, 2 TS sets (0..1) | - +-----------------+---------------------------------------+ - | . 1 1 1 X . . . | RESERVED (0) | - +-----------------+---------------------------------------+ - - == C/I: Carrier-to-Interference ratio - - The C/I value can be computed from the training sequence of each - burst, where we can compare the "ideal" training sequence with - the actual training sequence and then express that in centiBels. - - == Coding of the burst bits - - Unlike the transmitted bursts, the received bursts are designated - using the soft-bits notation, so the receiver can indicate its - assurance from 0 to -127 that a given bit is 1, and from 0 to +127 - that a given bit is 0. The Viterbi algorithm allows to approximate - the original sequence of hard-bits (1 or 0) using these values. - - Each soft-bit (-127..127) of the burst is encoded as an unsigned - value in range (0..255) respectively using the constant shift. - - """ + ''' TRX2L1 (TRX -> L1) message coding API. ''' # rxlev2dbm(0..63) gives us [-110..-47], plus -10 dbm for noise RSSI_MIN = -120 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24017 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I47786cf3039f712efadc85bc4e1c3ae89e79ff25 Gerrit-Change-Number: 24017 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 15:41:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 8 May 2021 15:41:29 +0000 Subject: Change in osmo-bts[master]: common/sysinfo: make struct gsm_bts_trx const in num_agch() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24175 ) Change subject: common/sysinfo: make struct gsm_bts_trx const in num_agch() ...................................................................... common/sysinfo: make struct gsm_bts_trx const in num_agch() Change-Id: I776defc7e9699a378c9a03304c63e15d023476d0 --- M include/osmo-bts/bts_trx.h M src/common/sysinfo.c 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/75/24175/1 diff --git a/include/osmo-bts/bts_trx.h b/include/osmo-bts/bts_trx.h index 8513a12..7d60a73 100644 --- a/include/osmo-bts/bts_trx.h +++ b/include/osmo-bts/bts_trx.h @@ -56,7 +56,7 @@ int trx_link_estab(struct gsm_bts_trx *trx); void trx_operability_update(struct gsm_bts_trx *trx); -uint8_t num_agch(struct gsm_bts_trx *trx, const char * arg); +uint8_t num_agch(const struct gsm_bts_trx *trx, const char * arg); bool trx_ms_pwr_ctrl_is_osmo(const struct gsm_bts_trx *trx); #define LOGPTRX(trx, ss, lvl, fmt, args...) LOGP(ss, lvl, "%s " fmt, gsm_trx_name(trx), ## args) diff --git a/src/common/sysinfo.c b/src/common/sysinfo.c index d1f6f36..5c5af25 100644 --- a/src/common/sysinfo.c +++ b/src/common/sysinfo.c @@ -151,10 +151,10 @@ return 0; } -uint8_t num_agch(struct gsm_bts_trx *trx, const char * arg) +uint8_t num_agch(const struct gsm_bts_trx *trx, const char * arg) { - struct gsm_bts *b = trx->bts; - struct gsm48_system_information_type_3 *si3; + const struct gsm_bts *b = trx->bts; + const struct gsm48_system_information_type_3 *si3; if (GSM_BTS_HAS_SI(b, SYSINFO_TYPE_3)) { si3 = GSM_BTS_SI(b, SYSINFO_TYPE_3); return si3->control_channel_desc.bs_ag_blks_res; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I776defc7e9699a378c9a03304c63e15d023476d0 Gerrit-Change-Number: 24175 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 15:41:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 8 May 2021 15:41:30 +0000 Subject: Change in osmo-bts[master]: [VAMOS] struct gsm_bts_trx: fix the PHY instance pointer References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24176 ) Change subject: [VAMOS] struct gsm_bts_trx: fix the PHY instance pointer ...................................................................... [VAMOS] struct gsm_bts_trx: fix the PHY instance pointer First of all, there is no reason to use a void pointer because it's always 'struct phy_instance'. Also, no need to encapsulate this pointer into 'role_bts' because there are no other roles in osmo-bts (we used to have shared headers years ago). Change-Id: I9bd6f0921e0c6bf824d38485486ad78864cbe17e --- M include/osmo-bts/bts_trx.h M include/osmo-bts/phy_link.h M src/common/main.c M src/common/phy_link.c M src/common/vty.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/scheduler_trx.c M tests/sysmobts/sysmobts_test.c 8 files changed, 12 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/76/24176/1 diff --git a/include/osmo-bts/bts_trx.h b/include/osmo-bts/bts_trx.h index 7d60a73..100eaba 100644 --- a/include/osmo-bts/bts_trx.h +++ b/include/osmo-bts/bts_trx.h @@ -36,9 +36,8 @@ struct gsm_power_ctrl_params *ms_dpc_params; /* MS Dynamic Power Control */ bool ms_pwr_ctl_soft; /* is power control loop done by osmocom software? */ - struct { - void *l1h; - } role_bts; + /* The associated PHY instance */ + struct phy_instance *pinst; struct gsm_bts_trx_ts ts[TRX_NR_TS]; }; diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index 0c693bb..467ad52 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -173,7 +173,7 @@ static inline struct phy_instance *trx_phy_instance(const struct gsm_bts_trx *trx) { OSMO_ASSERT(trx); - return trx->role_bts.l1h; + return trx->pinst; } int bts_model_phy_link_open(struct phy_link *plink); diff --git a/src/common/main.c b/src/common/main.c index 2503352..73efc25 100644 --- a/src/common/main.c +++ b/src/common/main.c @@ -341,7 +341,7 @@ } llist_for_each_entry(trx, &g_bts->trx_list, list) { - if (!trx->role_bts.l1h) { + if (!trx->pinst) { fprintf(stderr, "TRX %u has no associated PHY instance\n", trx->nr); exit(1); diff --git a/src/common/phy_link.c b/src/common/phy_link.c index 77d7aa6..411f870 100644 --- a/src/common/phy_link.c +++ b/src/common/phy_link.c @@ -118,7 +118,7 @@ void phy_instance_link_to_trx(struct phy_instance *pinst, struct gsm_bts_trx *trx) { - trx->role_bts.l1h = pinst; + trx->pinst = pinst; pinst->trx = trx; } @@ -128,8 +128,8 @@ llist_del(&pinst->list); /* remove reverse link from TRX */ - OSMO_ASSERT(pinst->trx->role_bts.l1h == pinst); - pinst->trx->role_bts.l1h = NULL; + OSMO_ASSERT(pinst->trx->pinst == pinst); + pinst->trx->pinst = NULL; pinst->trx = NULL; talloc_free(pinst); diff --git a/src/common/vty.c b/src/common/vty.c index 9e428e7..3b59316 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -987,7 +987,7 @@ return CMD_WARNING; } - trx->role_bts.l1h = pinst; + trx->pinst = pinst; pinst->trx = trx; return CMD_SUCCESS; diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index 112a6ab..491f7cd 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -138,8 +138,7 @@ static inline struct l1sched_trx *trx_l1sched_hdl(struct gsm_bts_trx *trx) { - struct phy_instance *pinst = trx->role_bts.l1h; - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; + struct trx_l1h *l1h = trx->pinst->u.osmotrx.hdl; return &l1h->l1s; } diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index efd4954..c173f5b 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -73,13 +73,13 @@ /* Check the "cache" first, so we eliminate frequent lookups */ idx = gsm0502_hop_seq_gen(&time, SCHED_FH_PARAMS_VALS(ts), NULL); if (ts->fh_trx_list[idx] != NULL) - return ts->fh_trx_list[idx]->role_bts.l1h; + return ts->fh_trx_list[idx]->pinst; /* The "cache" may not be filled yet, lookup the transceiver */ llist_for_each_entry(trx, &ts->trx->bts->trx_list, list) { if (trx->arfcn == ts->hopping.arfcn_list[idx]) { ts->fh_trx_list[idx] = trx; - return trx->role_bts.l1h; + return trx->pinst; } } diff --git a/tests/sysmobts/sysmobts_test.c b/tests/sysmobts/sysmobts_test.c index 4b01ed7..be53666 100644 --- a/tests/sysmobts/sysmobts_test.c +++ b/tests/sysmobts/sysmobts_test.c @@ -59,7 +59,7 @@ memset(&trx, 0, sizeof(trx)); memset(&hdl, 0, sizeof(hdl)); trx.bts = &bts; - trx.role_bts.l1h = &hdl; + trx.pinst = &hdl; /* claim to support all hw_info's */ hdl.hw_info.band_support = GSM_BAND_850 | GSM_BAND_900 | -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9bd6f0921e0c6bf824d38485486ad78864cbe17e Gerrit-Change-Number: 24176 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 15:41:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 8 May 2021 15:41:30 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24177 ) Change subject: [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() ...................................................................... [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() Change-Id: I4aefaf47b05a67ec0c4774c1ee7abcc95e04cc13 --- M include/osmo-bts/bts_trx.h M src/common/bts.c M src/common/bts_trx.c M src/common/vty.c M src/osmo-bts-trx/main.c M tests/handover/handover_test.c M tests/meas/meas_test.c 7 files changed, 15 insertions(+), 46 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/77/24177/1 diff --git a/include/osmo-bts/bts_trx.h b/include/osmo-bts/bts_trx.h index 100eaba..d4c3f39 100644 --- a/include/osmo-bts/bts_trx.h +++ b/include/osmo-bts/bts_trx.h @@ -47,7 +47,6 @@ } struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts); -int bts_trx_init(struct gsm_bts_trx *trx); struct gsm_bts_trx *gsm_bts_trx_num(const struct gsm_bts *bts, int num); char *gsm_trx_name(const struct gsm_bts_trx *trx); const char *gsm_trx_unit_id(struct gsm_bts_trx *trx); diff --git a/src/common/bts.c b/src/common/bts.c index 3860a87..722725b 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -378,8 +378,6 @@ return rc; } - /* TRX0 was allocated early during gsm_bts_alloc, not later through VTY */ - bts_trx_init(bts->c0); bts_gsmnet.num_bts++; if (!initialized) { diff --git a/src/common/bts_trx.c b/src/common/bts_trx.c index 9fc18e4..2adcda1 100644 --- a/src/common/bts_trx.c +++ b/src/common/bts_trx.c @@ -107,53 +107,34 @@ name = gsm_lchan_name_compute(lchan); lchan->name = talloc_strdup(trx, name); INIT_LLIST_HEAD(&lchan->sapi_cmds); + INIT_LLIST_HEAD(&lchan->dl_tch_queue); } } if (trx->nr != 0) trx->nominal_power = bts->c0->nominal_power; + /* Default values for the power adjustments */ + trx->power_params.ramp.max_initial_pout_mdBm = to_mdB(0); + trx->power_params.ramp.step_size_mdB = to_mdB(2); + trx->power_params.ramp.step_interval_sec = 1; + /* Default (fall-back) Dynamic Power Control parameters */ trx->bs_dpc_params = &bts->bs_dpc_params; trx->ms_dpc_params = &bts->ms_dpc_params; - llist_add_tail(&trx->list, &bts->trx_list); - - return trx; -} - -/* Initialize the TRX data structures, called before config - * file reading */ -int bts_trx_init(struct gsm_bts_trx *trx) -{ - /* initialize bts data structure */ - struct trx_power_params *tpp = &trx->power_params; - int rc, i; - - for (i = 0; i < ARRAY_SIZE(trx->ts); i++) { - struct gsm_bts_trx_ts *ts = &trx->ts[i]; - int k; - - for (k = 0; k < ARRAY_SIZE(ts->lchan); k++) { - struct gsm_lchan *lchan = &ts->lchan[k]; - INIT_LLIST_HEAD(&lchan->dl_tch_queue); - } - } - /* Default values for the power adjustments */ - tpp->ramp.max_initial_pout_mdBm = to_mdB(0); - tpp->ramp.step_size_mdB = to_mdB(2); - tpp->ramp.step_interval_sec = 1; - /* IF BTS model doesn't DSP/HW support MS Power Control Loop, enable osmo algo by default: */ if (!bts_internal_flag_get(trx->bts, BTS_INTERNAL_FLAG_MS_PWR_CTRL_DSP)) trx->ms_pwr_ctl_soft = true; - rc = bts_model_trx_init(trx); - if (rc < 0) { - llist_del(&trx->list); - return rc; + if (bts_model_trx_init(trx) != 0) { + talloc_free(trx); + return NULL; } - return 0; + + llist_add_tail(&trx->list, &bts->trx_list); + + return trx; } struct gsm_bts_trx *gsm_bts_trx_num(const struct gsm_bts *bts, int num) diff --git a/src/common/vty.c b/src/common/vty.c index 3b59316..4134d4d 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -228,8 +228,6 @@ * initialized in bts_init(), not here. */ trx = gsm_bts_trx_alloc(bts); - if (trx) - bts_trx_init(trx); } else trx = gsm_bts_trx_num(bts, trx_nr); diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index e0a99a5..6184acb 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -156,7 +156,8 @@ /* The nominal value for each TRX is later overwritten through VTY cmd * 'nominal-tx-power' if present, otherwise through TRXC cmd NOMTXPOWER. */ - l1if_trx_set_nominal_power(trx, trx->bts->c0->nominal_power); + if (trx->bts->c0 != NULL) + l1if_trx_set_nominal_power(trx, trx->bts->c0->nominal_power); return 0; } diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 72d8dc8..6af8fac 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -85,10 +85,6 @@ fprintf(stderr, "Failed to alloc TRX structure\n"); exit(1); } - if (bts_trx_init(trx) < 0) { - fprintf(stderr, "unable to init TRX\n"); - exit(1); - } libosmo_abis_init(NULL); diff --git a/tests/meas/meas_test.c b/tests/meas/meas_test.c index d129336..ab8ae28 100644 --- a/tests/meas/meas_test.c +++ b/tests/meas/meas_test.c @@ -530,10 +530,6 @@ fprintf(stderr, "Failed to alloc TRX structure\n"); exit(1); } - if (bts_trx_init(trx) < 0) { - fprintf(stderr, "unable to init TRX\n"); - exit(1); - } printf("\n"); printf("***********************\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4aefaf47b05a67ec0c4774c1ee7abcc95e04cc13 Gerrit-Change-Number: 24177 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 15:41:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 8 May 2021 15:41:30 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: move {chan, bid} to trx_{dl, ul}_burst_{req, ind} References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24178 ) Change subject: [VAMOS] osmo-bts-trx: move {chan,bid} to trx_{dl,ul}_burst_{req,ind} ...................................................................... [VAMOS] osmo-bts-trx: move {chan,bid} to trx_{dl,ul}_burst_{req,ind} Change-Id: Ic5a02b074662b3e429bf18e05a982f3f3e7b7444 --- M include/osmo-bts/scheduler.h M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c M src/osmo-bts-trx/sched_lchan_fcch_sch.c M src/osmo-bts-trx/sched_lchan_pdtch.c M src/osmo-bts-trx/sched_lchan_rach.c M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_lchan_xcch.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-virtual/scheduler_virtbts.c 11 files changed, 312 insertions(+), 353 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/78/24178/1 diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index ad6e5c5..2d613e7 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -249,6 +249,10 @@ uint8_t tsc; /*!< Training Sequence Code */ int16_t ci_cb; /*!< Carrier-to-Interference ratio (in centiBels) */ + /* Internally used by the scheduler */ + enum trx_chan_type chan; + uint8_t bid; + /*! Burst soft-bits buffer */ sbit_t burst[EGPRS_BURST_LEN]; size_t burst_len; @@ -260,6 +264,10 @@ uint8_t tn; /*!< TDMA timeslot number */ uint8_t att; /*!< Tx power attenuation */ + /* Internally used by the scheduler */ + enum trx_chan_type chan; + uint8_t bid; + /*! Burst hard-bits buffer */ ubit_t burst[EGPRS_BURST_LEN]; size_t burst_len; diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index e3326f6..13ca71b 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -6,14 +6,16 @@ gsm_ts_name(&(l1t)->trx->ts[tn]), \ chan >=0 ? trx_chan_desc[chan].name : "", ## args) +/* Logging helper adding context from trx_{ul,dl}_burst_{ind,req} */ +#define LOGL1SB(subsys, level, l1t, b, fmt, args ...) \ + LOGL1S(subsys, level, l1t, (b)->tn, (b)->chan, (b)->fn, fmt, ## args) + typedef int trx_sched_rts_func(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, enum trx_chan_type chan); -typedef int trx_sched_dl_func(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br); +typedef int trx_sched_dl_func(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); -typedef int trx_sched_ul_func(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi); +typedef int trx_sched_ul_func(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); struct trx_chan_desc { /*! \brief Human-readable name */ @@ -40,8 +42,8 @@ extern const ubit_t _sched_egprs_tsc[8][78]; extern const ubit_t _sched_sch_train[64]; -struct msgb *_sched_dequeue_prim(struct l1sched_trx *l1t, int8_t tn, uint32_t fn, - enum trx_chan_type chan); +struct msgb *_sched_dequeue_prim(struct l1sched_trx *l1t, + const struct trx_dl_burst_req *br); int _sched_compose_ph_data_ind(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, enum trx_chan_type chan, uint8_t *l2, @@ -55,31 +57,19 @@ int16_t ta_offs_256bits, uint16_t ber10k, float rssi, uint8_t is_sub); -int tx_idle_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br); -int tx_fcch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br); -int tx_sch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br); -int tx_data_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br); -int tx_pdtch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br); -int tx_tchf_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br); -int tx_tchh_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br); +int tx_idle_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); +int tx_fcch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); +int tx_sch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); +int tx_data_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); +int tx_pdtch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); +int tx_tchf_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); +int tx_tchh_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); -int rx_rach_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi); -int rx_data_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi); -int rx_pdtch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi); -int rx_tchf_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi); -int rx_tchh_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi); +int rx_rach_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); +int rx_data_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); +int rx_pdtch_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); +int rx_tchf_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); +int rx_tchh_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); void _sched_dl_burst(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); int _sched_rts(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn); diff --git a/src/common/scheduler.c b/src/common/scheduler.c index c7c3e62..87a1f60 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -637,13 +637,13 @@ } } -struct msgb *_sched_dequeue_prim(struct l1sched_trx *l1t, int8_t tn, uint32_t fn, - enum trx_chan_type chan) +struct msgb *_sched_dequeue_prim(struct l1sched_trx *l1t, + const struct trx_dl_burst_req *br) { struct msgb *msg, *msg2; uint32_t prim_fn, l1sap_fn; uint8_t chan_nr, link_id; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); /* get prim of current fn from queue */ llist_for_each_entry_safe(msg, msg2, &l1ts->dl_prims, list) { @@ -660,18 +660,18 @@ l1sap_fn = l1sap->u.tch.fn; break; default: - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "Prim has wrong type.\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Prim has wrong type.\n"); goto free_msg; } - prim_fn = GSM_TDMA_FN_SUB(l1sap_fn, fn); + prim_fn = GSM_TDMA_FN_SUB(l1sap_fn, br->fn); if (prim_fn > 100) { /* l1sap_fn < fn */ - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Prim %u is out of range (%u vs exp %u), or channel %s with " "type %s is already disabled. If this happens in " "conjunction with PCU, increase 'rts-advance' by 5.\n", - prim_fn, l1sap_fn, fn, + prim_fn, l1sap_fn, br->fn, get_lchan_by_chan_nr(l1t->trx, chan_nr)->name, - trx_chan_desc[chan].name); + trx_chan_desc[br->chan].name); rate_ctr_inc2(l1ts->ctrs, L1SCHED_TS_CTR_DL_LATE); /* unlink and free message */ llist_del(&msg->list); @@ -682,11 +682,11 @@ break; /* l1sap_fn == fn */ - if ((chan_nr ^ (trx_chan_desc[chan].chan_nr | tn)) - || ((link_id & 0xc0) ^ trx_chan_desc[chan].link_id)) { - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "Prim has wrong chan_nr=0x%02x link_id=%02x, " + if ((chan_nr ^ (trx_chan_desc[br->chan].chan_nr | br->tn)) + || ((link_id & 0xc0) ^ trx_chan_desc[br->chan].link_id)) { + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Prim has wrong chan_nr=0x%02x link_id=%02x, " "expecting chan_nr=0x%02x link_id=%02x.\n", chan_nr, link_id, - trx_chan_desc[chan].chan_nr | tn, trx_chan_desc[chan].link_id); + trx_chan_desc[br->chan].chan_nr | br->tn, trx_chan_desc[br->chan].link_id); goto free_msg; } @@ -1209,9 +1209,8 @@ struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct l1sched_chan_state *l1cs; const struct trx_sched_frame *frame; - uint8_t offset, period, bid; + uint8_t offset, period; trx_sched_dl_func *func; - enum trx_chan_type chan; if (!l1ts->mf_index) return; @@ -1221,18 +1220,18 @@ offset = br->fn % period; frame = l1ts->mf_frames + offset; - chan = frame->dl_chan; - bid = frame->dl_bid; - func = trx_chan_desc[chan].dl_fn; + br->chan = frame->dl_chan; + br->bid = frame->dl_bid; + func = trx_chan_desc[br->chan].dl_fn; - l1cs = &l1ts->chan_state[chan]; + l1cs = &l1ts->chan_state[br->chan]; /* check if channel is active */ - if (!TRX_CHAN_IS_ACTIVE(l1cs, chan)) + if (!TRX_CHAN_IS_ACTIVE(l1cs, br->chan)) return; /* get burst from function */ - if (func(l1t, chan, bid, br) != 0) + if (func(l1t, br) != 0) return; /* BS Power reduction (in dB) per logical channel */ @@ -1253,9 +1252,9 @@ } static int trx_sched_calc_frame_loss(struct l1sched_trx *l1t, - struct l1sched_chan_state *l1cs, uint8_t tn, uint32_t fn) + struct l1sched_chan_state *l1cs, + const struct trx_ul_burst_ind *bi) { - const struct trx_sched_frame *frame_head; const struct trx_sched_frame *frame; struct l1sched_ts *l1ts; uint32_t elapsed_fs; @@ -1271,12 +1270,10 @@ return 0; /* Get current TDMA frame info */ - l1ts = l1sched_trx_get_ts(l1t, tn); - offset = fn % l1ts->mf_period; - frame_head = l1ts->mf_frames + offset; + l1ts = l1sched_trx_get_ts(l1t, bi->tn); /* Not applicable for some logical channels */ - switch (frame_head->ul_chan) { + switch (bi->chan) { case TRXC_IDLE: case TRXC_RACH: case TRXC_PDTCH: @@ -1289,9 +1286,9 @@ } /* How many frames elapsed since the last one? */ - elapsed_fs = GSM_TDMA_FN_SUB(fn, l1cs->last_tdma_fn); + elapsed_fs = GSM_TDMA_FN_SUB(bi->fn, l1cs->last_tdma_fn); if (elapsed_fs > l1ts->mf_period) { /* Too many! */ - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, frame_head->ul_chan, fn, + LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, "Too many (>%u) contiguous TDMA frames=%u elapsed " "since the last processed fn=%u\n", l1ts->mf_period, elapsed_fs, l1cs->last_tdma_fn); @@ -1312,12 +1309,12 @@ offset = fn_i % l1ts->mf_period; frame = l1ts->mf_frames + offset; - if (frame->ul_chan == frame_head->ul_chan) + if (frame->ul_chan == bi->chan) l1cs->lost_tdma_fs++; } if (l1cs->lost_tdma_fs > 0) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, frame_head->ul_chan, fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "At least %u TDMA frames were lost since the last " "processed fn=%u\n", l1cs->lost_tdma_fs, l1cs->last_tdma_fn); @@ -1330,14 +1327,15 @@ trx_sched_ul_func *func; /* Prepare dummy burst indication */ - struct trx_ul_burst_ind bi = { + struct trx_ul_burst_ind dbi = { .flags = TRX_BI_F_NOPE_IND, .burst_len = GSM_BURST_LEN, .burst = { 0 }, .rssi = -128, .toa256 = 0, + .chan = bi->chan, /* TDMA FN is set below */ - .tn = tn, + .tn = bi->tn, }; for (i = 1; i < elapsed_fs; i++) { @@ -1346,15 +1344,16 @@ frame = l1ts->mf_frames + offset; func = trx_chan_desc[frame->ul_chan].ul_fn; - if (frame->ul_chan != frame_head->ul_chan) + if (frame->ul_chan != bi->chan) continue; - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, frame->ul_chan, fn, - "Substituting lost TDMA frame=%u by all-zero " - "dummy burst\n", fn_i); + dbi.bid = frame->ul_bid; + dbi.fn = fn_i; - bi.fn = fn_i; - func(l1t, frame->ul_chan, frame->ul_bid, &bi); + LOGL1SB(DL1P, LOGL_NOTICE, l1t, &dbi, + "Substituting lost burst with NOPE.ind\n"); + + func(l1t, &dbi); l1cs->lost_tdma_fs--; } @@ -1369,9 +1368,8 @@ struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *l1cs; const struct trx_sched_frame *frame; - uint8_t offset, period, bid; + uint8_t offset, period; trx_sched_ul_func *func; - enum trx_chan_type chan; if (!l1ts->mf_index) return -EINVAL; @@ -1381,20 +1379,19 @@ offset = bi->fn % period; frame = l1ts->mf_frames + offset; - chan = frame->ul_chan; - bid = frame->ul_bid; - l1cs = &l1ts->chan_state[chan]; - func = trx_chan_desc[chan].ul_fn; + bi->chan = frame->ul_chan; + bi->bid = frame->ul_bid; + l1cs = &l1ts->chan_state[bi->chan]; + func = trx_chan_desc[bi->chan].ul_fn; /* TODO: handle noise measurements */ - if (chan == TRXC_IDLE && bi->flags & TRX_BI_F_NOPE_IND) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Rx noise measurement (%d)\n", bi->rssi); + if (bi->chan == TRXC_IDLE && bi->flags & TRX_BI_F_NOPE_IND) { + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Rx noise measurement (%d)\n", bi->rssi); return -ENOTSUP; } /* check if channel is active */ - if (!TRX_CHAN_IS_ACTIVE(l1cs, chan)) + if (!TRX_CHAN_IS_ACTIVE(l1cs, bi->chan)) return -EINVAL; /* omit bursts which have no handler, like IDLE bursts */ @@ -1402,7 +1399,7 @@ return -EINVAL; /* calculate how many TDMA frames were potentially lost */ - trx_sched_calc_frame_loss(l1t, l1cs, bi->tn, bi->fn); + trx_sched_calc_frame_loss(l1t, l1cs, bi); /* update TDMA frame counters */ l1cs->last_tdma_fn = bi->fn; @@ -1410,7 +1407,7 @@ /* handle NOPE indications */ if (bi->flags & TRX_BI_F_NOPE_IND) { - switch (chan) { + switch (bi->chan) { case TRXC_PTCCH: case TRXC_RACH: /* For some logical channel types NOPE.ind is valueless. */ @@ -1418,7 +1415,7 @@ default: /* NOTE: Uplink burst handler must check bi->burst_len before * accessing bi->burst to avoid uninitialized memory access. */ - return func(l1t, chan, bid, bi); + return func(l1t, bi); } } @@ -1437,7 +1434,7 @@ } /* Invoke the logical channel handler */ - func(l1t, chan, bid, bi); + func(l1t, bi); return 0; } diff --git a/src/osmo-bts-trx/sched_lchan_fcch_sch.c b/src/osmo-bts-trx/sched_lchan_fcch_sch.c index 2a5e482..4aac601 100644 --- a/src/osmo-bts-trx/sched_lchan_fcch_sch.c +++ b/src/osmo-bts-trx/sched_lchan_fcch_sch.c @@ -1,6 +1,7 @@ /* * (C) 2013 by Andreas Eversberg * (C) 2015-2017 by Harald Welte + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -35,10 +36,9 @@ #include /* obtain a to-be-transmitted FCCH (frequency correction channel) burst */ -int tx_fcch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_fcch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, br->tn, chan, br->fn, "Transmitting FCCH\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting FCCH\n"); /* A frequency correction burst is basically a sequence of zeros. * Since br->burst is already zero-initialized, just set the length. */ @@ -48,15 +48,14 @@ } /* obtain a to-be-transmitted SCH (synchronization channel) burst */ -int tx_sch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_sch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { ubit_t burst[78]; uint8_t sb_info[4]; struct gsm_time t; uint8_t t3p, bsic; - LOGL1S(DL1P, LOGL_DEBUG, l1t, br->tn, chan, br->fn, "Transmitting SCH\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting SCH\n"); /* BURST BYPASS */ diff --git a/src/osmo-bts-trx/sched_lchan_pdtch.c b/src/osmo-bts-trx/sched_lchan_pdtch.c index d936f75..7ccc77a 100644 --- a/src/osmo-bts-trx/sched_lchan_pdtch.c +++ b/src/osmo-bts-trx/sched_lchan_pdtch.c @@ -1,6 +1,7 @@ /* * (C) 2013 by Andreas Eversberg * (C) 2015-2017 by Harald Welte + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -38,11 +39,10 @@ #define EGPRS_0503_MAX_BYTES 155 /*! \brief a single PDTCH burst was received by the PHY, process it */ -int rx_pdtch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_pdtch_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); - struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; + struct l1sched_chan_state *chan_state = &l1ts->chan_state[bi->chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; uint32_t first_fn; uint8_t *mask = &chan_state->ul_mask; @@ -55,8 +55,7 @@ int rc; enum osmo_ph_pres_info_type presence_info; - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received PDTCH bid=%u\n", bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received PDTCH bid=%u\n", bi->bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -67,13 +66,13 @@ } /* clear burst */ - if (bid == 0) { + if (bi->bid == 0) { memset(*bursts_p, 0, GSM0503_EGPRS_BURSTS_NBITS); *mask = 0x0; } /* update mask */ - *mask |= (1 << bid); + *mask |= (1 << bi->bid); /* store measurements */ trx_sched_meas_push(chan_state, bi); @@ -81,26 +80,26 @@ /* copy burst to buffer of 4 bursts */ switch (bi->burst_len) { case EGPRS_BURST_LEN: - burst = *bursts_p + bid * 348; + burst = *bursts_p + bi->bid * 348; memcpy(burst, bi->burst + 9, 174); memcpy(burst + 174, bi->burst + 261, 174); n_bursts_bits = GSM0503_EGPRS_BURSTS_NBITS; break; case GSM_BURST_LEN: - burst = *bursts_p + bid * 116; + burst = *bursts_p + bi->bid * 116; memcpy(burst, bi->burst + 3, 58); memcpy(burst + 58, bi->burst + 87, 58); n_bursts_bits = GSM0503_GPRS_BURSTS_NBITS; break; case 0: /* NOPE.ind, assume GPRS? */ - burst = *bursts_p + bid * 116; + burst = *bursts_p + bi->bid * 116; memset(burst, 0, 116); n_bursts_bits = GSM0503_GPRS_BURSTS_NBITS; } /* wait until complete set of bursts */ - if (bid != 3) + if (bi->bid != 3) return 0; /* average measurements of the last 4 bursts */ @@ -108,8 +107,7 @@ /* check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received incomplete frame (%u/%u)\n", + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received incomplete frame (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); } *mask = 0x0; @@ -131,8 +129,7 @@ if (rc > 0) { presence_info = PRES_INFO_BOTH; } else { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received bad PDTCH (%u/%u)\n", + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received bad PDTCH (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); rc = 0; presence_info = PRES_INFO_INVALID; @@ -142,36 +139,35 @@ first_fn = GSM_TDMA_FN_SUB(bi->fn, 3); return _sched_compose_ph_data_ind(l1t, bi->tn, - first_fn, chan, l2, rc, + first_fn, bi->chan, l2, rc, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, presence_info); } /* obtain a to-be-transmitted PDTCH (packet data) burst */ -int tx_pdtch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_pdtch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct gsm_bts_trx_ts *ts = &l1t->trx->ts[br->tn]; struct msgb *msg = NULL; /* make GCC happy */ - ubit_t *burst, **bursts_p = &l1ts->chan_state[chan].dl_bursts; - enum trx_mod_type *mod = &l1ts->chan_state[chan].dl_mod_type; + ubit_t *burst, **bursts_p = &l1ts->chan_state[br->chan].dl_bursts; + enum trx_mod_type *mod = &l1ts->chan_state[br->chan].dl_mod_type; int rc = 0; /* send burst, if we already got a frame */ - if (bid > 0) { + if (br->bid > 0) { if (!*bursts_p) return 0; goto send_burst; } /* get mac block from queue */ - msg = _sched_dequeue_prim(l1t, br->tn, br->fn, chan); + msg = _sched_dequeue_prim(l1t, br); if (msg) goto got_msg; - LOGL1S(DL1P, LOGL_INFO, l1t, br->tn, chan, br->fn, "No prim for transmit.\n"); + LOGL1SB(DL1P, LOGL_INFO, l1t, br, "No prim for transmit.\n"); no_msg: /* free burst memory */ @@ -199,7 +195,7 @@ /* check validity of message */ if (rc < 0) { - LOGL1S(DL1P, LOGL_FATAL, l1t, br->tn, chan, br->fn, "Prim invalid length, please FIX! " + LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim invalid length, please FIX! " "(len=%ld)\n", (long)(msg->tail - msg->l2h)); /* free message */ msgb_free(msg); @@ -216,7 +212,7 @@ send_burst: /* compose burst */ if (*mod == TRX_MOD_T_8PSK) { - burst = *bursts_p + bid * 348; + burst = *bursts_p + br->bid * 348; memset(br->burst, 1, 9); memcpy(br->burst + 9, burst, 174); memcpy(br->burst + 183, _sched_egprs_tsc[gsm_ts_tsc(ts)], 78); @@ -225,7 +221,7 @@ br->burst_len = EGPRS_BURST_LEN; } else { - burst = *bursts_p + bid * 116; + burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(ts)], 26); memcpy(br->burst + 87, burst + 58, 58); @@ -233,7 +229,7 @@ br->burst_len = GSM_BURST_LEN; } - LOGL1S(DL1P, LOGL_DEBUG, l1t, br->tn, chan, br->fn, "Transmitting burst=%u.\n", bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting burst=%u.\n", br->bid); return 0; } diff --git a/src/osmo-bts-trx/sched_lchan_rach.c b/src/osmo-bts-trx/sched_lchan_rach.c index fa50f14..ce9a46b 100644 --- a/src/osmo-bts-trx/sched_lchan_rach.c +++ b/src/osmo-bts-trx/sched_lchan_rach.c @@ -2,6 +2,7 @@ * (C) 2013 by Andreas Eversberg * (C) 2015-2017 by Harald Welte * (C) 2019 by Vadim Yanitskiy + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -101,8 +102,7 @@ return seq; } -int rx_rach_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_rach_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { struct osmo_phsap_prim l1sap; int n_errors = 0; @@ -123,16 +123,16 @@ /* If logical channel is not either of RACH, PDTCH or PTCCH, this is a * handover Access Burst, which is always encoded as 8-bit and shall * contain the generic training sequence (TS0). */ - if (chan == TRXC_RACH || chan == TRXC_PDTCH || chan == TRXC_PTCCH) { + if (bi->chan == TRXC_RACH || bi->chan == TRXC_PDTCH || bi->chan == TRXC_PTCCH) { if (bi->flags & TRX_BI_F_TS_INFO) synch_seq = (enum rach_synch_seq_t) bi->tsc; else synch_seq = rach_get_synch_seq((sbit_t *) bi->burst, &best_score); } - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received%s RACH (%s): rssi=%d toa256=%d", - (chan != TRXC_RACH) ? " handover" : "", + (bi->chan != TRXC_RACH) ? " handover" : "", get_value_string(rach_synch_seq_names, synch_seq), bi->rssi, bi->toa256); if (bi->flags & TRX_BI_F_CI_CB) @@ -145,7 +145,7 @@ /* Compose a new L1SAP primitive */ memset(&l1sap, 0x00, sizeof(l1sap)); osmo_prim_init(&l1sap.oph, SAP_GSM_PH, PRIM_PH_RACH, PRIM_OP_INDICATION, NULL); - l1sap.u.rach_ind.chan_nr = trx_chan_desc[chan].chan_nr | bi->tn; + l1sap.u.rach_ind.chan_nr = trx_chan_desc[bi->chan].chan_nr | bi->tn; l1sap.u.rach_ind.acc_delay = (bi->toa256 >= 0) ? bi->toa256 / 256 : 0; l1sap.u.rach_ind.acc_delay_256bits = bi->toa256; l1sap.u.rach_ind.rssi = bi->rssi; @@ -166,8 +166,7 @@ rc = gsm0503_rach_ext_decode_ber(&ra11, bi->burst + RACH_EXT_TAIL_LEN + RACH_SYNCH_SEQ_LEN, l1t->trx->bts->bsic, &n_errors, &n_bits_total); if (rc) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received bad Access Burst\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received bad Access Burst\n"); return 0; } @@ -184,16 +183,14 @@ default: /* Fall-back to the default TS0 if needed */ if (synch_seq != RACH_SYNCH_SEQ_TS0) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Falling-back to the default TS0\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Falling-back to the default TS0\n"); synch_seq = RACH_SYNCH_SEQ_TS0; } rc = gsm0503_rach_decode_ber(&ra, bi->burst + RACH_EXT_TAIL_LEN + RACH_SYNCH_SEQ_LEN, l1t->trx->bts->bsic, &n_errors, &n_bits_total); if (rc) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received bad Access Burst\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received bad Access Burst\n"); return 0; } diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c index b1453dc..8ace49e 100644 --- a/src/osmo-bts-trx/sched_lchan_tchf.c +++ b/src/osmo-bts-trx/sched_lchan_tchf.c @@ -1,6 +1,7 @@ /* * (C) 2013 by Andreas Eversberg * (C) 2015-2017 by Harald Welte + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -45,11 +46,10 @@ #include /*! \brief a single TCH/F burst was received by the PHY, process it */ -int rx_tchf_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_tchf_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); - struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; + struct l1sched_chan_state *chan_state = &l1ts->chan_state[bi->chan]; struct gsm_lchan *lchan = chan_state->lchan; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; uint8_t *mask = &chan_state->ul_mask; @@ -70,10 +70,9 @@ /* If handover RACH detection is turned on, treat this burst as an Access Burst. * Handle NOPE.ind as usually to ensure proper Uplink measurement reporting. */ if (chan_state->ho_rach_detect == 1 && ~bi->flags & TRX_BI_F_NOPE_IND) - return rx_rach_fn(l1t, chan, bid, bi); + return rx_rach_fn(l1t, bi); - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received TCH/F, bid=%u\n", bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received TCH/F, bid=%u\n", bi->bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -83,19 +82,19 @@ } /* clear burst */ - if (bid == 0) { + if (bi->bid == 0) { memset(*bursts_p + 464, 0, 464); *mask = 0x0; } /* update mask */ - *mask |= (1 << bid); + *mask |= (1 << bi->bid); /* store measurements */ trx_sched_meas_push(chan_state, bi); /* copy burst to end of buffer of 8 bursts */ - burst = *bursts_p + bid * 116 + 464; + burst = *bursts_p + bi->bid * 116 + 464; if (bi->burst_len > 0) { memcpy(burst, bi->burst + 3, 58); memcpy(burst + 58, bi->burst + 87, 58); @@ -103,12 +102,12 @@ memset(burst, 0, 116); /* wait until complete set of bursts */ - if (bid != 3) + if (bi->bid != 3) return 0; /* check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received incomplete frame (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); } @@ -153,8 +152,7 @@ /* Tag all frames that are not regular AMR voice frames as * SUB-Frames */ if (chan_state->amr_last_dtx != AMR_OTHER) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received AMR SID frame: %s\n", + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received AMR SID frame: %s\n", gsm0503_amr_dtx_frame_name(chan_state->amr_last_dtx)); is_sub = 1; } @@ -186,7 +184,7 @@ if (rc) trx_loop_amr_input(l1t, - trx_chan_desc[chan].chan_nr | bi->tn, chan_state, + trx_chan_desc[bi->chan].chan_nr | bi->tn, chan_state, n_errors, n_bits_total); /* only good speech frames get rtp header */ if (rc != GSM_MACBLOCK_LEN && rc >= 4) { @@ -203,7 +201,7 @@ break; default: - LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; @@ -215,12 +213,11 @@ /* Check if the frame is bad */ if (rc < 0) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, - "Received bad data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); bfi_flag = true; } else if (rc < 4) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received bad data (%u/%u) with invalid codec mode %d\n", bi->fn % l1ts->mf_period, l1ts->mf_period, rc); bfi_flag = true; @@ -236,7 +233,7 @@ /* FACCH */ if (rc == GSM_MACBLOCK_LEN) { fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_F); - _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, chan, + _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, bi->chan, tch_data + amr, GSM_MACBLOCK_LEN, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, @@ -284,7 +281,7 @@ chan_state->codec[chan_state->dl_ft], AMR_BAD); if (rc < 2) { - LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, "Failed to encode AMR_BAD frame (rc=%d), " "not sending BFI\n", rc); return -EINVAL; @@ -292,7 +289,7 @@ memset(tch_data + 2, 0, rc - 2); break; default: - LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; } @@ -305,7 +302,7 @@ /* TCH or BFI */ compose_l1sap: fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_F); - return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, chan, tch_data, rc, + return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, bi->chan, tch_data, rc, /* FIXME: what should we use for BFI here? */ bfi_flag ? bi->toa256 : meas_avg.toa256, ber10k, bfi_flag ? bi->rssi : meas_avg.rssi, is_sub); @@ -313,13 +310,12 @@ /* common section for generation of TCH bursts (TCH/H and TCH/F). * FIXME: this function is over-complicated, refactor / get rid of it. */ -void tx_tch_common(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, +void tx_tch_common(struct l1sched_trx *l1t, struct trx_dl_burst_req *br, struct msgb **_msg_tch, struct msgb **_msg_facch) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct msgb *msg1, *msg2, *msg_tch = NULL, *msg_facch = NULL; - struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; + struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; uint8_t rsl_cmode = chan_state->rsl_cmode; uint8_t tch_mode = chan_state->tch_mode; struct osmo_phsap_prim *l1sap; @@ -330,13 +326,12 @@ uint8_t tch_data[GSM_FR_BYTES]; int len; - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, - "Missing TCH bursts detected, sending BFI\n"); + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Missing TCH bursts detected, sending BFI\n"); /* indicate bad frame */ switch (tch_mode) { case GSM48_CMODE_SPEECH_V1: /* FR / HR */ - if (chan != TRXC_TCHF) { /* HR */ + if (br->chan != TRXC_TCHF) { /* HR */ tch_data[0] = 0x70; /* F = 0, FT = 111 */ memset(tch_data + 1, 0, 14); len = 15; @@ -346,7 +341,7 @@ len = GSM_FR_BYTES; break; case GSM48_CMODE_SPEECH_EFR: /* EFR */ - if (chan != TRXC_TCHF) + if (br->chan != TRXC_TCHF) goto inval_mode1; memset(tch_data, 0, GSM_EFR_BYTES); len = GSM_EFR_BYTES; @@ -356,29 +351,30 @@ chan_state->codec[chan_state->dl_cmr], chan_state->codec[chan_state->dl_ft], AMR_BAD); if (len < 2) { - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, - "Failed to encode AMR_BAD frame (rc=%d), " - "not sending BFI\n", len); + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, + "Failed to encode AMR_BAD frame (rc=%d), " + "not sending BFI\n", len); return; } memset(tch_data + 2, 0, len - 2); break; default: inval_mode1: - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "TCH mode invalid, please fix!\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "TCH mode invalid, please fix!\n"); len = 0; } if (len) { /* Note: RSSI/ToA256 is set to 0 to indicate to the higher * layers that this is a faked tch_ind */ - _sched_compose_tch_ind(l1t, tn, fn, chan, tch_data, len, 0, 10000, 0, 0); + _sched_compose_tch_ind(l1t, br->tn, br->fn, br->chan, + tch_data, len, 0, 10000, 0, 0); } } /* get frame and unlink from queue */ - msg1 = _sched_dequeue_prim(l1t, tn, fn, chan); - msg2 = _sched_dequeue_prim(l1t, tn, fn, chan); + msg1 = _sched_dequeue_prim(l1t, br); + msg2 = _sched_dequeue_prim(l1t, br); if (msg1) { l1sap = msgb_l1sap_prim(msg1); if (l1sap->oph.primitive == PRIM_TCH) { @@ -386,8 +382,7 @@ if (msg2) { l1sap = msgb_l1sap_prim(msg2); if (l1sap->oph.primitive == PRIM_TCH) { - LOGL1S(DL1P, LOGL_FATAL, l1t, tn, chan, fn, - "TCH twice, please FIX!\n"); + LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "TCH twice, please FIX!\n"); msgb_free(msg2); } else msg_facch = msg2; @@ -397,8 +392,7 @@ if (msg2) { l1sap = msgb_l1sap_prim(msg2); if (l1sap->oph.primitive != PRIM_TCH) { - LOGL1S(DL1P, LOGL_FATAL, l1t, tn, chan, fn, - "FACCH twice, please FIX!\n"); + LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "FACCH twice, please FIX!\n"); msgb_free(msg2); } else msg_tch = msg2; @@ -414,8 +408,8 @@ /* check validity of message */ if (msg_facch && msgb_l2len(msg_facch) != GSM_MACBLOCK_LEN) { - LOGL1S(DL1P, LOGL_FATAL, l1t, tn, chan, fn, "Prim not 23 bytes, please FIX! " - "(len=%d)\n", msgb_l2len(msg_facch)); + LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim has odd len=%u != %u\n", + msgb_l2len(msg_facch), GSM_MACBLOCK_LEN); /* free message */ msgb_free(msg_facch); msg_facch = NULL; @@ -431,20 +425,20 @@ int8_t sti, cmi; if (rsl_cmode != RSL_CMOD_SPD_SPEECH) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "Dropping speech frame, " + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Dropping speech frame, " "because we are not in speech mode\n"); goto free_bad_msg; } switch (tch_mode) { case GSM48_CMODE_SPEECH_V1: /* FR / HR */ - if (chan != TRXC_TCHF) /* HR */ + if (br->chan != TRXC_TCHF) /* HR */ len = 15; else len = GSM_FR_BYTES; break; case GSM48_CMODE_SPEECH_EFR: /* EFR */ - if (chan != TRXC_TCHF) + if (br->chan != TRXC_TCHF) goto inval_mode2; len = GSM_EFR_BYTES; break; @@ -469,33 +463,32 @@ trx_loop_amr_set(chan_state, 1); } if (ft < 0) { - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Codec (FT = %d) of RTP frame not in list\n", ft_codec); goto free_bad_msg; } - if (fn_is_codec_mode_request(fn) && chan_state->dl_ft != ft) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "Codec (FT = %d) " + if (fn_is_codec_mode_request(br->fn) && chan_state->dl_ft != ft) { + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Codec (FT = %d) " " of RTP cannot be changed now, but in next frame\n", ft_codec); goto free_bad_msg; } chan_state->dl_ft = ft; if (bfi == AMR_BAD) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, - "Transmitting 'bad AMR frame'\n"); + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Transmitting 'bad AMR frame'\n"); goto free_bad_msg; } break; default: inval_mode2: - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "TCH mode invalid, please fix!\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "TCH mode invalid, please fix!\n"); goto free_bad_msg; } if (len < 0) { - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "Cannot send invalid AMR payload\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot send invalid AMR payload\n"); goto free_bad_msg; } if (msgb_l2len(msg_tch) != len) { - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "Cannot send payload with " + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot send payload with " "invalid length! (expecting %d, received %d)\n", len, msgb_l2len(msg_tch)); free_bad_msg: @@ -512,24 +505,23 @@ } /* obtain a to-be-transmitted TCH/F (Full Traffic Channel) burst */ -int tx_tchf_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_tchf_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { struct msgb *msg_tch = NULL, *msg_facch = NULL; struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct gsm_bts_trx_ts *ts = &l1t->trx->ts[br->tn]; - struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; + struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; uint8_t tch_mode = chan_state->tch_mode; ubit_t *burst, **bursts_p = &chan_state->dl_bursts; /* send burst, if we already got a frame */ - if (bid > 0) { + if (br->bid > 0) { if (!*bursts_p) return 0; goto send_burst; } - tx_tch_common(l1t, br->tn, br->fn, chan, bid, &msg_tch, &msg_facch); + tx_tch_common(l1t, br, &msg_tch, &msg_facch); /* BURST BYPASS */ @@ -546,7 +538,7 @@ /* no message at all */ if (!msg_tch && !msg_facch) { - LOGL1S(DL1P, LOGL_INFO, l1t, br->tn, chan, br->fn, "No TCH or FACCH prim for transmit.\n"); + LOGL1SB(DL1P, LOGL_INFO, l1t, br, "No TCH or FACCH prim for transmit.\n"); goto send_burst; } @@ -574,14 +566,14 @@ send_burst: /* compose burst */ - burst = *bursts_p + bid * 116; + burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; - LOGL1S(DL1P, LOGL_DEBUG, l1t, br->tn, chan, br->fn, "Transmitting burst=%u.\n", bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting burst=%u.\n", br->bid); return 0; } diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c index 378d47a..ca05844 100644 --- a/src/osmo-bts-trx/sched_lchan_tchh.c +++ b/src/osmo-bts-trx/sched_lchan_tchh.c @@ -1,6 +1,7 @@ /* * (C) 2013 by Andreas Eversberg * (C) 2015-2017 by Harald Welte + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -45,11 +46,10 @@ #include /*! \brief a single TCH/H burst was received by the PHY, process it */ -int rx_tchh_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_tchh_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); - struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; + struct l1sched_chan_state *chan_state = &l1ts->chan_state[bi->chan]; struct gsm_lchan *lchan = chan_state->lchan; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; uint8_t *mask = &chan_state->ul_mask; @@ -77,10 +77,9 @@ /* If handover RACH detection is turned on, treat this burst as an Access Burst. * Handle NOPE.ind as usually to ensure proper Uplink measurement reporting. */ if (chan_state->ho_rach_detect == 1 && ~bi->flags & TRX_BI_F_NOPE_IND) - return rx_rach_fn(l1t, chan, bid, bi); + return rx_rach_fn(l1t, bi); - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received TCH/H, bid=%u\n", bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received TCH/H, bid=%u\n", bi->bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -90,19 +89,19 @@ } /* clear burst */ - if (bid == 0) { + if (bi->bid == 0) { memset(*bursts_p + 464, 0, 232); *mask = 0x0; } /* update mask */ - *mask |= (1 << bid); + *mask |= (1 << bi->bid); /* store measurements */ trx_sched_meas_push(chan_state, bi); /* copy burst to end of buffer of 6 bursts */ - burst = *bursts_p + bid * 116 + 464; + burst = *bursts_p + bi->bid * 116 + 464; if (bi->burst_len > 0) { memcpy(burst, bi->burst + 3, 58); memcpy(burst + 58, bi->burst + 87, 58); @@ -110,12 +109,12 @@ memset(burst, 0, 116); /* wait until complete set of bursts */ - if (bid != 1) + if (bi->bid != 1) return 0; /* check for complete set of bursts */ if ((*mask & 0x3) != 0x3) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received incomplete frame (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); } @@ -176,9 +175,8 @@ /* Tag all frames that are not regular AMR voice frames as SUB-Frames */ if (chan_state->amr_last_dtx != AMR_OTHER) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received AMR SID frame: %s\n", - gsm0503_amr_dtx_frame_name(chan_state->amr_last_dtx)); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received AMR SID frame: %s\n", + gsm0503_amr_dtx_frame_name(chan_state->amr_last_dtx)); is_sub = 1; } @@ -209,7 +207,7 @@ if (rc) trx_loop_amr_input(l1t, - trx_chan_desc[chan].chan_nr | bi->tn, chan_state, + trx_chan_desc[bi->chan].chan_nr | bi->tn, chan_state, n_errors, n_bits_total); /* only good speech frames get rtp header */ @@ -227,7 +225,7 @@ break; default: - LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; @@ -243,12 +241,11 @@ /* Check if the frame is bad */ if (rc < 0) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, - "Received bad data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); bfi_flag = true; } else if (rc < 4) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received bad data (%u/%u) with invalid codec mode %d\n", bi->fn % l1ts->mf_period, l1ts->mf_period, rc); bfi_flag = true; @@ -268,7 +265,7 @@ fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H0); else fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H1); - _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, chan, + _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, bi->chan, tch_data + amr, GSM_MACBLOCK_LEN, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, @@ -315,7 +312,7 @@ chan_state->codec[chan_state->dl_ft], AMR_BAD); if (rc < 2) { - LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, "Failed to encode AMR_BAD frame (rc=%d), " "not sending BFI\n", rc); return -EINVAL; @@ -323,7 +320,7 @@ memset(tch_data + 2, 0, rc - 2); break; default: - LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; } @@ -367,7 +364,7 @@ chan_state->ber10k_facch = 0; } - return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, chan, tch_data, rc, + return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, bi->chan, tch_data, rc, /* FIXME: what should we use for BFI here? */ bfi_flag ? bi->toa256 : meas_avg.toa256, ber10k, bfi_flag ? bi->rssi : meas_avg.rssi, is_sub); @@ -375,35 +372,34 @@ /* common section for generation of TCH bursts (TCH/H and TCH/F). * FIXME: this function is over-complicated, refactor / get rid of it. */ -extern void tx_tch_common(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, +extern void tx_tch_common(struct l1sched_trx *l1t, + const struct trx_dl_burst_req *br, struct msgb **_msg_tch, struct msgb **_msg_facch); /* obtain a to-be-transmitted TCH/H (Half Traffic Channel) burst */ -int tx_tchh_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_tchh_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { struct msgb *msg_tch = NULL, *msg_facch = NULL; struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct gsm_bts_trx_ts *ts = &l1t->trx->ts[br->tn]; - struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; + struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; uint8_t tch_mode = chan_state->tch_mode; ubit_t *burst, **bursts_p = &chan_state->dl_bursts; /* send burst, if we already got a frame */ - if (bid > 0) { + if (br->bid > 0) { if (!*bursts_p) return 0; goto send_burst; } /* get TCH and/or FACCH */ - tx_tch_common(l1t, br->tn, br->fn, chan, bid, &msg_tch, &msg_facch); + tx_tch_common(l1t, br, &msg_tch, &msg_facch); /* check for FACCH alignment */ if (msg_facch && ((((br->fn + 4) % 26) >> 2) & 1)) { - LOGL1S(DL1P, LOGL_ERROR, l1t, br->tn, chan, br->fn, "Cannot transmit FACCH starting on " - "even frames, please fix RTS!\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, + "Cannot transmit FACCH starting on even frames, please fix RTS!\n"); msgb_free(msg_facch); msg_facch = NULL; } @@ -428,7 +424,7 @@ /* no message at all */ if (!msg_tch && !msg_facch && !chan_state->dl_ongoing_facch) { - LOGL1S(DL1P, LOGL_INFO, l1t, br->tn, chan, br->fn, "No TCH or FACCH prim for transmit.\n"); + LOGL1SB(DL1P, LOGL_INFO, l1t, br, "No TCH or FACCH prim for transmit.\n"); goto send_burst; } @@ -458,14 +454,14 @@ send_burst: /* compose burst */ - burst = *bursts_p + bid * 116; + burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; - LOGL1S(DL1P, LOGL_DEBUG, l1t, br->tn, chan, br->fn, "Transmitting burst=%u.\n", bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting burst=%u.\n", br->bid); return 0; } diff --git a/src/osmo-bts-trx/sched_lchan_xcch.c b/src/osmo-bts-trx/sched_lchan_xcch.c index 90f481a..ba0d612 100644 --- a/src/osmo-bts-trx/sched_lchan_xcch.c +++ b/src/osmo-bts-trx/sched_lchan_xcch.c @@ -1,6 +1,7 @@ /* * (C) 2013 by Andreas Eversberg * (C) 2015-2017 by Harald Welte + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -46,11 +47,10 @@ } /*! \brief a single (SDCCH/SACCH) burst was received by the PHY, process it */ -int rx_data_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_data_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); - struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; + struct l1sched_chan_state *chan_state = &l1ts->chan_state[bi->chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; uint32_t *first_fn = &chan_state->ul_first_fn; uint8_t *mask = &chan_state->ul_mask; @@ -61,15 +61,14 @@ uint16_t ber10k; int rc; struct gsm_lchan *lchan = chan_state->lchan; - bool rep_sacch = L1SAP_IS_LINK_SACCH(trx_chan_desc[chan].link_id) && lchan->repeated_ul_sacch_active; + bool rep_sacch = L1SAP_IS_LINK_SACCH(trx_chan_desc[bi->chan].link_id) && lchan->repeated_ul_sacch_active; /* If handover RACH detection is turned on, treat this burst as an Access Burst. * Handle NOPE.ind as usually to ensure proper Uplink measurement reporting. */ if (chan_state->ho_rach_detect == 1 && ~bi->flags & TRX_BI_F_NOPE_IND) - return rx_rach_fn(l1t, chan, bid, bi); + return rx_rach_fn(l1t, bi); - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received Data, bid=%u\n", bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received Data, bid=%u\n", bi->bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -80,28 +79,28 @@ /* UL-SACCH requires additional memory to keep a copy of each previous * burst set. */ - if (L1SAP_IS_LINK_SACCH(trx_chan_desc[chan].link_id) && !chan_state->ul_bursts_prev) { + if (L1SAP_IS_LINK_SACCH(trx_chan_desc[bi->chan].link_id) && !chan_state->ul_bursts_prev) { chan_state->ul_bursts_prev = talloc_zero_size(tall_bts_ctx, 464); if (!chan_state->ul_bursts_prev) return -ENOMEM; } /* clear burst & store frame number of first burst */ - if (bid == 0) { + if (bi->bid == 0) { memset(*bursts_p, 0, 464); *mask = 0x0; *first_fn = bi->fn; } /* update mask */ - *mask |= (1 << bid); + *mask |= (1 << bi->bid); /* store measurements */ trx_sched_meas_push(chan_state, bi); /* Copy burst to buffer of 4 bursts. If the burst indication contains * no data, ensure that the buffer does not stay uninitialized */ - burst = *bursts_p + bid * 116; + burst = *bursts_p + bi->bid * 116; if (bi->burst_len > 0) { memcpy(burst, bi->burst + 3, 58); memcpy(burst + 58, bi->burst + 87, 58); @@ -109,7 +108,7 @@ memset(burst, 0, 58 * 2); /* wait until complete set of bursts */ - if (bid != 3) + if (bi->bid != 3) return 0; /* average measurements of the last 4 bursts */ @@ -117,8 +116,7 @@ /* check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, - "Received incomplete data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received incomplete data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); /* we require first burst to have correct FN */ @@ -132,8 +130,7 @@ /* decode */ rc = gsm0503_xcch_decode(l2, *bursts_p, &n_errors, &n_bits_total); if (rc) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, - "Received bad data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); l2_len = 0; @@ -145,11 +142,11 @@ add_sbits(*bursts_p, chan_state->ul_bursts_prev); rc = gsm0503_xcch_decode(l2, *bursts_p, &n_errors, &n_bits_total); if (rc) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Combining current SACCH block with previous SACCH block also yields bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); } else { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Combining current SACCH block with previous SACCH block yields good data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); l2_len = GSM_MACBLOCK_LEN; @@ -165,34 +162,33 @@ memcpy(chan_state->ul_bursts_prev, *bursts_p, 464); return _sched_compose_ph_data_ind(l1t, bi->tn, *first_fn, - chan, l2, l2_len, + bi->chan, l2, l2_len, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, PRES_INFO_UNKNOWN); } /* obtain a to-be-transmitted xCCH (e.g SACCH or SDCCH) burst */ -int tx_data_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_data_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct gsm_bts_trx_ts *ts = &l1t->trx->ts[br->tn]; struct msgb *msg = NULL; /* make GCC happy */ - ubit_t *burst, **bursts_p = &l1ts->chan_state[chan].dl_bursts; + ubit_t *burst, **bursts_p = &l1ts->chan_state[br->chan].dl_bursts; /* send burst, if we already got a frame */ - if (bid > 0) { + if (br->bid > 0) { if (!*bursts_p) return 0; goto send_burst; } /* get mac block from queue */ - msg = _sched_dequeue_prim(l1t, br->tn, br->fn, chan); + msg = _sched_dequeue_prim(l1t, br); if (msg) goto got_msg; - LOGL1S(DL1P, LOGL_INFO, l1t, br->tn, chan, br->fn, "No prim for transmit.\n"); + LOGL1SB(DL1P, LOGL_INFO, l1t, br, "No prim for transmit.\n"); no_msg: /* free burst memory */ @@ -205,8 +201,8 @@ got_msg: /* check validity of message */ if (msgb_l2len(msg) != GSM_MACBLOCK_LEN) { - LOGL1S(DL1P, LOGL_FATAL, l1t, br->tn, chan, br->fn, "Prim not 23 bytes, please FIX! " - "(len=%d)\n", msgb_l2len(msg)); + LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim has odd len=%u != %u\n", + msgb_l2len(msg), GSM_MACBLOCK_LEN); /* free message */ msgb_free(msg); goto no_msg; @@ -215,15 +211,15 @@ /* BURST BYPASS */ /* handle loss detection of SACCH */ - if (L1SAP_IS_LINK_SACCH(trx_chan_desc[chan].link_id)) { + if (L1SAP_IS_LINK_SACCH(trx_chan_desc[br->chan].link_id)) { /* count and send BFI */ - if (++(l1ts->chan_state[chan].lost_frames) > 1) { + if (++(l1ts->chan_state[br->chan].lost_frames) > 1) { /* TODO: Should we pass old TOA here? Otherwise we risk * unnecessary decreasing TA */ /* Note: RSSI is set to 0 to indicate to the higher * layers that this is a faked ph_data_ind */ - _sched_compose_ph_data_ind(l1t, br->tn, 0, chan, NULL, 0, + _sched_compose_ph_data_ind(l1t, br->tn, 0, br->chan, NULL, 0, 0, 0, 0, 10000, PRES_INFO_INVALID); } @@ -244,14 +240,14 @@ send_burst: /* compose burst */ - burst = *bursts_p + bid * 116; + burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; - LOGL1S(DL1P, LOGL_DEBUG, l1t, br->tn, chan, br->fn, "Transmitting burst=%u.\n", bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting burst=%u.\n", br->bid); return 0; } diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index c173f5b..bfe8d5c 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -53,10 +53,9 @@ (ts)->hopping.hsn, (ts)->hopping.maio, (ts)->hopping.arfcn_num /* an IDLE burst returns nothing. on C0 it is replaced by dummy burst */ -int tx_idle_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_idle_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, br->tn, chan, br->fn, "Transmitting IDLE\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting IDLE\n"); return 0; } diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index 466e864..bbc2c4e 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -50,12 +50,12 @@ /** * Send a message over the virtual um interface. * This will at first wrap the msg with a GSMTAP header and then write it to the declared multicast socket. - * TODO: we might want to remove unused argument uint8_t tn */ -static void _tx_to_virt_um(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, struct msgb *msg, bool is_voice_frame) +static void _tx_to_virt_um(struct l1sched_trx *l1t, + struct trx_dl_burst_req *br, + struct msgb *msg, bool is_voice_frame) { - const struct trx_chan_desc *chdesc = &trx_chan_desc[chan]; + const struct trx_chan_desc *chdesc = &trx_chan_desc[br->chan]; struct msgb *outmsg; /* msg to send with gsmtap header prepended */ uint16_t arfcn = l1t->trx->arfcn; /* ARFCN of the transceiver the message is send with */ uint8_t signal_dbm = 63; /* signal strength, 63 is best */ @@ -69,17 +69,17 @@ rsl_dec_chan_nr(chdesc->chan_nr, &rsl_chantype, &subslot, ×lot); /* the timeslot is not encoded in the chan_nr of the chdesc, and so has to be overwritten */ - timeslot = tn; + timeslot = br->tn; /* in Osmocom, AGCH is only sent on ccch block 0. no idea why. this seems to cause false GSMTAP channel * types for agch and pch. */ if (rsl_chantype == RSL_CHAN_PCH_AGCH && - l1sap_fn2ccch_block(fn) >= num_agch(l1t->trx, "PH-DATA-REQ")) + l1sap_fn2ccch_block(br->fn) >= num_agch(l1t->trx, "PH-DATA-REQ")) gsmtap_chantype = GSMTAP_CHANNEL_PCH; else gsmtap_chantype = chantype_rsl2gsmtap2(rsl_chantype, chdesc->link_id, is_voice_frame); /* the logical channel type */ if (gsmtap_chantype == GSMTAP_CHANNEL_UNKNOWN) { - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "Tx GSMTAP for RSL channel type 0x%02x: cannot send, this" + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Tx GSMTAP for RSL channel type 0x%02x: cannot send, this" " channel type is unknown in GSMTAP\n", rsl_chantype); msgb_free(msg); return; @@ -87,10 +87,10 @@ #if MODULO_HYPERFRAME /* Restart fn after every superframe (26 * 51 frames) to simulate hyperframe overflow each 6 seconds. */ - fn %= 26 * 51; + br->fn %= 26 * 51; #endif - outmsg = gsmtap_makemsg(arfcn, timeslot, gsmtap_chantype, subslot, fn, signal_dbm, snr, data, data_len); + outmsg = gsmtap_makemsg(arfcn, timeslot, gsmtap_chantype, subslot, br->fn, signal_dbm, snr, data, data_len); if (outmsg) { struct phy_instance *pinst = trx_phy_instance(l1t->trx); @@ -98,24 +98,25 @@ rc = virt_um_write_msg(pinst->phy_link->u.virt.virt_um, outmsg); if (rc < 0) - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "GSMTAP msg could not send to virtual Um: %s\n", strerror(-rc)); else if (rc == 0) bts_shutdown(l1t->trx->bts, "VirtPHY write socket died\n"); else - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, + LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Sending GSMTAP message to virtual Um\n"); } else - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "GSMTAP msg could not be created!\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "GSMTAP msg could not be created!\n"); /* free incoming message */ msgb_free(msg); } -static void tx_to_virt_um(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, struct msgb *msg) +static void tx_to_virt_um(struct l1sched_trx *l1t, + struct trx_dl_burst_req *br, + struct msgb *msg) { - _tx_to_virt_um(l1t, tn, fn, chan, msg, false); + _tx_to_virt_um(l1t, br, msg, false); } @@ -151,10 +152,11 @@ } } -static void tx_to_virt_um_voice_frame(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, struct msgb *msg) +static void tx_to_virt_um_voice_frame(struct l1sched_trx *l1t, + struct trx_dl_burst_req *br, + struct msgb *msg) { - struct gsm_lchan *lchan = lchan_from_l1t(l1t, tn, chan); + struct gsm_lchan *lchan = lchan_from_l1t(l1t, br->tn, br->chan); int um_voice_type; OSMO_ASSERT(lchan); @@ -168,7 +170,7 @@ msgb_pull_to_l2(msg); msgb_push_u8(msg, um_voice_type); msg->l2h = msg->data; - _tx_to_virt_um(l1t, tn, fn, chan, msg, true); + _tx_to_virt_um(l1t, br, msg, true); } /* @@ -176,42 +178,38 @@ */ /* an IDLE burst returns nothing. on C0 it is replaced by dummy burst */ -int tx_idle_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_idle_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { return 0; } -int tx_fcch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_fcch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { return 0; } -int tx_sch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_sch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { return 0; } -int tx_data_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_data_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { struct msgb *msg; - if (bid > 0) + if (br->bid > 0) return 0; /* get mac block from queue */ - msg = _sched_dequeue_prim(l1t, br->tn, br->fn, chan); + msg = _sched_dequeue_prim(l1t, br); if (!msg) { - LOGL1S(DL1P, LOGL_INFO, l1t, br->tn, chan, br->fn, "has not been served !! No prim\n"); + LOGL1SB(DL1P, LOGL_INFO, l1t, br, "has not been served !! No prim\n"); return -ENODEV; } /* check validity of message */ if (msgb_l2len(msg) != GSM_MACBLOCK_LEN) { - LOGL1S(DL1P, LOGL_FATAL, l1t, br->tn, chan, br->fn, "Prim not 23 bytes, please FIX! (len=%d)\n", + LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim not 23 bytes, please FIX! (len=%d)\n", msgb_l2len(msg)); /* free message */ msgb_free(msg); @@ -219,38 +217,38 @@ } /* transmit the msg received on dl from bsc to layer1 (virt Um) */ - tx_to_virt_um(l1t, br->tn, br->fn, chan, msg); + tx_to_virt_um(l1t, br, msg); return 0; } -int tx_pdtch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_pdtch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { struct msgb *msg = NULL; /* make GCC happy */ - if (bid > 0) + if (br->bid > 0) return 0; /* get mac block from queue */ - msg = _sched_dequeue_prim(l1t, br->tn, br->fn, chan); + msg = _sched_dequeue_prim(l1t, br); if (!msg) { - LOGL1S(DL1P, LOGL_INFO, l1t, br->tn, chan, br->fn, "has not been served !! No prim\n"); + LOGL1SB(DL1P, LOGL_INFO, l1t, br, "has not been served !! No prim\n"); return -ENODEV; } - tx_to_virt_um(l1t, br->tn, br->fn, chan, msg); + tx_to_virt_um(l1t, br, msg); return 0; } -static void tx_tch_common(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, struct msgb **_msg_tch, - struct msgb **_msg_facch, int codec_mode_request) +static void tx_tch_common(struct l1sched_trx *l1t, + const struct trx_dl_burst_req *br, + struct msgb **_msg_tch, struct msgb **_msg_facch, + int codec_mode_request) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct msgb *msg1, *msg2, *msg_tch = NULL, *msg_facch = NULL; - struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; + struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; uint8_t rsl_cmode = chan_state->rsl_cmode; uint8_t tch_mode = chan_state->tch_mode; struct osmo_phsap_prim *l1sap; @@ -261,13 +259,13 @@ uint8_t tch_data[GSM_FR_BYTES]; int len; - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "Missing TCH bursts detected, sending " - "BFI for %s\n", trx_chan_desc[chan].name); + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Missing TCH bursts detected, sending " + "BFI for %s\n", trx_chan_desc[br->chan].name); /* indicate bad frame */ switch (tch_mode) { case GSM48_CMODE_SPEECH_V1: /* FR / HR */ - if (chan != TRXC_TCHF) { /* HR */ + if (br->chan != TRXC_TCHF) { /* HR */ tch_data[0] = 0x70; /* F = 0, FT = 111 */ memset(tch_data + 1, 0, 14); len = 15; @@ -277,7 +275,7 @@ len = GSM_FR_BYTES; break; case GSM48_CMODE_SPEECH_EFR: /* EFR */ - if (chan != TRXC_TCHF) + if (br->chan != TRXC_TCHF) goto inval_mode1; memset(tch_data, 0, GSM_EFR_BYTES); len = GSM_EFR_BYTES; @@ -289,7 +287,7 @@ if (len < 2) break; memset(tch_data + 2, 0, len - 2); - _sched_compose_tch_ind(l1t, tn, 0, chan, tch_data, len); + _sched_compose_tch_ind(l1t, br->tn, 0, br->chan, tch_data, len); break; default: inval_mode1: @@ -298,13 +296,13 @@ len = 0; } if (len) - _sched_compose_tch_ind(l1t, tn, 0, chan, tch_data, len); + _sched_compose_tch_ind(l1t, br->tn, 0, br->chan, tch_data, len); } #endif /* get frame and unlink from queue */ - msg1 = _sched_dequeue_prim(l1t, tn, fn, chan); - msg2 = _sched_dequeue_prim(l1t, tn, fn, chan); + msg1 = _sched_dequeue_prim(l1t, br); + msg2 = _sched_dequeue_prim(l1t, br); if (msg1) { l1sap = msgb_l1sap_prim(msg1); if (l1sap->oph.primitive == PRIM_TCH) { @@ -312,8 +310,8 @@ if (msg2) { l1sap = msgb_l1sap_prim(msg2); if (l1sap->oph.primitive == PRIM_TCH) { - LOGL1S(DL1P, LOGL_FATAL, l1t, tn, chan, fn, - "TCH twice, please FIX! "); + LOGL1SB(DL1P, LOGL_FATAL, l1t, br, + "TCH twice, please FIX!\n"); msgb_free(msg2); } else msg_facch = msg2; @@ -323,8 +321,8 @@ if (msg2) { l1sap = msgb_l1sap_prim(msg2); if (l1sap->oph.primitive != PRIM_TCH) { - LOGL1S(DL1P, LOGL_FATAL, l1t, tn, chan, fn, - "FACCH twice, please FIX! "); + LOGL1SB(DL1P, LOGL_FATAL, l1t, br, + "FACCH twice, please FIX!\n"); msgb_free(msg2); } else msg_tch = msg2; @@ -340,8 +338,8 @@ /* check validity of message */ if (msg_facch && msgb_l2len(msg_facch) != GSM_MACBLOCK_LEN) { - LOGL1S(DL1P, LOGL_FATAL, l1t, tn, chan, fn, "Prim not 23 bytes, please FIX! (len=%d)\n", - msgb_l2len(msg_facch)); + LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim has odd len=%u != %u\n", + msgb_l2len(msg_facch), GSM_MACBLOCK_LEN); /* free message */ msgb_free(msg_facch); msg_facch = NULL; @@ -356,18 +354,18 @@ #endif if (rsl_cmode != RSL_CMOD_SPD_SPEECH) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "Dropping speech frame, " + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Dropping speech frame, " "because we are not in speech mode\n"); goto free_bad_msg; } switch (tch_mode) { case GSM48_CMODE_SPEECH_V1: /* FR / HR */ - if (chan != TRXC_TCHF) { /* HR */ + if (br->chan != TRXC_TCHF) { /* HR */ len = 15; if (msgb_l2len(msg_tch) >= 1 && (msg_tch->l2h[0] & 0xf0) != 0x00) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Transmitting 'bad HR frame'\n"); goto free_bad_msg; } @@ -376,18 +374,18 @@ len = GSM_FR_BYTES; if (msgb_l2len(msg_tch) >= 1 && (msg_tch->l2h[0] >> 4) != 0xd) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Transmitting 'bad FR frame'\n"); goto free_bad_msg; } break; case GSM48_CMODE_SPEECH_EFR: /* EFR */ - if (chan != TRXC_TCHF) + if (br->chan != TRXC_TCHF) goto inval_mode2; len = GSM_EFR_BYTES; if (msgb_l2len(msg_tch) >= 1 && (msg_tch->l2h[0] >> 4) != 0xc) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Transmitting 'bad EFR frame'\n"); goto free_bad_msg; } @@ -398,15 +396,15 @@ break; default: inval_mode2: - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "TCH mode invalid, please fix!\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "TCH mode invalid, please fix!\n"); goto free_bad_msg; } if (len < 0) { - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "Cannot send invalid AMR payload\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot send invalid AMR payload\n"); goto free_bad_msg; } if (msgb_l2len(msg_tch) != len) { - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "Cannot send payload with " + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot send payload with " "invalid length! (expecing %d, received %d)\n", len, msgb_l2len(msg_tch)); free_bad_msg: /* free message */ @@ -421,51 +419,47 @@ *_msg_facch = msg_facch; } -int tx_tchf_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_tchf_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { struct msgb *msg_tch = NULL, *msg_facch = NULL; - if (bid > 0) + if (br->bid > 0) return 0; - tx_tch_common(l1t, br->tn, br->fn, chan, bid, &msg_tch, &msg_facch, - (((br->fn + 4) % 26) >> 2) & 1); + tx_tch_common(l1t, br, &msg_tch, &msg_facch, (((br->fn + 4) % 26) >> 2) & 1); /* no message at all */ if (!msg_tch && !msg_facch) { - LOGL1S(DL1P, LOGL_INFO, l1t, br->tn, chan, br->fn, "has not been served !! No prim\n"); + LOGL1SB(DL1P, LOGL_INFO, l1t, br, "has not been served !! No prim\n"); return -ENODEV; } if (msg_facch) { - tx_to_virt_um(l1t, br->tn, br->fn, chan, msg_facch); + tx_to_virt_um(l1t, br, msg_facch); msgb_free(msg_tch); } else if (msg_tch) - tx_to_virt_um_voice_frame(l1t, br->tn, br->fn, chan, msg_tch); + tx_to_virt_um_voice_frame(l1t, br, msg_tch); return 0; } -int tx_tchh_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_tchh_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { struct msgb *msg_tch = NULL, *msg_facch = NULL; struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); - struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; + struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; //uint8_t tch_mode = chan_state->tch_mode; /* send burst, if we already got a frame */ - if (bid > 0) + if (br->bid > 0) return 0; /* get TCH and/or FACCH */ - tx_tch_common(l1t, br->tn, br->fn, chan, bid, &msg_tch, &msg_facch, - (((br->fn + 4) % 26) >> 2) & 1); + tx_tch_common(l1t, br, &msg_tch, &msg_facch, (((br->fn + 4) % 26) >> 2) & 1); /* check for FACCH alignment */ if (msg_facch && ((((br->fn + 4) % 26) >> 2) & 1)) { - LOGL1S(DL1P, LOGL_ERROR, l1t, br->tn, chan, br->fn, "Cannot transmit FACCH starting on " + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot transmit FACCH starting on " "even frames, please fix RTS!\n"); msgb_free(msg_facch); msg_facch = NULL; @@ -473,15 +467,15 @@ /* no message at all */ if (!msg_tch && !msg_facch && !chan_state->dl_ongoing_facch) { - LOGL1S(DL1P, LOGL_INFO, l1t, br->tn, chan, br->fn, "has not been served !! No prim\n"); + LOGL1SB(DL1P, LOGL_INFO, l1t, br, "has not been served !! No prim\n"); return -ENODEV; } if (msg_facch) { - tx_to_virt_um(l1t, br->tn, br->fn, chan, msg_facch); + tx_to_virt_um(l1t, br, msg_facch); msgb_free(msg_tch); } else if (msg_tch) - tx_to_virt_um_voice_frame(l1t, br->tn, br->fn, chan, msg_tch); + tx_to_virt_um_voice_frame(l1t, br, msg_tch); return 0; } @@ -495,33 +489,28 @@ * directly into the L1SAP, bypassing the TDMA multiplex logic oriented * towards receiving bursts */ -int rx_rach_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_rach_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { return 0; } /*! \brief a single burst was received by the PHY, process it */ -int rx_data_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_data_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { return 0; } -int rx_pdtch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_pdtch_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { return 0; } -int rx_tchf_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_tchf_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { return 0; } -int rx_tchh_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_tchh_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic5a02b074662b3e429bf18e05a982f3f3e7b7444 Gerrit-Change-Number: 24178 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 8 15:41:31 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 8 May 2021 15:41:31 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Re-organize osmo-bts-trx specific structures References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24179 ) Change subject: [VAMOS] Re-organize osmo-bts-trx specific structures ...................................................................... [VAMOS] Re-organize osmo-bts-trx specific structures Change-Id: I7c4379e43a25e9d858d582a99bf6c4b65c9af481 --- M include/osmo-bts/gsm_data.h M include/osmo-bts/phy_link.h M include/osmo-bts/scheduler.h M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/loops.c M src/osmo-bts-trx/loops.h M src/osmo-bts-trx/sched_lchan_fcch_sch.c M src/osmo-bts-trx/sched_lchan_pdtch.c M src/osmo-bts-trx/sched_lchan_rach.c M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_lchan_xcch.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-trx/trx_if.c M src/osmo-bts-virtual/bts_model.c M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/l1_if.h M src/osmo-bts-virtual/scheduler_virtbts.c 21 files changed, 400 insertions(+), 509 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/79/24179/1 diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index ff0c89c..5b441be 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -455,6 +455,9 @@ /* Transceiver "cache" for frequency hopping */ const struct gsm_bts_trx *fh_trx_list[64]; + /* Implementation specific structure(s) */ + void *impl; + struct gsm_lchan lchan[TS_MAX_LCHAN]; }; diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index 467ad52..c4b60f3 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -115,9 +115,6 @@ bool sw_act_reported; } osmotrx; struct { - struct l1sched_trx sched; - } virt; - struct { /* logical transceiver number within one PHY */ uint32_t trx_id; /* trx lock state variable */ diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 2d613e7..e5bd1a1 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -137,6 +137,8 @@ }; struct l1sched_ts { + struct gsm_bts_trx_ts *ts; /* timeslot we belong to */ + uint8_t mf_index; /* selected multiframe index */ uint8_t mf_period; /* period of multiframe */ const struct trx_sched_frame *mf_frames; /* pointer to frame layout */ @@ -149,25 +151,18 @@ struct l1sched_chan_state chan_state[_TRX_CHAN_MAX]; }; -struct l1sched_trx { - struct gsm_bts_trx *trx; - struct l1sched_ts ts[TRX_NR_TS]; -}; - -struct l1sched_ts *l1sched_trx_get_ts(struct l1sched_trx *l1t, uint8_t tn); - /*! \brief Initialize the scheduler data structures */ -int trx_sched_init(struct l1sched_trx *l1t, struct gsm_bts_trx *trx); +void trx_sched_init(struct gsm_bts_trx *trx); /*! \brief De-initialize the scheduler data structures */ -void trx_sched_exit(struct l1sched_trx *l1t); +void trx_sched_clean(struct gsm_bts_trx *trx); /*! \brief Handle a PH-DATA.req from L2 down to L1 */ -int trx_sched_ph_data_req(struct l1sched_trx *l1t, struct osmo_phsap_prim *l1sap); +int trx_sched_ph_data_req(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap); /*! \brief Handle a PH-TCH.req from L2 down to L1 */ -int trx_sched_tch_req(struct l1sched_trx *l1t, struct osmo_phsap_prim *l1sap); +int trx_sched_tch_req(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap); /*! \brief PHY informs us of new (current) GSM frame number */ int trx_sched_clock(struct gsm_bts *bts, uint32_t fn); @@ -179,21 +174,19 @@ int trx_sched_clock_stopped(struct gsm_bts *bts); /*! \brief set multiframe scheduler to given physical channel config */ -int trx_sched_set_pchan(struct l1sched_trx *l1t, uint8_t tn, - enum gsm_phys_chan_config pchan); +int trx_sched_set_pchan(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config pchan); /*! \brief set all matching logical channels active/inactive */ -int trx_sched_set_lchan(struct l1sched_trx *l1t, uint8_t chan_nr, uint8_t link_id, bool active); +int trx_sched_set_lchan(struct gsm_lchan *lchan, uint8_t chan_nr, uint8_t link_id, bool active); /*! \brief set mode of all matching logical channels to given mode(s) */ -int trx_sched_set_mode(struct l1sched_trx *l1t, uint8_t chan_nr, uint8_t rsl_cmode, +int trx_sched_set_mode(struct gsm_bts_trx_ts *ts, uint8_t chan_nr, uint8_t rsl_cmode, uint8_t tch_mode, int codecs, uint8_t codec0, uint8_t codec1, uint8_t codec2, uint8_t codec3, uint8_t initial_codec, uint8_t handover); /*! \brief set ciphering on given logical channels */ -int trx_sched_set_cipher(struct l1sched_trx *l1t, uint8_t chan_nr, int downlink, - int algo, uint8_t *key, int key_len); +int trx_sched_set_cipher(struct gsm_lchan *lchan, uint8_t chan_nr, bool downlink); /* frame structures */ struct trx_sched_frame { @@ -274,8 +267,8 @@ }; /*! Handle an UL burst received by PHY */ -int trx_sched_route_burst_ind(struct trx_ul_burst_ind *bi, struct l1sched_trx *l1t); -int trx_sched_ul_burst(struct l1sched_trx *l1t, struct trx_ul_burst_ind *bi); +int trx_sched_route_burst_ind(const struct gsm_bts_trx *trx, struct trx_ul_burst_ind *bi); +int trx_sched_ul_burst(struct l1sched_ts *l1ts, struct trx_ul_burst_ind *bi); /* Averaging mode for trx_sched_meas_avg() */ enum sched_meas_avg_mode { diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index 13ca71b..2a0dd11 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -1,21 +1,18 @@ #pragma once -#define LOGL1S(subsys, level, l1t, tn, chan, fn, fmt, args ...) \ +#define LOGL1S(subsys, level, l1ts, chan, fn, fmt, args ...) \ LOGP(subsys, level, "%s %s %s: " fmt, \ gsm_fn_as_gsmtime_str(fn), \ - gsm_ts_name(&(l1t)->trx->ts[tn]), \ + gsm_ts_name((l1ts)->ts), \ chan >=0 ? trx_chan_desc[chan].name : "", ## args) /* Logging helper adding context from trx_{ul,dl}_burst_{ind,req} */ -#define LOGL1SB(subsys, level, l1t, b, fmt, args ...) \ - LOGL1S(subsys, level, l1t, (b)->tn, (b)->chan, (b)->fn, fmt, ## args) +#define LOGL1SB(subsys, level, l1ts, b, fmt, args ...) \ + LOGL1S(subsys, level, l1ts, (b)->chan, (b)->fn, fmt, ## args) -typedef int trx_sched_rts_func(struct l1sched_trx *l1t, uint8_t tn, - uint32_t fn, enum trx_chan_type chan); - -typedef int trx_sched_dl_func(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); - -typedef int trx_sched_ul_func(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); +typedef int trx_sched_rts_func(const struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br); +typedef int trx_sched_dl_func(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); +typedef int trx_sched_ul_func(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi); struct trx_chan_desc { /*! \brief Human-readable name */ @@ -42,35 +39,34 @@ extern const ubit_t _sched_egprs_tsc[8][78]; extern const ubit_t _sched_sch_train[64]; -struct msgb *_sched_dequeue_prim(struct l1sched_trx *l1t, - const struct trx_dl_burst_req *br); +struct msgb *_sched_dequeue_prim(struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br); -int _sched_compose_ph_data_ind(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, +int _sched_compose_ph_data_ind(struct l1sched_ts *l1ts, uint32_t fn, enum trx_chan_type chan, uint8_t *l2, uint8_t l2_len, float rssi, int16_t ta_offs_256bits, int16_t link_qual_cb, uint16_t ber10k, enum osmo_ph_pres_info_type presence_info); -int _sched_compose_tch_ind(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, +int _sched_compose_tch_ind(struct l1sched_ts *l1ts, uint32_t fn, enum trx_chan_type chan, uint8_t *tch, uint8_t tch_len, int16_t ta_offs_256bits, uint16_t ber10k, float rssi, uint8_t is_sub); -int tx_idle_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); -int tx_fcch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); -int tx_sch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); -int tx_data_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); -int tx_pdtch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); -int tx_tchf_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); -int tx_tchh_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); +int tx_idle_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); +int tx_fcch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); +int tx_sch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); +int tx_data_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); +int tx_pdtch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); +int tx_tchf_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); +int tx_tchh_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); -int rx_rach_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); -int rx_data_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); -int rx_pdtch_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); -int rx_tchf_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); -int rx_tchh_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); +int rx_rach_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi); +int rx_data_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi); +int rx_pdtch_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi); +int rx_tchf_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi); +int rx_tchh_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi); -void _sched_dl_burst(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); -int _sched_rts(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn); -void _sched_act_rach_det(struct l1sched_trx *l1t, uint8_t tn, uint8_t ss, int activate); +void _sched_dl_burst(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); +int _sched_rts(const struct l1sched_ts *l1ts, uint32_t fn); +void _sched_act_rach_det(struct gsm_bts_trx *trx, uint8_t tn, uint8_t ss, int activate); diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 87a1f60..3e7ae58 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -3,6 +3,7 @@ /* (C) 2013 by Andreas Eversberg * (C) 2015 by Alexander Chemeris * (C) 2015 by Harald Welte + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -46,12 +47,9 @@ extern void *tall_bts_ctx; -static int rts_data_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan); -static int rts_tchf_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan); -static int rts_tchh_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan); +static int rts_data_fn(const struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br); +static int rts_tchf_fn(const struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br); +static int rts_tchh_fn(const struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br); /*! \brief Dummy Burst (TS 05.02 Chapter 5.2.6) */ const ubit_t _sched_dummy_burst[GSM_BURST_LEN] = { @@ -576,20 +574,20 @@ * init / exit */ -int trx_sched_init(struct l1sched_trx *l1t, struct gsm_bts_trx *trx) +void trx_sched_init(struct gsm_bts_trx *trx) { - uint8_t tn; - unsigned int i; + unsigned int tn, i; - if (!trx) - return -EINVAL; + LOGPTRX(trx, DL1C, LOGL_DEBUG, "Init scheduler structures\n"); - l1t->trx = trx; + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + struct l1sched_ts *l1ts; - LOGP(DL1C, LOGL_NOTICE, "Init scheduler for trx=%u\n", l1t->trx->nr); + l1ts = talloc_zero(trx, struct l1sched_ts); + OSMO_ASSERT(l1ts != NULL); - for (tn = 0; tn < ARRAY_SIZE(l1t->ts); tn++) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + trx->ts[tn].impl = l1ts; + l1ts->ts = &trx->ts[tn]; l1ts->mf_index = 0; l1ts->ctrs = rate_ctr_group_alloc(trx, &l1sched_ts_ctrg_desc, (trx->nr + 1) * 10 + tn); @@ -601,20 +599,18 @@ chan_state->active = false; } } - - return 0; } -void trx_sched_exit(struct l1sched_trx *l1t) +void trx_sched_clean(struct gsm_bts_trx *trx) { - struct gsm_bts_trx_ts *ts; - uint8_t tn; - int i; + unsigned int tn, i; - LOGP(DL1C, LOGL_NOTICE, "Exit scheduler for trx=%u\n", l1t->trx->nr); + LOGPTRX(trx, DL1C, LOGL_DEBUG, "Clean scheduler structures\n"); - for (tn = 0; tn < ARRAY_SIZE(l1t->ts); tn++) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + struct l1sched_ts *l1ts = ts->impl; + msgb_queue_flush(&l1ts->dl_prims); rate_ctr_group_free(l1ts->ctrs); l1ts->ctrs = NULL; @@ -631,19 +627,16 @@ } } /* clear lchan channel states */ - ts = &l1t->trx->ts[tn]; for (i = 0; i < ARRAY_SIZE(ts->lchan); i++) lchan_set_state(&ts->lchan[i], LCHAN_S_NONE); } } -struct msgb *_sched_dequeue_prim(struct l1sched_trx *l1t, - const struct trx_dl_burst_req *br) +struct msgb *_sched_dequeue_prim(struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br) { struct msgb *msg, *msg2; uint32_t prim_fn, l1sap_fn; uint8_t chan_nr, link_id; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); /* get prim of current fn from queue */ llist_for_each_entry_safe(msg, msg2, &l1ts->dl_prims, list) { @@ -660,17 +653,17 @@ l1sap_fn = l1sap->u.tch.fn; break; default: - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Prim has wrong type.\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Prim has wrong type.\n"); goto free_msg; } prim_fn = GSM_TDMA_FN_SUB(l1sap_fn, br->fn); if (prim_fn > 100) { /* l1sap_fn < fn */ - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Prim %u is out of range (%u vs exp %u), or channel %s with " "type %s is already disabled. If this happens in " "conjunction with PCU, increase 'rts-advance' by 5.\n", prim_fn, l1sap_fn, br->fn, - get_lchan_by_chan_nr(l1t->trx, chan_nr)->name, + get_lchan_by_chan_nr(l1ts->ts->trx, chan_nr)->name, trx_chan_desc[br->chan].name); rate_ctr_inc2(l1ts->ctrs, L1SCHED_TS_CTR_DL_LATE); /* unlink and free message */ @@ -684,7 +677,7 @@ /* l1sap_fn == fn */ if ((chan_nr ^ (trx_chan_desc[br->chan].chan_nr | br->tn)) || ((link_id & 0xc0) ^ trx_chan_desc[br->chan].link_id)) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Prim has wrong chan_nr=0x%02x link_id=%02x, " + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Prim has wrong chan_nr=0x%02x link_id=%02x, " "expecting chan_nr=0x%02x link_id=%02x.\n", chan_nr, link_id, trx_chan_desc[br->chan].chan_nr | br->tn, trx_chan_desc[br->chan].link_id); goto free_msg; @@ -706,7 +699,7 @@ return NULL; } -int _sched_compose_ph_data_ind(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, +int _sched_compose_ph_data_ind(struct l1sched_ts *l1ts, uint32_t fn, enum trx_chan_type chan, uint8_t *l2, uint8_t l2_len, float rssi, int16_t ta_offs_256bits, int16_t link_qual_cb, @@ -715,8 +708,7 @@ { struct msgb *msg; struct osmo_phsap_prim *l1sap; - uint8_t chan_nr = trx_chan_desc[chan].chan_nr | tn; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + uint8_t chan_nr = trx_chan_desc[chan].chan_nr | l1ts->ts->nr; /* compose primitive */ msg = l1sap_msgb_alloc(l2_len); @@ -739,22 +731,20 @@ l1ts->chan_state[chan].lost_frames = 0; /* forward primitive */ - l1sap_up(l1t->trx, l1sap); + l1sap_up(l1ts->ts->trx, l1sap); return 0; } -int _sched_compose_tch_ind(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, +int _sched_compose_tch_ind(struct l1sched_ts *l1ts, uint32_t fn, enum trx_chan_type chan, uint8_t *tch, uint8_t tch_len, int16_t ta_offs_256bits, uint16_t ber10k, float rssi, uint8_t is_sub) { struct msgb *msg; struct osmo_phsap_prim *l1sap; - struct gsm_bts_trx *trx = l1t->trx; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); - uint8_t chan_nr = trx_chan_desc[chan].chan_nr | tn; - struct gsm_lchan *lchan = &trx->ts[L1SAP_CHAN2TS(chan_nr)].lchan[l1sap_chan2ss(chan_nr)]; + uint8_t chan_nr = trx_chan_desc[chan].chan_nr | l1ts->ts->nr; + struct gsm_lchan *lchan = &l1ts->ts->lchan[l1sap_chan2ss(chan_nr)]; /* compose primitive */ msg = l1sap_msgb_alloc(tch_len); @@ -775,11 +765,10 @@ if (l1ts->chan_state[chan].lost_frames) l1ts->chan_state[chan].lost_frames--; - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, -1, l1sap->u.data.fn, - "%s Rx -> RTP: %s\n", + LOGL1S(DL1P, LOGL_DEBUG, l1ts, chan, l1sap->u.data.fn, "%s Rx -> RTP: %s\n", gsm_lchan_name(lchan), osmo_hexdump(msgb_l2(msg), msgb_l2len(msg))); /* forward primitive */ - l1sap_up(l1t->trx, l1sap); + l1sap_up(l1ts->ts->trx, l1sap); return 0; } @@ -790,12 +779,12 @@ * data request (from upper layer) */ -int trx_sched_ph_data_req(struct l1sched_trx *l1t, struct osmo_phsap_prim *l1sap) +int trx_sched_ph_data_req(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) { - uint8_t tn = l1sap->u.data.chan_nr & 7; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + uint8_t tn = L1SAP_CHAN2TS(l1sap->u.data.chan_nr); + struct l1sched_ts *l1ts = trx->ts[tn].impl; - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, -1, l1sap->u.data.fn, + LOGL1S(DL1P, LOGL_DEBUG, l1ts, -1, l1sap->u.data.fn, "PH-DATA.req: chan_nr=0x%02x link_id=0x%02x\n", l1sap->u.data.chan_nr, l1sap->u.data.link_id); @@ -813,13 +802,13 @@ return 0; } -int trx_sched_tch_req(struct l1sched_trx *l1t, struct osmo_phsap_prim *l1sap) +int trx_sched_tch_req(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) { - uint8_t tn = l1sap->u.tch.chan_nr & 7; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + uint8_t tn = L1SAP_CHAN2TS(l1sap->u.data.chan_nr); + struct l1sched_ts *l1ts = trx->ts[tn].impl; - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, -1, l1sap->u.tch.fn, "TCH.req: chan_nr=0x%02x\n", - l1sap->u.tch.chan_nr); + LOGL1S(DL1P, LOGL_DEBUG, l1ts, -1, l1sap->u.tch.fn, + "TCH.req: chan_nr=0x%02x\n", l1sap->u.tch.chan_nr); OSMO_ASSERT(l1sap->oph.operation == PRIM_OP_REQUEST); OSMO_ASSERT(l1sap->oph.msg); @@ -841,31 +830,28 @@ */ /* RTS for data frame */ -static int rts_data_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan) +static int rts_data_fn(const struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br) { uint8_t chan_nr, link_id; struct msgb *msg; struct osmo_phsap_prim *l1sap; /* get data for RTS indication */ - chan_nr = trx_chan_desc[chan].chan_nr | tn; - link_id = trx_chan_desc[chan].link_id; + chan_nr = trx_chan_desc[br->chan].chan_nr | br->tn; + link_id = trx_chan_desc[br->chan].link_id; if (!chan_nr) { - LOGL1S(DL1P, LOGL_FATAL, l1t, tn, chan, fn, - "RTS func with non-existing chan_nr %d\n", chan_nr); + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "RTS func with non-existing chan_nr 0x%02x\n", chan_nr); return -ENODEV; } /* For handover detection, there are cases where the SACCH should remain inactive until the first RACH * indicating the TA is received. */ if (L1SAP_IS_LINK_SACCH(link_id) - && !l1t->ts[tn].chan_state[chan].lchan->want_dl_sacch_active) + && !l1ts->chan_state[br->chan].lchan->want_dl_sacch_active) return 0; - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, - "PH-RTS.ind: chan_nr=0x%02x link_id=0x%02x\n", chan_nr, link_id); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "PH-RTS.ind: chan_nr=0x%02x link_id=0x%02x\n", chan_nr, link_id); /* generate prim */ msg = l1sap_msgb_alloc(200); @@ -876,31 +862,30 @@ PRIM_OP_INDICATION, msg); l1sap->u.data.chan_nr = chan_nr; l1sap->u.data.link_id = link_id; - l1sap->u.data.fn = fn; + l1sap->u.data.fn = br->fn; - return l1sap_up(l1t->trx, l1sap); + return l1sap_up(l1ts->ts->trx, l1sap); } -static int rts_tch_common(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, int facch) +static int rts_tch_common(const struct l1sched_ts *l1ts, + const struct trx_dl_burst_req *br, + bool facch) { uint8_t chan_nr, link_id; struct msgb *msg; struct osmo_phsap_prim *l1sap; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); int rc = 0; /* get data for RTS indication */ - chan_nr = trx_chan_desc[chan].chan_nr | tn; - link_id = trx_chan_desc[chan].link_id; + chan_nr = trx_chan_desc[br->chan].chan_nr | br->tn; + link_id = trx_chan_desc[br->chan].link_id; if (!chan_nr) { - LOGL1S(DL1P, LOGL_FATAL, l1t, tn, chan, fn, - "RTS func with non-existing chan_nr %d\n", chan_nr); + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "RTS func with non-existing chan_nr 0x%02x\n", chan_nr); return -ENODEV; } - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, "TCH RTS.ind: chan_nr=0x%02x\n", chan_nr); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "TCH RTS.ind: chan_nr=0x%02x\n", chan_nr); /* only send, if FACCH is selected */ if (facch) { @@ -913,13 +898,13 @@ PRIM_OP_INDICATION, msg); l1sap->u.data.chan_nr = chan_nr; l1sap->u.data.link_id = link_id; - l1sap->u.data.fn = fn; + l1sap->u.data.fn = br->fn; - rc = l1sap_up(l1t->trx, l1sap); + rc = l1sap_up(l1ts->ts->trx, l1sap); } /* don't send, if TCH is in signalling only mode */ - if (l1ts->chan_state[chan].rsl_cmode != RSL_CMOD_SPD_SIGN) { + if (l1ts->chan_state[br->chan].rsl_cmode != RSL_CMOD_SPD_SIGN) { /* generate prim */ msg = l1sap_msgb_alloc(200); if (!msg) @@ -928,49 +913,44 @@ osmo_prim_init(&l1sap->oph, SAP_GSM_PH, PRIM_TCH_RTS, PRIM_OP_INDICATION, msg); l1sap->u.tch.chan_nr = chan_nr; - l1sap->u.tch.fn = fn; + l1sap->u.tch.fn = br->fn; - return l1sap_up(l1t->trx, l1sap); + return l1sap_up(l1ts->ts->trx, l1sap); } return rc; } /* RTS for full rate traffic frame */ -static int rts_tchf_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan) +static int rts_tchf_fn(const struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br) { /* TCH/F may include FACCH on every 4th burst */ - return rts_tch_common(l1t, tn, fn, chan, 1); + return rts_tch_common(l1ts, br, true); } /* RTS for half rate traffic frame */ -static int rts_tchh_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan) +static int rts_tchh_fn(const struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br) { /* the FN 4/5, 13/14, 21/22 defines that FACCH may be included. */ - return rts_tch_common(l1t, tn, fn, chan, ((fn % 26) >> 2) & 1); + return rts_tch_common(l1ts, br, ((br->fn % 26) >> 2) & 1); } /* set multiframe scheduler to given pchan */ -int trx_sched_set_pchan(struct l1sched_trx *l1t, uint8_t tn, - enum gsm_phys_chan_config pchan) +int trx_sched_set_pchan(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config pchan) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); - int i; - - i = find_sched_mframe_idx(pchan, tn); + struct l1sched_ts *l1ts = ts->impl; + int i = find_sched_mframe_idx(pchan, ts->nr); if (i < 0) { - LOGP(DL1C, LOGL_NOTICE, "Failed to configure multiframe " - "trx=%d ts=%d\n", l1t->trx->nr, tn); + LOGP(DL1C, LOGL_NOTICE, "%s Failed to configure multiframe\n", + gsm_ts_name(ts)); return -ENOTSUP; } l1ts->mf_index = i; l1ts->mf_period = trx_sched_multiframes[i].period; l1ts->mf_frames = trx_sched_multiframes[i].frames; - LOGP(DL1C, LOGL_NOTICE, "Configuring multiframe with %s trx=%d ts=%d\n", - trx_sched_multiframes[i].name, l1t->trx->nr, tn); + LOGP(DL1C, LOGL_NOTICE, "%s Configured multiframe with '%s'\n", + gsm_ts_name(ts), trx_sched_multiframes[i].name); return 0; } @@ -1006,10 +986,10 @@ } /* setting all logical channels given attributes to active/inactive */ -int trx_sched_set_lchan(struct l1sched_trx *l1t, uint8_t chan_nr, uint8_t link_id, bool active) +int trx_sched_set_lchan(struct gsm_lchan *lchan, uint8_t chan_nr, uint8_t link_id, bool active) { + struct l1sched_ts *l1ts = lchan->ts->impl; uint8_t tn = L1SAP_CHAN2TS(chan_nr); - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); uint8_t ss = l1sap_chan2ss(chan_nr); bool found = false; int i; @@ -1026,9 +1006,9 @@ continue; found = true; - LOGP(DL1C, LOGL_NOTICE, "%s %s on trx=%d ts=%d\n", - (active) ? "Activating" : "Deactivating", - trx_chan_desc[i].name, l1t->trx->nr, tn); + LOGPLCHAN(lchan, DL1C, LOGL_NOTICE, "%s %s\n", + (active) ? "Activating" : "Deactivating", + trx_chan_desc[i].name); /* free burst memory, to cleanly start with burst 0 */ if (chan_state->dl_bursts) { talloc_free(chan_state->dl_bursts); @@ -1044,8 +1024,7 @@ memset(chan_state, 0, sizeof(*chan_state)); /* Bind to generic 'struct gsm_lchan' */ - chan_state->lchan = get_lchan_by_chan_nr(l1t->trx, chan_nr); - OSMO_ASSERT(chan_state->lchan != NULL); + chan_state->lchan = lchan; } else { chan_state->ho_rach_detect = 0; @@ -1058,36 +1037,37 @@ /* disable handover detection (on deactivation) */ if (!active) - _sched_act_rach_det(l1t, tn, ss, 0); + _sched_act_rach_det(lchan->ts->trx, tn, ss, 0); return found ? 0 : -EINVAL; } /* setting all logical channels given attributes to active/inactive */ -int trx_sched_set_mode(struct l1sched_trx *l1t, uint8_t chan_nr, uint8_t rsl_cmode, +int trx_sched_set_mode(struct gsm_bts_trx_ts *ts, uint8_t chan_nr, uint8_t rsl_cmode, uint8_t tch_mode, int codecs, uint8_t codec0, uint8_t codec1, uint8_t codec2, uint8_t codec3, uint8_t initial_id, uint8_t handover) { + struct l1sched_ts *l1ts = ts->impl; uint8_t tn = L1SAP_CHAN2TS(chan_nr); - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); uint8_t ss = l1sap_chan2ss(chan_nr); int i; int rc = -EINVAL; - struct l1sched_chan_state *chan_state; /* no mode for PDCH */ - if (trx_sched_multiframes[l1ts->mf_index].pchan == GSM_PCHAN_PDCH) + if (ts->pchan == GSM_PCHAN_PDCH) return 0; /* look for all matching chan_nr/link_id */ for (i = 0; i < _TRX_CHAN_MAX; i++) { if (trx_chan_desc[i].chan_nr == (chan_nr & 0xf8) && trx_chan_desc[i].link_id == 0x00) { - chan_state = &l1ts->chan_state[i]; - LOGP(DL1C, LOGL_NOTICE, "Set mode %u, %u, handover %u " - "on %s of trx=%d ts=%d\n", rsl_cmode, tch_mode, - handover, trx_chan_desc[i].name, l1t->trx->nr, - tn); + struct l1sched_chan_state *chan_state = &l1ts->chan_state[i]; + + LOGP(DL1C, LOGL_NOTICE, + "%s Set mode for %s (rsl_cmode=%u, tch_mode=%u, handover=%u)\n", + gsm_ts_name(ts), trx_chan_desc[i].name, + rsl_cmode, tch_mode, handover); + chan_state->rsl_cmode = rsl_cmode; chan_state->tch_mode = tch_mode; chan_state->ho_rach_detect = handover; @@ -1114,50 +1094,49 @@ * of transceiver link). * disable handover, if state is still set, since we might not know * the actual state of transceiver (due to loss of link) */ - _sched_act_rach_det(l1t, tn, ss, handover); + _sched_act_rach_det(ts->trx, tn, ss, handover); return rc; } /* setting cipher on logical channels */ -int trx_sched_set_cipher(struct l1sched_trx *l1t, uint8_t chan_nr, int downlink, - int algo, uint8_t *key, int key_len) +int trx_sched_set_cipher(struct gsm_lchan *lchan, uint8_t chan_nr, bool downlink) { - uint8_t tn = L1SAP_CHAN2TS(chan_nr); - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); - int i; - int rc = -EINVAL; - struct l1sched_chan_state *chan_state; + int algo = lchan->encr.alg_id - 1; + int i, rc = -EINVAL; /* no cipher for PDCH */ - if (trx_sched_multiframes[l1ts->mf_index].pchan == GSM_PCHAN_PDCH) + if (lchan->ts->pchan == GSM_PCHAN_PDCH) return 0; /* no algorithm given means a5/0 */ if (algo <= 0) algo = 0; - else if (key_len != 8) { - LOGP(DL1C, LOGL_ERROR, "Algo A5/%d not supported with given " - "key len=%d\n", algo, key_len); + else if (lchan->encr.key_len != 8) { + LOGPLCHAN(lchan, DL1C, LOGL_ERROR, + "Algo A5/%d not supported with given key_len=%u\n", + algo, lchan->encr.key_len); return -ENOTSUP; } /* look for all matching chan_nr */ for (i = 0; i < _TRX_CHAN_MAX; i++) { if (trx_chan_desc[i].chan_nr == (chan_nr & RSL_CHAN_NR_MASK)) { - chan_state = &l1ts->chan_state[i]; - LOGP(DL1C, LOGL_NOTICE, "Set a5/%d %s for %s on trx=%d " - "ts=%d\n", algo, - (downlink) ? "downlink" : "uplink", - trx_chan_desc[i].name, l1t->trx->nr, tn); + struct l1sched_ts *l1ts = lchan->ts->impl; + struct l1sched_chan_state *l1cs = &l1ts->chan_state[i]; + + LOGPLCHAN(lchan, DL1C, LOGL_NOTICE, "Set A5/%d %s for %s\n", + algo, (downlink) ? "downlink" : "uplink", + trx_chan_desc[i].name); + if (downlink) { - chan_state->dl_encr_algo = algo; - memcpy(chan_state->dl_encr_key, key, key_len); - chan_state->dl_encr_key_len = key_len; + l1cs->dl_encr_algo = algo; + memcpy(l1cs->dl_encr_key, lchan->encr.key, lchan->encr.key_len); + l1cs->dl_encr_key_len = lchan->encr.key_len; } else { - chan_state->ul_encr_algo = algo; - memcpy(chan_state->ul_encr_key, key, key_len); - chan_state->ul_encr_key_len = key_len; + l1cs->ul_encr_algo = algo; + memcpy(l1cs->ul_encr_key, lchan->encr.key, lchan->encr.key_len); + l1cs->ul_encr_key_len = lchan->encr.key_len; } rc = 0; } @@ -1167,9 +1146,8 @@ } /* process ready-to-send */ -int _sched_rts(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn) +int _sched_rts(const struct l1sched_ts *l1ts, uint32_t fn) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); const struct trx_sched_frame *frame; uint8_t offset, period, bid; trx_sched_rts_func *func; @@ -1200,14 +1178,21 @@ if (!TRX_CHAN_IS_ACTIVE(&l1ts->chan_state[chan], chan)) return -EINVAL; - return func(l1t, tn, fn, frame->dl_chan); + /* There is no burst, just for logging */ + struct trx_dl_burst_req dbr = { + .fn = fn, + .tn = l1ts->ts->nr, + .bid = bid, + .chan = chan, + }; + + return func(l1ts, &dbr); } /* process downlink burst */ -void _sched_dl_burst(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +void _sched_dl_burst(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); - struct l1sched_chan_state *l1cs; + const struct l1sched_chan_state *l1cs; const struct trx_sched_frame *frame; uint8_t offset, period; trx_sched_dl_func *func; @@ -1231,7 +1216,7 @@ return; /* get burst from function */ - if (func(l1t, br) != 0) + if (func(l1ts, br) != 0) return; /* BS Power reduction (in dB) per logical channel */ @@ -1251,12 +1236,11 @@ } } -static int trx_sched_calc_frame_loss(struct l1sched_trx *l1t, +static int trx_sched_calc_frame_loss(struct l1sched_ts *l1ts, struct l1sched_chan_state *l1cs, const struct trx_ul_burst_ind *bi) { const struct trx_sched_frame *frame; - struct l1sched_ts *l1ts; uint32_t elapsed_fs; uint8_t offset, i; uint32_t fn_i; @@ -1269,9 +1253,6 @@ if (l1cs->proc_tdma_fs == 0) return 0; - /* Get current TDMA frame info */ - l1ts = l1sched_trx_get_ts(l1t, bi->tn); - /* Not applicable for some logical channels */ switch (bi->chan) { case TRXC_IDLE: @@ -1288,7 +1269,7 @@ /* How many frames elapsed since the last one? */ elapsed_fs = GSM_TDMA_FN_SUB(bi->fn, l1cs->last_tdma_fn); if (elapsed_fs > l1ts->mf_period) { /* Too many! */ - LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, bi, "Too many (>%u) contiguous TDMA frames=%u elapsed " "since the last processed fn=%u\n", l1ts->mf_period, elapsed_fs, l1cs->last_tdma_fn); @@ -1314,7 +1295,7 @@ } if (l1cs->lost_tdma_fs > 0) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "At least %u TDMA frames were lost since the last " "processed fn=%u\n", l1cs->lost_tdma_fs, l1cs->last_tdma_fn); @@ -1350,10 +1331,10 @@ dbi.bid = frame->ul_bid; dbi.fn = fn_i; - LOGL1SB(DL1P, LOGL_NOTICE, l1t, &dbi, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, &dbi, "Substituting lost burst with NOPE.ind\n"); - func(l1t, &dbi); + func(l1ts, &dbi); l1cs->lost_tdma_fs--; } @@ -1363,9 +1344,8 @@ } /* Process an Uplink burst indication */ -int trx_sched_ul_burst(struct l1sched_trx *l1t, struct trx_ul_burst_ind *bi) +int trx_sched_ul_burst(struct l1sched_ts *l1ts, struct trx_ul_burst_ind *bi) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *l1cs; const struct trx_sched_frame *frame; uint8_t offset, period; @@ -1386,7 +1366,7 @@ /* TODO: handle noise measurements */ if (bi->chan == TRXC_IDLE && bi->flags & TRX_BI_F_NOPE_IND) { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Rx noise measurement (%d)\n", bi->rssi); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Rx noise measurement (%d)\n", bi->rssi); return -ENOTSUP; } @@ -1399,7 +1379,7 @@ return -EINVAL; /* calculate how many TDMA frames were potentially lost */ - trx_sched_calc_frame_loss(l1t, l1cs, bi); + trx_sched_calc_frame_loss(l1ts, l1cs, bi); /* update TDMA frame counters */ l1cs->last_tdma_fn = bi->fn; @@ -1415,7 +1395,7 @@ default: /* NOTE: Uplink burst handler must check bi->burst_len before * accessing bi->burst to avoid uninitialized memory access. */ - return func(l1t, bi); + return func(l1ts, bi); } } @@ -1434,13 +1414,7 @@ } /* Invoke the logical channel handler */ - func(l1t, bi); + func(l1ts, bi); return 0; } - -struct l1sched_ts *l1sched_trx_get_ts(struct l1sched_trx *l1t, uint8_t tn) -{ - OSMO_ASSERT(tn < ARRAY_SIZE(l1t->ts)); - return &l1t->ts[tn]; -} diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index fc8ef76..3f95a69 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -109,9 +109,6 @@ int bts_model_lchan_deactivate(struct gsm_lchan *lchan) { - struct phy_instance *pinst = trx_phy_instance(lchan->ts->trx); - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; - if (lchan->rel_act_kind == LCHAN_REL_ACT_REACT) { lchan->rel_act_kind = LCHAN_REL_ACT_RSL; /* FIXME: perform whatever is needed (if any) to set proper PCH/AGCH allocation according to @@ -121,14 +118,12 @@ /* set lchan inactive */ lchan_set_state(lchan, LCHAN_S_NONE); - return trx_sched_set_lchan(&l1h->l1s, gsm_lchan2chan_nr(lchan), LID_DEDIC, false); + return trx_sched_set_lchan(lchan, gsm_lchan2chan_nr(lchan), LID_DEDIC, false); } int bts_model_lchan_deactivate_sacch(struct gsm_lchan *lchan) { - struct phy_instance *pinst = trx_phy_instance(lchan->ts->trx); - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; - return trx_sched_set_lchan(&l1h->l1s, gsm_lchan2chan_nr(lchan), LID_SACCH, false); + return trx_sched_set_lchan(lchan, gsm_lchan2chan_nr(lchan), LID_SACCH, false); } int l1if_trx_start_power_ramp(struct gsm_bts_trx *trx, ramp_compl_cb_t ramp_compl_cb) @@ -293,7 +288,7 @@ * decided on a more specific PCHAN type already. */ OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_PDCH); OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH); - rc = trx_sched_set_pchan(&l1h->l1s, tn, pchan); + rc = trx_sched_set_pchan(ts, pchan); if (rc) return NM_NACK_RES_NOTAVAIL; @@ -344,8 +339,7 @@ */ /* enable ciphering */ -static int l1if_set_ciphering(struct trx_l1h *l1h, struct gsm_lchan *lchan, - uint8_t chan_nr, int downlink) +static int l1if_set_ciphering(struct gsm_lchan *lchan, uint8_t chan_nr, int downlink) { /* ciphering already enabled in both directions */ if (lchan->ciph_state == LCHAN_CIPH_RXTX_CONF) @@ -353,28 +347,22 @@ if (!downlink) { /* set uplink */ - trx_sched_set_cipher(&l1h->l1s, chan_nr, 0, lchan->encr.alg_id - 1, - lchan->encr.key, lchan->encr.key_len); + trx_sched_set_cipher(lchan, chan_nr, false); lchan->ciph_state = LCHAN_CIPH_RX_CONF; } else { /* set downlink and also set uplink, if not already */ - if (lchan->ciph_state != LCHAN_CIPH_RX_CONF) { - trx_sched_set_cipher(&l1h->l1s, chan_nr, 0, - lchan->encr.alg_id - 1, lchan->encr.key, - lchan->encr.key_len); - } - trx_sched_set_cipher(&l1h->l1s, chan_nr, 1, lchan->encr.alg_id - 1, - lchan->encr.key, lchan->encr.key_len); + if (lchan->ciph_state != LCHAN_CIPH_RX_CONF) + trx_sched_set_cipher(lchan, chan_nr, false); + trx_sched_set_cipher(lchan, chan_nr, true); lchan->ciph_state = LCHAN_CIPH_RXTX_CONF; } return 0; } -static int mph_info_chan_confirm(struct trx_l1h *l1h, uint8_t chan_nr, - enum osmo_mph_info_type type, uint8_t cause) +static int mph_info_chan_confirm(struct gsm_bts_trx *trx, uint8_t chan_nr, + enum osmo_mph_info_type type, uint8_t cause) { - struct phy_instance *pinst = l1h->phy_inst; struct osmo_phsap_prim l1sap; memset(&l1sap, 0, sizeof(l1sap)); @@ -384,7 +372,7 @@ l1sap.u.info.u.act_cnf.chan_nr = chan_nr; l1sap.u.info.u.act_cnf.cause = cause; - return l1sap_up(pinst->trx, &l1sap); + return l1sap_up(trx, &l1sap); } int l1if_mph_time_ind(struct gsm_bts *bts, uint32_t fn) @@ -406,8 +394,6 @@ /* primitive from common part */ int bts_model_l1sap_down(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) { - struct phy_instance *pinst = trx_phy_instance(trx); - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; struct msgb *msg = l1sap->oph.msg; uint8_t chan_nr; int rc = 0; @@ -418,21 +404,21 @@ if (!msg) break; /* put data into scheduler's queue */ - return trx_sched_ph_data_req(&l1h->l1s, l1sap); + return trx_sched_ph_data_req(trx, l1sap); case OSMO_PRIM(PRIM_TCH, PRIM_OP_REQUEST): if (!msg) break; /* put data into scheduler's queue */ - return trx_sched_tch_req(&l1h->l1s, l1sap); + return trx_sched_tch_req(trx, l1sap); case OSMO_PRIM(PRIM_MPH_INFO, PRIM_OP_REQUEST): switch (l1sap->u.info.type) { case PRIM_INFO_ACT_CIPH: chan_nr = l1sap->u.info.u.ciph_req.chan_nr; lchan = get_lchan_by_chan_nr(trx, chan_nr); if (l1sap->u.info.u.ciph_req.uplink) - l1if_set_ciphering(l1h, lchan, chan_nr, 0); + l1if_set_ciphering(lchan, chan_nr, 0); if (l1sap->u.info.u.ciph_req.downlink) - l1if_set_ciphering(l1h, lchan, chan_nr, 1); + l1if_set_ciphering(lchan, chan_nr, 1); break; case PRIM_INFO_ACTIVATE: case PRIM_INFO_DEACTIVATE: @@ -463,11 +449,11 @@ chan_nr = RSL_CHAN_OSMO_PDCH | (chan_nr & ~RSL_CHAN_NR_MASK); /* activate dedicated channel */ - trx_sched_set_lchan(&l1h->l1s, chan_nr, LID_DEDIC, true); + trx_sched_set_lchan(lchan, chan_nr, LID_DEDIC, true); /* activate associated channel */ - trx_sched_set_lchan(&l1h->l1s, chan_nr, LID_SACCH, true); + trx_sched_set_lchan(lchan, chan_nr, LID_SACCH, true); /* set mode */ - trx_sched_set_mode(&l1h->l1s, chan_nr, + trx_sched_set_mode(lchan->ts, chan_nr, lchan->rsl_cmode, lchan->tch_mode, lchan->tch.amr_mr.num_modes, lchan->tch.amr_mr.bts_mode[0].mode, @@ -481,16 +467,15 @@ /* set lchan active */ lchan_set_state(lchan, LCHAN_S_ACTIVE); /* set initial ciphering */ - l1if_set_ciphering(l1h, lchan, chan_nr, 0); - l1if_set_ciphering(l1h, lchan, chan_nr, 1); + l1if_set_ciphering(lchan, chan_nr, 0); + l1if_set_ciphering(lchan, chan_nr, 1); if (lchan->encr.alg_id) lchan->ciph_state = LCHAN_CIPH_RXTX_CONF; else lchan->ciph_state = LCHAN_CIPH_NONE; /* confirm */ - mph_info_chan_confirm(l1h, chan_nr, - PRIM_INFO_ACTIVATE, 0); + mph_info_chan_confirm(trx, chan_nr, PRIM_INFO_ACTIVATE, 0); break; } if (l1sap->u.info.type == PRIM_INFO_MODIFY) { @@ -499,7 +484,7 @@ osmo_ecu_destroy(lchan->ecu_state); lchan->ecu_state = osmo_ecu_init(trx, lchan2ecu_codec(lchan)); /* change mode */ - trx_sched_set_mode(&l1h->l1s, chan_nr, + trx_sched_set_mode(lchan->ts, chan_nr, lchan->rsl_cmode, lchan->tch_mode, lchan->tch.amr_mr.num_modes, lchan->tch.amr_mr.bts_mode[0].mode, @@ -527,8 +512,7 @@ /* deactivate dedicated channel */ lchan_deactivate(lchan); /* confirm only on dedicated channel */ - mph_info_chan_confirm(l1h, chan_nr, - PRIM_INFO_DEACTIVATE, 0); + mph_info_chan_confirm(trx, chan_nr, PRIM_INFO_DEACTIVATE, 0); } break; default: diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index 491f7cd..864bb69 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -125,8 +125,6 @@ /* transceiver config */ struct trx_config config; struct osmo_fsm_inst *provision_fi; - - struct l1sched_trx l1s; }; struct trx_l1h *trx_l1h_alloc(void *tall_ctx, struct phy_instance *pinst); @@ -136,10 +134,4 @@ int l1if_trx_start_power_ramp(struct gsm_bts_trx *trx, ramp_compl_cb_t ramp_compl_cb); enum gsm_phys_chan_config transceiver_chan_type_2_pchan(uint8_t type); -static inline struct l1sched_trx *trx_l1sched_hdl(struct gsm_bts_trx *trx) -{ - struct trx_l1h *l1h = trx->pinst->u.osmotrx.hdl; - return &l1h->l1s; -} - #endif /* L1_IF_H_TRX */ diff --git a/src/osmo-bts-trx/loops.c b/src/osmo-bts-trx/loops.c index 823c2d7..4c70e8d 100644 --- a/src/osmo-bts-trx/loops.c +++ b/src/osmo-bts-trx/loops.c @@ -35,13 +35,10 @@ #include "l1_if.h" #include "loops.h" -void trx_loop_amr_input(struct l1sched_trx *l1t, uint8_t chan_nr, - struct l1sched_chan_state *chan_state, - int n_errors, int n_bits_total) +void trx_loop_amr_input(struct l1sched_chan_state *chan_state, + int n_errors, int n_bits_total) { - struct gsm_bts_trx *trx = l1t->trx; - struct gsm_lchan *lchan = &trx->ts[L1SAP_CHAN2TS(chan_nr)] - .lchan[l1sap_chan2ss(chan_nr)]; + struct gsm_lchan *lchan = chan_state->lchan; float ber; /* calculate BER (Bit Error Ratio) */ @@ -59,7 +56,7 @@ return; /* count bit errors */ - if (L1SAP_IS_CHAN_TCHH(chan_nr)) { + if (lchan->type == GSM_LCHAN_TCH_H) { chan_state->ber_num += 2; chan_state->ber_sum += (ber + ber); } else { diff --git a/src/osmo-bts-trx/loops.h b/src/osmo-bts-trx/loops.h index 1384960..4aa05c4 100644 --- a/src/osmo-bts-trx/loops.h +++ b/src/osmo-bts-trx/loops.h @@ -11,9 +11,8 @@ * loops api */ -void trx_loop_amr_input(struct l1sched_trx *l1t, uint8_t chan_nr, - struct l1sched_chan_state *chan_state, - int n_errors, int n_bits_total); +void trx_loop_amr_input(struct l1sched_chan_state *chan_state, + int n_errors, int n_bits_total); void trx_loop_amr_set(struct l1sched_chan_state *chan_state, int loop); diff --git a/src/osmo-bts-trx/sched_lchan_fcch_sch.c b/src/osmo-bts-trx/sched_lchan_fcch_sch.c index 4aac601..eaf140f 100644 --- a/src/osmo-bts-trx/sched_lchan_fcch_sch.c +++ b/src/osmo-bts-trx/sched_lchan_fcch_sch.c @@ -36,9 +36,9 @@ #include /* obtain a to-be-transmitted FCCH (frequency correction channel) burst */ -int tx_fcch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_fcch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting FCCH\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting FCCH\n"); /* A frequency correction burst is basically a sequence of zeros. * Since br->burst is already zero-initialized, just set the length. */ @@ -48,21 +48,21 @@ } /* obtain a to-be-transmitted SCH (synchronization channel) burst */ -int tx_sch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_sch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { ubit_t burst[78]; uint8_t sb_info[4]; struct gsm_time t; uint8_t t3p, bsic; - LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting SCH\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting SCH\n"); /* BURST BYPASS */ /* create SB info from GSM time and BSIC */ gsm_fn2gsmtime(&t, br->fn); t3p = t.t3 / 10; - bsic = l1t->trx->bts->bsic; + bsic = l1ts->ts->trx->bts->bsic; sb_info[0] = ((bsic & 0x3f) << 2) | ((t.t1 & 0x600) >> 9); diff --git a/src/osmo-bts-trx/sched_lchan_pdtch.c b/src/osmo-bts-trx/sched_lchan_pdtch.c index 7ccc77a..8648cb8 100644 --- a/src/osmo-bts-trx/sched_lchan_pdtch.c +++ b/src/osmo-bts-trx/sched_lchan_pdtch.c @@ -39,9 +39,8 @@ #define EGPRS_0503_MAX_BYTES 155 /*! \brief a single PDTCH burst was received by the PHY, process it */ -int rx_pdtch_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_pdtch_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[bi->chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; uint32_t first_fn; @@ -55,7 +54,7 @@ int rc; enum osmo_ph_pres_info_type presence_info; - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received PDTCH bid=%u\n", bi->bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received PDTCH bid=%u\n", bi->bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -107,7 +106,7 @@ /* check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received incomplete frame (%u/%u)\n", + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received incomplete frame (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); } *mask = 0x0; @@ -129,7 +128,7 @@ if (rc > 0) { presence_info = PRES_INFO_BOTH; } else { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received bad PDTCH (%u/%u)\n", + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received bad PDTCH (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); rc = 0; presence_info = PRES_INFO_INVALID; @@ -138,7 +137,7 @@ ber10k = compute_ber10k(n_bits_total, n_errors); first_fn = GSM_TDMA_FN_SUB(bi->fn, 3); - return _sched_compose_ph_data_ind(l1t, bi->tn, + return _sched_compose_ph_data_ind(l1ts, first_fn, bi->chan, l2, rc, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, @@ -146,10 +145,8 @@ } /* obtain a to-be-transmitted PDTCH (packet data) burst */ -int tx_pdtch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_pdtch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); - struct gsm_bts_trx_ts *ts = &l1t->trx->ts[br->tn]; struct msgb *msg = NULL; /* make GCC happy */ ubit_t *burst, **bursts_p = &l1ts->chan_state[br->chan].dl_bursts; enum trx_mod_type *mod = &l1ts->chan_state[br->chan].dl_mod_type; @@ -163,11 +160,11 @@ } /* get mac block from queue */ - msg = _sched_dequeue_prim(l1t, br); + msg = _sched_dequeue_prim(l1ts, br); if (msg) goto got_msg; - LOGL1SB(DL1P, LOGL_INFO, l1t, br, "No prim for transmit.\n"); + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "No prim for transmit.\n"); no_msg: /* free burst memory */ @@ -195,7 +192,7 @@ /* check validity of message */ if (rc < 0) { - LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim invalid length, please FIX! " + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "Prim invalid length, please FIX! " "(len=%ld)\n", (long)(msg->tail - msg->l2h)); /* free message */ msgb_free(msg); @@ -215,7 +212,7 @@ burst = *bursts_p + br->bid * 348; memset(br->burst, 1, 9); memcpy(br->burst + 9, burst, 174); - memcpy(br->burst + 183, _sched_egprs_tsc[gsm_ts_tsc(ts)], 78); + memcpy(br->burst + 183, _sched_egprs_tsc[gsm_ts_tsc(l1ts->ts)], 78); memcpy(br->burst + 261, burst + 174, 174); memset(br->burst + 435, 1, 9); @@ -223,13 +220,13 @@ } else { burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(ts)], 26); + memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(l1ts->ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; } - LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting burst=%u.\n", br->bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting burst=%u.\n", br->bid); return 0; } diff --git a/src/osmo-bts-trx/sched_lchan_rach.c b/src/osmo-bts-trx/sched_lchan_rach.c index ce9a46b..c3abf32 100644 --- a/src/osmo-bts-trx/sched_lchan_rach.c +++ b/src/osmo-bts-trx/sched_lchan_rach.c @@ -102,8 +102,9 @@ return seq; } -int rx_rach_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_rach_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { + struct gsm_bts_trx *trx = l1ts->ts->trx; struct osmo_phsap_prim l1sap; int n_errors = 0; int n_bits_total = 0; @@ -130,7 +131,7 @@ synch_seq = rach_get_synch_seq((sbit_t *) bi->burst, &best_score); } - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received%s RACH (%s): rssi=%d toa256=%d", (bi->chan != TRXC_RACH) ? " handover" : "", get_value_string(rach_synch_seq_names, synch_seq), @@ -157,16 +158,16 @@ if (bi->flags & TRX_BI_F_CI_CB) l1sap.u.rach_ind.lqual_cb = bi->ci_cb; else - l1sap.u.rach_ind.lqual_cb = l1t->trx->bts->min_qual_rach; + l1sap.u.rach_ind.lqual_cb = trx->bts->min_qual_rach; /* Decode RACH depending on its synch. sequence */ switch (synch_seq) { case RACH_SYNCH_SEQ_TS1: case RACH_SYNCH_SEQ_TS2: rc = gsm0503_rach_ext_decode_ber(&ra11, bi->burst + RACH_EXT_TAIL_LEN + RACH_SYNCH_SEQ_LEN, - l1t->trx->bts->bsic, &n_errors, &n_bits_total); + trx->bts->bsic, &n_errors, &n_bits_total); if (rc) { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received bad Access Burst\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received bad Access Burst\n"); return 0; } @@ -183,14 +184,14 @@ default: /* Fall-back to the default TS0 if needed */ if (synch_seq != RACH_SYNCH_SEQ_TS0) { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Falling-back to the default TS0\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Falling-back to the default TS0\n"); synch_seq = RACH_SYNCH_SEQ_TS0; } rc = gsm0503_rach_decode_ber(&ra, bi->burst + RACH_EXT_TAIL_LEN + RACH_SYNCH_SEQ_LEN, - l1t->trx->bts->bsic, &n_errors, &n_bits_total); + trx->bts->bsic, &n_errors, &n_bits_total); if (rc) { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received bad Access Burst\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received bad Access Burst\n"); return 0; } @@ -203,7 +204,7 @@ l1sap.u.rach_ind.ber10k = compute_ber10k(n_bits_total, n_errors); /* forward primitive */ - l1sap_up(l1t->trx, &l1sap); + l1sap_up(trx, &l1sap); return 0; } diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c index 8ace49e..0961758 100644 --- a/src/osmo-bts-trx/sched_lchan_tchf.c +++ b/src/osmo-bts-trx/sched_lchan_tchf.c @@ -46,9 +46,8 @@ #include /*! \brief a single TCH/F burst was received by the PHY, process it */ -int rx_tchf_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_tchf_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[bi->chan]; struct gsm_lchan *lchan = chan_state->lchan; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; @@ -70,9 +69,9 @@ /* If handover RACH detection is turned on, treat this burst as an Access Burst. * Handle NOPE.ind as usually to ensure proper Uplink measurement reporting. */ if (chan_state->ho_rach_detect == 1 && ~bi->flags & TRX_BI_F_NOPE_IND) - return rx_rach_fn(l1t, bi); + return rx_rach_fn(l1ts, bi); - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received TCH/F, bid=%u\n", bi->bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received TCH/F, bid=%u\n", bi->bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -107,7 +106,7 @@ /* check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received incomplete frame (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); } @@ -152,7 +151,7 @@ /* Tag all frames that are not regular AMR voice frames as * SUB-Frames */ if (chan_state->amr_last_dtx != AMR_OTHER) { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received AMR SID frame: %s\n", + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received AMR SID frame: %s\n", gsm0503_amr_dtx_frame_name(chan_state->amr_last_dtx)); is_sub = 1; } @@ -183,9 +182,7 @@ } if (rc) - trx_loop_amr_input(l1t, - trx_chan_desc[bi->chan].chan_nr | bi->tn, chan_state, - n_errors, n_bits_total); + trx_loop_amr_input(chan_state, n_errors, n_bits_total); /* only good speech frames get rtp header */ if (rc != GSM_MACBLOCK_LEN && rc >= 4) { if (chan_state->amr_last_dtx == AMR_OTHER) { @@ -201,7 +198,7 @@ break; default: - LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, bi, "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; @@ -213,11 +210,11 @@ /* Check if the frame is bad */ if (rc < 0) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received bad data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); bfi_flag = true; } else if (rc < 4) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received bad data (%u/%u) with invalid codec mode %d\n", bi->fn % l1ts->mf_period, l1ts->mf_period, rc); bfi_flag = true; @@ -233,7 +230,7 @@ /* FACCH */ if (rc == GSM_MACBLOCK_LEN) { fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_F); - _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, bi->chan, + _sched_compose_ph_data_ind(l1ts, fn_begin, bi->chan, tch_data + amr, GSM_MACBLOCK_LEN, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, @@ -281,7 +278,7 @@ chan_state->codec[chan_state->dl_ft], AMR_BAD); if (rc < 2) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, bi, "Failed to encode AMR_BAD frame (rc=%d), " "not sending BFI\n", rc); return -EINVAL; @@ -289,7 +286,7 @@ memset(tch_data + 2, 0, rc - 2); break; default: - LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, bi, "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; } @@ -302,7 +299,7 @@ /* TCH or BFI */ compose_l1sap: fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_F); - return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, bi->chan, tch_data, rc, + return _sched_compose_tch_ind(l1ts, fn_begin, bi->chan, tch_data, rc, /* FIXME: what should we use for BFI here? */ bfi_flag ? bi->toa256 : meas_avg.toa256, ber10k, bfi_flag ? bi->rssi : meas_avg.rssi, is_sub); @@ -310,10 +307,9 @@ /* common section for generation of TCH bursts (TCH/H and TCH/F). * FIXME: this function is over-complicated, refactor / get rid of it. */ -void tx_tch_common(struct l1sched_trx *l1t, struct trx_dl_burst_req *br, +void tx_tch_common(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br, struct msgb **_msg_tch, struct msgb **_msg_facch) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct msgb *msg1, *msg2, *msg_tch = NULL, *msg_facch = NULL; struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; uint8_t rsl_cmode = chan_state->rsl_cmode; @@ -326,7 +322,7 @@ uint8_t tch_data[GSM_FR_BYTES]; int len; - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Missing TCH bursts detected, sending BFI\n"); + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Missing TCH bursts detected, sending BFI\n"); /* indicate bad frame */ switch (tch_mode) { @@ -351,7 +347,7 @@ chan_state->codec[chan_state->dl_cmr], chan_state->codec[chan_state->dl_ft], AMR_BAD); if (len < 2) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Failed to encode AMR_BAD frame (rc=%d), " "not sending BFI\n", len); return; @@ -360,21 +356,21 @@ break; default: inval_mode1: - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "TCH mode invalid, please fix!\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "TCH mode invalid, please fix!\n"); len = 0; } if (len) { /* Note: RSSI/ToA256 is set to 0 to indicate to the higher * layers that this is a faked tch_ind */ - _sched_compose_tch_ind(l1t, br->tn, br->fn, br->chan, + _sched_compose_tch_ind(l1ts, br->fn, br->chan, tch_data, len, 0, 10000, 0, 0); } } /* get frame and unlink from queue */ - msg1 = _sched_dequeue_prim(l1t, br); - msg2 = _sched_dequeue_prim(l1t, br); + msg1 = _sched_dequeue_prim(l1ts, br); + msg2 = _sched_dequeue_prim(l1ts, br); if (msg1) { l1sap = msgb_l1sap_prim(msg1); if (l1sap->oph.primitive == PRIM_TCH) { @@ -382,7 +378,7 @@ if (msg2) { l1sap = msgb_l1sap_prim(msg2); if (l1sap->oph.primitive == PRIM_TCH) { - LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "TCH twice, please FIX!\n"); + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "TCH twice, please FIX!\n"); msgb_free(msg2); } else msg_facch = msg2; @@ -392,7 +388,7 @@ if (msg2) { l1sap = msgb_l1sap_prim(msg2); if (l1sap->oph.primitive != PRIM_TCH) { - LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "FACCH twice, please FIX!\n"); + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "FACCH twice, please FIX!\n"); msgb_free(msg2); } else msg_tch = msg2; @@ -408,7 +404,7 @@ /* check validity of message */ if (msg_facch && msgb_l2len(msg_facch) != GSM_MACBLOCK_LEN) { - LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim has odd len=%u != %u\n", + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "Prim has odd len=%u != %u\n", msgb_l2len(msg_facch), GSM_MACBLOCK_LEN); /* free message */ msgb_free(msg_facch); @@ -425,7 +421,7 @@ int8_t sti, cmi; if (rsl_cmode != RSL_CMOD_SPD_SPEECH) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Dropping speech frame, " + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Dropping speech frame, " "because we are not in speech mode\n"); goto free_bad_msg; } @@ -463,32 +459,32 @@ trx_loop_amr_set(chan_state, 1); } if (ft < 0) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Codec (FT = %d) of RTP frame not in list\n", ft_codec); goto free_bad_msg; } if (fn_is_codec_mode_request(br->fn) && chan_state->dl_ft != ft) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Codec (FT = %d) " + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Codec (FT = %d) " " of RTP cannot be changed now, but in next frame\n", ft_codec); goto free_bad_msg; } chan_state->dl_ft = ft; if (bfi == AMR_BAD) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Transmitting 'bad AMR frame'\n"); + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Transmitting 'bad AMR frame'\n"); goto free_bad_msg; } break; default: inval_mode2: - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "TCH mode invalid, please fix!\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "TCH mode invalid, please fix!\n"); goto free_bad_msg; } if (len < 0) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot send invalid AMR payload\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Cannot send invalid AMR payload\n"); goto free_bad_msg; } if (msgb_l2len(msg_tch) != len) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot send payload with " + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Cannot send payload with " "invalid length! (expecting %d, received %d)\n", len, msgb_l2len(msg_tch)); free_bad_msg: @@ -505,11 +501,9 @@ } /* obtain a to-be-transmitted TCH/F (Full Traffic Channel) burst */ -int tx_tchf_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_tchf_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { struct msgb *msg_tch = NULL, *msg_facch = NULL; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); - struct gsm_bts_trx_ts *ts = &l1t->trx->ts[br->tn]; struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; uint8_t tch_mode = chan_state->tch_mode; ubit_t *burst, **bursts_p = &chan_state->dl_bursts; @@ -521,7 +515,7 @@ goto send_burst; } - tx_tch_common(l1t, br, &msg_tch, &msg_facch); + tx_tch_common(l1ts, br, &msg_tch, &msg_facch); /* BURST BYPASS */ @@ -538,7 +532,7 @@ /* no message at all */ if (!msg_tch && !msg_facch) { - LOGL1SB(DL1P, LOGL_INFO, l1t, br, "No TCH or FACCH prim for transmit.\n"); + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "No TCH or FACCH prim for transmit.\n"); goto send_burst; } @@ -568,12 +562,12 @@ /* compose burst */ burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(ts)], 26); + memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(l1ts->ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; - LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting burst=%u.\n", br->bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting burst=%u.\n", br->bid); return 0; } diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c index ca05844..e526e48 100644 --- a/src/osmo-bts-trx/sched_lchan_tchh.c +++ b/src/osmo-bts-trx/sched_lchan_tchh.c @@ -46,9 +46,8 @@ #include /*! \brief a single TCH/H burst was received by the PHY, process it */ -int rx_tchh_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_tchh_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[bi->chan]; struct gsm_lchan *lchan = chan_state->lchan; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; @@ -77,9 +76,9 @@ /* If handover RACH detection is turned on, treat this burst as an Access Burst. * Handle NOPE.ind as usually to ensure proper Uplink measurement reporting. */ if (chan_state->ho_rach_detect == 1 && ~bi->flags & TRX_BI_F_NOPE_IND) - return rx_rach_fn(l1t, bi); + return rx_rach_fn(l1ts, bi); - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received TCH/H, bid=%u\n", bi->bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received TCH/H, bid=%u\n", bi->bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -114,7 +113,7 @@ /* check for complete set of bursts */ if ((*mask & 0x3) != 0x3) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received incomplete frame (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); } @@ -175,7 +174,7 @@ /* Tag all frames that are not regular AMR voice frames as SUB-Frames */ if (chan_state->amr_last_dtx != AMR_OTHER) { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received AMR SID frame: %s\n", + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received AMR SID frame: %s\n", gsm0503_amr_dtx_frame_name(chan_state->amr_last_dtx)); is_sub = 1; } @@ -206,9 +205,7 @@ } if (rc) - trx_loop_amr_input(l1t, - trx_chan_desc[bi->chan].chan_nr | bi->tn, chan_state, - n_errors, n_bits_total); + trx_loop_amr_input(chan_state, n_errors, n_bits_total); /* only good speech frames get rtp header */ if (rc != GSM_MACBLOCK_LEN && rc >= 4) { @@ -225,7 +222,7 @@ break; default: - LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, bi, "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; @@ -241,11 +238,11 @@ /* Check if the frame is bad */ if (rc < 0) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received bad data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); bfi_flag = true; } else if (rc < 4) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received bad data (%u/%u) with invalid codec mode %d\n", bi->fn % l1ts->mf_period, l1ts->mf_period, rc); bfi_flag = true; @@ -265,7 +262,7 @@ fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H0); else fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H1); - _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, bi->chan, + _sched_compose_ph_data_ind(l1ts, fn_begin, bi->chan, tch_data + amr, GSM_MACBLOCK_LEN, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, @@ -312,7 +309,7 @@ chan_state->codec[chan_state->dl_ft], AMR_BAD); if (rc < 2) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, bi, "Failed to encode AMR_BAD frame (rc=%d), " "not sending BFI\n", rc); return -EINVAL; @@ -320,7 +317,7 @@ memset(tch_data + 2, 0, rc - 2); break; default: - LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, bi, "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; } @@ -364,7 +361,7 @@ chan_state->ber10k_facch = 0; } - return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, bi->chan, tch_data, rc, + return _sched_compose_tch_ind(l1ts, fn_begin, bi->chan, tch_data, rc, /* FIXME: what should we use for BFI here? */ bfi_flag ? bi->toa256 : meas_avg.toa256, ber10k, bfi_flag ? bi->rssi : meas_avg.rssi, is_sub); @@ -372,16 +369,14 @@ /* common section for generation of TCH bursts (TCH/H and TCH/F). * FIXME: this function is over-complicated, refactor / get rid of it. */ -extern void tx_tch_common(struct l1sched_trx *l1t, +extern void tx_tch_common(struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br, struct msgb **_msg_tch, struct msgb **_msg_facch); /* obtain a to-be-transmitted TCH/H (Half Traffic Channel) burst */ -int tx_tchh_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_tchh_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { struct msgb *msg_tch = NULL, *msg_facch = NULL; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); - struct gsm_bts_trx_ts *ts = &l1t->trx->ts[br->tn]; struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; uint8_t tch_mode = chan_state->tch_mode; ubit_t *burst, **bursts_p = &chan_state->dl_bursts; @@ -394,11 +389,11 @@ } /* get TCH and/or FACCH */ - tx_tch_common(l1t, br, &msg_tch, &msg_facch); + tx_tch_common(l1ts, br, &msg_tch, &msg_facch); /* check for FACCH alignment */ if (msg_facch && ((((br->fn + 4) % 26) >> 2) & 1)) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Cannot transmit FACCH starting on even frames, please fix RTS!\n"); msgb_free(msg_facch); msg_facch = NULL; @@ -424,7 +419,7 @@ /* no message at all */ if (!msg_tch && !msg_facch && !chan_state->dl_ongoing_facch) { - LOGL1SB(DL1P, LOGL_INFO, l1t, br, "No TCH or FACCH prim for transmit.\n"); + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "No TCH or FACCH prim for transmit.\n"); goto send_burst; } @@ -456,12 +451,12 @@ /* compose burst */ burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(ts)], 26); + memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(l1ts->ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; - LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting burst=%u.\n", br->bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting burst=%u.\n", br->bid); return 0; } diff --git a/src/osmo-bts-trx/sched_lchan_xcch.c b/src/osmo-bts-trx/sched_lchan_xcch.c index ba0d612..62b511c 100644 --- a/src/osmo-bts-trx/sched_lchan_xcch.c +++ b/src/osmo-bts-trx/sched_lchan_xcch.c @@ -47,9 +47,8 @@ } /*! \brief a single (SDCCH/SACCH) burst was received by the PHY, process it */ -int rx_data_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_data_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[bi->chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; uint32_t *first_fn = &chan_state->ul_first_fn; @@ -66,9 +65,9 @@ /* If handover RACH detection is turned on, treat this burst as an Access Burst. * Handle NOPE.ind as usually to ensure proper Uplink measurement reporting. */ if (chan_state->ho_rach_detect == 1 && ~bi->flags & TRX_BI_F_NOPE_IND) - return rx_rach_fn(l1t, bi); + return rx_rach_fn(l1ts, bi); - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received Data, bid=%u\n", bi->bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received Data, bid=%u\n", bi->bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -116,7 +115,7 @@ /* check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received incomplete data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received incomplete data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); /* we require first burst to have correct FN */ @@ -130,7 +129,7 @@ /* decode */ rc = gsm0503_xcch_decode(l2, *bursts_p, &n_errors, &n_bits_total); if (rc) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received bad data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); l2_len = 0; @@ -142,11 +141,11 @@ add_sbits(*bursts_p, chan_state->ul_bursts_prev); rc = gsm0503_xcch_decode(l2, *bursts_p, &n_errors, &n_bits_total); if (rc) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Combining current SACCH block with previous SACCH block also yields bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); } else { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Combining current SACCH block with previous SACCH block yields good data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); l2_len = GSM_MACBLOCK_LEN; @@ -161,7 +160,7 @@ if (rep_sacch) memcpy(chan_state->ul_bursts_prev, *bursts_p, 464); - return _sched_compose_ph_data_ind(l1t, bi->tn, *first_fn, + return _sched_compose_ph_data_ind(l1ts, *first_fn, bi->chan, l2, l2_len, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, @@ -169,10 +168,8 @@ } /* obtain a to-be-transmitted xCCH (e.g SACCH or SDCCH) burst */ -int tx_data_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_data_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); - struct gsm_bts_trx_ts *ts = &l1t->trx->ts[br->tn]; struct msgb *msg = NULL; /* make GCC happy */ ubit_t *burst, **bursts_p = &l1ts->chan_state[br->chan].dl_bursts; @@ -184,11 +181,11 @@ } /* get mac block from queue */ - msg = _sched_dequeue_prim(l1t, br); + msg = _sched_dequeue_prim(l1ts, br); if (msg) goto got_msg; - LOGL1SB(DL1P, LOGL_INFO, l1t, br, "No prim for transmit.\n"); + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "No prim for transmit.\n"); no_msg: /* free burst memory */ @@ -201,7 +198,7 @@ got_msg: /* check validity of message */ if (msgb_l2len(msg) != GSM_MACBLOCK_LEN) { - LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim has odd len=%u != %u\n", + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "Prim has odd len=%u != %u\n", msgb_l2len(msg), GSM_MACBLOCK_LEN); /* free message */ msgb_free(msg); @@ -219,7 +216,7 @@ /* Note: RSSI is set to 0 to indicate to the higher * layers that this is a faked ph_data_ind */ - _sched_compose_ph_data_ind(l1t, br->tn, 0, br->chan, NULL, 0, + _sched_compose_ph_data_ind(l1ts, 0, br->chan, NULL, 0, 0, 0, 0, 10000, PRES_INFO_INVALID); } @@ -242,12 +239,12 @@ /* compose burst */ burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(ts)], 26); + memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(l1ts->ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; - LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting burst=%u.\n", br->bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting burst=%u.\n", br->bid); return 0; } diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index bfe8d5c..3f55374 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -53,9 +53,9 @@ (ts)->hopping.hsn, (ts)->hopping.maio, (ts)->hopping.arfcn_num /* an IDLE burst returns nothing. on C0 it is replaced by dummy burst */ -int tx_idle_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_idle_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting IDLE\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting IDLE\n"); return 0; } @@ -109,7 +109,6 @@ struct phy_instance *pinst = trx_phy_instance(trx); struct phy_link *plink = pinst->phy_link; struct trx_l1h *l1h = pinst->u.osmotrx.hdl; - struct l1sched_trx *l1t = &l1h->l1s; /* we don't schedule, if power is off */ if (!trx_if_powered(l1h)) @@ -120,9 +119,11 @@ sched_fn = GSM_TDMA_FN_SUM(fn, plink->u.osmotrx.clock_advance); /* process every TS of TRX */ - for (tn = 0; tn < ARRAY_SIZE(l1t->ts); tn++) { + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + struct l1sched_ts *l1ts = trx->ts[tn].impl; + /* ready-to-send */ - _sched_rts(l1t, tn, GSM_TDMA_FN_SUM(sched_fn, plink->u.osmotrx.rts_advance)); + _sched_rts(l1ts, GSM_TDMA_FN_SUM(sched_fn, plink->u.osmotrx.rts_advance)); /* All other parameters to be set by _sched_dl_burst() */ br = (struct trx_dl_burst_req) { @@ -131,7 +132,7 @@ }; /* get burst for FN */ - _sched_dl_burst(l1t, &br); + _sched_dl_burst(l1ts, &br); if (br.burst_len == 0) { /* if no bits, send no burst */ continue; @@ -206,24 +207,17 @@ } /* Route a given Uplink burst indication to the scheduler depending on freq. hopping state */ -int trx_sched_route_burst_ind(struct trx_ul_burst_ind *bi, struct l1sched_trx *l1t) +int trx_sched_route_burst_ind(const struct gsm_bts_trx *trx, struct trx_ul_burst_ind *bi) { - const struct phy_instance *pinst; - const struct gsm_bts_trx *trx; - struct trx_l1h *l1h; - /* no frequency hopping => nothing to do */ - if (!l1t->trx->ts[bi->tn].hopping.enabled) - return trx_sched_ul_burst(l1t, bi); + if (!trx->ts[bi->tn].hopping.enabled) + return trx_sched_ul_burst(trx->ts[bi->tn].impl, bi); - trx = ulfh_route_bi(bi, l1t->trx); + trx = ulfh_route_bi(bi, trx); if (trx == NULL) return -ENODEV; - pinst = trx_phy_instance(trx); - l1h = pinst->u.osmotrx.hdl; - - return trx_sched_ul_burst(&l1h->l1s, bi); + return trx_sched_ul_burst(trx->ts[bi->tn].impl, bi); } /*! maximum number of 'missed' frame periods we can tolerate of OS doesn't schedule us*/ @@ -462,9 +456,9 @@ return 0; } -void _sched_act_rach_det(struct l1sched_trx *l1t, uint8_t tn, uint8_t ss, int activate) +void _sched_act_rach_det(struct gsm_bts_trx *trx, uint8_t tn, uint8_t ss, int activate) { - struct phy_instance *pinst = trx_phy_instance(l1t->trx); + struct phy_instance *pinst = trx_phy_instance(trx); struct trx_l1h *l1h = pinst->u.osmotrx.hdl; if (activate) diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index ff63187..78ba750 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -992,7 +992,7 @@ pdu_ver, trx_data_desc_msg(&bi)); /* feed received burst into scheduler code */ - trx_sched_route_burst_ind(&bi, &l1h->l1s); + trx_sched_route_burst_ind(l1h->phy_inst->trx, &bi); return 0; } @@ -1135,7 +1135,7 @@ struct trx_l1h *l1h = pinst->u.osmotrx.hdl; trx_if_close(l1h); - trx_sched_exit(&l1h->l1s); + trx_sched_clean(pinst->trx); } /*! open the control + burst data sockets for one phy_instance */ @@ -1148,11 +1148,7 @@ if (!l1h) return -EINVAL; - rc = trx_sched_init(&l1h->l1s, pinst->trx); - if (rc < 0) { - LOGPPHI(l1h->phy_inst, DL1C, LOGL_FATAL, "Cannot initialize scheduler\n"); - return -EIO; - } + trx_sched_init(pinst->trx); rc = trx_if_open(l1h); if (rc < 0) { diff --git a/src/osmo-bts-virtual/bts_model.c b/src/osmo-bts-virtual/bts_model.c index e7b0f81..af8a6f2 100644 --- a/src/osmo-bts-virtual/bts_model.c +++ b/src/osmo-bts-virtual/bts_model.c @@ -100,11 +100,7 @@ static uint8_t vbts_set_ts(struct gsm_bts_trx_ts *ts) { - struct phy_instance *pinst = trx_phy_instance(ts->trx); - int rc; - - rc = trx_sched_set_pchan(&pinst->u.virt.sched, ts->nr, ts->pchan); - if (rc) + if (trx_sched_set_pchan(ts, ts->pchan) != 0) return NM_NACK_RES_NOTAVAIL; return 0; diff --git a/src/osmo-bts-virtual/l1_if.c b/src/osmo-bts-virtual/l1_if.c index 78da639..5c04977 100644 --- a/src/osmo-bts-virtual/l1_if.c +++ b/src/osmo-bts-virtual/l1_if.c @@ -214,7 +214,7 @@ /* iterate over list of PHY instances and initialize the scheduler */ llist_for_each_entry(pinst, &plink->instances, list) { - trx_sched_init(&pinst->u.virt.sched, pinst->trx); + trx_sched_init(pinst->trx); /* Only start the scheduler for the transceiver on C0. * If we have multiple transceivers, CCCH is always on C0 * and has to be auto active */ @@ -244,28 +244,19 @@ /* enable ciphering */ static int l1if_set_ciphering(struct gsm_lchan *lchan, uint8_t chan_nr, int downlink) { - struct gsm_bts_trx *trx = lchan->ts->trx; - struct phy_instance *pinst = trx_phy_instance(trx); - struct l1sched_trx *sched = &pinst->u.virt.sched; - /* ciphering already enabled in both directions */ if (lchan->ciph_state == LCHAN_CIPH_RXTX_CONF) return -EINVAL; if (!downlink) { /* set uplink */ - trx_sched_set_cipher(sched, chan_nr, 0, lchan->encr.alg_id - 1, - lchan->encr.key, lchan->encr.key_len); + trx_sched_set_cipher(lchan, chan_nr, false); lchan->ciph_state = LCHAN_CIPH_RX_CONF; } else { /* set downlink and also set uplink, if not already */ - if (lchan->ciph_state != LCHAN_CIPH_RX_CONF) { - trx_sched_set_cipher(sched, chan_nr, 0, - lchan->encr.alg_id - 1, lchan->encr.key, - lchan->encr.key_len); - } - trx_sched_set_cipher(sched, chan_nr, 1, lchan->encr.alg_id - 1, - lchan->encr.key, lchan->encr.key_len); + if (lchan->ciph_state != LCHAN_CIPH_RX_CONF) + trx_sched_set_cipher(lchan, chan_nr, false); + trx_sched_set_cipher(lchan, chan_nr, true); lchan->ciph_state = LCHAN_CIPH_RXTX_CONF; } @@ -342,7 +333,6 @@ int bts_model_l1sap_down(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) { struct phy_instance *pinst = trx_phy_instance(trx); - struct l1sched_trx *sched = &pinst->u.virt.sched; struct msgb *msg = l1sap->oph.msg; uint8_t chan_nr; uint8_t tn, ss; @@ -354,12 +344,12 @@ if (!msg) break; /* put data into scheduler's queue */ - return trx_sched_ph_data_req(sched, l1sap); + return trx_sched_ph_data_req(trx, l1sap); case OSMO_PRIM(PRIM_TCH, PRIM_OP_REQUEST): if (!msg) break; /* put data into scheduler's queue */ - return trx_sched_tch_req(sched, l1sap); + return trx_sched_tch_req(trx, l1sap); case OSMO_PRIM(PRIM_MPH_INFO, PRIM_OP_REQUEST): switch (l1sap->u.info.type) { case PRIM_INFO_ACT_CIPH: @@ -388,11 +378,11 @@ break; } /* activate dedicated channel */ - trx_sched_set_lchan(sched, chan_nr, LID_DEDIC, true); + trx_sched_set_lchan(lchan, chan_nr, LID_DEDIC, true); /* activate associated channel */ - trx_sched_set_lchan(sched, chan_nr, LID_SACCH, true); + trx_sched_set_lchan(lchan, chan_nr, LID_SACCH, true); /* set mode */ - trx_sched_set_mode(sched, chan_nr, + trx_sched_set_mode(lchan->ts, chan_nr, lchan->rsl_cmode, lchan->tch_mode, lchan->tch.amr_mr.num_modes, lchan->tch.amr_mr.bts_mode[0].mode, @@ -420,7 +410,7 @@ } if (l1sap->u.info.type == PRIM_INFO_MODIFY) { /* change mode */ - trx_sched_set_mode(sched, chan_nr, + trx_sched_set_mode(lchan->ts, chan_nr, lchan->rsl_cmode, lchan->tch_mode, lchan->tch.amr_mr.num_modes, lchan->tch.amr_mr.bts_mode[0].mode, @@ -437,12 +427,12 @@ break; } /* deactivate associated channel */ - trx_sched_set_lchan(sched, chan_nr, LID_SACCH, false); + trx_sched_set_lchan(lchan, chan_nr, LID_SACCH, false); if (!l1sap->u.info.u.act_req.sacch_only) { /* set lchan inactive */ lchan_set_state(lchan, LCHAN_S_NONE); /* deactivate dedicated channel */ - trx_sched_set_lchan(sched, chan_nr, LID_DEDIC, false); + trx_sched_set_lchan(lchan, chan_nr, LID_DEDIC, false); /* confirm only on dedicated channel */ mph_info_chan_confirm(trx, chan_nr, PRIM_INFO_DEACTIVATE, 0); diff --git a/src/osmo-bts-virtual/l1_if.h b/src/osmo-bts-virtual/l1_if.h index 075856f..c55e2d3 100644 --- a/src/osmo-bts-virtual/l1_if.h +++ b/src/osmo-bts-virtual/l1_if.h @@ -14,7 +14,6 @@ struct vbts_l1h { struct gsm_bts_trx *trx; - struct l1sched_trx l1s; struct virt_um_inst *virt_um; }; diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index bbc2c4e..22fcff0 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -2,6 +2,7 @@ /* (C) 2015-2017 by Harald Welte * (C) 2017 Sebastian Stumpf + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -51,13 +52,14 @@ * Send a message over the virtual um interface. * This will at first wrap the msg with a GSMTAP header and then write it to the declared multicast socket. */ -static void _tx_to_virt_um(struct l1sched_trx *l1t, +static void _tx_to_virt_um(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br, struct msgb *msg, bool is_voice_frame) { const struct trx_chan_desc *chdesc = &trx_chan_desc[br->chan]; + const struct gsm_bts_trx *trx = l1ts->ts->trx; struct msgb *outmsg; /* msg to send with gsmtap header prepended */ - uint16_t arfcn = l1t->trx->arfcn; /* ARFCN of the transceiver the message is send with */ + uint16_t arfcn = trx->arfcn; /* ARFCN of the transceiver the message is send with */ uint8_t signal_dbm = 63; /* signal strength, 63 is best */ uint8_t snr = 63; /* signal noise ratio, 63 is best */ uint8_t *data = msgb_l2(msg); /* data to transmit (whole message without l1 header) */ @@ -73,13 +75,13 @@ /* in Osmocom, AGCH is only sent on ccch block 0. no idea why. this seems to cause false GSMTAP channel * types for agch and pch. */ if (rsl_chantype == RSL_CHAN_PCH_AGCH && - l1sap_fn2ccch_block(br->fn) >= num_agch(l1t->trx, "PH-DATA-REQ")) + l1sap_fn2ccch_block(br->fn) >= num_agch(trx, "PH-DATA-REQ")) gsmtap_chantype = GSMTAP_CHANNEL_PCH; else gsmtap_chantype = chantype_rsl2gsmtap2(rsl_chantype, chdesc->link_id, is_voice_frame); /* the logical channel type */ if (gsmtap_chantype == GSMTAP_CHANNEL_UNKNOWN) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Tx GSMTAP for RSL channel type 0x%02x: cannot send, this" + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Tx GSMTAP for RSL channel type 0x%02x: cannot send, this" " channel type is unknown in GSMTAP\n", rsl_chantype); msgb_free(msg); return; @@ -93,44 +95,42 @@ outmsg = gsmtap_makemsg(arfcn, timeslot, gsmtap_chantype, subslot, br->fn, signal_dbm, snr, data, data_len); if (outmsg) { - struct phy_instance *pinst = trx_phy_instance(l1t->trx); + struct phy_instance *pinst = trx_phy_instance(trx); int rc; rc = virt_um_write_msg(pinst->phy_link->u.virt.virt_um, outmsg); if (rc < 0) - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "GSMTAP msg could not send to virtual Um: %s\n", strerror(-rc)); else if (rc == 0) - bts_shutdown(l1t->trx->bts, "VirtPHY write socket died\n"); + bts_shutdown(trx->bts, "VirtPHY write socket died\n"); else - LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Sending GSMTAP message to virtual Um\n"); } else - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "GSMTAP msg could not be created!\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "GSMTAP msg could not be created!\n"); /* free incoming message */ msgb_free(msg); } -static void tx_to_virt_um(struct l1sched_trx *l1t, +static void tx_to_virt_um(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br, struct msgb *msg) { - _tx_to_virt_um(l1t, br, msg, false); + _tx_to_virt_um(l1ts, br, msg, false); } -static struct gsm_lchan *lchan_from_l1t(struct l1sched_trx *l1t, uint8_t tn, enum trx_chan_type chan) +static struct gsm_lchan *lchan_from_l1t(const struct l1sched_ts *l1ts, + const enum trx_chan_type chan) { - struct gsm_bts_trx_ts *ts; + struct gsm_bts_trx_ts *ts = l1ts->ts; uint8_t subslot = 0; - OSMO_ASSERT(l1t && l1t->trx); - if (chan == TRXC_TCHH_1) subslot = 1; - ts = &l1t->trx->ts[tn]; return &ts->lchan[subslot]; } @@ -152,11 +152,11 @@ } } -static void tx_to_virt_um_voice_frame(struct l1sched_trx *l1t, +static void tx_to_virt_um_voice_frame(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br, struct msgb *msg) { - struct gsm_lchan *lchan = lchan_from_l1t(l1t, br->tn, br->chan); + struct gsm_lchan *lchan = lchan_from_l1t(l1ts, br->chan); int um_voice_type; OSMO_ASSERT(lchan); @@ -170,7 +170,7 @@ msgb_pull_to_l2(msg); msgb_push_u8(msg, um_voice_type); msg->l2h = msg->data; - _tx_to_virt_um(l1t, br, msg, true); + _tx_to_virt_um(l1ts, br, msg, true); } /* @@ -178,22 +178,22 @@ */ /* an IDLE burst returns nothing. on C0 it is replaced by dummy burst */ -int tx_idle_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_idle_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { return 0; } -int tx_fcch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_fcch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { return 0; } -int tx_sch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_sch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { return 0; } -int tx_data_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_data_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { struct msgb *msg; @@ -201,15 +201,15 @@ return 0; /* get mac block from queue */ - msg = _sched_dequeue_prim(l1t, br); + msg = _sched_dequeue_prim(l1ts, br); if (!msg) { - LOGL1SB(DL1P, LOGL_INFO, l1t, br, "has not been served !! No prim\n"); + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "has not been served !! No prim\n"); return -ENODEV; } /* check validity of message */ if (msgb_l2len(msg) != GSM_MACBLOCK_LEN) { - LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim not 23 bytes, please FIX! (len=%d)\n", + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "Prim not 23 bytes, please FIX! (len=%d)\n", msgb_l2len(msg)); /* free message */ msgb_free(msg); @@ -217,12 +217,12 @@ } /* transmit the msg received on dl from bsc to layer1 (virt Um) */ - tx_to_virt_um(l1t, br, msg); + tx_to_virt_um(l1ts, br, msg); return 0; } -int tx_pdtch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_pdtch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { struct msgb *msg = NULL; /* make GCC happy */ @@ -230,23 +230,22 @@ return 0; /* get mac block from queue */ - msg = _sched_dequeue_prim(l1t, br); + msg = _sched_dequeue_prim(l1ts, br); if (!msg) { - LOGL1SB(DL1P, LOGL_INFO, l1t, br, "has not been served !! No prim\n"); + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "has not been served !! No prim\n"); return -ENODEV; } - tx_to_virt_um(l1t, br, msg); + tx_to_virt_um(l1ts, br, msg); return 0; } -static void tx_tch_common(struct l1sched_trx *l1t, +static void tx_tch_common(struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br, struct msgb **_msg_tch, struct msgb **_msg_facch, int codec_mode_request) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct msgb *msg1, *msg2, *msg_tch = NULL, *msg_facch = NULL; struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; uint8_t rsl_cmode = chan_state->rsl_cmode; @@ -259,7 +258,7 @@ uint8_t tch_data[GSM_FR_BYTES]; int len; - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Missing TCH bursts detected, sending " + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Missing TCH bursts detected, sending " "BFI for %s\n", trx_chan_desc[br->chan].name); /* indicate bad frame */ @@ -287,7 +286,7 @@ if (len < 2) break; memset(tch_data + 2, 0, len - 2); - _sched_compose_tch_ind(l1t, br->tn, 0, br->chan, tch_data, len); + _sched_compose_tch_ind(l1ts, 0, br->chan, tch_data, len); break; default: inval_mode1: @@ -296,13 +295,13 @@ len = 0; } if (len) - _sched_compose_tch_ind(l1t, br->tn, 0, br->chan, tch_data, len); + _sched_compose_tch_ind(l1ts, 0, br->chan, tch_data, len); } #endif /* get frame and unlink from queue */ - msg1 = _sched_dequeue_prim(l1t, br); - msg2 = _sched_dequeue_prim(l1t, br); + msg1 = _sched_dequeue_prim(l1ts, br); + msg2 = _sched_dequeue_prim(l1ts, br); if (msg1) { l1sap = msgb_l1sap_prim(msg1); if (l1sap->oph.primitive == PRIM_TCH) { @@ -310,7 +309,7 @@ if (msg2) { l1sap = msgb_l1sap_prim(msg2); if (l1sap->oph.primitive == PRIM_TCH) { - LOGL1SB(DL1P, LOGL_FATAL, l1t, br, + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "TCH twice, please FIX!\n"); msgb_free(msg2); } else @@ -321,7 +320,7 @@ if (msg2) { l1sap = msgb_l1sap_prim(msg2); if (l1sap->oph.primitive != PRIM_TCH) { - LOGL1SB(DL1P, LOGL_FATAL, l1t, br, + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "FACCH twice, please FIX!\n"); msgb_free(msg2); } else @@ -338,7 +337,7 @@ /* check validity of message */ if (msg_facch && msgb_l2len(msg_facch) != GSM_MACBLOCK_LEN) { - LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim has odd len=%u != %u\n", + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "Prim has odd len=%u != %u\n", msgb_l2len(msg_facch), GSM_MACBLOCK_LEN); /* free message */ msgb_free(msg_facch); @@ -354,7 +353,7 @@ #endif if (rsl_cmode != RSL_CMOD_SPD_SPEECH) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Dropping speech frame, " + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Dropping speech frame, " "because we are not in speech mode\n"); goto free_bad_msg; } @@ -365,7 +364,7 @@ len = 15; if (msgb_l2len(msg_tch) >= 1 && (msg_tch->l2h[0] & 0xf0) != 0x00) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Transmitting 'bad HR frame'\n"); goto free_bad_msg; } @@ -374,7 +373,7 @@ len = GSM_FR_BYTES; if (msgb_l2len(msg_tch) >= 1 && (msg_tch->l2h[0] >> 4) != 0xd) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Transmitting 'bad FR frame'\n"); goto free_bad_msg; } @@ -385,7 +384,7 @@ len = GSM_EFR_BYTES; if (msgb_l2len(msg_tch) >= 1 && (msg_tch->l2h[0] >> 4) != 0xc) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Transmitting 'bad EFR frame'\n"); goto free_bad_msg; } @@ -396,15 +395,15 @@ break; default: inval_mode2: - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "TCH mode invalid, please fix!\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "TCH mode invalid, please fix!\n"); goto free_bad_msg; } if (len < 0) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot send invalid AMR payload\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Cannot send invalid AMR payload\n"); goto free_bad_msg; } if (msgb_l2len(msg_tch) != len) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot send payload with " + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Cannot send payload with " "invalid length! (expecing %d, received %d)\n", len, msgb_l2len(msg_tch)); free_bad_msg: /* free message */ @@ -419,34 +418,33 @@ *_msg_facch = msg_facch; } -int tx_tchf_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_tchf_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { struct msgb *msg_tch = NULL, *msg_facch = NULL; if (br->bid > 0) return 0; - tx_tch_common(l1t, br, &msg_tch, &msg_facch, (((br->fn + 4) % 26) >> 2) & 1); + tx_tch_common(l1ts, br, &msg_tch, &msg_facch, (((br->fn + 4) % 26) >> 2) & 1); /* no message at all */ if (!msg_tch && !msg_facch) { - LOGL1SB(DL1P, LOGL_INFO, l1t, br, "has not been served !! No prim\n"); + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "has not been served !! No prim\n"); return -ENODEV; } if (msg_facch) { - tx_to_virt_um(l1t, br, msg_facch); + tx_to_virt_um(l1ts, br, msg_facch); msgb_free(msg_tch); } else if (msg_tch) - tx_to_virt_um_voice_frame(l1t, br, msg_tch); + tx_to_virt_um_voice_frame(l1ts, br, msg_tch); return 0; } -int tx_tchh_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_tchh_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { struct msgb *msg_tch = NULL, *msg_facch = NULL; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; //uint8_t tch_mode = chan_state->tch_mode; @@ -455,11 +453,11 @@ return 0; /* get TCH and/or FACCH */ - tx_tch_common(l1t, br, &msg_tch, &msg_facch, (((br->fn + 4) % 26) >> 2) & 1); + tx_tch_common(l1ts, br, &msg_tch, &msg_facch, (((br->fn + 4) % 26) >> 2) & 1); /* check for FACCH alignment */ if (msg_facch && ((((br->fn + 4) % 26) >> 2) & 1)) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot transmit FACCH starting on " + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Cannot transmit FACCH starting on " "even frames, please fix RTS!\n"); msgb_free(msg_facch); msg_facch = NULL; @@ -467,15 +465,15 @@ /* no message at all */ if (!msg_tch && !msg_facch && !chan_state->dl_ongoing_facch) { - LOGL1SB(DL1P, LOGL_INFO, l1t, br, "has not been served !! No prim\n"); + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "has not been served !! No prim\n"); return -ENODEV; } if (msg_facch) { - tx_to_virt_um(l1t, br, msg_facch); + tx_to_virt_um(l1ts, br, msg_facch); msgb_free(msg_tch); } else if (msg_tch) - tx_to_virt_um_voice_frame(l1t, br, msg_tch); + tx_to_virt_um_voice_frame(l1ts, br, msg_tch); return 0; } @@ -489,33 +487,33 @@ * directly into the L1SAP, bypassing the TDMA multiplex logic oriented * towards receiving bursts */ -int rx_rach_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_rach_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { return 0; } /*! \brief a single burst was received by the PHY, process it */ -int rx_data_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_data_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { return 0; } -int rx_pdtch_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_pdtch_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { return 0; } -int rx_tchf_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_tchf_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { return 0; } -int rx_tchh_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_tchh_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { return 0; } -void _sched_act_rach_det(struct l1sched_trx *l1t, uint8_t tn, uint8_t ss, int activate) +void _sched_act_rach_det(struct gsm_bts_trx *trx, uint8_t tn, uint8_t ss, int activate) { } @@ -536,12 +534,11 @@ /* advance the frame number? */ llist_for_each_entry(trx, &bts->trx_list, list) { - struct phy_instance *pinst = trx_phy_instance(trx); - struct l1sched_trx *l1t = &pinst->u.virt.sched; struct trx_dl_burst_req br = { .fn = fn }; /* do for each of the 8 timeslots */ - for (br.tn = 0; br.tn < ARRAY_SIZE(l1t->ts); br.tn++) { + for (br.tn = 0; br.tn < ARRAY_SIZE(trx->ts); br.tn++) { + struct l1sched_ts *l1ts = trx->ts[br.tn].impl; /* Generate RTS indication to higher layers */ /* This will basically do 2 things (check l1_if:bts_model_l1sap_down): * 1) Get pending messages from layer 2 (from the lapdm queue) @@ -549,13 +546,13 @@ * --> Handle and process non-transparent RSL-Messages (activate channel, ) * --> Forward transparent RSL-DATA-Messages to the ms by appending them to * the l1-dl-queue */ - _sched_rts(l1t, br.tn, GSM_TDMA_FN_SUM(fn, RTS_ADVANCE)); + _sched_rts(l1ts, GSM_TDMA_FN_SUM(fn, RTS_ADVANCE)); /* schedule transmit backend functions */ /* Process data in the l1-dlqueue and forward it * to MS */ /* the returned bits are not used here, the routines called will directly forward their * bits to the virt Um */ - _sched_dl_burst(l1t, &br); + _sched_dl_burst(l1ts, &br); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7c4379e43a25e9d858d582a99bf6c4b65c9af481 Gerrit-Change-Number: 24179 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 9 04:59:09 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Sun, 9 May 2021 04:59:09 +0000 Subject: Change in pysim[master]: Add codecs for EF_SPN and GSM strings via construct References: Message-ID: Falkenber9 has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24180 ) Change subject: Add codecs for EF_SPN and GSM strings via construct ...................................................................... Add codecs for EF_SPN and GSM strings via construct This will replace the hand-crafted codec for EF_SPN by a struct definition using the construct library. Old encoders are updated and kept for API compatibility but are not used internally anymore. New data structures: * Rpad(Adapter): Right-padded bytestring (0xff, adjustable) * GsmStringAdapter(Adapter): Codec for "SMS default 7-bit coded alphabet as defined int TS 23.038" using the gsm0338 library. * GsmString(n): Convenient wrapper of both above Adjustments: * utils: update+deprecate old dec_spn(), enc_spn() * remove refs to deprecated functions Change-Id: Ia1d3a3835933bac0002b7c52511481dd8094b994 --- M pySim-read.py M pySim/cards.py M pySim/construct.py M pySim/ts_51_011.py M pySim/utils.py M requirements.txt M setup.py 7 files changed, 96 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/80/24180/1 diff --git a/pySim-read.py b/pySim-read.py index ebe0e29..9feef9d 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -36,7 +36,7 @@ from pySim.transport import init_reader, argparse_add_reader_args from pySim.cards import card_detect, Card, UsimCard, IsimCard from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn -from pySim.utils import format_xplmn_w_act, dec_spn, dec_st, dec_addr_tlv +from pySim.utils import format_xplmn_w_act, dec_st, dec_addr_tlv from pySim.utils import h2s, format_ePDGSelection option_parser = argparse.ArgumentParser(prog='pySim-read', diff --git a/pySim/cards.py b/pySim/cards.py index 30857b3..dcba26c 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -25,7 +25,7 @@ from typing import Optional, Dict, Tuple import abc -from pySim.ts_51_011 import EF, DF, EF_AD +from pySim.ts_51_011 import EF, DF, EF_AD, EF_SPN from pySim.ts_31_102 import EF_USIM_ADF_map from pySim.ts_31_103 import EF_ISIM_ADF_map from pySim.utils import * @@ -203,15 +203,24 @@ return sw def read_spn(self): - (spn, sw) = self._scc.read_binary(EF['SPN']) + (content, sw) = self._scc.read_binary(EF['SPN']) if sw == '9000': - return (dec_spn(spn), sw) + abstract_data = EF_SPN().decode_hex(content) + show_in_hplmn = abstract_data['show_in_hplmn'] + hide_in_oplmn = abstract_data['hide_in_oplmn'] + name = abstract_data['spn'] + return ((name, show_in_hplmn, hide_in_oplmn), sw) else: return (None, sw) - def update_spn(self, name, hplmn_disp=False, oplmn_disp=False): - content = enc_spn(name, hplmn_disp, oplmn_disp) - data, sw = self._scc.update_binary(EF['SPN'], rpad(content, 32)) + def update_spn(self, name="", show_in_hplmn=False, hide_in_oplmn=False): + abstract_data = { + 'hide_in_oplmn' : hide_in_oplmn, + 'show_in_hplmn' : show_in_hplmn, + 'spn' : name, + } + content = EF_SPN().encode_hex(abstract_data) + data, sw = self._scc.update_binary(EF['SPN'], content) return sw def read_binary(self, ef, length=None, offset=0): @@ -915,8 +924,7 @@ # set Service Provider Name if p.get('name') is not None: - content = enc_spn(p['name'], True, True) - data, sw = self._scc.update_binary('6F46', rpad(content, 32)) + self.update_spn(p['name'], True, True) if p.get('acc') is not None: self.update_acc(p['acc']) @@ -1310,8 +1318,7 @@ # set Service Provider Name if p.get('name') is not None: - content = enc_spn(p['name'], True, True) - data, sw = self._scc.update_binary('6F46', rpad(content, 32)) + self.update_spn(p['name'], True, True) # write EF.IMSI if p.get('imsi'): diff --git a/pySim/construct.py b/pySim/construct.py index b0f03b7..a903305 100644 --- a/pySim/construct.py +++ b/pySim/construct.py @@ -1,5 +1,6 @@ from construct import * from pySim.utils import b2h, h2b, swap_nibbles +import gsm0338 """Utility code related to the integration of the 'construct' declarative parser.""" @@ -33,6 +34,42 @@ def _encode(self, obj, context, path): return h2b(swap_nibbles(obj)) +class Rpad(Adapter): + """ + Encoder appends padding bytes (b'\\xff') up to target size. + Decoder removes trailing padding bytes. + + Parameters: + subcon: Subconstruct as defined by construct library + pattern: set padding pattern (default: b'\\xff') + """ + + def __init__(self, subcon, pattern=b'\xff'): + super().__init__(subcon) + self.pattern = pattern + + def _decode(self, obj, context, path): + return obj.rstrip(self.pattern) + + def _encode(self, obj, context, path): + if len(obj) > self.sizeof(): + raise SizeofError("Input ({}) exceeds target size ({})".format(len(obj), self.sizeof())) + return obj + self.pattern * (self.sizeof() - len(obj)) + +class GsmStringAdapter(Adapter): + """Convert GSM 03.38 encoded bytes to a string.""" + + def __init__(self, subcon, codec='gsm03.38', err='strict'): + super().__init__(subcon) + self.codec = codec + self.err = err + + def _decode(self, obj, context, path): + return obj.decode(self.codec) + + def _encode(self, obj, context, path): + return obj.encode(self.codec, self.err) + def filter_dict(d, exclude_prefix='_'): """filter the input dict to ensure no keys starting with 'exclude_prefix' remain.""" res = {} @@ -88,3 +125,17 @@ n (Integer): Number of bytes (default: 1) ''' return Default(Bytes(n), __RFU_VALUE) + +def GsmString(n): + ''' + GSM 03.38 encoded byte string of fixed length n. + Encoder appends padding bytes (b'\\xff') to maintain + length. Decoder removes those trailing bytes. + + Exceptions are raised for invalid characters + and length excess. + + Parameters: + n (Integer): Fixed length of the encoded byte string + ''' + return GsmStringAdapter(Rpad(Bytes(n), pattern=b'\xff'), codec='gsm03.38') diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py index dba0369..6ab07f0 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -323,7 +323,7 @@ from struct import pack, unpack from construct import * from construct import Optional as COptional -from pySim.construct import HexAdapter, BcdAdapter, FlagRFU, ByteRFU, GreedyBytesRFU, BitsRFU, BytesRFU +from pySim.construct import * import enum from pySim.filesystem import * @@ -519,11 +519,14 @@ class EF_SPN(TransparentEF): def __init__(self, fid='6f46', sfid=None, name='EF.SPN', desc='Service Provider Name', size={17,17}): super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) - def _decode_hex(self, raw_hex): - return {'spn': dec_spn(raw_hex)} - def _encode_hex(self, abstract): - spn = abstract['spn'] - return enc_spn(spn[0], spn[1], spn[2]) + self._construct = BitStruct( + # Byte 1 + 'rfu'/BitsRFU(6), + 'hide_in_oplmn'/Flag, + 'show_in_hplmn'/Flag, + # Bytes 2..17 + 'spn'/Bytewise(GsmString(16)) + ) # TS 51.011 Section 10.3.13 class EF_CBMI(TransRecEF): diff --git a/pySim/utils.py b/pySim/utils.py index a3cd1b5..3a8ddac 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -248,17 +248,23 @@ return res def dec_spn(ef): - byte1 = int(ef[0:2]) - hplmn_disp = (byte1&0x01 == 0x01) - oplmn_disp = (byte1&0x02 == 0x02) - name = h2s(ef[2:]) - return (name, hplmn_disp, oplmn_disp) + """Obsolete, kept for API compatibility""" + from ts_51_011 import EF_SPN + abstract_data = EF_SPN().decode_hex(ef) + show_in_hplmn = abstract_data['show_in_hplmn'] + hide_in_oplmn = abstract_data['hide_in_oplmn'] + name = abstract_data['spn'] + return (name, show_in_hplmn, hide_in_oplmn) -def enc_spn(name:str, hplmn_disp=False, oplmn_disp=False): - byte1 = 0x00 - if hplmn_disp: byte1 = byte1|0x01 - if oplmn_disp: byte1 = byte1|0x02 - return i2h([byte1])+s2h(name) +def enc_spn(name:str, show_in_hplmn=False, hide_in_oplmn=False): + """Obsolete, kept for API compatibility""" + from ts_51_011 import EF_SPN + abstract_data = { + 'hide_in_oplmn' : hide_in_oplmn, + 'show_in_hplmn' : show_in_hplmn, + 'spn' : name, + } + return EF_SPN().encode_hex(abstract_data) def hexstr_to_Nbytearr(s, nbytes): return [s[i:i+(nbytes*2)] for i in range(0, len(s), (nbytes*2)) ] diff --git a/requirements.txt b/requirements.txt index 6e8336c..10e9667 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,3 +5,4 @@ jsonpath-ng construct bidict +gsm0338 diff --git a/setup.py b/setup.py index 08608dc..2ef498f 100644 --- a/setup.py +++ b/setup.py @@ -16,6 +16,7 @@ "jsonpath-ng", "construct >= 2.9", "bidict", + "gsm0338", ], scripts=[ 'pySim-prog.py', -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia1d3a3835933bac0002b7c52511481dd8094b994 Gerrit-Change-Number: 24180 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 9 05:24:13 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Sun, 9 May 2021 05:24:13 +0000 Subject: Change in pysim[master]: Add codecs for EF_SPN and GSM strings via construct In-Reply-To: References: Message-ID: Falkenber9 has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24180 ) Change subject: Add codecs for EF_SPN and GSM strings via construct ...................................................................... Patch Set 1: Hi, my Patch requires the additional python package "gsm0338". How can I test with jenkins? I was hoping the test setup will automatically fetch all deps listed in setup.py or requirements.txt ====================================================================== ERROR: test_utils (unittest.loader._FailedTest) ---------------------------------------------------------------------- ImportError: Failed to import test module: test_utils ... ModuleNotFoundError: No module named 'gsm0338' https://jenkins.osmocom.org/jenkins/job/gerrit-pysim/a1=default,a2=default,a3=default,a4=default,label=simtester/1334/console -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia1d3a3835933bac0002b7c52511481dd8094b994 Gerrit-Change-Number: 24180 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter Gerrit-Comment-Date: Sun, 09 May 2021 05:24:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Sun May 9 06:15:47 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 09 May 2021 06:15:47 +0000 Subject: Build failure of network:osmocom:nightly/libgtpnl in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <60977e18e177e_602b2add512f65f85759bd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libgtpnl/Debian_9.0/armv7l Package network:osmocom:nightly/libgtpnl failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libgtpnl Last lines of build log: [ 0s] [ 0s] armbuild04 started "build libgtpnl_1.2.2.202105090026.dsc" at Sun May 9 06:15:38 UTC 2021. [ 0s] [ 0s] Building libgtpnl for project 'network:osmocom:nightly' repository 'Debian_9.0' arch 'armv7l' srcmd5 '621d844d730d4b8492941f886497cb4c' [ 0s] [ 0s] processing recipe /var/cache/obs/worker/root_2/.build-srcdir/libgtpnl_1.2.2.202105090026.dsc ... [ 0s] running changelog2spec --target debian --file /var/cache/obs/worker/root_2/.build-srcdir/libgtpnl_1.2.2.202105090026.dsc [ 0s] init_buildsystem --configdir /var/run/obs/worker/2/build/configs --cachedir /var/cache/build --prepare --clean --rpmlist /var/cache/obs/worker/root_2/.build.rpmlist /var/cache/obs/worker/root_2/.build-srcdir/libgtpnl_1.2.2.202105090026.dsc build ... [ 1s] unknown keyword in config: [ 1s] could not autodetect package type [ 1s] [ 1s] armbuild04 failed "build libgtpnl_1.2.2.202105090026.dsc" at Sun May 9 06:15:39 UTC 2021. [ 1s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From jenkins at lists.osmocom.org Sun May 9 10:03:48 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sun, 9 May 2021 10:03:48 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-opencm3-projects_=C2=BB_a1=3Ddef?= =?UTF-8?Q?ault,a2=3Ddefault,a3=3Ddefault,a4=3Dd?= =?UTF-8?Q?efault,osmocom-master-debian9_#1?= Message-ID: <1809059930.677.1620554628964@jenkins.osmocom.org> See Changes: ------------------------------------------ Started by upstream project "master-osmo-opencm3-projects" build number 1 originally caused by: Started by user laforge Running as SYSTEM Building remotely on build2-deb9build-ansible (ttcn3 osmocom-gerrit-debian9 osmocom-master-debian9 repo-install-test coverity) in workspace The recommended git tool is: NONE No credentials specified Cloning the remote Git repository Cloning repository git://git.osmocom.org/osmo-opencm3-projects > git init # timeout=10 Fetching upstream changes from git://git.osmocom.org/osmo-opencm3-projects > git --version # timeout=10 > git --version # 'git version 2.11.0' > git fetch --tags --progress -- git://git.osmocom.org/osmo-opencm3-projects +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url git://git.osmocom.org/osmo-opencm3-projects # timeout=10 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 Avoid second fetch Checking out Revision ea39ae17d7531f32416831379b5482034095bbdd (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f ea39ae17d7531f32416831379b5482034095bbdd # timeout=10 Commit message: "add contrib/jenkins.sh for build verification and publcation of builds" First time build. Skipping changelog. > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.libopencm3.url # timeout=10 > git config -f .gitmodules --get submodule.libopencm3.path # timeout=10 > git config --get submodule.librfn.url # timeout=10 > git config -f .gitmodules --get submodule.librfn.path # timeout=10 > git submodule update --init --recursive libopencm3 # timeout=10 > git submodule update --init --recursive librfn # timeout=10 [osmocom-master-debian9] $ /bin/sh -xe /tmp/jenkins7959535371453991285.sh + ARTIFACT_STORE=/home/osmocom-build/jenkins_build_artifact_store + mkdir -p /home/osmocom-build/jenkins_build_artifact_store + docker run --rm=true --cap-add SYS_PTRACE -e ARTIFACT_STORE=/artifact_store -e ASCIIDOC_WARNINGS_CHECK=1 -e HOME=/build -e JOB_NAME=master-osmo-opencm3-projects/a1=default,a2=default,a3=default,a4=default,label=osmocom-master-debian9 -e MAKE=make -e OSMOPY_DEBUG_TCP_SOCKETS=1 -e OSMO_GSM_MANUALS_DIR=/opt/osmo-gsm-manuals -e PARALLEL_MAKE=-j 8 -e PUBLISH=1 -e WITH_MANUALS=1 -w /build -i -u build -v :/build -v /home/osmocom-build/jenkins_build_artifact_store:/artifact_store -v /home/osmocom-build/.ssh:/home/build/.ssh:ro osmocom-build/debian-stretch-jenkins /build/contrib/jenkins.sh --publish =============== relay-driver START ============== Makefile:52: ../../mk/libcommon.mk: No such file or directory make: *** No rule to make target '../../mk/libcommon.mk'. Stop. Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From jenkins at lists.osmocom.org Sun May 9 10:05:59 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sun, 9 May 2021 10:05:59 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-opencm3-projects_=C2=BB_a1=3Ddef?= =?UTF-8?Q?ault,a2=3Ddefault,a3=3Ddefault,a4=3Dd?= =?UTF-8?Q?efault,osmocom-master-debian9_#2?= In-Reply-To: <1809059930.677.1620554628964@jenkins.osmocom.org> References: <1809059930.677.1620554628964@jenkins.osmocom.org> Message-ID: <1088146677.678.1620554759676@jenkins.osmocom.org> See Changes: [laforge] add missing libcommon.mk ------------------------------------------ Started by upstream project "master-osmo-opencm3-projects" build number 2 originally caused by: Started by user laforge Running as SYSTEM Building remotely on build2-deb9build-ansible (ttcn3 osmocom-gerrit-debian9 osmocom-master-debian9 repo-install-test coverity) in workspace The recommended git tool is: NONE No credentials specified > git rev-parse --resolve-git-dir # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git://git.osmocom.org/osmo-opencm3-projects # timeout=10 Fetching upstream changes from git://git.osmocom.org/osmo-opencm3-projects > git --version # timeout=10 > git --version # 'git version 2.11.0' > git fetch --tags --progress -- git://git.osmocom.org/osmo-opencm3-projects +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision 7527cab6d8364b2022bd4fa2fd03039eac2a99bb (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 Commit message: "add missing libcommon.mk" > git rev-list --no-walk ea39ae17d7531f32416831379b5482034095bbdd # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.libopencm3.url # timeout=10 > git config -f .gitmodules --get submodule.libopencm3.path # timeout=10 > git config --get submodule.librfn.url # timeout=10 > git config -f .gitmodules --get submodule.librfn.path # timeout=10 > git submodule update --init --recursive libopencm3 # timeout=10 > git submodule update --init --recursive librfn # timeout=10 [osmocom-master-debian9] $ /bin/sh -xe /tmp/jenkins6119689479198624765.sh + ARTIFACT_STORE=/home/osmocom-build/jenkins_build_artifact_store + mkdir -p /home/osmocom-build/jenkins_build_artifact_store + docker run --rm=true --cap-add SYS_PTRACE -e ARTIFACT_STORE=/artifact_store -e ASCIIDOC_WARNINGS_CHECK=1 -e HOME=/build -e JOB_NAME=master-osmo-opencm3-projects/a1=default,a2=default,a3=default,a4=default,label=osmocom-master-debian9 -e MAKE=make -e OSMOPY_DEBUG_TCP_SOCKETS=1 -e OSMO_GSM_MANUALS_DIR=/opt/osmo-gsm-manuals -e PARALLEL_MAKE=-j 8 -e PUBLISH=1 -e WITH_MANUALS=1 -w /build -i -u build -v :/build -v /home/osmocom-build/jenkins_build_artifact_store:/artifact_store -v /home/osmocom-build/.ssh:/home/build/.ssh:ro osmocom-build/debian-stretch-jenkins /build/contrib/jenkins.sh --publish =============== relay-driver START ============== CLEAN CC console.c arm-none-eabi-gcc: error: /usr/lib/picolibc/arm-none-eabi/picolibc.specs: No such file or directory make: *** [console.o] Error 1 ../../mk/libopencm3.mk:227: recipe for target 'console.o' failed Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Sun May 9 18:37:09 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Sun, 9 May 2021 18:37:09 +0000 Subject: Change in pysim[master]: filesystem: add unit tests for encoder/decoder methods In-Reply-To: References: Message-ID: Falkenber9 has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24012 ) Change subject: filesystem: add unit tests for encoder/decoder methods ...................................................................... Patch Set 4: (1 comment) Some comments from my side as I also thought about tests and just saw this change. In my opinion, the test framework should not only include the direction _encode_decode_testvector, but also the opposite scenario, i.e. _decode_encode_testvector, with a bit vector (or hexstr) on both ends. This enables testing against correct length, padding, and proper handling of reserved-for-future-use (RFU) bits (as shown below). Moreover, classes that define the file via _construct might also be included into the test, not only the explicit encoding and decoding methods. Future extensions of this approach could also include an option to test with invalid inputs to test for proper error handling of the encoders/decoders, e.g. too long strings, invalid characters, etc. https://gerrit.osmocom.org/c/pysim/+/24012/4/pySim/ts_51_011.py File pySim/ts_51_011.py: https://gerrit.osmocom.org/c/pysim/+/24012/4/pySim/ts_51_011.py at 529 PS4, Line 529: '{"spn": ["hello world", false, true]}'] Here we have an example for a file that contains reserved-for-future-use (RFU) fields. A test that encodes and decodes a dict may not discover false handling of RFU fields or correct padding. In the opposite direction we have at least the chance to construct a test with RFU bits set to a specific pattern that should be maintained if decoded and encoded again. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I02d884547f4982e0b8ed7ef21b8cda75237942e2 Gerrit-Change-Number: 24012 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: Falkenber9 Gerrit-Comment-Date: Sun, 09 May 2021 18:37:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 9 18:39:19 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Sun, 9 May 2021 18:39:19 +0000 Subject: Change in pysim[master]: Add codecs for EF_SPN and GSM strings via construct In-Reply-To: References: Message-ID: Falkenber9 has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24180 ) Change subject: Add codecs for EF_SPN and GSM strings via construct ...................................................................... Patch Set 1: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia1d3a3835933bac0002b7c52511481dd8094b994 Gerrit-Change-Number: 24180 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter Gerrit-Comment-Date: Sun, 09 May 2021 18:39:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 9 18:41:13 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Sun, 9 May 2021 18:41:13 +0000 Subject: Change in pysim[master]: filesystem: add unit tests for encoder/decoder methods In-Reply-To: References: Message-ID: Falkenber9 has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24012 ) Change subject: filesystem: add unit tests for encoder/decoder methods ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/pysim/+/24012/4/pySim/ts_51_011.py File pySim/ts_51_011.py: https://gerrit.osmocom.org/c/pysim/+/24012/4/pySim/ts_51_011.py at 529 PS4, Line 529: '{"spn": ["hello world", false, true]}'] > Here we have an example for a file that contains reserved-for-future-use (RFU) fields. [?] Here I have a definition of EF_SPN using construct (with RFU bits): Change: Ia1d3a3835933bac0002b7c52511481dd8094b994 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I02d884547f4982e0b8ed7ef21b8cda75237942e2 Gerrit-Change-Number: 24012 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: Falkenber9 Gerrit-Comment-Date: Sun, 09 May 2021 18:41:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: Falkenber9 Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Sun May 9 18:45:02 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sun, 9 May 2021 18:45:02 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-opencm3-projects_=C2=BB_a1=3Ddef?= =?UTF-8?Q?ault,a2=3Ddefault,a3=3Ddefault,a4=3Dd?= =?UTF-8?Q?efault,osmocom-master-debian9_#3?= In-Reply-To: <1088146677.678.1620554759676@jenkins.osmocom.org> References: <1088146677.678.1620554759676@jenkins.osmocom.org> Message-ID: <1661537427.697.1620585902131@jenkins.osmocom.org> See Changes: ------------------------------------------ Started by upstream project "master-osmo-opencm3-projects" build number 3 originally caused by: Started by timer Running as SYSTEM Building remotely on build2-deb9build-ansible (ttcn3 osmocom-gerrit-debian9 osmocom-master-debian9 repo-install-test coverity) in workspace The recommended git tool is: NONE No credentials specified > git rev-parse --resolve-git-dir # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git://git.osmocom.org/osmo-opencm3-projects # timeout=10 Fetching upstream changes from git://git.osmocom.org/osmo-opencm3-projects > git --version # timeout=10 > git --version # 'git version 2.11.0' > git fetch --tags --progress -- git://git.osmocom.org/osmo-opencm3-projects +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision 7527cab6d8364b2022bd4fa2fd03039eac2a99bb (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 Commit message: "add missing libcommon.mk" > git rev-list --no-walk 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.libopencm3.url # timeout=10 > git config -f .gitmodules --get submodule.libopencm3.path # timeout=10 > git config --get submodule.librfn.url # timeout=10 > git config -f .gitmodules --get submodule.librfn.path # timeout=10 > git submodule update --init --recursive libopencm3 # timeout=10 > git submodule update --init --recursive librfn # timeout=10 [osmocom-master-debian9] $ /bin/sh -xe /tmp/jenkins3102029978465872207.sh + ARTIFACT_STORE=/home/osmocom-build/jenkins_build_artifact_store + mkdir -p /home/osmocom-build/jenkins_build_artifact_store + docker run --rm=true --cap-add SYS_PTRACE -e ARTIFACT_STORE=/artifact_store -e ASCIIDOC_WARNINGS_CHECK=1 -e HOME=/build -e JOB_NAME=master-osmo-opencm3-projects/a1=default,a2=default,a3=default,a4=default,label=osmocom-master-debian9 -e MAKE=make -e OSMOPY_DEBUG_TCP_SOCKETS=1 -e OSMO_GSM_MANUALS_DIR=/opt/osmo-gsm-manuals -e PARALLEL_MAKE=-j 8 -e PUBLISH=1 -e WITH_MANUALS=1 -w /build -i -u build -v :/build -v /home/osmocom-build/jenkins_build_artifact_store:/artifact_store -v /home/osmocom-build/.ssh:/home/build/.ssh:ro osmocom-build/debian-stretch-jenkins /build/contrib/jenkins.sh --publish =============== relay-driver START ============== CLEAN CC console.c arm-none-eabi-gcc: error: /usr/lib/picolibc/arm-none-eabi/picolibc.specs: No such file or directory ../../mk/libopencm3.mk:227: recipe for target 'console.o' failed make: *** [console.o] Error 1 Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Sun May 9 19:27:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 9 May 2021 19:27:00 +0000 Subject: Change in pysim[master]: filesystem: add unit tests for encoder/decoder methods In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24012 ) Change subject: filesystem: add unit tests for encoder/decoder methods ...................................................................... Patch Set 4: > Patch Set 4: > > (1 comment) > > Some comments from my side as I also thought about tests and just saw this change. > > In my opinion, the test framework should not only include the direction _encode_decode_testvector, but also the opposite scenario, i.e. _decode_encode_testvector, with a bit vector (or hexstr) on both ends. The problem is that this is not possible 100% reliable. Most files contain bits that are unused (at least in the past/current version of the spec) so you cannot have the assumption that "anything that will decode from this binary blob will look identical when re-encoded". If you copy those "input blobs" from several different cards, I'm sure you will find some that have unused bits as 0, others as 1, or even a mixture. If you pass those through the decoder, the information abtou the unused bits is lost, and if you re-encode they will have whatever pysim thinks is right to use for unused bits :( -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I02d884547f4982e0b8ed7ef21b8cda75237942e2 Gerrit-Change-Number: 24012 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: Falkenber9 Gerrit-Comment-Date: Sun, 09 May 2021 19:27:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 9 20:16:13 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 9 May 2021 20:16:13 +0000 Subject: Change in pysim[master]: Add codecs for EF_SPN and GSM strings via construct In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24180 ) Change subject: Add codecs for EF_SPN and GSM strings via construct ...................................................................... Patch Set 1: Hey! > my Patch requires the additional python package "gsm0338". How can I test with jenkins? > I was hoping the test setup will automatically fetch all deps listed in setup.py or requirements.txt you need to add 'pip install gsm0338' to 'contrib/jenkins.sh' to make it pass. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia1d3a3835933bac0002b7c52511481dd8094b994 Gerrit-Change-Number: 24180 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 09 May 2021 20:16:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 04:16:12 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Mon, 10 May 2021 04:16:12 +0000 Subject: Change in pysim[master]: Add codecs for EF_SPN and GSM strings via construct In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24180 to look at the new patch set (#2). Change subject: Add codecs for EF_SPN and GSM strings via construct ...................................................................... Add codecs for EF_SPN and GSM strings via construct This will replace the hand-crafted codec for EF_SPN by a struct definition using the construct library. Old encoders are updated and kept for API compatibility but are not used internally anymore. New data structures: * Rpad(Adapter): Right-padded bytestring (0xff, adjustable) * GsmStringAdapter(Adapter): Codec for "SMS default 7-bit coded alphabet as defined int TS 23.038" using the gsm0338 library. * GsmString(n): Convenient wrapper of both above Adjustments: * utils: update+deprecate old dec_spn(), enc_spn() * remove refs to deprecated functions Change-Id: Ia1d3a3835933bac0002b7c52511481dd8094b994 --- M contrib/jenkins.sh M pySim-read.py M pySim/cards.py M pySim/construct.py M pySim/ts_51_011.py M pySim/utils.py M requirements.txt M setup.py 8 files changed, 97 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/80/24180/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia1d3a3835933bac0002b7c52511481dd8094b994 Gerrit-Change-Number: 24180 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Mon May 10 06:44:26 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 10 May 2021 06:44:26 +0000 Subject: Build failure of network:osmocom:nightly/libasn1c in Debian_10/armv7l In-Reply-To: References: Message-ID: <6098d653764d5_602b2add512f65f88298e8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libasn1c/Debian_10/armv7l Package network:osmocom:nightly/libasn1c failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libasn1c Last lines of build log: [ 0s] [ 0s] armbuild04 started "build libasn1c_0.9.33.202105100026.dsc" at Mon May 10 06:44:13 UTC 2021. [ 0s] [ 0s] Building libasn1c for project 'network:osmocom:nightly' repository 'Debian_10' arch 'armv7l' srcmd5 'b88923df0a1460eebb8fc01c89f82309' [ 0s] [ 0s] processing recipe /var/cache/obs/worker/root_2/.build-srcdir/libasn1c_0.9.33.202105100026.dsc ... [ 0s] running changelog2spec --target debian --file /var/cache/obs/worker/root_2/.build-srcdir/libasn1c_0.9.33.202105100026.dsc [ 0s] init_buildsystem --configdir /var/run/obs/worker/2/build/configs --cachedir /var/cache/build --prepare --clean --rpmlist /var/cache/obs/worker/root_2/.build.rpmlist /var/cache/obs/worker/root_2/.build-srcdir/libasn1c_0.9.33.202105100026.dsc build ... [ 0s] unknown keyword in config: [ 0s] could not autodetect package type [ 0s] [ 0s] armbuild04 failed "build libasn1c_0.9.33.202105100026.dsc" at Mon May 10 06:44:13 UTC 2021. [ 0s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon May 10 08:03:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 08:03:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: test LOOPBACK with implicit destination addr In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24173 ) Change subject: MGCP_Test: test LOOPBACK with implicit destination addr ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24173 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: I7baf827fb0c3f33e13ccbaffd37ba0eb4e20c304 Gerrit-Change-Number: 24173 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 10 May 2021 08:03:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 08:06:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 08:06:48 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: fix implicit address loopback In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24174 ) Change subject: mgcp_network: fix implicit address loopback ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24174/1/src/libosmo-mgcp/mgcp_network.c File src/libosmo-mgcp/mgcp_network.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24174/1/src/libosmo-mgcp/mgcp_network.c at 1285 PS1, Line 1285: LOG_CONN_RTP(conn_src, LOGL_NOTICE, Not sure if we really want NOTICE here. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2dbd6f62170a7f62e5287d04a4ee6716b8786c26 Gerrit-Change-Number: 24174 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 10 May 2021 08:06:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 08:06:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 08:06:59 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: fix implicit address loopback In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24174 ) Change subject: mgcp_network: fix implicit address loopback ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2dbd6f62170a7f62e5287d04a4ee6716b8786c26 Gerrit-Change-Number: 24174 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 10 May 2021 08:06:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 08:09:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 08:09:47 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_lchan_name_compute(): indicate if TRX is a shadow TRX In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24154 ) Change subject: [VAMOS] gsm_lchan_name_compute(): indicate if TRX is a shadow TRX ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24154 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0e350fb067e0ff02d2f3cb54929ef152bb542636 Gerrit-Change-Number: 24154 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 10 May 2021 08:09:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 08:12:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 08:12:26 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit: use RxMsg/TxMsg instead of TRX2L1/L12TRX In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24018 ) Change subject: trx_toolkit: use RxMsg/TxMsg instead of TRX2L1/L12TRX ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24018 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I688f24a3c09dd7e1cc00b5530ec26c8e8cfd8f7c Gerrit-Change-Number: 24018 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 10 May 2021 08:12:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 08:13:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 08:13:00 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: enable TRXDv2 protocol support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24020 ) Change subject: trx_toolkit/data_msg.py: enable TRXDv2 protocol support ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24020 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib76138ec6523970fca43a4d69919c178f5a4b411 Gerrit-Change-Number: 24020 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 10 May 2021 08:13:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 08:14:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 08:14:20 +0000 Subject: Change in osmo-bts[master]: common/sysinfo: make struct gsm_bts_trx const in num_agch() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24175 ) Change subject: common/sysinfo: make struct gsm_bts_trx const in num_agch() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I776defc7e9699a378c9a03304c63e15d023476d0 Gerrit-Change-Number: 24175 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 10 May 2021 08:14:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 08:18:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 08:18:30 +0000 Subject: Change in osmo-bts[master]: [VAMOS] struct gsm_bts_trx: fix the PHY instance pointer In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24176 ) Change subject: [VAMOS] struct gsm_bts_trx: fix the PHY instance pointer ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24176/1/tests/sysmobts/sysmobts_test.c File tests/sysmobts/sysmobts_test.c: https://gerrit.osmocom.org/c/osmo-bts/+/24176/1/tests/sysmobts/sysmobts_test.c at 62 PS1, Line 62: trx.pinst = &hdl; here pinst is not a struct phy_instance? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9bd6f0921e0c6bf824d38485486ad78864cbe17e Gerrit-Change-Number: 24176 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 10 May 2021 08:18:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 08:22:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 08:22:15 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24177 ) Change subject: [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4aefaf47b05a67ec0c4774c1ee7abcc95e04cc13 Gerrit-Change-Number: 24177 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 10 May 2021 08:22:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 08:26:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 08:26:54 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: move {chan, bid} to trx_{dl, ul}_burst_{req, ind} In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24178 ) Change subject: [VAMOS] osmo-bts-trx: move {chan,bid} to trx_{dl,ul}_burst_{req,ind} ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic5a02b074662b3e429bf18e05a982f3f3e7b7444 Gerrit-Change-Number: 24178 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 10 May 2021 08:26:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 08:35:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 08:35:09 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Re-organize osmo-bts-trx specific structures In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24179 ) Change subject: [VAMOS] Re-organize osmo-bts-trx specific structures ...................................................................... Patch Set 1: (2 comments) I would really welcome a better description regarding this commit: what is changed, and why, what are the rationales to do so. https://gerrit.osmocom.org/c/osmo-bts/+/24179/1/include/osmo-bts/gsm_data.h File include/osmo-bts/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bts/+/24179/1/include/osmo-bts/gsm_data.h at 459 PS1, Line 459: void *impl; model_data? model_priv? https://gerrit.osmocom.org/c/osmo-bts/+/24179/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/24179/1/src/common/scheduler.c at 612 PS1, Line 612: struct l1sched_ts *l1ts = ts->impl; isn't ts->impl always a struct l1sched_ts? why not using that struct instad of void* in the defintion of impl? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7c4379e43a25e9d858d582a99bf6c4b65c9af481 Gerrit-Change-Number: 24179 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 10 May 2021 08:35:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 09:14:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 May 2021 09:14:13 +0000 Subject: Change in libosmo-sccp[master]: Constrain connection ID allocation to 24 bits References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24181 ) Change subject: Constrain connection ID allocation to 24 bits ...................................................................... Constrain connection ID allocation to 24 bits We currently use the local connection ID on the SCU SAP also as local reference on the wire-line SCCP messages. However, the latter only has a 24 bit range, so we should make sure to wrap accordingly on allocation. Change-Id: I414d29271da48ac0b05a688ce9e949a66e4d0d92 Closes: OS#3921 Related: OS#3871 --- M src/sccp_scoc.c 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/81/24181/1 diff --git a/src/sccp_scoc.c b/src/sccp_scoc.c index 1ce08f8..244e6d3 100644 --- a/src/sccp_scoc.c +++ b/src/sccp_scoc.c @@ -499,7 +499,10 @@ uint32_t conn_id; do { - conn_id = user->inst->next_id++; + /* modulo 2^24 as we currently use the connection ID also as local + * reference, and that is limited to 24 bits */ + user->inst->next_id = (user->inst->next_id + 1) % (1 << 24); + conn_id = user->inst->next_id; } while (conn_find_by_id(user->inst, conn_id)); return conn_create_id(user, conn_id); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I414d29271da48ac0b05a688ce9e949a66e4d0d92 Gerrit-Change-Number: 24181 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 09:17:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 09:17:17 +0000 Subject: Change in osmo-mgw[master]: add osmo_mgcpc_ep_ci_get_remote_rtp_info() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24145 ) Change subject: add osmo_mgcpc_ep_ci_get_remote_rtp_info() ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24145/1/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c File src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24145/1/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c at 523 PS1, Line 523: /*! Return the RTP port information that the MGW is sending to for this connection, as sent to the MGW by the last > this is the situation around this function: [?] Yes, "MGW's remote RTP port" is fine then I guess. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb488925827d9dc0ccb1f8d6d84728745d086793 Gerrit-Change-Number: 24145 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 10 May 2021 09:17:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 09:18:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 09:18:35 +0000 Subject: Change in libosmo-sccp[master]: Constrain connection ID allocation to 24 bits In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24181 ) Change subject: Constrain connection ID allocation to 24 bits ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I414d29271da48ac0b05a688ce9e949a66e4d0d92 Gerrit-Change-Number: 24181 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 10 May 2021 09:18:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 10:13:00 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 10 May 2021 10:13:00 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not crash when lco/sdp can not be generated References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24182 ) Change subject: mgcp_client: do not crash when lco/sdp can not be generated ...................................................................... mgcp_client: do not crash when lco/sdp can not be generated The functions add_lco and add_sdp assert when the codec string can not be generated. This is the case when an unexpected codec is addressed in the input parameter mgcp_msg for mgcp_msg_gen(). Even though the API user is expected only to use the codec identifiers in mgcp_client.h the check should not be done with an assert. Instead mgcp_msg_gen() should just return NULL. Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Related: OS#5119 --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 9 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/82/24182/1 diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index a134273..1efb666 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -1118,7 +1118,11 @@ /* Note: Use codec descriptors from enum mgcp_codecs * in mgcp_client only! */ - OSMO_ASSERT(codec); + if (!codec) { + rc += -1; + continue; + } + rc += msgb_printf(msg, "%s", extract_codec_name(codec)); if (i < mgcp_msg->codecs_len - 1) rc += msgb_printf(msg, ";"); @@ -1226,9 +1230,10 @@ /* Note: Use codec descriptors from enum mgcp_codecs * in mgcp_client only! */ - OSMO_ASSERT(codec); - - rc += msgb_printf(msg, "a=rtpmap:%u %s\r\n", pt, codec); + if (!codec) + rc += -1; + else + rc += msgb_printf(msg, "a=rtpmap:%u %s\r\n", pt, codec); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 10:20:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 10:20:42 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not crash when lco/sdp can not be generated In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24182 ) Change subject: mgcp_client: do not crash when lco/sdp can not be generated ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24182/1/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24182/1/src/libosmo-mgcp-client/mgcp_client.c at 1122 PS1, Line 1122: rc += -1; Can you explain this line here? I don't get where this -1 comes from. https://gerrit.osmocom.org/c/osmo-mgw/+/24182/1/src/libosmo-mgcp-client/mgcp_client.c at 1234 PS1, Line 1234: rc += -1; Same here. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 10 May 2021 10:20:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 12:50:35 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 10 May 2021 12:50:35 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: fix implicit address loopback In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24174 ) Change subject: mgcp_network: fix implicit address loopback ...................................................................... mgcp_network: fix implicit address loopback A call agent may send a CRCX to create a connection in LOOPBACK mode but without specifiying the destination address. In those cases the MGW should deduct the destination address from the first incoming RTP packet. Unfortunately this is currently blocked by an OSMO_ASSERT that checks the current sa_familiy against the sa_family from the incoming packet. This makes no sense since the current sa_family is still uninitalized, which is expected and not an error since the code that follows will initalize it. It also makes sense not to access the osmo_sockaddr struct members individually but rather copy the address as a wohle. Since the event only happens once and since it is also somewhat special it makes sense to log the event as well. Change-Id: I2dbd6f62170a7f62e5287d04a4ee6716b8786c26 Related: OS#5123 --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 14 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 6a30165..abe01c9 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -1251,6 +1251,7 @@ struct mgcp_conn *conn = conn_src->conn; struct mgcp_conn *conn_dst; struct osmo_sockaddr *from_addr = mc->from_addr; + char ipbuf[INET6_ADDRSTRLEN]; /*! NOTE: This callback function implements the endpoint specific * dispatch behaviour of an rtp bridge/proxy endpoint. It is assumed @@ -1269,19 +1270,22 @@ * address data from the UDP packet header to patch the * outgoing address in connection on the fly */ if (conn->u.rtp.end.rtp_port == 0) { - OSMO_ASSERT(conn->u.rtp.end.addr.u.sa.sa_family == from_addr->u.sa.sa_family); + memcpy(&conn->u.rtp.end.addr, from_addr, + sizeof(conn->u.rtp.end.addr)); switch (from_addr->u.sa.sa_family) { case AF_INET: - conn->u.rtp.end.addr.u.sin.sin_addr = from_addr->u.sin.sin_addr; conn->u.rtp.end.rtp_port = from_addr->u.sin.sin_port; break; case AF_INET6: - conn->u.rtp.end.addr.u.sin6.sin6_addr = from_addr->u.sin6.sin6_addr; conn->u.rtp.end.rtp_port = from_addr->u.sin6.sin6_port; break; default: OSMO_ASSERT(false); } + LOG_CONN_RTP(conn_src, LOGL_NOTICE, + "loopback mode: implicitly using source address (%s:%u) as destination address\n", + osmo_sockaddr_ntop(&from_addr->u.sa, ipbuf), + conn->u.rtp.end.rtp_port); } return mgcp_send_rtp(conn_src, msg); } @@ -1331,6 +1335,7 @@ struct mgcp_conn_rtp *conn_src = mc->conn_src; struct mgcp_conn *conn = conn_src->conn; struct osmo_sockaddr *from_addr = mc->from_addr; + char ipbuf[INET6_ADDRSTRLEN]; /* Check if the connection is in loopback mode, if yes, just send the * incoming data back to the origin */ @@ -1340,19 +1345,22 @@ * address data from the UDP packet header to patch the * outgoing address in connection on the fly */ if (conn->u.rtp.end.rtp_port == 0) { - OSMO_ASSERT(conn->u.rtp.end.addr.u.sa.sa_family == from_addr->u.sa.sa_family); + memcpy(&conn->u.rtp.end.addr, from_addr, + sizeof(conn->u.rtp.end.addr)); switch (from_addr->u.sa.sa_family) { case AF_INET: - conn->u.rtp.end.addr.u.sin.sin_addr = from_addr->u.sin.sin_addr; conn->u.rtp.end.rtp_port = from_addr->u.sin.sin_port; break; case AF_INET6: - conn->u.rtp.end.addr.u.sin6.sin6_addr = from_addr->u.sin6.sin6_addr; conn->u.rtp.end.rtp_port = from_addr->u.sin6.sin6_port; break; default: OSMO_ASSERT(false); } + LOG_CONN_RTP(conn_src, LOGL_NOTICE, + "loopback mode: implicitly using source address (%s:%u) as destination address\n", + osmo_sockaddr_ntop(&from_addr->u.sa, ipbuf), + conn->u.rtp.end.rtp_port); } return mgcp_send_rtp(conn_src, msg); } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2dbd6f62170a7f62e5287d04a4ee6716b8786c26 Gerrit-Change-Number: 24174 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Mon May 10 14:10:08 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 10 May 2021 14:10:08 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <60993edf2b4da_602b2add512f65f8991468@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_10/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 0s] Using BUILD_ROOT=/var/cache/obs/worker/root_8/.mount [ 0s] Using BUILD_ARCH=armv7l:armv6l:armv5tel [ 0s] Doing kvm build in /var/cache/obs/worker/root_8/root [ 0s] [ 0s] [ 0s] obs-arm-5 started "build osmo-bts_1.3.0.57.57ebf.202105100026.dsc" at Mon May 10 14:10:03 UTC 2021. [ 0s] [ 0s] Building osmo-bts for project 'network:osmocom:nightly' repository 'Raspbian_10' arch 'armv7l' srcmd5 'f817069314f8d06fcef3d44962ab6a5d' [ 0s] [ 0s] processing recipe /var/cache/obs/worker/root_8/.build-srcdir/osmo-bts_1.3.0.57.57ebf.202105100026.dsc ... [ 0s] running changelog2spec --target debian --file /var/cache/obs/worker/root_8/.build-srcdir/osmo-bts_1.3.0.57.57ebf.202105100026.dsc [ 0s] /var/run/obs/worker/8/build/build: line 1368: vm_first_stage: command not found -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon May 10 14:43:09 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 10 May 2021 14:43:09 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: tidy up config file References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24183 ) Change subject: srsue.conf.tmpl: tidy up config file ...................................................................... srsue.conf.tmpl: tidy up config file no functional changes, just remove whitespaces and newlines Change-Id: Ib58d3591cc51c11c9e496f6510ebffb91ee71345 --- M src/osmo_gsm_tester/templates/srsue.conf.tmpl 1 file changed, 10 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/83/24183/1 diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 412dbda..8d871bf 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -1,6 +1,4 @@ -##################################################################### -# srsUE configuration file -##################################################################### +# OGT templated configuration file for srsUE [rf] % if int(ue.tx_gain) > 0: @@ -27,13 +25,15 @@ dl_earfcn = ${ue.dl_earfcn} % else: - % if int(ue.num_carriers) == 4: - dl_earfcn = 2850,3050,3250,3350 - % elif int(ue.num_carriers) == 2: - dl_earfcn = 2850,3050 - % else: - dl_earfcn = 2850 - % endif + +% if int(ue.num_carriers) == 4: +dl_earfcn = 2850,3050,3250,3350 +% elif int(ue.num_carriers) == 2: +dl_earfcn = 2850,3050 +% else: +dl_earfcn = 2850 +% endif + % endif % if float(ue.get('dl_freq', -1)) != -1: @@ -62,7 +62,6 @@ file_max_size = -1 nas_level = ${ue.log_nas_level} - [usim] mode = soft algo = ${ue.auth_algo} @@ -87,7 +86,6 @@ ue_category_ul = ${ue.ue_category_ul} % endif - [phy] % if ue.rf_dev_type == 'zmq': nof_phy_threads = 2 @@ -96,12 +94,10 @@ force_ul_amplitude = ${ue.force_ul_amplitude} % endif - [sim] airplane_t_on_ms = ${ue.airplane_t_on_ms} airplane_t_off_ms = ${ue.airplane_t_off_ms} - [general] metrics_csv_enable = true metrics_csv_filename = ${ue.metrics_filename} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24183 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib58d3591cc51c11c9e496f6510ebffb91ee71345 Gerrit-Change-Number: 24183 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 14:43:09 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 10 May 2021 14:43:09 +0000 Subject: Change in osmo-gsm-tester[master]: epc_open5gs: remove _epc from name References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24184 ) Change subject: epc_open5gs: remove _epc from name ...................................................................... epc_open5gs: remove _epc from name there is no open5gs_enb so having the epc in the name is redundent, also it safes typing and allows longer scenario configs without exceeding filename limit. Change-Id: Ib10bc6031ecc8de88a9c718b136d2641ce46e11d --- M src/osmo_gsm_tester/obj/epc.py M src/osmo_gsm_tester/obj/epc_open5gs.py 2 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/84/24184/1 diff --git a/src/osmo_gsm_tester/obj/epc.py b/src/osmo_gsm_tester/obj/epc.py index 4c43f5e..90a6cbb 100644 --- a/src/osmo_gsm_tester/obj/epc.py +++ b/src/osmo_gsm_tester/obj/epc.py @@ -71,7 +71,7 @@ elif epc_type == 'srsepc': from .epc_srs import srsEPC epc_class = srsEPC - elif epc_type == 'open5gsepc': + elif epc_type == 'open5gs': from .epc_open5gs import Open5gsEPC epc_class = Open5gsEPC else: diff --git a/src/osmo_gsm_tester/obj/epc_open5gs.py b/src/osmo_gsm_tester/obj/epc_open5gs.py index feff901..3759dfc 100644 --- a/src/osmo_gsm_tester/obj/epc_open5gs.py +++ b/src/osmo_gsm_tester/obj/epc_open5gs.py @@ -45,7 +45,7 @@ REMOTE_DIR = '/osmo-gsm-tester-open5gs' def __init__(self, testenv, run_node): - super().__init__(testenv, run_node, 'open5gs_epc') + super().__init__(testenv, run_node, 'open5gs') self.run_dir = None self.pcrf = None self.upf = None @@ -57,7 +57,7 @@ self.subscriber_list = [] def configure(self): - values = super().configure(['open5gsepc']) + values = super().configure(['open5gs']) db_host = values['epc']['db_host'] db_uri = 'mongodb://'+db_host+'/open5gs' config.overlay(values, dict(epc=dict(db_uri=db_uri, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24184 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib10bc6031ecc8de88a9c718b136d2641ce46e11d Gerrit-Change-Number: 24184 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 14:43:11 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 10 May 2021 14:43:11 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs: fix stopping of open5gs components after test finishes References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24185 ) Change subject: open5gs: fix stopping of open5gs components after test finishes ...................................................................... open5gs: fix stopping of open5gs components after test finishes use RemoteProcessSafeExit() for launching all open5gs components to make sure they are stopped at the end as well. Change-Id: Ia1439577d60f9694da70c4e42c621100c8ef295e --- M src/osmo_gsm_tester/obj/hss_open5gs.py M src/osmo_gsm_tester/obj/mme_open5gs.py M src/osmo_gsm_tester/obj/pcrf_open5gs.py M src/osmo_gsm_tester/obj/sgwc_open5gs.py M src/osmo_gsm_tester/obj/sgwu_open5gs.py M src/osmo_gsm_tester/obj/smf_open5gs.py M src/osmo_gsm_tester/obj/upf_open5gs.py 7 files changed, 14 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/85/24185/1 diff --git a/src/osmo_gsm_tester/obj/hss_open5gs.py b/src/osmo_gsm_tester/obj/hss_open5gs.py index 211d09a..8ffb3b0 100644 --- a/src/osmo_gsm_tester/obj/hss_open5gs.py +++ b/src/osmo_gsm_tester/obj/hss_open5gs.py @@ -75,8 +75,9 @@ remote_binary = self.remote_inst.child('bin', Open5gsHSS.BINFILE) args = (remote_binary, '-c', self.remote_config_file) + remote_run_dir = util.Dir(util.Dir(Open5gsHSS.REMOTE_DIR).child(Open5gsHSS.BINFILE)) - self.process = self.rem_host.RemoteProcess(Open5gsHSS.BINFILE, args, remote_env=remote_env) + self.process = self.rem_host.RemoteProcessSafeExit(Open5gsHSS.BINFILE, remote_run_dir, args, remote_env=remote_env) self.testenv.remember_to_stop(self.process) self.process.launch() diff --git a/src/osmo_gsm_tester/obj/mme_open5gs.py b/src/osmo_gsm_tester/obj/mme_open5gs.py index 0b3d633..25202f5 100644 --- a/src/osmo_gsm_tester/obj/mme_open5gs.py +++ b/src/osmo_gsm_tester/obj/mme_open5gs.py @@ -81,8 +81,9 @@ self.rem_host.setcap_net_admin(remote_binary) args = (remote_binary, '-c', self.remote_config_file) + remote_run_dir = util.Dir(util.Dir(Open5gsMME.REMOTE_DIR).child(Open5gsMME.BINFILE)) - self.process = self.rem_host.RemoteProcess(Open5gsMME.BINFILE, args) + self.process = self.rem_host.RemoteProcessSafeExit(Open5gsMME.BINFILE, remote_run_dir, args) self.testenv.remember_to_stop(self.process) self.process.launch() diff --git a/src/osmo_gsm_tester/obj/pcrf_open5gs.py b/src/osmo_gsm_tester/obj/pcrf_open5gs.py index 4f93a47..5383b4f 100644 --- a/src/osmo_gsm_tester/obj/pcrf_open5gs.py +++ b/src/osmo_gsm_tester/obj/pcrf_open5gs.py @@ -75,8 +75,9 @@ remote_binary = self.remote_inst.child('bin', Open5gsPCRF.BINFILE) args = (remote_binary, '-c', self.remote_config_file) + remote_run_dir = util.Dir(util.Dir(Open5gsPCRF.REMOTE_DIR).child(Open5gsPCRF.BINFILE)) - self.process = self.rem_host.RemoteProcess(Open5gsPCRF.BINFILE, args, remote_env=remote_env) + self.process = self.rem_host.RemoteProcessSafeExit(Open5gsPCRF.BINFILE, remote_run_dir, args, remote_env=remote_env) self.testenv.remember_to_stop(self.process) self.process.launch() diff --git a/src/osmo_gsm_tester/obj/sgwc_open5gs.py b/src/osmo_gsm_tester/obj/sgwc_open5gs.py index efc4568..394f1e7 100644 --- a/src/osmo_gsm_tester/obj/sgwc_open5gs.py +++ b/src/osmo_gsm_tester/obj/sgwc_open5gs.py @@ -72,8 +72,9 @@ remote_binary = self.remote_inst.child('bin', Open5gsSGWC.BINFILE) args = (remote_binary, '-c', self.remote_config_file) + remote_run_dir = util.Dir(util.Dir(Open5gsSGWC.REMOTE_DIR).child(Open5gsSGWC.BINFILE)) - self.process = self.rem_host.RemoteProcess(Open5gsSGWC.BINFILE, args, remote_env=remote_env) + self.process = self.rem_host.RemoteProcessSafeExit(Open5gsSGWC.BINFILE, remote_run_dir, args, remote_env=remote_env) self.testenv.remember_to_stop(self.process) self.process.launch() diff --git a/src/osmo_gsm_tester/obj/sgwu_open5gs.py b/src/osmo_gsm_tester/obj/sgwu_open5gs.py index b97dd92..79fab8d 100644 --- a/src/osmo_gsm_tester/obj/sgwu_open5gs.py +++ b/src/osmo_gsm_tester/obj/sgwu_open5gs.py @@ -72,8 +72,9 @@ remote_binary = self.remote_inst.child('bin', Open5gsSGWU.BINFILE) args = (remote_binary, '-c', self.remote_config_file) + remote_run_dir = util.Dir(util.Dir(Open5gsSGWU.REMOTE_DIR).child(Open5gsSGWU.BINFILE)) - self.process = self.rem_host.RemoteProcess(Open5gsSGWU.BINFILE, args, remote_env=remote_env) + self.process = self.rem_host.RemoteProcessSafeExit(Open5gsSGWU.BINFILE, remote_run_dir, args, remote_env=remote_env) self.testenv.remember_to_stop(self.process) self.process.launch() diff --git a/src/osmo_gsm_tester/obj/smf_open5gs.py b/src/osmo_gsm_tester/obj/smf_open5gs.py index 5241dc2..eda1aa2 100644 --- a/src/osmo_gsm_tester/obj/smf_open5gs.py +++ b/src/osmo_gsm_tester/obj/smf_open5gs.py @@ -75,8 +75,9 @@ remote_binary = self.remote_inst.child('bin', Open5gsSMF.BINFILE) args = (remote_binary, '-c', self.remote_config_file) + remote_run_dir = util.Dir(util.Dir(Open5gsSMF.REMOTE_DIR).child(Open5gsSMF.BINFILE)) - self.process = self.rem_host.RemoteProcess(Open5gsSMF.BINFILE, args, remote_env=remote_env) + self.process = self.rem_host.RemoteProcessSafeExit(Open5gsSMF.BINFILE, remote_run_dir, args, remote_env=remote_env) self.testenv.remember_to_stop(self.process) self.process.launch() diff --git a/src/osmo_gsm_tester/obj/upf_open5gs.py b/src/osmo_gsm_tester/obj/upf_open5gs.py index f22a6d7..78a520f 100644 --- a/src/osmo_gsm_tester/obj/upf_open5gs.py +++ b/src/osmo_gsm_tester/obj/upf_open5gs.py @@ -79,8 +79,9 @@ self.rem_host.setcap_net_admin(remote_binary) args = (remote_binary, '-c', self.remote_config_file) + remote_run_dir = util.Dir(util.Dir(Open5gsUPF.REMOTE_DIR).child(Open5gsUPF.BINFILE)) - self.process = self.rem_host.RemoteProcess(Open5gsUPF.BINFILE, args) + self.process = self.rem_host.RemoteProcessSafeExit(Open5gsUPF.BINFILE, remote_run_dir, args) self.testenv.remember_to_stop(self.process) self.process.launch() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24185 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia1439577d60f9694da70c4e42c621100c8ef295e Gerrit-Change-Number: 24185 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 14:50:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 14:50:01 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: tidy up config file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24183 ) Change subject: srsue.conf.tmpl: tidy up config file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24183 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib58d3591cc51c11c9e496f6510ebffb91ee71345 Gerrit-Change-Number: 24183 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 10 May 2021 14:50:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 14:50:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 14:50:53 +0000 Subject: Change in osmo-gsm-tester[master]: epc_open5gs: remove _epc from name In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24184 ) Change subject: epc_open5gs: remove _epc from name ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24184 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib10bc6031ecc8de88a9c718b136d2641ce46e11d Gerrit-Change-Number: 24184 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 10 May 2021 14:50:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 14:51:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 14:51:44 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs: fix stopping of open5gs components after test finishes In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24185 ) Change subject: open5gs: fix stopping of open5gs components after test finishes ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24185 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia1439577d60f9694da70c4e42c621100c8ef295e Gerrit-Change-Number: 24185 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 10 May 2021 14:51:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 16:39:23 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 10 May 2021 16:39:23 +0000 Subject: Change in pysim[master]: commands: pad short data input in update_record() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24008 ) Change subject: commands: pad short data input in update_record() ...................................................................... Patch Set 6: > doesn't this break the partial update of a record? > > I would think it's legal to say "I want to updte only the first two bytes of a record" without writing the entire record (which can be long). > > Wouldn't your patch now overwrite the remainder of the record with padding? This is something I do not know for sure, I never managed to partially update a record, the card always rejected that. Only updating the record as a whole worked for me. I have now checked ETSI TS 102 221, section 11.1.6.1, it reads "This function updates one specific, complete record in the current linear fixed or cyclic EF.", so it seems that it is not possible to partially update a record. In any case, maybe it makes sense to read the record and use that data as padding? I am not convinced by this, if we for instance encode TLV data the resulting length may vary, if the data is sorter than the data that was in that record before it will leave trash at the end of the new TLV data. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9a5df0e46c3dd2e87d447c5c01cf15844b0eed07 Gerrit-Change-Number: 24008 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 10 May 2021 16:39:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 17:21:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 17:21:57 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: tidy up config file In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24183 ) Change subject: srsue.conf.tmpl: tidy up config file ...................................................................... srsue.conf.tmpl: tidy up config file no functional changes, just remove whitespaces and newlines Change-Id: Ib58d3591cc51c11c9e496f6510ebffb91ee71345 --- M src/osmo_gsm_tester/templates/srsue.conf.tmpl 1 file changed, 10 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 412dbda..8d871bf 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -1,6 +1,4 @@ -##################################################################### -# srsUE configuration file -##################################################################### +# OGT templated configuration file for srsUE [rf] % if int(ue.tx_gain) > 0: @@ -27,13 +25,15 @@ dl_earfcn = ${ue.dl_earfcn} % else: - % if int(ue.num_carriers) == 4: - dl_earfcn = 2850,3050,3250,3350 - % elif int(ue.num_carriers) == 2: - dl_earfcn = 2850,3050 - % else: - dl_earfcn = 2850 - % endif + +% if int(ue.num_carriers) == 4: +dl_earfcn = 2850,3050,3250,3350 +% elif int(ue.num_carriers) == 2: +dl_earfcn = 2850,3050 +% else: +dl_earfcn = 2850 +% endif + % endif % if float(ue.get('dl_freq', -1)) != -1: @@ -62,7 +62,6 @@ file_max_size = -1 nas_level = ${ue.log_nas_level} - [usim] mode = soft algo = ${ue.auth_algo} @@ -87,7 +86,6 @@ ue_category_ul = ${ue.ue_category_ul} % endif - [phy] % if ue.rf_dev_type == 'zmq': nof_phy_threads = 2 @@ -96,12 +94,10 @@ force_ul_amplitude = ${ue.force_ul_amplitude} % endif - [sim] airplane_t_on_ms = ${ue.airplane_t_on_ms} airplane_t_off_ms = ${ue.airplane_t_off_ms} - [general] metrics_csv_enable = true metrics_csv_filename = ${ue.metrics_filename} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24183 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib58d3591cc51c11c9e496f6510ebffb91ee71345 Gerrit-Change-Number: 24183 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 17:21:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 17:21:58 +0000 Subject: Change in osmo-gsm-tester[master]: epc_open5gs: remove _epc from name In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24184 ) Change subject: epc_open5gs: remove _epc from name ...................................................................... epc_open5gs: remove _epc from name there is no open5gs_enb so having the epc in the name is redundent, also it safes typing and allows longer scenario configs without exceeding filename limit. Change-Id: Ib10bc6031ecc8de88a9c718b136d2641ce46e11d --- M src/osmo_gsm_tester/obj/epc.py M src/osmo_gsm_tester/obj/epc_open5gs.py 2 files changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/epc.py b/src/osmo_gsm_tester/obj/epc.py index 4c43f5e..90a6cbb 100644 --- a/src/osmo_gsm_tester/obj/epc.py +++ b/src/osmo_gsm_tester/obj/epc.py @@ -71,7 +71,7 @@ elif epc_type == 'srsepc': from .epc_srs import srsEPC epc_class = srsEPC - elif epc_type == 'open5gsepc': + elif epc_type == 'open5gs': from .epc_open5gs import Open5gsEPC epc_class = Open5gsEPC else: diff --git a/src/osmo_gsm_tester/obj/epc_open5gs.py b/src/osmo_gsm_tester/obj/epc_open5gs.py index feff901..3759dfc 100644 --- a/src/osmo_gsm_tester/obj/epc_open5gs.py +++ b/src/osmo_gsm_tester/obj/epc_open5gs.py @@ -45,7 +45,7 @@ REMOTE_DIR = '/osmo-gsm-tester-open5gs' def __init__(self, testenv, run_node): - super().__init__(testenv, run_node, 'open5gs_epc') + super().__init__(testenv, run_node, 'open5gs') self.run_dir = None self.pcrf = None self.upf = None @@ -57,7 +57,7 @@ self.subscriber_list = [] def configure(self): - values = super().configure(['open5gsepc']) + values = super().configure(['open5gs']) db_host = values['epc']['db_host'] db_uri = 'mongodb://'+db_host+'/open5gs' config.overlay(values, dict(epc=dict(db_uri=db_uri, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24184 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib10bc6031ecc8de88a9c718b136d2641ce46e11d Gerrit-Change-Number: 24184 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 17:21:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 17:21:58 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs: fix stopping of open5gs components after test finishes In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24185 ) Change subject: open5gs: fix stopping of open5gs components after test finishes ...................................................................... open5gs: fix stopping of open5gs components after test finishes use RemoteProcessSafeExit() for launching all open5gs components to make sure they are stopped at the end as well. Change-Id: Ia1439577d60f9694da70c4e42c621100c8ef295e --- M src/osmo_gsm_tester/obj/hss_open5gs.py M src/osmo_gsm_tester/obj/mme_open5gs.py M src/osmo_gsm_tester/obj/pcrf_open5gs.py M src/osmo_gsm_tester/obj/sgwc_open5gs.py M src/osmo_gsm_tester/obj/sgwu_open5gs.py M src/osmo_gsm_tester/obj/smf_open5gs.py M src/osmo_gsm_tester/obj/upf_open5gs.py 7 files changed, 14 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/hss_open5gs.py b/src/osmo_gsm_tester/obj/hss_open5gs.py index 211d09a..8ffb3b0 100644 --- a/src/osmo_gsm_tester/obj/hss_open5gs.py +++ b/src/osmo_gsm_tester/obj/hss_open5gs.py @@ -75,8 +75,9 @@ remote_binary = self.remote_inst.child('bin', Open5gsHSS.BINFILE) args = (remote_binary, '-c', self.remote_config_file) + remote_run_dir = util.Dir(util.Dir(Open5gsHSS.REMOTE_DIR).child(Open5gsHSS.BINFILE)) - self.process = self.rem_host.RemoteProcess(Open5gsHSS.BINFILE, args, remote_env=remote_env) + self.process = self.rem_host.RemoteProcessSafeExit(Open5gsHSS.BINFILE, remote_run_dir, args, remote_env=remote_env) self.testenv.remember_to_stop(self.process) self.process.launch() diff --git a/src/osmo_gsm_tester/obj/mme_open5gs.py b/src/osmo_gsm_tester/obj/mme_open5gs.py index 0b3d633..25202f5 100644 --- a/src/osmo_gsm_tester/obj/mme_open5gs.py +++ b/src/osmo_gsm_tester/obj/mme_open5gs.py @@ -81,8 +81,9 @@ self.rem_host.setcap_net_admin(remote_binary) args = (remote_binary, '-c', self.remote_config_file) + remote_run_dir = util.Dir(util.Dir(Open5gsMME.REMOTE_DIR).child(Open5gsMME.BINFILE)) - self.process = self.rem_host.RemoteProcess(Open5gsMME.BINFILE, args) + self.process = self.rem_host.RemoteProcessSafeExit(Open5gsMME.BINFILE, remote_run_dir, args) self.testenv.remember_to_stop(self.process) self.process.launch() diff --git a/src/osmo_gsm_tester/obj/pcrf_open5gs.py b/src/osmo_gsm_tester/obj/pcrf_open5gs.py index 4f93a47..5383b4f 100644 --- a/src/osmo_gsm_tester/obj/pcrf_open5gs.py +++ b/src/osmo_gsm_tester/obj/pcrf_open5gs.py @@ -75,8 +75,9 @@ remote_binary = self.remote_inst.child('bin', Open5gsPCRF.BINFILE) args = (remote_binary, '-c', self.remote_config_file) + remote_run_dir = util.Dir(util.Dir(Open5gsPCRF.REMOTE_DIR).child(Open5gsPCRF.BINFILE)) - self.process = self.rem_host.RemoteProcess(Open5gsPCRF.BINFILE, args, remote_env=remote_env) + self.process = self.rem_host.RemoteProcessSafeExit(Open5gsPCRF.BINFILE, remote_run_dir, args, remote_env=remote_env) self.testenv.remember_to_stop(self.process) self.process.launch() diff --git a/src/osmo_gsm_tester/obj/sgwc_open5gs.py b/src/osmo_gsm_tester/obj/sgwc_open5gs.py index efc4568..394f1e7 100644 --- a/src/osmo_gsm_tester/obj/sgwc_open5gs.py +++ b/src/osmo_gsm_tester/obj/sgwc_open5gs.py @@ -72,8 +72,9 @@ remote_binary = self.remote_inst.child('bin', Open5gsSGWC.BINFILE) args = (remote_binary, '-c', self.remote_config_file) + remote_run_dir = util.Dir(util.Dir(Open5gsSGWC.REMOTE_DIR).child(Open5gsSGWC.BINFILE)) - self.process = self.rem_host.RemoteProcess(Open5gsSGWC.BINFILE, args, remote_env=remote_env) + self.process = self.rem_host.RemoteProcessSafeExit(Open5gsSGWC.BINFILE, remote_run_dir, args, remote_env=remote_env) self.testenv.remember_to_stop(self.process) self.process.launch() diff --git a/src/osmo_gsm_tester/obj/sgwu_open5gs.py b/src/osmo_gsm_tester/obj/sgwu_open5gs.py index b97dd92..79fab8d 100644 --- a/src/osmo_gsm_tester/obj/sgwu_open5gs.py +++ b/src/osmo_gsm_tester/obj/sgwu_open5gs.py @@ -72,8 +72,9 @@ remote_binary = self.remote_inst.child('bin', Open5gsSGWU.BINFILE) args = (remote_binary, '-c', self.remote_config_file) + remote_run_dir = util.Dir(util.Dir(Open5gsSGWU.REMOTE_DIR).child(Open5gsSGWU.BINFILE)) - self.process = self.rem_host.RemoteProcess(Open5gsSGWU.BINFILE, args, remote_env=remote_env) + self.process = self.rem_host.RemoteProcessSafeExit(Open5gsSGWU.BINFILE, remote_run_dir, args, remote_env=remote_env) self.testenv.remember_to_stop(self.process) self.process.launch() diff --git a/src/osmo_gsm_tester/obj/smf_open5gs.py b/src/osmo_gsm_tester/obj/smf_open5gs.py index 5241dc2..eda1aa2 100644 --- a/src/osmo_gsm_tester/obj/smf_open5gs.py +++ b/src/osmo_gsm_tester/obj/smf_open5gs.py @@ -75,8 +75,9 @@ remote_binary = self.remote_inst.child('bin', Open5gsSMF.BINFILE) args = (remote_binary, '-c', self.remote_config_file) + remote_run_dir = util.Dir(util.Dir(Open5gsSMF.REMOTE_DIR).child(Open5gsSMF.BINFILE)) - self.process = self.rem_host.RemoteProcess(Open5gsSMF.BINFILE, args, remote_env=remote_env) + self.process = self.rem_host.RemoteProcessSafeExit(Open5gsSMF.BINFILE, remote_run_dir, args, remote_env=remote_env) self.testenv.remember_to_stop(self.process) self.process.launch() diff --git a/src/osmo_gsm_tester/obj/upf_open5gs.py b/src/osmo_gsm_tester/obj/upf_open5gs.py index f22a6d7..78a520f 100644 --- a/src/osmo_gsm_tester/obj/upf_open5gs.py +++ b/src/osmo_gsm_tester/obj/upf_open5gs.py @@ -79,8 +79,9 @@ self.rem_host.setcap_net_admin(remote_binary) args = (remote_binary, '-c', self.remote_config_file) + remote_run_dir = util.Dir(util.Dir(Open5gsUPF.REMOTE_DIR).child(Open5gsUPF.BINFILE)) - self.process = self.rem_host.RemoteProcess(Open5gsUPF.BINFILE, args) + self.process = self.rem_host.RemoteProcessSafeExit(Open5gsUPF.BINFILE, remote_run_dir, args) self.testenv.remember_to_stop(self.process) self.process.launch() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24185 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia1439577d60f9694da70c4e42c621100c8ef295e Gerrit-Change-Number: 24185 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 17:53:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 17:53:38 +0000 Subject: Change in osmo-pcu[master]: Simplify helper function tbf_select_slot_set() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24186 ) Change subject: Simplify helper function tbf_select_slot_set() ...................................................................... Simplify helper function tbf_select_slot_set() Store direction check to simplify the code. Get rid of 2-step LOGP to avoid multi-row logs in gsmtap log. Change-Id: Ia2e061da82ddce564b2d768d8ade1672c22934e2 --- M src/gprs_rlcmac_ts_alloc.cpp M tests/tbf/TbfTest.err 2 files changed, 11 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/86/24186/1 diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index dd921e7..e8c9bc4 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -711,7 +711,8 @@ uint8_t reserved_ul_slots, uint8_t reserved_dl_slots, int8_t first_common_ts) { - uint8_t sl = tbf->direction != GPRS_RLCMAC_DL_TBF ? ul_slots : dl_slots; + bool is_ul = tbf->direction == GPRS_RLCMAC_UL_TBF; + uint8_t sl = is_ul ? ul_slots : dl_slots; char slot_info[9] = { 0 }; if (single) @@ -719,22 +720,22 @@ if (!sl) { LOGP(DRLCMAC, LOGL_NOTICE, "No %s slots available\n", - tbf->direction != GPRS_RLCMAC_DL_TBF ? "uplink" : "downlink"); + is_ul ? "uplink" : "downlink"); bts_do_rate_ctr_inc(trx->bts, CTR_TBF_ALLOC_FAIL_NO_SLOT_AVAIL); return -EINVAL; } - if (tbf->direction != GPRS_RLCMAC_DL_TBF) { + if (is_ul) { snprintf(slot_info, 9, OSMO_BIT_SPEC, OSMO_BIT_PRINT_EX(reserved_ul_slots, 'u')); masked_override_with(slot_info, sl, 'U'); - LOGP(DRLCMAC, LOGL_DEBUG, "- Selected UL"); } else { snprintf(slot_info, 9, OSMO_BIT_SPEC, OSMO_BIT_PRINT_EX(reserved_dl_slots, 'd')); masked_override_with(slot_info, sl, 'D'); - LOGP(DRLCMAC, LOGL_DEBUG, "- Selected DL"); } - LOGPC(DRLCMAC, LOGL_DEBUG, " slots: (TS=0)\"%s\"(TS=7), %s\n", slot_info, single ? "single" : "multi"); + LOGPC(DRLCMAC, LOGL_DEBUG, "Selected %s slots: (TS=0)\"%s\"(TS=7), %s\n", + is_ul ? "UL" : "DL", + slot_info, single ? "single" : "multi"); return sl; } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index be7caf0..0a826a7 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -3153,7 +3153,7 @@ - Skipping TS 7, because not enabled - Possible DL/UL slots: (TS=0)"..CCCC.."(TS=7) Rx=4 Tx=4 Sum Rx+Tx=5, Tta=2 Ttb=1, Tra=2 Trb=1, Type=1 -- Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi +Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi [DL] algo B (suggested TRX: 0): using 4 slots - Reserved DL/UL slots: (TS=0)"..DDCD.."(TS=7) - Assigning DL TS 2 @@ -3192,7 +3192,7 @@ - Skipping TS 7, because not enabled - Possible DL/UL slots: (TS=0)"..CCCC.."(TS=7) Rx=4 Tx=4 Sum Rx+Tx=5, Tta=2 Ttb=1, Tra=2 Trb=1, Type=1 -- Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi +Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi [DL] algo B (suggested TRX: 0): using 4 slots - Reserved DL/UL slots: (TS=0)"..DDCD.."(TS=7) - Assigning DL TS 2 @@ -6013,7 +6013,7 @@ - Skipping TS 7, because not enabled - Possible DL/UL slots: (TS=0)"..CCCC.."(TS=7) Rx=4 Tx=3 Sum Rx+Tx=5, Tta=3 Ttb=1, Tra=2 Trb=1, Type=1 -- Selected DL slots: (TS=0)"..ddDd.."(TS=7), single +Selected DL slots: (TS=0)"..ddDd.."(TS=7), single [DL] algo B (suggested TRX: 0): using single slot at TS 4 - Reserved DL/UL slots: (TS=0)"...DC..."(TS=7) - Assigning DL TS 4 @@ -6028,7 +6028,7 @@ PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. [DL] algo B (suggested TRX: -1): Alloc start Found first unallocated TRX=0 TFI=0 -- Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi +Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi [DL] algo B (suggested TRX: -1): using 4 slots - Assigning DL TS 2 PDCH(bts=0,trx=0,ts=2) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia2e061da82ddce564b2d768d8ade1672c22934e2 Gerrit-Change-Number: 24186 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 17:53:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 17:53:38 +0000 Subject: Change in osmo-pcu[master]: alloc_algorithm_b: Rearrange variable initialization References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24187 ) Change subject: alloc_algorithm_b: Rearrange variable initialization ...................................................................... alloc_algorithm_b: Rearrange variable initialization Untangle variable assignment at the start of the function. Changes end up in same kind of assignment, but are far easier to understand based on the variable use later on. * reserved_{dl,ul}_slots contain mask of TS either "previously-reserved" or "intended to be reserved now" based on MS's ms_class. * {dl,ul}_slots contain a derived mask from the one above, filtered further based on more factors like type of allocation requested (multi vs single), available USFs (UL), etc. Change-Id: If3cfa82f8b793a87e97145ee8a6fc0fe1a61add6 --- M src/gprs_rlcmac_ts_alloc.cpp 1 file changed, 6 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/87/24187/1 diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index e8c9bc4..5ccbb9f 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -883,10 +883,8 @@ /* Step 1: Get current state from the MS object */ - OSMO_ASSERT(ms); - - dl_slots = ms_reserved_dl_slots(ms); - ul_slots = ms_reserved_ul_slots(ms); + reserved_dl_slots = ms_reserved_dl_slots(ms); + reserved_ul_slots = ms_reserved_ul_slots(ms); first_common_ts = ms_first_common_ts(ms); trx = ms_current_trx(ms); @@ -901,14 +899,13 @@ if (!trx) trx = &bts->trx[trx_no]; - if (!dl_slots || !ul_slots) { - rc = find_multi_slots(trx, ms_ms_class(ms), &ul_slots, &dl_slots); + if (!reserved_dl_slots || !reserved_ul_slots) { + rc = find_multi_slots(trx, ms_ms_class(ms), &reserved_ul_slots, &reserved_dl_slots); if (rc < 0) return rc; } - - reserved_dl_slots = dl_slots; - reserved_ul_slots = ul_slots; + dl_slots = reserved_dl_slots; + ul_slots = reserved_ul_slots; /* Step 3a: Derive the slot set for the current TBF */ rc = tbf_select_slot_set(tbf, trx, single, ul_slots, dl_slots, reserved_ul_slots, reserved_dl_slots, -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If3cfa82f8b793a87e97145ee8a6fc0fe1a61add6 Gerrit-Change-Number: 24187 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 17:53:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 17:53:39 +0000 Subject: Change in osmo-pcu[master]: Rename function s/tbf_alloc_ul_pacch/tbf_alloc_ul_pacch/ References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24188 ) Change subject: Rename function s/tbf_alloc_ul_pacch/tbf_alloc_ul_pacch/ ...................................................................... Rename function s/tbf_alloc_ul_pacch/tbf_alloc_ul_pacch/ Change-Id: I70ca0b5be0a29a05c6e65b9c92cc6d3b5c43d3dc --- M src/pdch.cpp M src/tbf_ul.cpp M src/tbf_ul.h 3 files changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/88/24188/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 5389763..c69c45c 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -119,7 +119,7 @@ bts_do_rate_ctr_inc(bts, CTR_CHANNEL_REQUEST_DESCRIPTION); /* This call will register the new TBF with the MS on success */ - gprs_rlcmac_ul_tbf *ul_tbf = tbf_alloc_ul(bts, tbf->ms(), tbf->trx->trx_no, tbf->tlli()); + gprs_rlcmac_ul_tbf *ul_tbf = tbf_alloc_ul_pacch(bts, tbf->ms(), tbf->trx->trx_no, tbf->tlli()); /* schedule uplink assignment or reject */ if (ul_tbf) { @@ -683,7 +683,7 @@ tbf_free(ul_tbf); } - ul_tbf = tbf_alloc_ul(bts(), ms, trx_no(), tlli); + ul_tbf = tbf_alloc_ul_pacch(bts(), ms, trx_no(), tlli); if (!ul_tbf) { handle_tbf_reject(bts(), ms, trx_no(), ts_no); goto return_unref; diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index c41793d..cf8c75c 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -141,7 +141,7 @@ } /* Alloc a UL TBF to be assigned over PACCH */ -gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, +gprs_rlcmac_ul_tbf *tbf_alloc_ul_pacch(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint32_t tlli) { struct gprs_rlcmac_ul_tbf *tbf; diff --git a/src/tbf_ul.h b/src/tbf_ul.h index 53c7ad8..4207deb 100644 --- a/src/tbf_ul.h +++ b/src/tbf_ul.h @@ -118,8 +118,8 @@ } struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot); -struct gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts, GprsMs *ms, - int8_t use_trx, uint32_t tlli); +struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_pacch(struct gprs_rlcmac_bts *bts, GprsMs *ms, + int8_t use_trx, uint32_t tlli); struct gprs_rlcmac_ul_tbf *handle_tbf_reject(struct gprs_rlcmac_bts *bts, GprsMs *ms, uint8_t trx_no, uint8_t ts_no); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24188 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I70ca0b5be0a29a05c6e65b9c92cc6d3b5c43d3dc Gerrit-Change-Number: 24188 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 17:53:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 17:53:39 +0000 Subject: Change in osmo-pcu[master]: Split ul_tbf alloc on CCCH into new function References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24189 ) Change subject: Split ul_tbf alloc on CCCH into new function ...................................................................... Split ul_tbf alloc on CCCH into new function This allows more easily finding when this specific scenario happens, and can easily be compared against the PACCH one. Change-Id: I609792a40fda2a798ca71a0e9f5639d0a0f011d7 --- M src/bts.cpp M src/tbf_ul.cpp M src/tbf_ul.h M tests/tbf/TbfTest.err 4 files changed, 29 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/89/24189/1 diff --git a/src/bts.cpp b/src/bts.cpp index 4fe529e..261da19 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -867,18 +867,13 @@ "SBFn=%u TRX=%u TS=%u\n", sb_fn, trx_no, ts_no); } else { GprsMs *ms = bts_alloc_ms(bts, 0, chan_req.egprs_mslot_class); - tbf = tbf_alloc_ul_tbf(bts, ms, -1, true); + tbf = tbf_alloc_ul_ccch(bts, ms); if (!tbf) { - LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource for Uplink TBF\n"); /* Send RR Immediate Assignment Reject */ rc = -EBUSY; goto send_imm_ass_rej; } - - /* FIXME: Copy and paste with other routines.. */ tbf->set_ta(ta); - TBF_SET_STATE(tbf, GPRS_RLCMAC_FLOW); - TBF_ASS_TYPE_SET(tbf, GPRS_RLCMAC_FLAG_CCCH); trx_no = tbf->trx->trx_no; ts_no = tbf->first_ts; usf = tbf->m_usf[ts_no]; diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index cf8c75c..686eea5 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -160,6 +160,24 @@ return tbf; } +/* Alloc a UL TBF to be assigned over CCCH */ +struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_ccch(struct gprs_rlcmac_bts *bts, struct GprsMs *ms) +{ + struct gprs_rlcmac_ul_tbf *tbf; + + tbf = tbf_alloc_ul_tbf(bts, ms, -1, true); + if (!tbf) { + LOGP(DTBF, LOGL_NOTICE, "No PDCH resource for Uplink TBF\n"); + /* Caller will most probably send a Imm Ass Reject after return */ + return NULL; + } + TBF_SET_STATE(tbf, GPRS_RLCMAC_FLOW); + TBF_ASS_TYPE_SET(tbf, GPRS_RLCMAC_FLAG_CCCH); + OSMO_ASSERT(tbf->ms()); + + return tbf; +} + /* Create a temporary dummy TBF to Tx a ImmAssReject if allocating a new one during * packet resource Request failed. This is similar as tbf_alloc_ul() but without * calling tbf->setup() (in charge of TFI/USF allocation), and reusing resources diff --git a/src/tbf_ul.h b/src/tbf_ul.h index 4207deb..0b9be28 100644 --- a/src/tbf_ul.h +++ b/src/tbf_ul.h @@ -120,6 +120,7 @@ struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot); struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_pacch(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint32_t tlli); +struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_ccch(struct gprs_rlcmac_bts *bts, struct GprsMs *ms); struct gprs_rlcmac_ul_tbf *handle_tbf_reject(struct gprs_rlcmac_bts *bts, GprsMs *ms, uint8_t trx_no, uint8_t ts_no); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 0a826a7..f1cab16 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1454,9 +1454,9 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) -Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654167 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) @@ -2060,9 +2060,9 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) -Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) @@ -6210,9 +6210,9 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) -Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 MS requests Uplink resource on CCCH/RACH: ra=0x79 (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6231,9 +6231,9 @@ TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) -Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=1 USF=1 MS requests Uplink resource on CCCH/RACH: ra=0x7a (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6252,9 +6252,9 @@ TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) -Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=2 USF=2 MS requests Uplink resource on CCCH/RACH: ra=0x7b (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6273,9 +6273,9 @@ TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) -Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=3 USF=3 MS requests Uplink resource on CCCH/RACH: ra=0x7c (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6294,9 +6294,9 @@ TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) -Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=4 USF=4 MS requests Uplink resource on CCCH/RACH: ra=0x7d (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6315,9 +6315,9 @@ TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) -Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=5 USF=5 MS requests Uplink resource on CCCH/RACH: ra=0x7e (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6336,9 +6336,9 @@ TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) -Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=6 USF=6 MS requests Uplink resource on CCCH/RACH: ra=0x7f (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24189 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I609792a40fda2a798ca71a0e9f5639d0a0f011d7 Gerrit-Change-Number: 24189 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 17:53:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 May 2021 17:53:39 +0000 Subject: Change in osmo-pcu[master]: Implement T3141 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24190 ) Change subject: Implement T3141 ...................................................................... Implement T3141 Related: OS#1940 Change-Id: I154984b835b2b436b1ebe4631a8afcebb7338c65 --- M src/gprs_pcu.c M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M src/tbf_ul.h M tests/tbf/TbfTest.err 7 files changed, 71 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/90/24190/1 diff --git a/src/gprs_pcu.c b/src/gprs_pcu.c index df439ef..37563ec 100644 --- a/src/gprs_pcu.c +++ b/src/gprs_pcu.c @@ -31,6 +31,7 @@ static struct osmo_tdef T_defs_pcu[] = { { .T=3190, .default_val=5, .unit=OSMO_TDEF_S, .desc="Return to packet idle mode after Packet DL Assignment on CCCH (s)", .val=0}, + { .T=3141, .default_val=10, .unit=OSMO_TDEF_S, .desc="Timeout for contention resolution procedure (s)", .val=0 }, { .T=PCU_TDEF_NEIGH_RESOLVE_TO, .default_val=1000, .unit=OSMO_TDEF_MS, .desc="[ARFCN+BSIC]->[RAC+CI] resolution timeout (ms)", .val=0 }, { .T=PCU_TDEF_SI_RESOLVE_TO, .default_val=1000, .unit=OSMO_TDEF_MS, .desc="RIM RAN-INFO response timeout (ms)", .val=0 }, { .T=PCU_TDEF_NEIGH_CACHE_ALIVE, .default_val=5, .unit=OSMO_TDEF_S, .desc="[ARFCN+BSIC]->[RAC+CI] resolution cache entry storage timeout (s)", .val=0 }, diff --git a/src/tbf.cpp b/src/tbf.cpp index 672146f..fddede6 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -92,6 +92,7 @@ static const struct value_string tbf_timers_names[] = { OSMO_VALUE_STRING(T0), + OSMO_VALUE_STRING(T3141), OSMO_VALUE_STRING(T3169), OSMO_VALUE_STRING(T3191), OSMO_VALUE_STRING(T3193), @@ -436,7 +437,7 @@ return osmo_timer_pending(&Tarr[t]); /* we don't start with T0 because it's internal timer which requires special handling */ - for (i = T3169; i < T_MAX; i++) + for (i = T3141; i < T_MAX; i++) if (osmo_timer_pending(&Tarr[i])) return true; @@ -469,6 +470,11 @@ #define T_CBACK(t, diag) static void cb_##t(void *_tbf) { tbf_timeout_free((struct gprs_rlcmac_tbf *)_tbf, t, diag); } +/* 3GPP TS 44.018 sec 3.5.2.1.5: On the network side, if timer T3141 elapses + * before a successful contention resolution procedure is completed, the newly + * allocated temporary block flow is released as specified in 3GPP TS 44.060 and + * the packet access is forgotten.*/ +T_CBACK(T3141, true) T_CBACK(T3169, true) T_CBACK(T3191, true) T_CBACK(T3193, false) @@ -518,6 +524,9 @@ case T0: Tarr[t].cb = tbf_timer_cb; break; + case T3141: + Tarr[t].cb = cb_T3141; + break; case T3169: Tarr[t].cb = cb_T3169; break; @@ -869,7 +878,7 @@ gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(this); /* be sure to check first, if contention resolution is done, - * otherwise we cannot send the assignment yet */ + * otherwise we cannot send the assignment yet (3GPP TS 44.060 sec 7.1.3.1) */ if (!ul_tbf->m_contention_resolution_done) { LOGPTBF(this, LOGL_DEBUG, "Cannot assign DL TBF now, because contention resolution is not finished.\n"); diff --git a/src/tbf.h b/src/tbf.h index ca6de0f..17f5b18 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -126,6 +126,9 @@ /* internal assign/reject timer */ T0, + /* Wait contention resolution success on UL TBFs assigned over CCCH */ + T3141, + /* Wait for reuse of USF and TFI(s) after the MS uplink assignment for this TBF is invalid. */ T3169, diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index fc53c84..27dc4cf 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -239,6 +239,10 @@ ul_tbf = ms_ul_tbf(ms); + /* 3GPP TS 44.060 sec 7.1.3.1 Initiation of the Packet resource request procedure: + * "Furthermore, the mobile station shall not respond to PACKET DOWNLINK ASSIGNMENT + * or MULTIPLE TBF DOWNLINK ASSIGNMENT messages before contention resolution is + * completed on the mobile station side." */ if (ul_tbf && ul_tbf->m_contention_resolution_done && !ul_tbf->m_final_ack_sent) { use_trx = ul_tbf->trx->trx_no; diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 686eea5..7486b47 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -173,6 +173,7 @@ } TBF_SET_STATE(tbf, GPRS_RLCMAC_FLOW); TBF_ASS_TYPE_SET(tbf, GPRS_RLCMAC_FLAG_CCCH); + tbf->contention_resolution_start(); OSMO_ASSERT(tbf->ms()); return tbf; @@ -300,6 +301,37 @@ return false; } +void gprs_rlcmac_ul_tbf::contention_resolution_start() +{ + /* 3GPP TS 44.018 sec 11.1.2 Timers on the network side: "This timer is + * started when a temporary block flow is allocated with an IMMEDIATE + * ASSIGNMENT or an IMMEDIATE PACKET ASSIGNMENT or an EC IMMEDIATE + * ASSIGNMENT TYPE 1 message during a packet access procedure. It is + * stopped when the mobile station has correctly seized the temporary + * block flow." + * In our code base, it means we want to do contention resolution + * timeout only for one-phase packet access, since two-phase is handled + * through SBA structs, which are freed by the PDCH UL Controller if the + * single allocated block is lost. */ + T_START(this, T3141, 3141, "Contention resolution (UL-TBF, CCCH)", true); +} +void gprs_rlcmac_ul_tbf::contention_resolution_success() +{ + if (m_contention_resolution_done) + return; + + /* 3GPP TS 44.060 sec 7a.2.1 Contention Resolution */ + /* 3GPP TS 44.018 3.5.2.1.4 Packet access completion: The one phase + packet access procedure is completed at a successful contention + resolution. The mobile station has entered the packet transfer mode. + Timer T3141 is stopped on the network side */ + t_stop(T3141, "Contention resolution success (UL-TBF, CCCH)"); + + /* now we must set this flag, so we are allowed to assign downlink + * TBF on PACCH. it is only allowed when TLLI is acknowledged. */ + m_contention_resolution_done = 1; +} + struct msgb *gprs_rlcmac_ul_tbf::create_ul_ack(uint32_t fn, uint8_t ts) { int final = (state_is(GPRS_RLCMAC_FINISHED)); @@ -333,9 +365,15 @@ bitvec_pack(ack_vec, msgb_put(msg, 23)); bitvec_free(ack_vec); - /* now we must set this flag, so we are allowed to assign downlink - * TBF on PACCH. it is only allowed when TLLI is acknowledged. */ - m_contention_resolution_done = 1; + /* TS 44.060 7a.2.1.1: "The contention resolution is completed on + * the network side when the network receives an RLC data block that + * comprises the TLLI value that identifies the mobile station and the + * TFI value associated with the TBF." + * However, it's handier for us to mark contention resolution success + * here since according to spec upon rx UL ACK is the time at which MS + * realizes contention resolution succeeds. */ + if (ms_tlli(ms()) != GSM_RESERVED_TMSI) + contention_resolution_success(); if (final) { set_polling(new_poll_fn, ts, PDCH_ULC_POLL_UL_ACK); diff --git a/src/tbf_ul.h b/src/tbf_ul.h index 0b9be28..9396633 100644 --- a/src/tbf_ul.h +++ b/src/tbf_ul.h @@ -87,6 +87,8 @@ void set_window_size(); void update_coding_scheme_counter_ul(enum CodingScheme cs); void usf_timeout(); + void contention_resolution_start(); + void contention_resolution_success(); /* Please note that all variables here will be reset when changing * from WAIT RELEASE back to FLOW state (re-use of TBF). diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index f1cab16..a205f39 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1456,6 +1456,7 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -2062,6 +2063,7 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654275 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -6212,6 +6214,7 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 MS requests Uplink resource on CCCH/RACH: ra=0x79 (8 bit) Fn=2654167 qta=31 @@ -6233,6 +6236,7 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=1 USF=1 MS requests Uplink resource on CCCH/RACH: ra=0x7a (8 bit) Fn=2654167 qta=31 @@ -6254,6 +6258,7 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=2 USF=2 MS requests Uplink resource on CCCH/RACH: ra=0x7b (8 bit) Fn=2654167 qta=31 @@ -6275,6 +6280,7 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=3 USF=3 MS requests Uplink resource on CCCH/RACH: ra=0x7c (8 bit) Fn=2654167 qta=31 @@ -6296,6 +6302,7 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=4 USF=4 MS requests Uplink resource on CCCH/RACH: ra=0x7d (8 bit) Fn=2654167 qta=31 @@ -6317,6 +6324,7 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=5 USF=5 MS requests Uplink resource on CCCH/RACH: ra=0x7e (8 bit) Fn=2654167 qta=31 @@ -6338,6 +6346,7 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=6 USF=6 MS requests Uplink resource on CCCH/RACH: ra=0x7f (8 bit) Fn=2654167 qta=31 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I154984b835b2b436b1ebe4631a8afcebb7338c65 Gerrit-Change-Number: 24190 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Mon May 10 18:45:02 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Mon, 10 May 2021 18:45:02 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-opencm3-projects_=C2=BB_a1=3Ddef?= =?UTF-8?Q?ault,a2=3Ddefault,a3=3Ddefault,a4=3Dd?= =?UTF-8?Q?efault,osmocom-master-debian9_#4?= In-Reply-To: <1661537427.697.1620585902131@jenkins.osmocom.org> References: <1661537427.697.1620585902131@jenkins.osmocom.org> Message-ID: <601809767.757.1620672302147@jenkins.osmocom.org> See Changes: ------------------------------------------ Started by upstream project "master-osmo-opencm3-projects" build number 4 originally caused by: Started by timer Running as SYSTEM Building remotely on build2-deb9build-ansible (ttcn3 osmocom-gerrit-debian9 osmocom-master-debian9 repo-install-test coverity) in workspace The recommended git tool is: NONE No credentials specified > git rev-parse --resolve-git-dir # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git://git.osmocom.org/osmo-opencm3-projects # timeout=10 Fetching upstream changes from git://git.osmocom.org/osmo-opencm3-projects > git --version # timeout=10 > git --version # 'git version 2.11.0' > git fetch --tags --progress -- git://git.osmocom.org/osmo-opencm3-projects +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision 7527cab6d8364b2022bd4fa2fd03039eac2a99bb (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 Commit message: "add missing libcommon.mk" > git rev-list --no-walk 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.libopencm3.url # timeout=10 > git config -f .gitmodules --get submodule.libopencm3.path # timeout=10 > git config --get submodule.librfn.url # timeout=10 > git config -f .gitmodules --get submodule.librfn.path # timeout=10 > git submodule update --init --recursive libopencm3 # timeout=10 > git submodule update --init --recursive librfn # timeout=10 [osmocom-master-debian9] $ /bin/sh -xe /tmp/jenkins7320037204834461076.sh + ARTIFACT_STORE=/home/osmocom-build/jenkins_build_artifact_store + mkdir -p /home/osmocom-build/jenkins_build_artifact_store + docker run --rm=true --cap-add SYS_PTRACE -e ARTIFACT_STORE=/artifact_store -e ASCIIDOC_WARNINGS_CHECK=1 -e HOME=/build -e JOB_NAME=master-osmo-opencm3-projects/a1=default,a2=default,a3=default,a4=default,label=osmocom-master-debian9 -e MAKE=make -e OSMOPY_DEBUG_TCP_SOCKETS=1 -e OSMO_GSM_MANUALS_DIR=/opt/osmo-gsm-manuals -e PARALLEL_MAKE=-j 8 -e PUBLISH=1 -e WITH_MANUALS=1 -w /build -i -u build -v :/build -v /home/osmocom-build/jenkins_build_artifact_store:/artifact_store -v /home/osmocom-build/.ssh:/home/build/.ssh:ro osmocom-build/debian-stretch-jenkins /build/contrib/jenkins.sh --publish =============== relay-driver START ============== CLEAN CC console.c arm-none-eabi-gcc: error: /usr/lib/picolibc/arm-none-eabi/picolibc.specs: No such file or directory ../../mk/libopencm3.mk:227: recipe for target 'console.o' failed make: *** [console.o] Error 1 Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Mon May 10 19:51:48 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 10 May 2021 19:51:48 +0000 Subject: Change in osmo-gsm-tester[master]: androidue: fix execute permissions for conn_chk and diag parser scripts References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24191 ) Change subject: androidue: fix execute permissions for conn_chk and diag parser scripts ...................................................................... androidue: fix execute permissions for conn_chk and diag parser scripts Change-Id: I755b65188a485a3c2f30488ab598f7a50cf80dc5 --- M utils/bin/osmo-gsm-tester_androidue_conn_chk.sh M utils/bin/osmo-gsm-tester_androidue_diag_parser.sh 2 files changed, 0 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/91/24191/1 diff --git a/utils/bin/osmo-gsm-tester_androidue_conn_chk.sh b/utils/bin/osmo-gsm-tester_androidue_conn_chk.sh old mode 100644 new mode 100755 diff --git a/utils/bin/osmo-gsm-tester_androidue_diag_parser.sh b/utils/bin/osmo-gsm-tester_androidue_diag_parser.sh old mode 100644 new mode 100755 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I755b65188a485a3c2f30488ab598f7a50cf80dc5 Gerrit-Change-Number: 24191 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 19:51:48 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 10 May 2021 19:51:48 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs: fix name References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24192 ) Change subject: open5gs: fix name ...................................................................... open5gs: fix name Change-Id: I7b0325718f9572b03e282d17ddf111a9493e2ee7 --- M src/osmo_gsm_tester/obj/epc_open5gs.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/92/24192/1 diff --git a/src/osmo_gsm_tester/obj/epc_open5gs.py b/src/osmo_gsm_tester/obj/epc_open5gs.py index 3759dfc..6db513b 100644 --- a/src/osmo_gsm_tester/obj/epc_open5gs.py +++ b/src/osmo_gsm_tester/obj/epc_open5gs.py @@ -125,7 +125,7 @@ # PUBLIC (test API included) ################### def start(self): - self.log('Starting srsepc') + self.log('Starting open5gs') self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() self.pcrf.start() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I7b0325718f9572b03e282d17ddf111a9493e2ee7 Gerrit-Change-Number: 24192 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 19:51:49 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 10 May 2021 19:51:49 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs: lower default log level to info References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24193 ) Change subject: open5gs: lower default log level to info ...................................................................... open5gs: lower default log level to info Change-Id: I15aaac5838bdb9d271a850b959a3a8fb4a56a313 --- M src/osmo_gsm_tester/templates/open5gs-hssd.yaml.tmpl M src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl M src/osmo_gsm_tester/templates/open5gs-sgwcd.yaml.tmpl M src/osmo_gsm_tester/templates/open5gs-sgwud.yaml.tmpl M src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl M src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl 6 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/93/24193/1 diff --git a/src/osmo_gsm_tester/templates/open5gs-hssd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-hssd.yaml.tmpl index 830e8cd..a8424d6 100644 --- a/src/osmo_gsm_tester/templates/open5gs-hssd.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-hssd.yaml.tmpl @@ -22,7 +22,7 @@ # logger: file: ${hss.log_filename} - level: debug + level: info hss: freeDiameter: ${hss.diameter_filename} diff --git a/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl index 5c886e3..57261e7 100644 --- a/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl @@ -20,7 +20,7 @@ # logger: file: ${mme.log_filename} - level: debug + level: info mme: freeDiameter: ${mme.diameter_filename} diff --git a/src/osmo_gsm_tester/templates/open5gs-sgwcd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-sgwcd.yaml.tmpl index a1db7ed..79be122 100644 --- a/src/osmo_gsm_tester/templates/open5gs-sgwcd.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-sgwcd.yaml.tmpl @@ -20,7 +20,7 @@ # logger: file: ${sgwc.log_filename} - level: debug + level: info # # sgwc: diff --git a/src/osmo_gsm_tester/templates/open5gs-sgwud.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-sgwud.yaml.tmpl index f0e2384..59f58b7 100644 --- a/src/osmo_gsm_tester/templates/open5gs-sgwud.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-sgwud.yaml.tmpl @@ -20,7 +20,7 @@ # logger: file: ${sgwu.log_filename} - level: debug + level: info # # sgwu: diff --git a/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl index 4a030d6..f2bd807 100644 --- a/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl @@ -20,7 +20,7 @@ # logger: file: ${smf.log_filename} - level: debug + level: info # # smf: # diff --git a/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl index 4fd77f6..87066d6 100644 --- a/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl @@ -20,7 +20,7 @@ # logger: file: ${upf.log_filename} - level: debug + level: info # # upf: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I15aaac5838bdb9d271a850b959a3a8fb4a56a313 Gerrit-Change-Number: 24193 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 19:51:49 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 10 May 2021 19:51:49 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb: enable S1AP pcaps as well when PCAPs are configured References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24194 ) Change subject: srsenb: enable S1AP pcaps as well when PCAPs are configured ...................................................................... srsenb: enable S1AP pcaps as well when PCAPs are configured this stores the S1AP pcaps in an own file but uses the same switch to enable them. Change-Id: If24048d61d8dff0b9b31aff9ed6995342830ebf8 --- M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/templates/srsenb.conf.tmpl 2 files changed, 15 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/94/24194/1 diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 05488af..708e63a 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -49,7 +49,8 @@ CFGFILE_RR = 'srsenb_rr.conf' CFGFILE_DRB = 'srsenb_drb.conf' LOGFILE = 'srsenb.log' - PCAPFILE = 'srsenb.pcap' + PCAPFILE = 'srsenb_mac.pcap' + S1AP_PCAPFILE = 'srsenb_s1ap.pcap' TRACINGFILE = 'srsenb_tracing.log' METRICSFILE = 'srsenb_metrics.csv' @@ -66,6 +67,7 @@ self.tracing_file = None self.log_file = None self.pcap_file = None + self.s1ap_pcap_file = None self.process = None self.rem_host = None self.remote_run_dir = None @@ -75,6 +77,7 @@ self.remote_config_drb_file = None self.remote_log_file = None self.remote_pcap_file = None + self.remote_s1ap_pcap_file = None self.remote_tracing_file = None self.remote_metrics_file = None self.enable_pcap = False @@ -110,6 +113,10 @@ self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file) except Exception as e: self.log(repr(e)) + try: + self.rem_host.scpfrom('scp-back-s1-pcap', self.remote_s1ap_pcap_file, self.s1ap_pcap_file) + except Exception as e: + self.log(repr(e)) if self.enable_tracing: try: self.rem_host.scpfrom('scp-back-tracing', self.remote_tracing_file, self.tracing_file) @@ -204,6 +211,7 @@ self.config_drb_file = self.run_dir.child(srsENB.CFGFILE_DRB) self.log_file = self.run_dir.child(srsENB.LOGFILE) self.pcap_file = self.run_dir.child(srsENB.PCAPFILE) + self.s1ap_pcap_file = self.run_dir.child(srsENB.S1AP_PCAPFILE) self.metrics_file = self.run_dir.child(srsENB.METRICSFILE) self.tracing_file = self.run_dir.child(srsENB.TRACINGFILE) @@ -219,6 +227,7 @@ self.remote_config_drb_file = self.remote_run_dir.child(srsENB.CFGFILE_DRB) self.remote_log_file = self.remote_run_dir.child(srsENB.LOGFILE) self.remote_pcap_file = self.remote_run_dir.child(srsENB.PCAPFILE) + self.remote_s1ap_pcap_file = self.remote_run_dir.child(srsENB.S1AP_PCAPFILE) self.remote_metrics_file = self.remote_run_dir.child(srsENB.METRICSFILE) self.remote_tracing_file = self.remote_run_dir.child(srsENB.TRACINGFILE) @@ -231,6 +240,7 @@ drbfile = self.config_drb_file if self._run_node.is_local() else self.remote_config_drb_file logfile = self.log_file if self._run_node.is_local() else self.remote_log_file pcapfile = self.pcap_file if self._run_node.is_local() else self.remote_pcap_file + s1ap_pcapfile = self.s1ap_pcap_file if self._run_node.is_local() else self.remote_s1ap_pcap_file config.overlay(values, dict(enb=dict(metrics_filename=metricsfile, tracing_filename=tracingfile, sib_filename=sibfile, @@ -238,6 +248,7 @@ drb_filename=drbfile, log_filename=logfile, pcap_filename=pcapfile, + s1ap_pcap_filename=s1ap_pcapfile, ))) # Convert parsed boolean string to Python boolean: diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index ea18af7..2aa80dc 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -101,6 +101,9 @@ enable = ${'true' if enb.enable_pcap else 'false'} filename = ${enb.pcap_filename} +s1ap_enable = ${'true' if enb.enable_pcap else 'false'} +s1ap_filename = ${enb.s1ap_pcap_filename} + ##################################################################### # Log configuration # -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If24048d61d8dff0b9b31aff9ed6995342830ebf8 Gerrit-Change-Number: 24194 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 19:51:49 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 10 May 2021 19:51:49 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs_mme: set short network name References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24195 ) Change subject: open5gs_mme: set short network name ...................................................................... open5gs_mme: set short network name Change-Id: Ifd7a78e35fb47cc5a96452fe93d8ab305359d7bd --- M src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/95/24195/1 diff --git a/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl index 57261e7..c811e9e 100644 --- a/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl @@ -44,6 +44,7 @@ ciphering_order : [ EEA0, EEA1, EEA2 ] network_name: full: Open5GS + short: open5gs mme_name: open5gs-mme0 # -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifd7a78e35fb47cc5a96452fe93d8ab305359d7bd Gerrit-Change-Number: 24195 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 22:28:59 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 10 May 2021 22:28:59 +0000 Subject: Change in osmo-e1d[master]: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY References: Message-ID: Hello laforge, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-e1d/+/24196 to review the following change. Change subject: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY ...................................................................... ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY Change-Id: Ie7bfec19e37f748d44f4a90d296ea232bbd76b12 --- M src/ctl.c 1 file changed, 13 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-e1d refs/changes/96/24196/1 diff --git a/src/ctl.c b/src/ctl.c index 1775423..143de25 100644 --- a/src/ctl.c +++ b/src/ctl.c @@ -81,11 +81,22 @@ _e1d_fill_ts_info(struct osmo_e1dp_ts_info *ti, struct e1_ts *ts) { ti->id = ts->id; - ti->cfg.mode = 0; + + switch (ts->mode) { + case E1_TS_MODE_RAW: + ti->cfg.mode = E1DP_TSMODE_RAW; + break; + case E1_TS_MODE_HDLCFCS: + ti->cfg.mode = E1DP_TSMODE_HDLCFCS; + break; + default: + LOGPTS(ts, DE1D, LOGL_NOTICE, "TS in unknown mode %u?x\n", ts->mode); + ti->cfg.mode = 0; + break; + } ti->status = 0; } - void e1_ts_stop(struct e1_ts *ts) { -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/24196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Ie7bfec19e37f748d44f4a90d296ea232bbd76b12 Gerrit-Change-Number: 24196 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 22:32:30 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 10 May 2021 22:32:30 +0000 Subject: Change in osmo-e1d[master]: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-e1d/+/24196 to look at the new patch set (#2). Change subject: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY ...................................................................... ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY Change-Id: Ie7bfec19e37f748d44f4a90d296ea232bbd76b12 --- M src/ctl.c 1 file changed, 13 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-e1d refs/changes/96/24196/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/24196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Ie7bfec19e37f748d44f4a90d296ea232bbd76b12 Gerrit-Change-Number: 24196 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 22:39:36 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 10 May 2021 22:39:36 +0000 Subject: Change in libosmo-abis[master]: Add vty show function for e1d driver References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24197 ) Change subject: Add vty show function for e1d driver ...................................................................... Add vty show function for e1d driver Each Driver has a vty show function, this commit adds the function and uses it to query the e1d daemon for timeslot status. TS status is then displayed in the application that is making use of libosmo-abis. This might be useful for debugging, for example, to ensure that the application has the same state as the osmo-e1d itself. Change-Id: I287c82b2c9e4b9b9b30a302e5240d5688b93240c --- M src/input/e1d.c 1 file changed, 52 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/97/24197/1 diff --git a/src/input/e1d.c b/src/input/e1d.c index cab219d..5936e68 100644 --- a/src/input/e1d.c +++ b/src/input/e1d.c @@ -321,11 +321,22 @@ return 0; } +static int e1d_daemon_connect(struct e1inp_line *line) { + /* Connect to daemon */ + g_e1d = osmo_e1dp_client_create(NULL, "/tmp/osmo-e1d.ctl"); + if (!g_e1d) { + LOGPIL(line, DLINP, LOGL_ERROR, "Unable to connect to osmo-e1d daemon\n"); + return -EPIPE; + } + return 0; +} + static int e1d_line_update(struct e1inp_line *line) { int ts; int ret; + int rc; /* we use higher 4 bits for interface, lower 4 bits for line, * resulting in max. 16 interfaces with 16 lines each */ @@ -338,12 +349,9 @@ return -EINVAL; if (!g_e1d) { - /* Connect to daemon */ - g_e1d = osmo_e1dp_client_create(NULL, "/tmp/osmo-e1d.ctl"); - if (!g_e1d) { - LOGPIL(line, DLINP, LOGL_ERROR, "Unable to connect to osmo-e1d daemon\n"); - return -EPIPE; - } + rc = e1d_daemon_connect(line); + if (rc) + return rc; } LOGPIL(line, DLINP, LOGL_NOTICE, "Line update %d %d=E1D(%d:%d) %d\n", line->num, line->port_nr, @@ -468,10 +476,48 @@ return 0; } +const struct value_string osmo_e1dp_ts_mode_names[] = { + { E1DP_TSMODE_OFF, "OFF" }, + { E1DP_TSMODE_RAW, "RAW" }, + { E1DP_TSMODE_HDLCFCS, "HDLC-FCS" }, + { 0, NULL } +}; + +static void e1d_vty_show(struct vty *vty, struct e1inp_line *line) +{ + int ts; + int ret; + uint8_t e1d_intf = (line->port_nr >> 4) & 0xF; + uint8_t e1d_line = line->port_nr & 0xF; + struct osmo_e1dp_ts_info *ts_info; + int num_ts_info; + + if (!g_e1d) { + if (e1d_daemon_connect(line)) + return; + } + + ret = osmo_e1dp_client_ts_query(g_e1d, &ts_info, &num_ts_info, e1d_intf, e1d_line, E1DP_INVALID); + + if (ret < 0) { + LOGPIL(line, DLINP, LOGL_ERROR, "Cannot query E1D for timeslot information: %d\n", ret); + return; + } + + for (ts=1; tsnum_ts; ts++) { + struct e1inp_ts *e1i_ts = &line->ts[ts-1]; + struct osmo_fd *bfd = &e1i_ts->driver.e1d.fd; + vty_out(vty, " TS%02u: Mode %s, FD %d%s", + ts, get_value_string(osmo_e1dp_ts_mode_names, ts_info[ts].cfg.mode), + bfd->fd, VTY_NEWLINE); + } +} + struct e1inp_driver e1d_driver = { .name = "e1d", .want_write = e1d_want_write, .line_update = e1d_line_update, + .vty_show = &e1d_vty_show, }; int -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24197 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I287c82b2c9e4b9b9b30a302e5240d5688b93240c Gerrit-Change-Number: 24197 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 22:47:05 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 10 May 2021 22:47:05 +0000 Subject: Change in osmo-mgw[master]: Log some useful messages at ERROR/INFO instead of DEBUG References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24198 ) Change subject: Log some useful messages at ERROR/INFO instead of DEBUG ...................................................................... Log some useful messages at ERROR/INFO instead of DEBUG Change-Id: I22cbecab8d9f7a1980387f16c9a8da444aaa0311 --- M src/libosmo-mgcp/mgcp_e1.c 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/98/24198/1 diff --git a/src/libosmo-mgcp/mgcp_e1.c b/src/libosmo-mgcp/mgcp_e1.c index 7d4a29e..7e810bc 100644 --- a/src/libosmo-mgcp/mgcp_e1.c +++ b/src/libosmo-mgcp/mgcp_e1.c @@ -337,7 +337,7 @@ /* Find associated trunk */ trunk = mgcp_trunk_by_line_num(cfg, ts->line->num); if (!trunk) { - LOGP(DE1, LOGL_DEBUG, "E1-RX: unable to find a trunk for E1-line %u!\n", ts->line->num); + LOGP(DE1, LOGL_ERROR, "E1-RX: unable to find a trunk for E1-line %u!\n", ts->line->num); return; } @@ -376,14 +376,14 @@ cfg = trunk->cfg; if (trunk->e1.ts_in_use[ts_nr - 1]) { - LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "E1 timeslot %u already set up, skipping...\n", ts_nr); + LOGPTRUNK(trunk, DE1, LOGL_INFO, "E1 timeslot %u already set up, skipping...\n", ts_nr); return 0; } /* Get E1 line */ e1_line = e1inp_line_find(trunk->e1.vty_line_nr); if (!e1_line) { - LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "no such E1 line %u - check VTY config!\n", + LOGPTRUNK(trunk, DE1, LOGL_ERROR, "no such E1 line %u - check VTY config!\n", trunk->e1.vty_line_nr); return -EINVAL; } @@ -401,7 +401,7 @@ return -EINVAL; } - LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "E1 timeslot %u set up successfully.\n", ts_nr); + LOGPTRUNK(trunk, DE1, LOGL_INFO, "E1 timeslot %u set up successfully.\n", ts_nr); trunk->e1.ts_in_use[ts_nr - 1] = true; return 0; @@ -545,7 +545,7 @@ endp->e1.scd.mux.in_cb_queue_empty = e1_i460_mux_empty_cb; endp->e1.scd.mux.user_data = endp; - LOGPENDP(endp, DE1, LOGL_DEBUG, "adding I.460 subchannel: ts=%u, bit_offset=%u, rate=%uk, num_bits=%lu\n", ts, + LOGPENDP(endp, DE1, LOGL_INFO, "adding I.460 subchannel: ts=%u, bit_offset=%u, rate=%uk, num_bits=%lu\n", ts, offs, e1_rates[ss], endp->e1.scd.demux.num_bits); endp->e1.schan = osmo_i460_subchan_add(endp, &endp->trunk->e1.i460_ts[ts - 1], &endp->e1.scd); if (!endp->e1.schan) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I22cbecab8d9f7a1980387f16c9a8da444aaa0311 Gerrit-Change-Number: 24198 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 22:49:15 2021 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Mon, 10 May 2021 22:49:15 +0000 Subject: Change in osmo-e1d[master]: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/24196 ) Change subject: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-e1d/+/24196/2/src/ctl.c File src/ctl.c: https://gerrit.osmocom.org/c/osmo-e1d/+/24196/2/src/ctl.c at 85 PS2, Line 85: switch (ts->mode) { AFAIR E1_TS_MODE_OFF is a valid mode and not trigger an log message. -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/24196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Ie7bfec19e37f748d44f4a90d296ea232bbd76b12 Gerrit-Change-Number: 24196 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: tnt Gerrit-Comment-Date: Mon, 10 May 2021 22:49:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 22:49:23 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 10 May 2021 22:49:23 +0000 Subject: Change in libosmo-abis[master]: Add vty show function for e1d driver In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24197 ) Change subject: Add vty show function for e1d driver ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmo-abis/+/24197/1/src/input/e1d.c File src/input/e1d.c: https://gerrit.osmocom.org/c/libosmo-abis/+/24197/1/src/input/e1d.c at 479 PS1, Line 479: const struct value_string osmo_e1dp_ts_mode_names[] = { I think this can be exposed in osmo-e1d, but I'm not sure exactly the right way, or if indeed that's the right thing to do. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24197 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I287c82b2c9e4b9b9b30a302e5240d5688b93240c Gerrit-Change-Number: 24197 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Mon, 10 May 2021 22:49:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 23:25:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 10 May 2021 23:25:38 +0000 Subject: Change in osmo-pcu[master]: Implement T3141 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24190 ) Change subject: Implement T3141 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I154984b835b2b436b1ebe4631a8afcebb7338c65 Gerrit-Change-Number: 24190 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 10 May 2021 23:25:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 23:27:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 10 May 2021 23:27:24 +0000 Subject: Change in osmo-pcu[master]: Simplify helper function tbf_select_slot_set() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24186 ) Change subject: Simplify helper function tbf_select_slot_set() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia2e061da82ddce564b2d768d8ade1672c22934e2 Gerrit-Change-Number: 24186 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 10 May 2021 23:27:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 23:31:18 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 10 May 2021 23:31:18 +0000 Subject: Change in osmo-pcu[master]: alloc_algorithm_b: Rearrange variable initialization In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24187 ) Change subject: alloc_algorithm_b: Rearrange variable initialization ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If3cfa82f8b793a87e97145ee8a6fc0fe1a61add6 Gerrit-Change-Number: 24187 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 10 May 2021 23:31:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 23:32:11 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 10 May 2021 23:32:11 +0000 Subject: Change in osmo-pcu[master]: Rename function s/tbf_alloc_ul_pacch/tbf_alloc_ul_pacch/ In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24188 ) Change subject: Rename function s/tbf_alloc_ul_pacch/tbf_alloc_ul_pacch/ ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24188/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/24188/1//COMMIT_MSG at 7 PS1, Line 7: tbf_alloc_ul_pacch 'tbf_alloc_ul' -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24188 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I70ca0b5be0a29a05c6e65b9c92cc6d3b5c43d3dc Gerrit-Change-Number: 24188 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 10 May 2021 23:32:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 10 23:33:19 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 10 May 2021 23:33:19 +0000 Subject: Change in osmo-pcu[master]: Split ul_tbf alloc on CCCH into new function In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24189 ) Change subject: Split ul_tbf alloc on CCCH into new function ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24189 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I609792a40fda2a798ca71a0e9f5639d0a0f011d7 Gerrit-Change-Number: 24189 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 10 May 2021 23:33:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 00:27:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 00:27:50 +0000 Subject: Change in osmo-bts[master]: common/sysinfo: make struct gsm_bts_trx const in num_agch() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24175 ) Change subject: common/sysinfo: make struct gsm_bts_trx const in num_agch() ...................................................................... common/sysinfo: make struct gsm_bts_trx const in num_agch() Change-Id: I776defc7e9699a378c9a03304c63e15d023476d0 --- M include/osmo-bts/bts_trx.h M src/common/sysinfo.c 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/include/osmo-bts/bts_trx.h b/include/osmo-bts/bts_trx.h index 8513a12..7d60a73 100644 --- a/include/osmo-bts/bts_trx.h +++ b/include/osmo-bts/bts_trx.h @@ -56,7 +56,7 @@ int trx_link_estab(struct gsm_bts_trx *trx); void trx_operability_update(struct gsm_bts_trx *trx); -uint8_t num_agch(struct gsm_bts_trx *trx, const char * arg); +uint8_t num_agch(const struct gsm_bts_trx *trx, const char * arg); bool trx_ms_pwr_ctrl_is_osmo(const struct gsm_bts_trx *trx); #define LOGPTRX(trx, ss, lvl, fmt, args...) LOGP(ss, lvl, "%s " fmt, gsm_trx_name(trx), ## args) diff --git a/src/common/sysinfo.c b/src/common/sysinfo.c index d1f6f36..5c5af25 100644 --- a/src/common/sysinfo.c +++ b/src/common/sysinfo.c @@ -151,10 +151,10 @@ return 0; } -uint8_t num_agch(struct gsm_bts_trx *trx, const char * arg) +uint8_t num_agch(const struct gsm_bts_trx *trx, const char * arg) { - struct gsm_bts *b = trx->bts; - struct gsm48_system_information_type_3 *si3; + const struct gsm_bts *b = trx->bts; + const struct gsm48_system_information_type_3 *si3; if (GSM_BTS_HAS_SI(b, SYSINFO_TYPE_3)) { si3 = GSM_BTS_SI(b, SYSINFO_TYPE_3); return si3->control_channel_desc.bs_ag_blks_res; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I776defc7e9699a378c9a03304c63e15d023476d0 Gerrit-Change-Number: 24175 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 00:29:12 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 00:29:12 +0000 Subject: Change in osmo-bts[master]: [VAMOS] struct gsm_bts_trx: fix the PHY instance pointer In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24176 ) Change subject: [VAMOS] struct gsm_bts_trx: fix the PHY instance pointer ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24176/1/tests/sysmobts/sysmobts_test.c File tests/sysmobts/sysmobts_test.c: https://gerrit.osmocom.org/c/osmo-bts/+/24176/1/tests/sysmobts/sysmobts_test.c at 62 PS1, Line 62: trx.pinst = &hdl; > here pinst is not a struct phy_instance? Indeed, it's actually a bug that was not noticed because it was a void pointer. I fixed this in the new patchset. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9bd6f0921e0c6bf824d38485486ad78864cbe17e Gerrit-Change-Number: 24176 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 11 May 2021 00:29:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 01:51:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 01:51:28 +0000 Subject: Change in osmo-bts[master]: [VAMOS] struct gsm_bts_trx: fix the PHY instance pointer In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24176 to look at the new patch set (#2). Change subject: [VAMOS] struct gsm_bts_trx: fix the PHY instance pointer ...................................................................... [VAMOS] struct gsm_bts_trx: fix the PHY instance pointer First of all, there is no reason to use a void pointer because it's always 'struct phy_instance'. Also, no need to encapsulate this pointer into 'role_bts' because there are no other roles in osmo-bts (we used to have shared headers years ago). This commit also fixes a bug in test_sysmobts_auto_band(), where a pointer to 'struct femtol1_hdl' was directly assigned to trx.pinst. Change-Id: I9bd6f0921e0c6bf824d38485486ad78864cbe17e --- M include/osmo-bts/bts_trx.h M include/osmo-bts/phy_link.h M src/common/main.c M src/common/phy_link.c M src/common/vty.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/scheduler_trx.c M tests/sysmobts/sysmobts_test.c 8 files changed, 15 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/76/24176/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9bd6f0921e0c6bf824d38485486ad78864cbe17e Gerrit-Change-Number: 24176 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 01:51:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 01:51:28 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24177 to look at the new patch set (#2). Change subject: [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() ...................................................................... [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() gsm_bts_trx_alloc() already does initialize some fields of the allocated 'struct gsm_bts_trx' instance, and having an additional function for initializing the other fields makes no sense. Note that I intentionally didn't merge a call to bts_model_trx_init() into gsm_bts_trx_alloc(), because this would break some assumptions regarding the order of initialization and cause regressions. Change-Id: I4aefaf47b05a67ec0c4774c1ee7abcc95e04cc13 --- M include/osmo-bts/bts_trx.h M src/common/bts.c M src/common/bts_trx.c M src/common/vty.c M tests/handover/handover_test.c M tests/meas/meas_test.c 6 files changed, 14 insertions(+), 38 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/77/24177/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4aefaf47b05a67ec0c4774c1ee7abcc95e04cc13 Gerrit-Change-Number: 24177 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 01:51:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 01:51:28 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: move {chan, bid} to trx_{dl, ul}_burst_{req, ind} In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24178 to look at the new patch set (#2). Change subject: [VAMOS] osmo-bts-trx: move {chan,bid} to trx_{dl,ul}_burst_{req,ind} ...................................................................... [VAMOS] osmo-bts-trx: move {chan,bid} to trx_{dl,ul}_burst_{req,ind} Historically the logical channel handlers like rx_data_fn() used to accept quite a lot of arguments. With the introduction of additional measurement parameters it has become clear that we need to group the arguments into structures. This why both 'trx_{dl,ul}_burst_{req,ind}' structures were introduced. However, both channel type and burst ID were kept untouched, so until now we had them being passed between the scheduler functions here and there. This change is a logical conclusion of the original change mentioned above. As a part of this change, the new LOGL1SB() macro is introduced. It does accept a pointer to 'trx_{dl,ul}_burst_{req,ind}' and expands the context information for the old LOGL1S() macro. Change-Id: Ic5a02b074662b3e429bf18e05a982f3f3e7b7444 --- M include/osmo-bts/scheduler.h M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c M src/osmo-bts-trx/sched_lchan_fcch_sch.c M src/osmo-bts-trx/sched_lchan_pdtch.c M src/osmo-bts-trx/sched_lchan_rach.c M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_lchan_xcch.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-virtual/scheduler_virtbts.c 11 files changed, 312 insertions(+), 353 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/78/24178/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic5a02b074662b3e429bf18e05a982f3f3e7b7444 Gerrit-Change-Number: 24178 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 01:51:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 01:51:28 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Re-organize osmo-bts-trx specific structures In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24179 to look at the new patch set (#2). Change subject: [VAMOS] Re-organize osmo-bts-trx specific structures ...................................................................... [VAMOS] Re-organize osmo-bts-trx specific structures Together with the 'generic' structures which used to be shared between osmo-bsc and osmo-bts some time ago, we also have the following osmo-bts-trx specific structures (in hierarchical order): - struct l1sched_trx (struct gsm_bts_trx), - struct l1sched_ts (struct gsm_bts_trx_ts), - struct l1sched_chan_state (struct gsm_lchan). These structures are not integrated into the tree of the generic structures, but maintained in a _separate tree_ instead. Until recently, only the 'l1sched_trx' had a pointer to generic 'gsm_bts_trx', so in order to find the corresponding 'gsm_lchan' for 'l1sched_chan_state' one would need to traverse all the way up to 'l1sched_trx' and then tracerse another three backwards. + gsm_network | --+ gsm_bts (0..255) | --+ l1sched_trx --------------------> gsm_bts_trx (0..255) | | --+ l1sched_trx_ts --+ gsm_bts_trx_ts (8) | | --+ l1sched_chan_state --+ gsm_lchan (up to 8) I find this architecture a bit over-complicated, especially given that 'l1sched_trx' is kind of a dummy node containing nothing else than a pointer to 'gsm_bts_trx' and the list of 'l1sched_trx_ts'. In this path I slightly change the architecture as follows: + gsm_network | --+ gsm_bts (0..255) | --+ gsm_bts_trx (0..255) | --+ l1sched_trx_ts <----------------> gsm_bts_trx_ts (8) | | --+ l1sched_chan_state --+ gsm_lchan (up to 8) Note that unfortunately we cannot 1:1 map 'l1sched_chan_state' to 'gsm_lchan' (like we do for 'l1sched_trx_ts' and 'gsm_bts_trx_ts') because there is no direct mapping. The former is a higl-level representation of a logical channel, while the later represents one specific logical channel type like FCCH, SDCCH/0 or SACCH/0. osmo-bts-virtual re-uses the osmo-bts-trx hierarchy, so it's also affected by this change. Change-Id: I7c4379e43a25e9d858d582a99bf6c4b65c9af481 --- M include/osmo-bts/gsm_data.h M include/osmo-bts/phy_link.h M include/osmo-bts/scheduler.h M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/loops.c M src/osmo-bts-trx/loops.h M src/osmo-bts-trx/sched_lchan_fcch_sch.c M src/osmo-bts-trx/sched_lchan_pdtch.c M src/osmo-bts-trx/sched_lchan_rach.c M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_lchan_xcch.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-trx/trx_if.c M src/osmo-bts-virtual/bts_model.c M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/l1_if.h M src/osmo-bts-virtual/scheduler_virtbts.c 21 files changed, 400 insertions(+), 510 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/79/24179/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7c4379e43a25e9d858d582a99bf6c4b65c9af481 Gerrit-Change-Number: 24179 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 01:51:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 01:51:30 +0000 Subject: Change in osmo-bts[master]: osmo-bts-{lc15, oc2g}: drop redundant checks in VTY commands References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24199 ) Change subject: osmo-bts-{lc15,oc2g}: drop redundant checks in VTY commands ...................................................................... osmo-bts-{lc15,oc2g}: drop redundant checks in VTY commands Change-Id: I4fea6d661b7193c3a04e88c9399a9e2bc402254f --- M src/osmo-bts-lc15/lc15bts_vty.c M src/osmo-bts-oc2g/oc2gbts_vty.c 2 files changed, 6 insertions(+), 84 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/99/24199/1 diff --git a/src/osmo-bts-lc15/lc15bts_vty.c b/src/osmo-bts-lc15/lc15bts_vty.c index 4a9d790..be6a4f8 100644 --- a/src/osmo-bts-lc15/lc15bts_vty.c +++ b/src/osmo-bts-lc15/lc15bts_vty.c @@ -340,12 +340,6 @@ int nominal_power = atoi(argv[0]); struct gsm_bts_trx *trx = vty->index; - if (( nominal_power > 40 ) || ( nominal_power < 0 )) { - vty_out(vty, "Nominal Tx power level must be between 0 and 40 dBm (%d) %s", - nominal_power, VTY_NEWLINE); - return CMD_WARNING; - } - trx->nominal_power = nominal_power; trx->power_params.trx_p_max_out_mdBm = to_mdB(nominal_power); @@ -359,12 +353,6 @@ struct phy_instance *pinst = vty->index; int cell_size = (uint8_t)atoi(argv[0]); - if (( cell_size > 166 ) || ( cell_size < 0 )) { - vty_out(vty, "Max cell size must be between 0 and 166 qbits (%d) %s", - cell_size, VTY_NEWLINE); - return CMD_WARNING; - } - pinst->u.lc15.max_cell_size = (uint8_t)cell_size; return CMD_SUCCESS; } @@ -377,10 +365,7 @@ struct phy_instance *pinst = vty->index; int val = get_string_value(lc15_diversity_mode_strs, argv[0]); - if((val < LC15_DIVERSITY_SISO_A) || (val > LC15_DIVERSITY_MRC)) { - vty_out(vty, "Invalid reception diversity mode %d%s", val, VTY_NEWLINE); - return CMD_WARNING; - } + OSMO_ASSERT(val != -EINVAL); pinst->u.lc15.diversity_mode = (uint8_t)val; return CMD_SUCCESS; @@ -394,10 +379,7 @@ struct phy_instance *pinst = vty->index; int val = get_string_value(lc15_pedestal_mode_strs, argv[0]); - if((val < LC15_PEDESTAL_OFF) || (val > LC15_PEDESTAL_ON)) { - vty_out(vty, "Invalid unused time-slot transmission mode %d%s", val, VTY_NEWLINE); - return CMD_WARNING; - } + OSMO_ASSERT(val != -EINVAL); pinst->u.lc15.pedestal_mode = (uint8_t)val; return CMD_SUCCESS; @@ -411,10 +393,7 @@ struct gsm_bts *bts = vty->index; int val = get_string_value(lc15_led_mode_strs, argv[0]); - if((val < LC15_LED_CONTROL_BTS) || (val > LC15_LED_CONTROL_EXT)) { - vty_out(vty, "Invalid LED control mode %d%s", val, VTY_NEWLINE); - return CMD_WARNING; - } + OSMO_ASSERT(val != -EINVAL); struct bts_lc15_priv *bts_lc15 = bts->model_priv; bts_lc15->led_ctrl_mode = (uint8_t)val; @@ -429,12 +408,6 @@ struct phy_instance *pinst = vty->index; uint8_t period = (uint8_t)atoi(argv[0]); - if (( period > 60 ) || ( period < 0 )) { - vty_out(vty, "DSP heart beat alive timer period must be between 0 and 60 seconds (%d) %s", - period, VTY_NEWLINE); - return CMD_WARNING; - } - pinst->u.lc15.dsp_alive_period = period; return CMD_SUCCESS; } @@ -446,10 +419,7 @@ struct phy_instance *pinst = vty->index; int val = get_string_value(lc15_auto_adj_pwr_strs, argv[0]); - if((val < LC15_TX_PWR_ADJ_NONE) || (val > LC15_TX_PWR_ADJ_AUTO)) { - vty_out(vty, "Invalid output power adjustment mode %d%s", val, VTY_NEWLINE); - return CMD_WARNING; - } + OSMO_ASSERT(val != -EINVAL); pinst->u.lc15.tx_pwr_adj_mode = (uint8_t)val; return CMD_SUCCESS; @@ -462,12 +432,6 @@ struct phy_instance *pinst = vty->index; int val = atoi(argv[0]); - if ((val > 40) || (val < 0)) { - vty_out(vty, "Reduction Tx power level must be between 0 and 40 dB (%d) %s", - val, VTY_NEWLINE); - return CMD_WARNING; - } - pinst->u.lc15.tx_pwr_red_8psk = (uint8_t)val; return CMD_SUCCESS; } @@ -479,12 +443,6 @@ struct phy_instance *pinst = vty->index; int val = atoi(argv[0]); - if ((val > 40) || (val < 0)) { - vty_out(vty, "Reduction Tx power level must be between 0 and 40 dB (%d) %s", - val, VTY_NEWLINE); - return CMD_WARNING; - } - pinst->u.lc15.tx_c0_idle_pwr_red = (uint8_t)val; return CMD_SUCCESS; } diff --git a/src/osmo-bts-oc2g/oc2gbts_vty.c b/src/osmo-bts-oc2g/oc2gbts_vty.c index c3b2a31..d69225a 100644 --- a/src/osmo-bts-oc2g/oc2gbts_vty.c +++ b/src/osmo-bts-oc2g/oc2gbts_vty.c @@ -333,12 +333,6 @@ int nominal_power = atoi(argv[0]); struct gsm_bts_trx *trx = vty->index; - if (( nominal_power > 25 ) || ( nominal_power < 0 )) { - vty_out(vty, "Nominal Tx power level must be between 0 and 25 dBm (%d) %s", - nominal_power, VTY_NEWLINE); - return CMD_WARNING; - } - trx->nominal_power = nominal_power; trx->power_params.trx_p_max_out_mdBm = to_mdB(nominal_power); @@ -352,12 +346,6 @@ struct phy_instance *pinst = vty->index; int cell_size = (uint8_t)atoi(argv[0]); - if (( cell_size > 166 ) || ( cell_size < 0 )) { - vty_out(vty, "Max cell size must be between 0 and 166 qbits (%d) %s", - cell_size, VTY_NEWLINE); - return CMD_WARNING; - } - pinst->u.oc2g.max_cell_size = (uint8_t)cell_size; return CMD_SUCCESS; } @@ -370,10 +358,7 @@ struct phy_instance *pinst = vty->index; int val = get_string_value(oc2g_pedestal_mode_strs, argv[0]); - if((val < OC2G_PEDESTAL_OFF) || (val > OC2G_PEDESTAL_ON)) { - vty_out(vty, "Invalid unused time-slot transmission mode %d%s", val, VTY_NEWLINE); - return CMD_WARNING; - } + OSMO_ASSERT(val != -EINVAL); pinst->u.oc2g.pedestal_mode = (uint8_t)val; return CMD_SUCCESS; @@ -386,12 +371,6 @@ struct phy_instance *pinst = vty->index; uint8_t period = (uint8_t)atoi(argv[0]); - if (( period > 60 ) || ( period < 0 )) { - vty_out(vty, "DSP heart beat alive timer period must be between 0 and 60 seconds (%d) %s", - period, VTY_NEWLINE); - return CMD_WARNING; - } - pinst->u.oc2g.dsp_alive_period = period; return CMD_SUCCESS; } @@ -403,10 +382,7 @@ struct phy_instance *pinst = vty->index; int val = get_string_value(oc2g_auto_adj_pwr_strs, argv[0]); - if((val < OC2G_TX_PWR_ADJ_NONE) || (val > OC2G_TX_PWR_ADJ_AUTO)) { - vty_out(vty, "Invalid output power adjustment mode %d%s", val, VTY_NEWLINE); - return CMD_WARNING; - } + OSMO_ASSERT(val != -EINVAL); pinst->u.oc2g.tx_pwr_adj_mode = (uint8_t)val; return CMD_SUCCESS; @@ -419,12 +395,6 @@ struct phy_instance *pinst = vty->index; int val = atoi(argv[0]); - if ((val > 40) || (val < 0)) { - vty_out(vty, "Reduction Tx power level must be between 0 and 40 dB (%d) %s", - val, VTY_NEWLINE); - return CMD_WARNING; - } - pinst->u.oc2g.tx_pwr_red_8psk = (uint8_t)val; return CMD_SUCCESS; } @@ -436,12 +406,6 @@ struct phy_instance *pinst = vty->index; int val = atoi(argv[0]); - if ((val > 40) || (val < 0)) { - vty_out(vty, "Reduction Tx power level must be between 0 and 40 dB (%d) %s", - val, VTY_NEWLINE); - return CMD_WARNING; - } - pinst->u.oc2g.tx_c0_idle_pwr_red = (uint8_t)val; return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4fea6d661b7193c3a04e88c9399a9e2bc402254f Gerrit-Change-Number: 24199 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 02:02:23 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 02:02:23 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24177 to look at the new patch set (#3). Change subject: [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() ...................................................................... [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() gsm_bts_trx_alloc() already does initialize some fields of the allocated 'struct gsm_bts_trx' instance, and having an additional function for initializing the other fields makes no sense. Note that I intentionally didn't merge a call to bts_model_trx_init() into gsm_bts_trx_alloc(), because this would break some assumptions regarding the order of initialization and cause regressions. This also allows us to not call bts_model_trx_init() from tests. Change-Id: I4aefaf47b05a67ec0c4774c1ee7abcc95e04cc13 --- M include/osmo-bts/bts_trx.h M src/common/bts.c M src/common/bts_trx.c M src/common/vty.c M tests/handover/handover_test.c M tests/meas/meas_test.c 6 files changed, 11 insertions(+), 44 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/77/24177/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4aefaf47b05a67ec0c4774c1ee7abcc95e04cc13 Gerrit-Change-Number: 24177 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 02:02:23 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 02:02:23 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: move {chan, bid} to trx_{dl, ul}_burst_{req, ind} In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24178 to look at the new patch set (#3). Change subject: [VAMOS] osmo-bts-trx: move {chan,bid} to trx_{dl,ul}_burst_{req,ind} ...................................................................... [VAMOS] osmo-bts-trx: move {chan,bid} to trx_{dl,ul}_burst_{req,ind} Historically the logical channel handlers like rx_data_fn() used to accept quite a lot of arguments. With the introduction of additional measurement parameters it has become clear that we need to group the arguments into structures. This is why both 'trx_{dl,ul}_burst_{req,ind}' structures were introduced. However, both channel type and burst ID were kept untouched, so until now we had them being passed between the scheduler functions here and there. This change is a logical conclusion of the original change mentioned above. As a part of this change, the new LOGL1SB() macro is introduced. It does accept a pointer to 'trx_{dl,ul}_burst_{req,ind}' and expands the context information for the old LOGL1S() macro. Change-Id: Ic5a02b074662b3e429bf18e05a982f3f3e7b7444 --- M include/osmo-bts/scheduler.h M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c M src/osmo-bts-trx/sched_lchan_fcch_sch.c M src/osmo-bts-trx/sched_lchan_pdtch.c M src/osmo-bts-trx/sched_lchan_rach.c M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_lchan_xcch.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-virtual/scheduler_virtbts.c 11 files changed, 312 insertions(+), 353 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/78/24178/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic5a02b074662b3e429bf18e05a982f3f3e7b7444 Gerrit-Change-Number: 24178 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 04:34:19 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 11 May 2021 04:34:19 +0000 Subject: Change in osmo-e1d[master]: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-e1d/+/24196 to look at the new patch set (#3). Change subject: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY ...................................................................... ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY Change-Id: Ie7bfec19e37f748d44f4a90d296ea232bbd76b12 --- M src/ctl.c 1 file changed, 16 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-e1d refs/changes/96/24196/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/24196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Ie7bfec19e37f748d44f4a90d296ea232bbd76b12 Gerrit-Change-Number: 24196 Gerrit-PatchSet: 3 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 06:42:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 06:42:03 +0000 Subject: Change in osmo-e1d[master]: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/24196 ) Change subject: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY ...................................................................... Patch Set 3: Code-Review+1 keith: Any news on whether this patch solved your problems? -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/24196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Ie7bfec19e37f748d44f4a90d296ea232bbd76b12 Gerrit-Change-Number: 24196 Gerrit-PatchSet: 3 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: tnt Gerrit-Comment-Date: Tue, 11 May 2021 06:42:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 06:42:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 06:42:37 +0000 Subject: Change in osmo-mgw[master]: Log some useful messages at ERROR/INFO instead of DEBUG In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24198 ) Change subject: Log some useful messages at ERROR/INFO instead of DEBUG ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I22cbecab8d9f7a1980387f16c9a8da444aaa0311 Gerrit-Change-Number: 24198 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 May 2021 06:42:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 06:43:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 06:43:31 +0000 Subject: Change in osmo-pcu[master]: Simplify helper function tbf_select_slot_set() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24186 ) Change subject: Simplify helper function tbf_select_slot_set() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia2e061da82ddce564b2d768d8ade1672c22934e2 Gerrit-Change-Number: 24186 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 May 2021 06:43:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 06:44:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 06:44:34 +0000 Subject: Change in osmo-pcu[master]: alloc_algorithm_b: Rearrange variable initialization In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24187 ) Change subject: alloc_algorithm_b: Rearrange variable initialization ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24187/1/src/gprs_rlcmac_ts_alloc.cpp File src/gprs_rlcmac_ts_alloc.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/24187/1/src/gprs_rlcmac_ts_alloc.cpp at a886 PS1, Line 886: O why was the assert removed? We do unconditionally use 'ms' below. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If3cfa82f8b793a87e97145ee8a6fc0fe1a61add6 Gerrit-Change-Number: 24187 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 May 2021 06:44:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 06:45:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 06:45:42 +0000 Subject: Change in osmo-pcu[master]: Split ul_tbf alloc on CCCH into new function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24189 ) Change subject: Split ul_tbf alloc on CCCH into new function ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24189 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I609792a40fda2a798ca71a0e9f5639d0a0f011d7 Gerrit-Change-Number: 24189 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 May 2021 06:45:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 06:46:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 06:46:48 +0000 Subject: Change in osmo-pcu[master]: Implement T3141 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24190 ) Change subject: Implement T3141 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I154984b835b2b436b1ebe4631a8afcebb7338c65 Gerrit-Change-Number: 24190 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 May 2021 06:46:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 06:47:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 06:47:16 +0000 Subject: Change in osmo-bts[master]: osmo-bts-{lc15, oc2g}: drop redundant checks in VTY commands In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24199 ) Change subject: osmo-bts-{lc15,oc2g}: drop redundant checks in VTY commands ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4fea6d661b7193c3a04e88c9399a9e2bc402254f Gerrit-Change-Number: 24199 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 May 2021 06:47:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 06:48:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 06:48:08 +0000 Subject: Change in osmo-bts[master]: [VAMOS] struct gsm_bts_trx: fix the PHY instance pointer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24176 ) Change subject: [VAMOS] struct gsm_bts_trx: fix the PHY instance pointer ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9bd6f0921e0c6bf824d38485486ad78864cbe17e Gerrit-Change-Number: 24176 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 11 May 2021 06:48:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 06:48:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 06:48:57 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24177 ) Change subject: [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4aefaf47b05a67ec0c4774c1ee7abcc95e04cc13 Gerrit-Change-Number: 24177 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 06:48:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 06:50:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 06:50:19 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: move {chan, bid} to trx_{dl, ul}_burst_{req, ind} In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24178 ) Change subject: [VAMOS] osmo-bts-trx: move {chan,bid} to trx_{dl,ul}_burst_{req,ind} ...................................................................... Patch Set 3: Code-Review+1 I presume this has been executed locally against the BTS_Tests.ttcn without causing regressions? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic5a02b074662b3e429bf18e05a982f3f3e7b7444 Gerrit-Change-Number: 24178 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 06:50:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 07:04:22 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 11 May 2021 07:04:22 +0000 Subject: Change in osmo-e1d[master]: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/24196 ) Change subject: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY ...................................................................... Patch Set 3: > Patch Set 3: Code-Review+1 > > keith: Any news on whether this patch solved your problems? It solves the issue of all existing calls being dropped, (by for example TS03 having it's fd closed when TS04 is activated) I don't think it resolves any further issues that there may be from calling e1d_line_update() for example, calling osmo_fd_unregister() on an active fd? -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/24196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Ie7bfec19e37f748d44f4a90d296ea232bbd76b12 Gerrit-Change-Number: 24196 Gerrit-PatchSet: 3 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: tnt Gerrit-Comment-Date: Tue, 11 May 2021 07:04:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 07:04:34 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 11 May 2021 07:04:34 +0000 Subject: Change in osmo-e1d[master]: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/24196 ) Change subject: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/24196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Ie7bfec19e37f748d44f4a90d296ea232bbd76b12 Gerrit-Change-Number: 24196 Gerrit-PatchSet: 3 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-CC: tnt Gerrit-Comment-Date: Tue, 11 May 2021 07:04:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 07:11:14 2021 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 11 May 2021 07:11:14 +0000 Subject: Change in osmo-e1d[master]: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/24196 ) Change subject: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/24196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Ie7bfec19e37f748d44f4a90d296ea232bbd76b12 Gerrit-Change-Number: 24196 Gerrit-PatchSet: 3 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Tue, 11 May 2021 07:11:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 08:45:14 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 08:45:14 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: move {chan, bid} to trx_{dl, ul}_burst_{req, ind} In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24178 ) Change subject: [VAMOS] osmo-bts-trx: move {chan,bid} to trx_{dl,ul}_burst_{req,ind} ...................................................................... Patch Set 3: Verified+1 > Patch Set 3: Code-Review+1 > > I presume this has been executed locally against the BTS_Tests.ttcn without causing regressions? Indeed, I forgot to point this out and add V+1. Here it is. No regressions observed. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic5a02b074662b3e429bf18e05a982f3f3e7b7444 Gerrit-Change-Number: 24178 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 08:45:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 08:45:22 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 08:45:22 +0000 Subject: Change in osmo-bts[master]: osmo-bts-{lc15, oc2g}: drop redundant checks in VTY commands In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24199 ) Change subject: osmo-bts-{lc15,oc2g}: drop redundant checks in VTY commands ...................................................................... osmo-bts-{lc15,oc2g}: drop redundant checks in VTY commands Change-Id: I4fea6d661b7193c3a04e88c9399a9e2bc402254f --- M src/osmo-bts-lc15/lc15bts_vty.c M src/osmo-bts-oc2g/oc2gbts_vty.c 2 files changed, 6 insertions(+), 84 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bts-lc15/lc15bts_vty.c b/src/osmo-bts-lc15/lc15bts_vty.c index 4a9d790..be6a4f8 100644 --- a/src/osmo-bts-lc15/lc15bts_vty.c +++ b/src/osmo-bts-lc15/lc15bts_vty.c @@ -340,12 +340,6 @@ int nominal_power = atoi(argv[0]); struct gsm_bts_trx *trx = vty->index; - if (( nominal_power > 40 ) || ( nominal_power < 0 )) { - vty_out(vty, "Nominal Tx power level must be between 0 and 40 dBm (%d) %s", - nominal_power, VTY_NEWLINE); - return CMD_WARNING; - } - trx->nominal_power = nominal_power; trx->power_params.trx_p_max_out_mdBm = to_mdB(nominal_power); @@ -359,12 +353,6 @@ struct phy_instance *pinst = vty->index; int cell_size = (uint8_t)atoi(argv[0]); - if (( cell_size > 166 ) || ( cell_size < 0 )) { - vty_out(vty, "Max cell size must be between 0 and 166 qbits (%d) %s", - cell_size, VTY_NEWLINE); - return CMD_WARNING; - } - pinst->u.lc15.max_cell_size = (uint8_t)cell_size; return CMD_SUCCESS; } @@ -377,10 +365,7 @@ struct phy_instance *pinst = vty->index; int val = get_string_value(lc15_diversity_mode_strs, argv[0]); - if((val < LC15_DIVERSITY_SISO_A) || (val > LC15_DIVERSITY_MRC)) { - vty_out(vty, "Invalid reception diversity mode %d%s", val, VTY_NEWLINE); - return CMD_WARNING; - } + OSMO_ASSERT(val != -EINVAL); pinst->u.lc15.diversity_mode = (uint8_t)val; return CMD_SUCCESS; @@ -394,10 +379,7 @@ struct phy_instance *pinst = vty->index; int val = get_string_value(lc15_pedestal_mode_strs, argv[0]); - if((val < LC15_PEDESTAL_OFF) || (val > LC15_PEDESTAL_ON)) { - vty_out(vty, "Invalid unused time-slot transmission mode %d%s", val, VTY_NEWLINE); - return CMD_WARNING; - } + OSMO_ASSERT(val != -EINVAL); pinst->u.lc15.pedestal_mode = (uint8_t)val; return CMD_SUCCESS; @@ -411,10 +393,7 @@ struct gsm_bts *bts = vty->index; int val = get_string_value(lc15_led_mode_strs, argv[0]); - if((val < LC15_LED_CONTROL_BTS) || (val > LC15_LED_CONTROL_EXT)) { - vty_out(vty, "Invalid LED control mode %d%s", val, VTY_NEWLINE); - return CMD_WARNING; - } + OSMO_ASSERT(val != -EINVAL); struct bts_lc15_priv *bts_lc15 = bts->model_priv; bts_lc15->led_ctrl_mode = (uint8_t)val; @@ -429,12 +408,6 @@ struct phy_instance *pinst = vty->index; uint8_t period = (uint8_t)atoi(argv[0]); - if (( period > 60 ) || ( period < 0 )) { - vty_out(vty, "DSP heart beat alive timer period must be between 0 and 60 seconds (%d) %s", - period, VTY_NEWLINE); - return CMD_WARNING; - } - pinst->u.lc15.dsp_alive_period = period; return CMD_SUCCESS; } @@ -446,10 +419,7 @@ struct phy_instance *pinst = vty->index; int val = get_string_value(lc15_auto_adj_pwr_strs, argv[0]); - if((val < LC15_TX_PWR_ADJ_NONE) || (val > LC15_TX_PWR_ADJ_AUTO)) { - vty_out(vty, "Invalid output power adjustment mode %d%s", val, VTY_NEWLINE); - return CMD_WARNING; - } + OSMO_ASSERT(val != -EINVAL); pinst->u.lc15.tx_pwr_adj_mode = (uint8_t)val; return CMD_SUCCESS; @@ -462,12 +432,6 @@ struct phy_instance *pinst = vty->index; int val = atoi(argv[0]); - if ((val > 40) || (val < 0)) { - vty_out(vty, "Reduction Tx power level must be between 0 and 40 dB (%d) %s", - val, VTY_NEWLINE); - return CMD_WARNING; - } - pinst->u.lc15.tx_pwr_red_8psk = (uint8_t)val; return CMD_SUCCESS; } @@ -479,12 +443,6 @@ struct phy_instance *pinst = vty->index; int val = atoi(argv[0]); - if ((val > 40) || (val < 0)) { - vty_out(vty, "Reduction Tx power level must be between 0 and 40 dB (%d) %s", - val, VTY_NEWLINE); - return CMD_WARNING; - } - pinst->u.lc15.tx_c0_idle_pwr_red = (uint8_t)val; return CMD_SUCCESS; } diff --git a/src/osmo-bts-oc2g/oc2gbts_vty.c b/src/osmo-bts-oc2g/oc2gbts_vty.c index c3b2a31..d69225a 100644 --- a/src/osmo-bts-oc2g/oc2gbts_vty.c +++ b/src/osmo-bts-oc2g/oc2gbts_vty.c @@ -333,12 +333,6 @@ int nominal_power = atoi(argv[0]); struct gsm_bts_trx *trx = vty->index; - if (( nominal_power > 25 ) || ( nominal_power < 0 )) { - vty_out(vty, "Nominal Tx power level must be between 0 and 25 dBm (%d) %s", - nominal_power, VTY_NEWLINE); - return CMD_WARNING; - } - trx->nominal_power = nominal_power; trx->power_params.trx_p_max_out_mdBm = to_mdB(nominal_power); @@ -352,12 +346,6 @@ struct phy_instance *pinst = vty->index; int cell_size = (uint8_t)atoi(argv[0]); - if (( cell_size > 166 ) || ( cell_size < 0 )) { - vty_out(vty, "Max cell size must be between 0 and 166 qbits (%d) %s", - cell_size, VTY_NEWLINE); - return CMD_WARNING; - } - pinst->u.oc2g.max_cell_size = (uint8_t)cell_size; return CMD_SUCCESS; } @@ -370,10 +358,7 @@ struct phy_instance *pinst = vty->index; int val = get_string_value(oc2g_pedestal_mode_strs, argv[0]); - if((val < OC2G_PEDESTAL_OFF) || (val > OC2G_PEDESTAL_ON)) { - vty_out(vty, "Invalid unused time-slot transmission mode %d%s", val, VTY_NEWLINE); - return CMD_WARNING; - } + OSMO_ASSERT(val != -EINVAL); pinst->u.oc2g.pedestal_mode = (uint8_t)val; return CMD_SUCCESS; @@ -386,12 +371,6 @@ struct phy_instance *pinst = vty->index; uint8_t period = (uint8_t)atoi(argv[0]); - if (( period > 60 ) || ( period < 0 )) { - vty_out(vty, "DSP heart beat alive timer period must be between 0 and 60 seconds (%d) %s", - period, VTY_NEWLINE); - return CMD_WARNING; - } - pinst->u.oc2g.dsp_alive_period = period; return CMD_SUCCESS; } @@ -403,10 +382,7 @@ struct phy_instance *pinst = vty->index; int val = get_string_value(oc2g_auto_adj_pwr_strs, argv[0]); - if((val < OC2G_TX_PWR_ADJ_NONE) || (val > OC2G_TX_PWR_ADJ_AUTO)) { - vty_out(vty, "Invalid output power adjustment mode %d%s", val, VTY_NEWLINE); - return CMD_WARNING; - } + OSMO_ASSERT(val != -EINVAL); pinst->u.oc2g.tx_pwr_adj_mode = (uint8_t)val; return CMD_SUCCESS; @@ -419,12 +395,6 @@ struct phy_instance *pinst = vty->index; int val = atoi(argv[0]); - if ((val > 40) || (val < 0)) { - vty_out(vty, "Reduction Tx power level must be between 0 and 40 dB (%d) %s", - val, VTY_NEWLINE); - return CMD_WARNING; - } - pinst->u.oc2g.tx_pwr_red_8psk = (uint8_t)val; return CMD_SUCCESS; } @@ -436,12 +406,6 @@ struct phy_instance *pinst = vty->index; int val = atoi(argv[0]); - if ((val > 40) || (val < 0)) { - vty_out(vty, "Reduction Tx power level must be between 0 and 40 dB (%d) %s", - val, VTY_NEWLINE); - return CMD_WARNING; - } - pinst->u.oc2g.tx_c0_idle_pwr_red = (uint8_t)val; return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4fea6d661b7193c3a04e88c9399a9e2bc402254f Gerrit-Change-Number: 24199 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 08:48:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 08:48:07 +0000 Subject: Change in osmo-pcu[master]: alloc_algorithm_b: Rearrange variable initialization In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24187 ) Change subject: alloc_algorithm_b: Rearrange variable initialization ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24187/1/src/gprs_rlcmac_ts_alloc.cpp File src/gprs_rlcmac_ts_alloc.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/24187/1/src/gprs_rlcmac_ts_alloc.cpp at a886 PS1, Line 886: O > why was the assert removed? We do unconditionally use 'ms' below. Sorry I forgot to state so in the commit log. TBF is always expected to have an MS now since a while ago, so it's fine getting rif of the assert. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If3cfa82f8b793a87e97145ee8a6fc0fe1a61add6 Gerrit-Change-Number: 24187 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 May 2021 08:48:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:21:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:21:25 +0000 Subject: Change in osmo-gsm-tester[master]: androidue: fix execute permissions for conn_chk and diag parser scripts In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24191 ) Change subject: androidue: fix execute permissions for conn_chk and diag parser scripts ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I755b65188a485a3c2f30488ab598f7a50cf80dc5 Gerrit-Change-Number: 24191 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 09:21:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:21:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:21:33 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs: fix name In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24192 ) Change subject: open5gs: fix name ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I7b0325718f9572b03e282d17ddf111a9493e2ee7 Gerrit-Change-Number: 24192 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 09:21:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:21:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:21:45 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs: lower default log level to info In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24193 ) Change subject: open5gs: lower default log level to info ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I15aaac5838bdb9d271a850b959a3a8fb4a56a313 Gerrit-Change-Number: 24193 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 09:21:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:22:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:22:48 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb: enable S1AP pcaps as well when PCAPs are configured In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24194 ) Change subject: srsenb: enable S1AP pcaps as well when PCAPs are configured ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If24048d61d8dff0b9b31aff9ed6995342830ebf8 Gerrit-Change-Number: 24194 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 09:22:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:23:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:23:07 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs_mme: set short network name In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24195 ) Change subject: open5gs_mme: set short network name ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifd7a78e35fb47cc5a96452fe93d8ab305359d7bd Gerrit-Change-Number: 24195 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 09:23:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:23:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:23:14 +0000 Subject: Change in osmo-gsm-tester[master]: androidue: fix execute permissions for conn_chk and diag parser scripts In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24191 ) Change subject: androidue: fix execute permissions for conn_chk and diag parser scripts ...................................................................... androidue: fix execute permissions for conn_chk and diag parser scripts Change-Id: I755b65188a485a3c2f30488ab598f7a50cf80dc5 --- M utils/bin/osmo-gsm-tester_androidue_conn_chk.sh M utils/bin/osmo-gsm-tester_androidue_diag_parser.sh 2 files changed, 0 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/utils/bin/osmo-gsm-tester_androidue_conn_chk.sh b/utils/bin/osmo-gsm-tester_androidue_conn_chk.sh old mode 100644 new mode 100755 diff --git a/utils/bin/osmo-gsm-tester_androidue_diag_parser.sh b/utils/bin/osmo-gsm-tester_androidue_diag_parser.sh old mode 100644 new mode 100755 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I755b65188a485a3c2f30488ab598f7a50cf80dc5 Gerrit-Change-Number: 24191 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:23:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:23:15 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs: fix name In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24192 ) Change subject: open5gs: fix name ...................................................................... open5gs: fix name Change-Id: I7b0325718f9572b03e282d17ddf111a9493e2ee7 --- M src/osmo_gsm_tester/obj/epc_open5gs.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/epc_open5gs.py b/src/osmo_gsm_tester/obj/epc_open5gs.py index 3759dfc..6db513b 100644 --- a/src/osmo_gsm_tester/obj/epc_open5gs.py +++ b/src/osmo_gsm_tester/obj/epc_open5gs.py @@ -125,7 +125,7 @@ # PUBLIC (test API included) ################### def start(self): - self.log('Starting srsepc') + self.log('Starting open5gs') self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() self.pcrf.start() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I7b0325718f9572b03e282d17ddf111a9493e2ee7 Gerrit-Change-Number: 24192 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:23:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:23:15 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs: lower default log level to info In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24193 ) Change subject: open5gs: lower default log level to info ...................................................................... open5gs: lower default log level to info Change-Id: I15aaac5838bdb9d271a850b959a3a8fb4a56a313 --- M src/osmo_gsm_tester/templates/open5gs-hssd.yaml.tmpl M src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl M src/osmo_gsm_tester/templates/open5gs-sgwcd.yaml.tmpl M src/osmo_gsm_tester/templates/open5gs-sgwud.yaml.tmpl M src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl M src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl 6 files changed, 6 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/open5gs-hssd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-hssd.yaml.tmpl index 830e8cd..a8424d6 100644 --- a/src/osmo_gsm_tester/templates/open5gs-hssd.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-hssd.yaml.tmpl @@ -22,7 +22,7 @@ # logger: file: ${hss.log_filename} - level: debug + level: info hss: freeDiameter: ${hss.diameter_filename} diff --git a/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl index 5c886e3..57261e7 100644 --- a/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl @@ -20,7 +20,7 @@ # logger: file: ${mme.log_filename} - level: debug + level: info mme: freeDiameter: ${mme.diameter_filename} diff --git a/src/osmo_gsm_tester/templates/open5gs-sgwcd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-sgwcd.yaml.tmpl index a1db7ed..79be122 100644 --- a/src/osmo_gsm_tester/templates/open5gs-sgwcd.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-sgwcd.yaml.tmpl @@ -20,7 +20,7 @@ # logger: file: ${sgwc.log_filename} - level: debug + level: info # # sgwc: diff --git a/src/osmo_gsm_tester/templates/open5gs-sgwud.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-sgwud.yaml.tmpl index f0e2384..59f58b7 100644 --- a/src/osmo_gsm_tester/templates/open5gs-sgwud.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-sgwud.yaml.tmpl @@ -20,7 +20,7 @@ # logger: file: ${sgwu.log_filename} - level: debug + level: info # # sgwu: diff --git a/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl index 4a030d6..f2bd807 100644 --- a/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl @@ -20,7 +20,7 @@ # logger: file: ${smf.log_filename} - level: debug + level: info # # smf: # diff --git a/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl index 4fd77f6..87066d6 100644 --- a/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl @@ -20,7 +20,7 @@ # logger: file: ${upf.log_filename} - level: debug + level: info # # upf: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I15aaac5838bdb9d271a850b959a3a8fb4a56a313 Gerrit-Change-Number: 24193 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:23:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:23:15 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb: enable S1AP pcaps as well when PCAPs are configured In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24194 ) Change subject: srsenb: enable S1AP pcaps as well when PCAPs are configured ...................................................................... srsenb: enable S1AP pcaps as well when PCAPs are configured this stores the S1AP pcaps in an own file but uses the same switch to enable them. Change-Id: If24048d61d8dff0b9b31aff9ed6995342830ebf8 --- M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/templates/srsenb.conf.tmpl 2 files changed, 15 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 05488af..708e63a 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -49,7 +49,8 @@ CFGFILE_RR = 'srsenb_rr.conf' CFGFILE_DRB = 'srsenb_drb.conf' LOGFILE = 'srsenb.log' - PCAPFILE = 'srsenb.pcap' + PCAPFILE = 'srsenb_mac.pcap' + S1AP_PCAPFILE = 'srsenb_s1ap.pcap' TRACINGFILE = 'srsenb_tracing.log' METRICSFILE = 'srsenb_metrics.csv' @@ -66,6 +67,7 @@ self.tracing_file = None self.log_file = None self.pcap_file = None + self.s1ap_pcap_file = None self.process = None self.rem_host = None self.remote_run_dir = None @@ -75,6 +77,7 @@ self.remote_config_drb_file = None self.remote_log_file = None self.remote_pcap_file = None + self.remote_s1ap_pcap_file = None self.remote_tracing_file = None self.remote_metrics_file = None self.enable_pcap = False @@ -110,6 +113,10 @@ self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file) except Exception as e: self.log(repr(e)) + try: + self.rem_host.scpfrom('scp-back-s1-pcap', self.remote_s1ap_pcap_file, self.s1ap_pcap_file) + except Exception as e: + self.log(repr(e)) if self.enable_tracing: try: self.rem_host.scpfrom('scp-back-tracing', self.remote_tracing_file, self.tracing_file) @@ -204,6 +211,7 @@ self.config_drb_file = self.run_dir.child(srsENB.CFGFILE_DRB) self.log_file = self.run_dir.child(srsENB.LOGFILE) self.pcap_file = self.run_dir.child(srsENB.PCAPFILE) + self.s1ap_pcap_file = self.run_dir.child(srsENB.S1AP_PCAPFILE) self.metrics_file = self.run_dir.child(srsENB.METRICSFILE) self.tracing_file = self.run_dir.child(srsENB.TRACINGFILE) @@ -219,6 +227,7 @@ self.remote_config_drb_file = self.remote_run_dir.child(srsENB.CFGFILE_DRB) self.remote_log_file = self.remote_run_dir.child(srsENB.LOGFILE) self.remote_pcap_file = self.remote_run_dir.child(srsENB.PCAPFILE) + self.remote_s1ap_pcap_file = self.remote_run_dir.child(srsENB.S1AP_PCAPFILE) self.remote_metrics_file = self.remote_run_dir.child(srsENB.METRICSFILE) self.remote_tracing_file = self.remote_run_dir.child(srsENB.TRACINGFILE) @@ -231,6 +240,7 @@ drbfile = self.config_drb_file if self._run_node.is_local() else self.remote_config_drb_file logfile = self.log_file if self._run_node.is_local() else self.remote_log_file pcapfile = self.pcap_file if self._run_node.is_local() else self.remote_pcap_file + s1ap_pcapfile = self.s1ap_pcap_file if self._run_node.is_local() else self.remote_s1ap_pcap_file config.overlay(values, dict(enb=dict(metrics_filename=metricsfile, tracing_filename=tracingfile, sib_filename=sibfile, @@ -238,6 +248,7 @@ drb_filename=drbfile, log_filename=logfile, pcap_filename=pcapfile, + s1ap_pcap_filename=s1ap_pcapfile, ))) # Convert parsed boolean string to Python boolean: diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index ea18af7..2aa80dc 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -101,6 +101,9 @@ enable = ${'true' if enb.enable_pcap else 'false'} filename = ${enb.pcap_filename} +s1ap_enable = ${'true' if enb.enable_pcap else 'false'} +s1ap_filename = ${enb.s1ap_pcap_filename} + ##################################################################### # Log configuration # -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If24048d61d8dff0b9b31aff9ed6995342830ebf8 Gerrit-Change-Number: 24194 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:23:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:23:15 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs_mme: set short network name In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24195 ) Change subject: open5gs_mme: set short network name ...................................................................... open5gs_mme: set short network name Change-Id: Ifd7a78e35fb47cc5a96452fe93d8ab305359d7bd --- M src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl index 57261e7..c811e9e 100644 --- a/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl @@ -44,6 +44,7 @@ ciphering_order : [ EEA0, EEA1, EEA2 ] network_name: full: Open5GS + short: open5gs mme_name: open5gs-mme0 # -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifd7a78e35fb47cc5a96452fe93d8ab305359d7bd Gerrit-Change-Number: 24195 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:31:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:31:34 +0000 Subject: Change in libosmo-abis[master]: Add vty show function for e1d driver In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24197 ) Change subject: Add vty show function for e1d driver ...................................................................... Patch Set 1: (6 comments) https://gerrit.osmocom.org/c/libosmo-abis/+/24197/1/src/input/e1d.c File src/input/e1d.c: https://gerrit.osmocom.org/c/libosmo-abis/+/24197/1/src/input/e1d.c at 326 PS1, Line 326: g_e1d = osmo_e1dp_client_create(NULL, "/tmp/osmo-e1d.ctl"); Hint: you can do first "if (g_e1d) return 0;" here, and then you always simply call the function without having to do the check. then you keep all the g_e1d allocation logic here in this function. https://gerrit.osmocom.org/c/libosmo-abis/+/24197/1/src/input/e1d.c at 479 PS1, Line 479: const struct value_string osmo_e1dp_ts_mode_names[] = { > I think this can be exposed in osmo-e1d, but I'm not sure exactly [?] We usually tend to add a public function returning a pointer to the start of the array or even resolving the name base don the value, grep for "value_string" in libosmocore and you'll see lots of examples. For array "osmo_e1dp_ts_mode_names", the function would be called "osmo_e1dp_ts_mode_name" iirc. https://gerrit.osmocom.org/c/libosmo-abis/+/24197/1/src/input/e1d.c at 496 PS1, Line 496: if (e1d_daemon_connect(line)) In general I prefer checkjing explicitly against "< 0" if the function returns a negative error on error, it's clearer when reading it. https://gerrit.osmocom.org/c/libosmo-abis/+/24197/1/src/input/e1d.c at 507 PS1, Line 507: for (ts=1; tsnum_ts; ts++) { spacing ts = 1 https://gerrit.osmocom.org/c/libosmo-abis/+/24197/1/src/input/e1d.c at 508 PS1, Line 508: struct e1inp_ts *e1i_ts = &line->ts[ts-1]; spacing ts -1 https://gerrit.osmocom.org/c/libosmo-abis/+/24197/1/src/input/e1d.c at 512 PS1, Line 512: bfd->fd, VTY_NEWLINE); why are you starting with ts=1, then use ts-1, then here ts? it looks wrong. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24197 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I287c82b2c9e4b9b9b30a302e5240d5688b93240c Gerrit-Change-Number: 24197 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 11 May 2021 09:31:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: keith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:31:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:31:53 +0000 Subject: Change in osmo-pcu[master]: Simplify helper function tbf_select_slot_set() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24186 ) Change subject: Simplify helper function tbf_select_slot_set() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia2e061da82ddce564b2d768d8ade1672c22934e2 Gerrit-Change-Number: 24186 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 09:31:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:31:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:31:55 +0000 Subject: Change in osmo-pcu[master]: alloc_algorithm_b: Rearrange variable initialization In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24187 ) Change subject: alloc_algorithm_b: Rearrange variable initialization ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If3cfa82f8b793a87e97145ee8a6fc0fe1a61add6 Gerrit-Change-Number: 24187 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 09:31:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:31:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:31:57 +0000 Subject: Change in osmo-pcu[master]: Simplify helper function tbf_select_slot_set() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24186 ) Change subject: Simplify helper function tbf_select_slot_set() ...................................................................... Simplify helper function tbf_select_slot_set() Store direction check to simplify the code. Get rid of 2-step LOGP to avoid multi-row logs in gsmtap log. Change-Id: Ia2e061da82ddce564b2d768d8ade1672c22934e2 --- M src/gprs_rlcmac_ts_alloc.cpp M tests/tbf/TbfTest.err 2 files changed, 11 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index dd921e7..e8c9bc4 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -711,7 +711,8 @@ uint8_t reserved_ul_slots, uint8_t reserved_dl_slots, int8_t first_common_ts) { - uint8_t sl = tbf->direction != GPRS_RLCMAC_DL_TBF ? ul_slots : dl_slots; + bool is_ul = tbf->direction == GPRS_RLCMAC_UL_TBF; + uint8_t sl = is_ul ? ul_slots : dl_slots; char slot_info[9] = { 0 }; if (single) @@ -719,22 +720,22 @@ if (!sl) { LOGP(DRLCMAC, LOGL_NOTICE, "No %s slots available\n", - tbf->direction != GPRS_RLCMAC_DL_TBF ? "uplink" : "downlink"); + is_ul ? "uplink" : "downlink"); bts_do_rate_ctr_inc(trx->bts, CTR_TBF_ALLOC_FAIL_NO_SLOT_AVAIL); return -EINVAL; } - if (tbf->direction != GPRS_RLCMAC_DL_TBF) { + if (is_ul) { snprintf(slot_info, 9, OSMO_BIT_SPEC, OSMO_BIT_PRINT_EX(reserved_ul_slots, 'u')); masked_override_with(slot_info, sl, 'U'); - LOGP(DRLCMAC, LOGL_DEBUG, "- Selected UL"); } else { snprintf(slot_info, 9, OSMO_BIT_SPEC, OSMO_BIT_PRINT_EX(reserved_dl_slots, 'd')); masked_override_with(slot_info, sl, 'D'); - LOGP(DRLCMAC, LOGL_DEBUG, "- Selected DL"); } - LOGPC(DRLCMAC, LOGL_DEBUG, " slots: (TS=0)\"%s\"(TS=7), %s\n", slot_info, single ? "single" : "multi"); + LOGPC(DRLCMAC, LOGL_DEBUG, "Selected %s slots: (TS=0)\"%s\"(TS=7), %s\n", + is_ul ? "UL" : "DL", + slot_info, single ? "single" : "multi"); return sl; } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index be7caf0..0a826a7 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -3153,7 +3153,7 @@ - Skipping TS 7, because not enabled - Possible DL/UL slots: (TS=0)"..CCCC.."(TS=7) Rx=4 Tx=4 Sum Rx+Tx=5, Tta=2 Ttb=1, Tra=2 Trb=1, Type=1 -- Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi +Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi [DL] algo B (suggested TRX: 0): using 4 slots - Reserved DL/UL slots: (TS=0)"..DDCD.."(TS=7) - Assigning DL TS 2 @@ -3192,7 +3192,7 @@ - Skipping TS 7, because not enabled - Possible DL/UL slots: (TS=0)"..CCCC.."(TS=7) Rx=4 Tx=4 Sum Rx+Tx=5, Tta=2 Ttb=1, Tra=2 Trb=1, Type=1 -- Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi +Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi [DL] algo B (suggested TRX: 0): using 4 slots - Reserved DL/UL slots: (TS=0)"..DDCD.."(TS=7) - Assigning DL TS 2 @@ -6013,7 +6013,7 @@ - Skipping TS 7, because not enabled - Possible DL/UL slots: (TS=0)"..CCCC.."(TS=7) Rx=4 Tx=3 Sum Rx+Tx=5, Tta=3 Ttb=1, Tra=2 Trb=1, Type=1 -- Selected DL slots: (TS=0)"..ddDd.."(TS=7), single +Selected DL slots: (TS=0)"..ddDd.."(TS=7), single [DL] algo B (suggested TRX: 0): using single slot at TS 4 - Reserved DL/UL slots: (TS=0)"...DC..."(TS=7) - Assigning DL TS 4 @@ -6028,7 +6028,7 @@ PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. [DL] algo B (suggested TRX: -1): Alloc start Found first unallocated TRX=0 TFI=0 -- Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi +Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi [DL] algo B (suggested TRX: -1): using 4 slots - Assigning DL TS 2 PDCH(bts=0,trx=0,ts=2) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia2e061da82ddce564b2d768d8ade1672c22934e2 Gerrit-Change-Number: 24186 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:31:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:31:58 +0000 Subject: Change in osmo-pcu[master]: alloc_algorithm_b: Rearrange variable initialization In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24187 ) Change subject: alloc_algorithm_b: Rearrange variable initialization ...................................................................... alloc_algorithm_b: Rearrange variable initialization Untangle variable assignment at the start of the function. Changes end up in same kind of assignment, but are far easier to understand based on the variable use later on. * reserved_{dl,ul}_slots contain mask of TS either "previously-reserved" or "intended to be reserved now" based on MS's ms_class. * {dl,ul}_slots contain a derived mask from the one above, filtered further based on more factors like type of allocation requested (multi vs single), available USFs (UL), etc. Change-Id: If3cfa82f8b793a87e97145ee8a6fc0fe1a61add6 --- M src/gprs_rlcmac_ts_alloc.cpp 1 file changed, 6 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index e8c9bc4..5ccbb9f 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -883,10 +883,8 @@ /* Step 1: Get current state from the MS object */ - OSMO_ASSERT(ms); - - dl_slots = ms_reserved_dl_slots(ms); - ul_slots = ms_reserved_ul_slots(ms); + reserved_dl_slots = ms_reserved_dl_slots(ms); + reserved_ul_slots = ms_reserved_ul_slots(ms); first_common_ts = ms_first_common_ts(ms); trx = ms_current_trx(ms); @@ -901,14 +899,13 @@ if (!trx) trx = &bts->trx[trx_no]; - if (!dl_slots || !ul_slots) { - rc = find_multi_slots(trx, ms_ms_class(ms), &ul_slots, &dl_slots); + if (!reserved_dl_slots || !reserved_ul_slots) { + rc = find_multi_slots(trx, ms_ms_class(ms), &reserved_ul_slots, &reserved_dl_slots); if (rc < 0) return rc; } - - reserved_dl_slots = dl_slots; - reserved_ul_slots = ul_slots; + dl_slots = reserved_dl_slots; + ul_slots = reserved_ul_slots; /* Step 3a: Derive the slot set for the current TBF */ rc = tbf_select_slot_set(tbf, trx, single, ul_slots, dl_slots, reserved_ul_slots, reserved_dl_slots, -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If3cfa82f8b793a87e97145ee8a6fc0fe1a61add6 Gerrit-Change-Number: 24187 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:32:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:32:58 +0000 Subject: Change in osmo-pcu[master]: Rename function s/tbf_alloc_ul/tbf_alloc_ul_pacch/ In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/24188 to look at the new patch set (#2). Change subject: Rename function s/tbf_alloc_ul/tbf_alloc_ul_pacch/ ...................................................................... Rename function s/tbf_alloc_ul/tbf_alloc_ul_pacch/ Change-Id: I70ca0b5be0a29a05c6e65b9c92cc6d3b5c43d3dc --- M src/pdch.cpp M src/tbf_ul.cpp M src/tbf_ul.h 3 files changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/88/24188/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24188 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I70ca0b5be0a29a05c6e65b9c92cc6d3b5c43d3dc Gerrit-Change-Number: 24188 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:32:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:32:58 +0000 Subject: Change in osmo-pcu[master]: Split ul_tbf alloc on CCCH into new function In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/24189 to look at the new patch set (#2). Change subject: Split ul_tbf alloc on CCCH into new function ...................................................................... Split ul_tbf alloc on CCCH into new function This allows more easily finding when this specific scenario happens, and can easily be compared against the PACCH one. Change-Id: I609792a40fda2a798ca71a0e9f5639d0a0f011d7 --- M src/bts.cpp M src/tbf_ul.cpp M src/tbf_ul.h M tests/tbf/TbfTest.err 4 files changed, 29 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/89/24189/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24189 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I609792a40fda2a798ca71a0e9f5639d0a0f011d7 Gerrit-Change-Number: 24189 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:32:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:32:58 +0000 Subject: Change in osmo-pcu[master]: Implement T3141 In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/24190 to look at the new patch set (#2). Change subject: Implement T3141 ...................................................................... Implement T3141 Related: OS#1940 Change-Id: I154984b835b2b436b1ebe4631a8afcebb7338c65 --- M src/gprs_pcu.c M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M src/tbf_ul.h M tests/tbf/TbfTest.err 7 files changed, 71 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/90/24190/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I154984b835b2b436b1ebe4631a8afcebb7338c65 Gerrit-Change-Number: 24190 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:36:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:36:44 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Re-organize osmo-bts-trx specific structures In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24179 ) Change subject: [VAMOS] Re-organize osmo-bts-trx specific structures ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7c4379e43a25e9d858d582a99bf6c4b65c9af481 Gerrit-Change-Number: 24179 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 09:36:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:37:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:37:38 +0000 Subject: Change in osmo-mgw[master]: Log some useful messages at ERROR/INFO instead of DEBUG In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24198 ) Change subject: Log some useful messages at ERROR/INFO instead of DEBUG ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I22cbecab8d9f7a1980387f16c9a8da444aaa0311 Gerrit-Change-Number: 24198 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 09:37:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:38:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:38:16 +0000 Subject: Change in osmo-bts[master]: [VAMOS] struct gsm_bts_trx: fix the PHY instance pointer In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24176 ) Change subject: [VAMOS] struct gsm_bts_trx: fix the PHY instance pointer ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9bd6f0921e0c6bf824d38485486ad78864cbe17e Gerrit-Change-Number: 24176 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 09:38:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:39:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:39:56 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24177 ) Change subject: [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4aefaf47b05a67ec0c4774c1ee7abcc95e04cc13 Gerrit-Change-Number: 24177 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 09:39:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:41:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:41:12 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: move {chan, bid} to trx_{dl, ul}_burst_{req, ind} In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24178 ) Change subject: [VAMOS] osmo-bts-trx: move {chan,bid} to trx_{dl,ul}_burst_{req,ind} ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic5a02b074662b3e429bf18e05a982f3f3e7b7444 Gerrit-Change-Number: 24178 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 09:41:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:42:12 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 09:42:12 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24177 ) Change subject: [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4aefaf47b05a67ec0c4774c1ee7abcc95e04cc13 Gerrit-Change-Number: 24177 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 09:42:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:42:19 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 09:42:19 +0000 Subject: Change in osmo-bts[master]: [VAMOS] struct gsm_bts_trx: fix the PHY instance pointer In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24176 ) Change subject: [VAMOS] struct gsm_bts_trx: fix the PHY instance pointer ...................................................................... [VAMOS] struct gsm_bts_trx: fix the PHY instance pointer First of all, there is no reason to use a void pointer because it's always 'struct phy_instance'. Also, no need to encapsulate this pointer into 'role_bts' because there are no other roles in osmo-bts (we used to have shared headers years ago). This commit also fixes a bug in test_sysmobts_auto_band(), where a pointer to 'struct femtol1_hdl' was directly assigned to trx.pinst. Change-Id: I9bd6f0921e0c6bf824d38485486ad78864cbe17e --- M include/osmo-bts/bts_trx.h M include/osmo-bts/phy_link.h M src/common/main.c M src/common/phy_link.c M src/common/vty.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/scheduler_trx.c M tests/sysmobts/sysmobts_test.c 8 files changed, 15 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmo-bts/bts_trx.h b/include/osmo-bts/bts_trx.h index 7d60a73..100eaba 100644 --- a/include/osmo-bts/bts_trx.h +++ b/include/osmo-bts/bts_trx.h @@ -36,9 +36,8 @@ struct gsm_power_ctrl_params *ms_dpc_params; /* MS Dynamic Power Control */ bool ms_pwr_ctl_soft; /* is power control loop done by osmocom software? */ - struct { - void *l1h; - } role_bts; + /* The associated PHY instance */ + struct phy_instance *pinst; struct gsm_bts_trx_ts ts[TRX_NR_TS]; }; diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index 0c693bb..467ad52 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -173,7 +173,7 @@ static inline struct phy_instance *trx_phy_instance(const struct gsm_bts_trx *trx) { OSMO_ASSERT(trx); - return trx->role_bts.l1h; + return trx->pinst; } int bts_model_phy_link_open(struct phy_link *plink); diff --git a/src/common/main.c b/src/common/main.c index 2503352..73efc25 100644 --- a/src/common/main.c +++ b/src/common/main.c @@ -341,7 +341,7 @@ } llist_for_each_entry(trx, &g_bts->trx_list, list) { - if (!trx->role_bts.l1h) { + if (!trx->pinst) { fprintf(stderr, "TRX %u has no associated PHY instance\n", trx->nr); exit(1); diff --git a/src/common/phy_link.c b/src/common/phy_link.c index 77d7aa6..411f870 100644 --- a/src/common/phy_link.c +++ b/src/common/phy_link.c @@ -118,7 +118,7 @@ void phy_instance_link_to_trx(struct phy_instance *pinst, struct gsm_bts_trx *trx) { - trx->role_bts.l1h = pinst; + trx->pinst = pinst; pinst->trx = trx; } @@ -128,8 +128,8 @@ llist_del(&pinst->list); /* remove reverse link from TRX */ - OSMO_ASSERT(pinst->trx->role_bts.l1h == pinst); - pinst->trx->role_bts.l1h = NULL; + OSMO_ASSERT(pinst->trx->pinst == pinst); + pinst->trx->pinst = NULL; pinst->trx = NULL; talloc_free(pinst); diff --git a/src/common/vty.c b/src/common/vty.c index 9e428e7..3b59316 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -987,7 +987,7 @@ return CMD_WARNING; } - trx->role_bts.l1h = pinst; + trx->pinst = pinst; pinst->trx = trx; return CMD_SUCCESS; diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index 112a6ab..491f7cd 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -138,8 +138,7 @@ static inline struct l1sched_trx *trx_l1sched_hdl(struct gsm_bts_trx *trx) { - struct phy_instance *pinst = trx->role_bts.l1h; - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; + struct trx_l1h *l1h = trx->pinst->u.osmotrx.hdl; return &l1h->l1s; } diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index efd4954..c173f5b 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -73,13 +73,13 @@ /* Check the "cache" first, so we eliminate frequent lookups */ idx = gsm0502_hop_seq_gen(&time, SCHED_FH_PARAMS_VALS(ts), NULL); if (ts->fh_trx_list[idx] != NULL) - return ts->fh_trx_list[idx]->role_bts.l1h; + return ts->fh_trx_list[idx]->pinst; /* The "cache" may not be filled yet, lookup the transceiver */ llist_for_each_entry(trx, &ts->trx->bts->trx_list, list) { if (trx->arfcn == ts->hopping.arfcn_list[idx]) { ts->fh_trx_list[idx] = trx; - return trx->role_bts.l1h; + return trx->pinst; } } diff --git a/tests/sysmobts/sysmobts_test.c b/tests/sysmobts/sysmobts_test.c index 4b01ed7..d1e9e69 100644 --- a/tests/sysmobts/sysmobts_test.c +++ b/tests/sysmobts/sysmobts_test.c @@ -52,14 +52,17 @@ { struct gsm_bts bts; struct gsm_bts_trx trx; + struct phy_instance pinst; struct femtol1_hdl hdl; int i; memset(&bts, 0, sizeof(bts)); memset(&trx, 0, sizeof(trx)); + memset(&pinst, 0, sizeof(pinst)); memset(&hdl, 0, sizeof(hdl)); trx.bts = &bts; - trx.role_bts.l1h = &hdl; + trx.pinst = &pinst; + trx.pinst->u.sysmobts.hdl = &hdl; /* claim to support all hw_info's */ hdl.hw_info.band_support = GSM_BAND_850 | GSM_BAND_900 | -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9bd6f0921e0c6bf824d38485486ad78864cbe17e Gerrit-Change-Number: 24176 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:42:20 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 09:42:20 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24177 ) Change subject: [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() ...................................................................... [VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc() gsm_bts_trx_alloc() already does initialize some fields of the allocated 'struct gsm_bts_trx' instance, and having an additional function for initializing the other fields makes no sense. Note that I intentionally didn't merge a call to bts_model_trx_init() into gsm_bts_trx_alloc(), because this would break some assumptions regarding the order of initialization and cause regressions. This also allows us to not call bts_model_trx_init() from tests. Change-Id: I4aefaf47b05a67ec0c4774c1ee7abcc95e04cc13 --- M include/osmo-bts/bts_trx.h M src/common/bts.c M src/common/bts_trx.c M src/common/vty.c M tests/handover/handover_test.c M tests/meas/meas_test.c 6 files changed, 11 insertions(+), 44 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/include/osmo-bts/bts_trx.h b/include/osmo-bts/bts_trx.h index 100eaba..d4c3f39 100644 --- a/include/osmo-bts/bts_trx.h +++ b/include/osmo-bts/bts_trx.h @@ -47,7 +47,6 @@ } struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts); -int bts_trx_init(struct gsm_bts_trx *trx); struct gsm_bts_trx *gsm_bts_trx_num(const struct gsm_bts *bts, int num); char *gsm_trx_name(const struct gsm_bts_trx *trx); const char *gsm_trx_unit_id(struct gsm_bts_trx *trx); diff --git a/src/common/bts.c b/src/common/bts.c index 3860a87..fe4d26e 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -379,7 +379,7 @@ } /* TRX0 was allocated early during gsm_bts_alloc, not later through VTY */ - bts_trx_init(bts->c0); + bts_model_trx_init(bts->c0); bts_gsmnet.num_bts++; if (!initialized) { diff --git a/src/common/bts_trx.c b/src/common/bts_trx.c index 9fc18e4..635c4d3 100644 --- a/src/common/bts_trx.c +++ b/src/common/bts_trx.c @@ -107,53 +107,29 @@ name = gsm_lchan_name_compute(lchan); lchan->name = talloc_strdup(trx, name); INIT_LLIST_HEAD(&lchan->sapi_cmds); + INIT_LLIST_HEAD(&lchan->dl_tch_queue); } } if (trx->nr != 0) trx->nominal_power = bts->c0->nominal_power; + /* Default values for the power adjustments */ + trx->power_params.ramp.max_initial_pout_mdBm = to_mdB(0); + trx->power_params.ramp.step_size_mdB = to_mdB(2); + trx->power_params.ramp.step_interval_sec = 1; + /* Default (fall-back) Dynamic Power Control parameters */ trx->bs_dpc_params = &bts->bs_dpc_params; trx->ms_dpc_params = &bts->ms_dpc_params; - llist_add_tail(&trx->list, &bts->trx_list); - - return trx; -} - -/* Initialize the TRX data structures, called before config - * file reading */ -int bts_trx_init(struct gsm_bts_trx *trx) -{ - /* initialize bts data structure */ - struct trx_power_params *tpp = &trx->power_params; - int rc, i; - - for (i = 0; i < ARRAY_SIZE(trx->ts); i++) { - struct gsm_bts_trx_ts *ts = &trx->ts[i]; - int k; - - for (k = 0; k < ARRAY_SIZE(ts->lchan); k++) { - struct gsm_lchan *lchan = &ts->lchan[k]; - INIT_LLIST_HEAD(&lchan->dl_tch_queue); - } - } - /* Default values for the power adjustments */ - tpp->ramp.max_initial_pout_mdBm = to_mdB(0); - tpp->ramp.step_size_mdB = to_mdB(2); - tpp->ramp.step_interval_sec = 1; - /* IF BTS model doesn't DSP/HW support MS Power Control Loop, enable osmo algo by default: */ if (!bts_internal_flag_get(trx->bts, BTS_INTERNAL_FLAG_MS_PWR_CTRL_DSP)) trx->ms_pwr_ctl_soft = true; - rc = bts_model_trx_init(trx); - if (rc < 0) { - llist_del(&trx->list); - return rc; - } - return 0; + llist_add_tail(&trx->list, &bts->trx_list); + + return trx; } struct gsm_bts_trx *gsm_bts_trx_num(const struct gsm_bts *bts, int num) diff --git a/src/common/vty.c b/src/common/vty.c index 3b59316..d4e2902 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -229,7 +229,7 @@ */ trx = gsm_bts_trx_alloc(bts); if (trx) - bts_trx_init(trx); + bts_model_trx_init(trx); } else trx = gsm_bts_trx_num(bts, trx_nr); diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 72d8dc8..6af8fac 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -85,10 +85,6 @@ fprintf(stderr, "Failed to alloc TRX structure\n"); exit(1); } - if (bts_trx_init(trx) < 0) { - fprintf(stderr, "unable to init TRX\n"); - exit(1); - } libosmo_abis_init(NULL); diff --git a/tests/meas/meas_test.c b/tests/meas/meas_test.c index d129336..ab8ae28 100644 --- a/tests/meas/meas_test.c +++ b/tests/meas/meas_test.c @@ -530,10 +530,6 @@ fprintf(stderr, "Failed to alloc TRX structure\n"); exit(1); } - if (bts_trx_init(trx) < 0) { - fprintf(stderr, "unable to init TRX\n"); - exit(1); - } printf("\n"); printf("***********************\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4aefaf47b05a67ec0c4774c1ee7abcc95e04cc13 Gerrit-Change-Number: 24177 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:42:21 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 09:42:21 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: move {chan, bid} to trx_{dl, ul}_burst_{req, ind} In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24178 ) Change subject: [VAMOS] osmo-bts-trx: move {chan,bid} to trx_{dl,ul}_burst_{req,ind} ...................................................................... [VAMOS] osmo-bts-trx: move {chan,bid} to trx_{dl,ul}_burst_{req,ind} Historically the logical channel handlers like rx_data_fn() used to accept quite a lot of arguments. With the introduction of additional measurement parameters it has become clear that we need to group the arguments into structures. This is why both 'trx_{dl,ul}_burst_{req,ind}' structures were introduced. However, both channel type and burst ID were kept untouched, so until now we had them being passed between the scheduler functions here and there. This change is a logical conclusion of the original change mentioned above. As a part of this change, the new LOGL1SB() macro is introduced. It does accept a pointer to 'trx_{dl,ul}_burst_{req,ind}' and expands the context information for the old LOGL1S() macro. Change-Id: Ic5a02b074662b3e429bf18e05a982f3f3e7b7444 --- M include/osmo-bts/scheduler.h M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c M src/osmo-bts-trx/sched_lchan_fcch_sch.c M src/osmo-bts-trx/sched_lchan_pdtch.c M src/osmo-bts-trx/sched_lchan_rach.c M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_lchan_xcch.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-virtual/scheduler_virtbts.c 11 files changed, 312 insertions(+), 353 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index ad6e5c5..2d613e7 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -249,6 +249,10 @@ uint8_t tsc; /*!< Training Sequence Code */ int16_t ci_cb; /*!< Carrier-to-Interference ratio (in centiBels) */ + /* Internally used by the scheduler */ + enum trx_chan_type chan; + uint8_t bid; + /*! Burst soft-bits buffer */ sbit_t burst[EGPRS_BURST_LEN]; size_t burst_len; @@ -260,6 +264,10 @@ uint8_t tn; /*!< TDMA timeslot number */ uint8_t att; /*!< Tx power attenuation */ + /* Internally used by the scheduler */ + enum trx_chan_type chan; + uint8_t bid; + /*! Burst hard-bits buffer */ ubit_t burst[EGPRS_BURST_LEN]; size_t burst_len; diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index e3326f6..13ca71b 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -6,14 +6,16 @@ gsm_ts_name(&(l1t)->trx->ts[tn]), \ chan >=0 ? trx_chan_desc[chan].name : "", ## args) +/* Logging helper adding context from trx_{ul,dl}_burst_{ind,req} */ +#define LOGL1SB(subsys, level, l1t, b, fmt, args ...) \ + LOGL1S(subsys, level, l1t, (b)->tn, (b)->chan, (b)->fn, fmt, ## args) + typedef int trx_sched_rts_func(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, enum trx_chan_type chan); -typedef int trx_sched_dl_func(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br); +typedef int trx_sched_dl_func(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); -typedef int trx_sched_ul_func(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi); +typedef int trx_sched_ul_func(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); struct trx_chan_desc { /*! \brief Human-readable name */ @@ -40,8 +42,8 @@ extern const ubit_t _sched_egprs_tsc[8][78]; extern const ubit_t _sched_sch_train[64]; -struct msgb *_sched_dequeue_prim(struct l1sched_trx *l1t, int8_t tn, uint32_t fn, - enum trx_chan_type chan); +struct msgb *_sched_dequeue_prim(struct l1sched_trx *l1t, + const struct trx_dl_burst_req *br); int _sched_compose_ph_data_ind(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, enum trx_chan_type chan, uint8_t *l2, @@ -55,31 +57,19 @@ int16_t ta_offs_256bits, uint16_t ber10k, float rssi, uint8_t is_sub); -int tx_idle_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br); -int tx_fcch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br); -int tx_sch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br); -int tx_data_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br); -int tx_pdtch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br); -int tx_tchf_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br); -int tx_tchh_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br); +int tx_idle_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); +int tx_fcch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); +int tx_sch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); +int tx_data_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); +int tx_pdtch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); +int tx_tchf_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); +int tx_tchh_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); -int rx_rach_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi); -int rx_data_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi); -int rx_pdtch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi); -int rx_tchf_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi); -int rx_tchh_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi); +int rx_rach_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); +int rx_data_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); +int rx_pdtch_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); +int rx_tchf_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); +int rx_tchh_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); void _sched_dl_burst(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); int _sched_rts(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn); diff --git a/src/common/scheduler.c b/src/common/scheduler.c index c7c3e62..87a1f60 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -637,13 +637,13 @@ } } -struct msgb *_sched_dequeue_prim(struct l1sched_trx *l1t, int8_t tn, uint32_t fn, - enum trx_chan_type chan) +struct msgb *_sched_dequeue_prim(struct l1sched_trx *l1t, + const struct trx_dl_burst_req *br) { struct msgb *msg, *msg2; uint32_t prim_fn, l1sap_fn; uint8_t chan_nr, link_id; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); /* get prim of current fn from queue */ llist_for_each_entry_safe(msg, msg2, &l1ts->dl_prims, list) { @@ -660,18 +660,18 @@ l1sap_fn = l1sap->u.tch.fn; break; default: - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "Prim has wrong type.\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Prim has wrong type.\n"); goto free_msg; } - prim_fn = GSM_TDMA_FN_SUB(l1sap_fn, fn); + prim_fn = GSM_TDMA_FN_SUB(l1sap_fn, br->fn); if (prim_fn > 100) { /* l1sap_fn < fn */ - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Prim %u is out of range (%u vs exp %u), or channel %s with " "type %s is already disabled. If this happens in " "conjunction with PCU, increase 'rts-advance' by 5.\n", - prim_fn, l1sap_fn, fn, + prim_fn, l1sap_fn, br->fn, get_lchan_by_chan_nr(l1t->trx, chan_nr)->name, - trx_chan_desc[chan].name); + trx_chan_desc[br->chan].name); rate_ctr_inc2(l1ts->ctrs, L1SCHED_TS_CTR_DL_LATE); /* unlink and free message */ llist_del(&msg->list); @@ -682,11 +682,11 @@ break; /* l1sap_fn == fn */ - if ((chan_nr ^ (trx_chan_desc[chan].chan_nr | tn)) - || ((link_id & 0xc0) ^ trx_chan_desc[chan].link_id)) { - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "Prim has wrong chan_nr=0x%02x link_id=%02x, " + if ((chan_nr ^ (trx_chan_desc[br->chan].chan_nr | br->tn)) + || ((link_id & 0xc0) ^ trx_chan_desc[br->chan].link_id)) { + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Prim has wrong chan_nr=0x%02x link_id=%02x, " "expecting chan_nr=0x%02x link_id=%02x.\n", chan_nr, link_id, - trx_chan_desc[chan].chan_nr | tn, trx_chan_desc[chan].link_id); + trx_chan_desc[br->chan].chan_nr | br->tn, trx_chan_desc[br->chan].link_id); goto free_msg; } @@ -1209,9 +1209,8 @@ struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct l1sched_chan_state *l1cs; const struct trx_sched_frame *frame; - uint8_t offset, period, bid; + uint8_t offset, period; trx_sched_dl_func *func; - enum trx_chan_type chan; if (!l1ts->mf_index) return; @@ -1221,18 +1220,18 @@ offset = br->fn % period; frame = l1ts->mf_frames + offset; - chan = frame->dl_chan; - bid = frame->dl_bid; - func = trx_chan_desc[chan].dl_fn; + br->chan = frame->dl_chan; + br->bid = frame->dl_bid; + func = trx_chan_desc[br->chan].dl_fn; - l1cs = &l1ts->chan_state[chan]; + l1cs = &l1ts->chan_state[br->chan]; /* check if channel is active */ - if (!TRX_CHAN_IS_ACTIVE(l1cs, chan)) + if (!TRX_CHAN_IS_ACTIVE(l1cs, br->chan)) return; /* get burst from function */ - if (func(l1t, chan, bid, br) != 0) + if (func(l1t, br) != 0) return; /* BS Power reduction (in dB) per logical channel */ @@ -1253,9 +1252,9 @@ } static int trx_sched_calc_frame_loss(struct l1sched_trx *l1t, - struct l1sched_chan_state *l1cs, uint8_t tn, uint32_t fn) + struct l1sched_chan_state *l1cs, + const struct trx_ul_burst_ind *bi) { - const struct trx_sched_frame *frame_head; const struct trx_sched_frame *frame; struct l1sched_ts *l1ts; uint32_t elapsed_fs; @@ -1271,12 +1270,10 @@ return 0; /* Get current TDMA frame info */ - l1ts = l1sched_trx_get_ts(l1t, tn); - offset = fn % l1ts->mf_period; - frame_head = l1ts->mf_frames + offset; + l1ts = l1sched_trx_get_ts(l1t, bi->tn); /* Not applicable for some logical channels */ - switch (frame_head->ul_chan) { + switch (bi->chan) { case TRXC_IDLE: case TRXC_RACH: case TRXC_PDTCH: @@ -1289,9 +1286,9 @@ } /* How many frames elapsed since the last one? */ - elapsed_fs = GSM_TDMA_FN_SUB(fn, l1cs->last_tdma_fn); + elapsed_fs = GSM_TDMA_FN_SUB(bi->fn, l1cs->last_tdma_fn); if (elapsed_fs > l1ts->mf_period) { /* Too many! */ - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, frame_head->ul_chan, fn, + LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, "Too many (>%u) contiguous TDMA frames=%u elapsed " "since the last processed fn=%u\n", l1ts->mf_period, elapsed_fs, l1cs->last_tdma_fn); @@ -1312,12 +1309,12 @@ offset = fn_i % l1ts->mf_period; frame = l1ts->mf_frames + offset; - if (frame->ul_chan == frame_head->ul_chan) + if (frame->ul_chan == bi->chan) l1cs->lost_tdma_fs++; } if (l1cs->lost_tdma_fs > 0) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, frame_head->ul_chan, fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "At least %u TDMA frames were lost since the last " "processed fn=%u\n", l1cs->lost_tdma_fs, l1cs->last_tdma_fn); @@ -1330,14 +1327,15 @@ trx_sched_ul_func *func; /* Prepare dummy burst indication */ - struct trx_ul_burst_ind bi = { + struct trx_ul_burst_ind dbi = { .flags = TRX_BI_F_NOPE_IND, .burst_len = GSM_BURST_LEN, .burst = { 0 }, .rssi = -128, .toa256 = 0, + .chan = bi->chan, /* TDMA FN is set below */ - .tn = tn, + .tn = bi->tn, }; for (i = 1; i < elapsed_fs; i++) { @@ -1346,15 +1344,16 @@ frame = l1ts->mf_frames + offset; func = trx_chan_desc[frame->ul_chan].ul_fn; - if (frame->ul_chan != frame_head->ul_chan) + if (frame->ul_chan != bi->chan) continue; - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, frame->ul_chan, fn, - "Substituting lost TDMA frame=%u by all-zero " - "dummy burst\n", fn_i); + dbi.bid = frame->ul_bid; + dbi.fn = fn_i; - bi.fn = fn_i; - func(l1t, frame->ul_chan, frame->ul_bid, &bi); + LOGL1SB(DL1P, LOGL_NOTICE, l1t, &dbi, + "Substituting lost burst with NOPE.ind\n"); + + func(l1t, &dbi); l1cs->lost_tdma_fs--; } @@ -1369,9 +1368,8 @@ struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *l1cs; const struct trx_sched_frame *frame; - uint8_t offset, period, bid; + uint8_t offset, period; trx_sched_ul_func *func; - enum trx_chan_type chan; if (!l1ts->mf_index) return -EINVAL; @@ -1381,20 +1379,19 @@ offset = bi->fn % period; frame = l1ts->mf_frames + offset; - chan = frame->ul_chan; - bid = frame->ul_bid; - l1cs = &l1ts->chan_state[chan]; - func = trx_chan_desc[chan].ul_fn; + bi->chan = frame->ul_chan; + bi->bid = frame->ul_bid; + l1cs = &l1ts->chan_state[bi->chan]; + func = trx_chan_desc[bi->chan].ul_fn; /* TODO: handle noise measurements */ - if (chan == TRXC_IDLE && bi->flags & TRX_BI_F_NOPE_IND) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Rx noise measurement (%d)\n", bi->rssi); + if (bi->chan == TRXC_IDLE && bi->flags & TRX_BI_F_NOPE_IND) { + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Rx noise measurement (%d)\n", bi->rssi); return -ENOTSUP; } /* check if channel is active */ - if (!TRX_CHAN_IS_ACTIVE(l1cs, chan)) + if (!TRX_CHAN_IS_ACTIVE(l1cs, bi->chan)) return -EINVAL; /* omit bursts which have no handler, like IDLE bursts */ @@ -1402,7 +1399,7 @@ return -EINVAL; /* calculate how many TDMA frames were potentially lost */ - trx_sched_calc_frame_loss(l1t, l1cs, bi->tn, bi->fn); + trx_sched_calc_frame_loss(l1t, l1cs, bi); /* update TDMA frame counters */ l1cs->last_tdma_fn = bi->fn; @@ -1410,7 +1407,7 @@ /* handle NOPE indications */ if (bi->flags & TRX_BI_F_NOPE_IND) { - switch (chan) { + switch (bi->chan) { case TRXC_PTCCH: case TRXC_RACH: /* For some logical channel types NOPE.ind is valueless. */ @@ -1418,7 +1415,7 @@ default: /* NOTE: Uplink burst handler must check bi->burst_len before * accessing bi->burst to avoid uninitialized memory access. */ - return func(l1t, chan, bid, bi); + return func(l1t, bi); } } @@ -1437,7 +1434,7 @@ } /* Invoke the logical channel handler */ - func(l1t, chan, bid, bi); + func(l1t, bi); return 0; } diff --git a/src/osmo-bts-trx/sched_lchan_fcch_sch.c b/src/osmo-bts-trx/sched_lchan_fcch_sch.c index 2a5e482..4aac601 100644 --- a/src/osmo-bts-trx/sched_lchan_fcch_sch.c +++ b/src/osmo-bts-trx/sched_lchan_fcch_sch.c @@ -1,6 +1,7 @@ /* * (C) 2013 by Andreas Eversberg * (C) 2015-2017 by Harald Welte + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -35,10 +36,9 @@ #include /* obtain a to-be-transmitted FCCH (frequency correction channel) burst */ -int tx_fcch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_fcch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, br->tn, chan, br->fn, "Transmitting FCCH\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting FCCH\n"); /* A frequency correction burst is basically a sequence of zeros. * Since br->burst is already zero-initialized, just set the length. */ @@ -48,15 +48,14 @@ } /* obtain a to-be-transmitted SCH (synchronization channel) burst */ -int tx_sch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_sch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { ubit_t burst[78]; uint8_t sb_info[4]; struct gsm_time t; uint8_t t3p, bsic; - LOGL1S(DL1P, LOGL_DEBUG, l1t, br->tn, chan, br->fn, "Transmitting SCH\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting SCH\n"); /* BURST BYPASS */ diff --git a/src/osmo-bts-trx/sched_lchan_pdtch.c b/src/osmo-bts-trx/sched_lchan_pdtch.c index d936f75..7ccc77a 100644 --- a/src/osmo-bts-trx/sched_lchan_pdtch.c +++ b/src/osmo-bts-trx/sched_lchan_pdtch.c @@ -1,6 +1,7 @@ /* * (C) 2013 by Andreas Eversberg * (C) 2015-2017 by Harald Welte + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -38,11 +39,10 @@ #define EGPRS_0503_MAX_BYTES 155 /*! \brief a single PDTCH burst was received by the PHY, process it */ -int rx_pdtch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_pdtch_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); - struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; + struct l1sched_chan_state *chan_state = &l1ts->chan_state[bi->chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; uint32_t first_fn; uint8_t *mask = &chan_state->ul_mask; @@ -55,8 +55,7 @@ int rc; enum osmo_ph_pres_info_type presence_info; - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received PDTCH bid=%u\n", bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received PDTCH bid=%u\n", bi->bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -67,13 +66,13 @@ } /* clear burst */ - if (bid == 0) { + if (bi->bid == 0) { memset(*bursts_p, 0, GSM0503_EGPRS_BURSTS_NBITS); *mask = 0x0; } /* update mask */ - *mask |= (1 << bid); + *mask |= (1 << bi->bid); /* store measurements */ trx_sched_meas_push(chan_state, bi); @@ -81,26 +80,26 @@ /* copy burst to buffer of 4 bursts */ switch (bi->burst_len) { case EGPRS_BURST_LEN: - burst = *bursts_p + bid * 348; + burst = *bursts_p + bi->bid * 348; memcpy(burst, bi->burst + 9, 174); memcpy(burst + 174, bi->burst + 261, 174); n_bursts_bits = GSM0503_EGPRS_BURSTS_NBITS; break; case GSM_BURST_LEN: - burst = *bursts_p + bid * 116; + burst = *bursts_p + bi->bid * 116; memcpy(burst, bi->burst + 3, 58); memcpy(burst + 58, bi->burst + 87, 58); n_bursts_bits = GSM0503_GPRS_BURSTS_NBITS; break; case 0: /* NOPE.ind, assume GPRS? */ - burst = *bursts_p + bid * 116; + burst = *bursts_p + bi->bid * 116; memset(burst, 0, 116); n_bursts_bits = GSM0503_GPRS_BURSTS_NBITS; } /* wait until complete set of bursts */ - if (bid != 3) + if (bi->bid != 3) return 0; /* average measurements of the last 4 bursts */ @@ -108,8 +107,7 @@ /* check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received incomplete frame (%u/%u)\n", + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received incomplete frame (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); } *mask = 0x0; @@ -131,8 +129,7 @@ if (rc > 0) { presence_info = PRES_INFO_BOTH; } else { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received bad PDTCH (%u/%u)\n", + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received bad PDTCH (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); rc = 0; presence_info = PRES_INFO_INVALID; @@ -142,36 +139,35 @@ first_fn = GSM_TDMA_FN_SUB(bi->fn, 3); return _sched_compose_ph_data_ind(l1t, bi->tn, - first_fn, chan, l2, rc, + first_fn, bi->chan, l2, rc, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, presence_info); } /* obtain a to-be-transmitted PDTCH (packet data) burst */ -int tx_pdtch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_pdtch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct gsm_bts_trx_ts *ts = &l1t->trx->ts[br->tn]; struct msgb *msg = NULL; /* make GCC happy */ - ubit_t *burst, **bursts_p = &l1ts->chan_state[chan].dl_bursts; - enum trx_mod_type *mod = &l1ts->chan_state[chan].dl_mod_type; + ubit_t *burst, **bursts_p = &l1ts->chan_state[br->chan].dl_bursts; + enum trx_mod_type *mod = &l1ts->chan_state[br->chan].dl_mod_type; int rc = 0; /* send burst, if we already got a frame */ - if (bid > 0) { + if (br->bid > 0) { if (!*bursts_p) return 0; goto send_burst; } /* get mac block from queue */ - msg = _sched_dequeue_prim(l1t, br->tn, br->fn, chan); + msg = _sched_dequeue_prim(l1t, br); if (msg) goto got_msg; - LOGL1S(DL1P, LOGL_INFO, l1t, br->tn, chan, br->fn, "No prim for transmit.\n"); + LOGL1SB(DL1P, LOGL_INFO, l1t, br, "No prim for transmit.\n"); no_msg: /* free burst memory */ @@ -199,7 +195,7 @@ /* check validity of message */ if (rc < 0) { - LOGL1S(DL1P, LOGL_FATAL, l1t, br->tn, chan, br->fn, "Prim invalid length, please FIX! " + LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim invalid length, please FIX! " "(len=%ld)\n", (long)(msg->tail - msg->l2h)); /* free message */ msgb_free(msg); @@ -216,7 +212,7 @@ send_burst: /* compose burst */ if (*mod == TRX_MOD_T_8PSK) { - burst = *bursts_p + bid * 348; + burst = *bursts_p + br->bid * 348; memset(br->burst, 1, 9); memcpy(br->burst + 9, burst, 174); memcpy(br->burst + 183, _sched_egprs_tsc[gsm_ts_tsc(ts)], 78); @@ -225,7 +221,7 @@ br->burst_len = EGPRS_BURST_LEN; } else { - burst = *bursts_p + bid * 116; + burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(ts)], 26); memcpy(br->burst + 87, burst + 58, 58); @@ -233,7 +229,7 @@ br->burst_len = GSM_BURST_LEN; } - LOGL1S(DL1P, LOGL_DEBUG, l1t, br->tn, chan, br->fn, "Transmitting burst=%u.\n", bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting burst=%u.\n", br->bid); return 0; } diff --git a/src/osmo-bts-trx/sched_lchan_rach.c b/src/osmo-bts-trx/sched_lchan_rach.c index fa50f14..ce9a46b 100644 --- a/src/osmo-bts-trx/sched_lchan_rach.c +++ b/src/osmo-bts-trx/sched_lchan_rach.c @@ -2,6 +2,7 @@ * (C) 2013 by Andreas Eversberg * (C) 2015-2017 by Harald Welte * (C) 2019 by Vadim Yanitskiy + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -101,8 +102,7 @@ return seq; } -int rx_rach_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_rach_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { struct osmo_phsap_prim l1sap; int n_errors = 0; @@ -123,16 +123,16 @@ /* If logical channel is not either of RACH, PDTCH or PTCCH, this is a * handover Access Burst, which is always encoded as 8-bit and shall * contain the generic training sequence (TS0). */ - if (chan == TRXC_RACH || chan == TRXC_PDTCH || chan == TRXC_PTCCH) { + if (bi->chan == TRXC_RACH || bi->chan == TRXC_PDTCH || bi->chan == TRXC_PTCCH) { if (bi->flags & TRX_BI_F_TS_INFO) synch_seq = (enum rach_synch_seq_t) bi->tsc; else synch_seq = rach_get_synch_seq((sbit_t *) bi->burst, &best_score); } - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received%s RACH (%s): rssi=%d toa256=%d", - (chan != TRXC_RACH) ? " handover" : "", + (bi->chan != TRXC_RACH) ? " handover" : "", get_value_string(rach_synch_seq_names, synch_seq), bi->rssi, bi->toa256); if (bi->flags & TRX_BI_F_CI_CB) @@ -145,7 +145,7 @@ /* Compose a new L1SAP primitive */ memset(&l1sap, 0x00, sizeof(l1sap)); osmo_prim_init(&l1sap.oph, SAP_GSM_PH, PRIM_PH_RACH, PRIM_OP_INDICATION, NULL); - l1sap.u.rach_ind.chan_nr = trx_chan_desc[chan].chan_nr | bi->tn; + l1sap.u.rach_ind.chan_nr = trx_chan_desc[bi->chan].chan_nr | bi->tn; l1sap.u.rach_ind.acc_delay = (bi->toa256 >= 0) ? bi->toa256 / 256 : 0; l1sap.u.rach_ind.acc_delay_256bits = bi->toa256; l1sap.u.rach_ind.rssi = bi->rssi; @@ -166,8 +166,7 @@ rc = gsm0503_rach_ext_decode_ber(&ra11, bi->burst + RACH_EXT_TAIL_LEN + RACH_SYNCH_SEQ_LEN, l1t->trx->bts->bsic, &n_errors, &n_bits_total); if (rc) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received bad Access Burst\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received bad Access Burst\n"); return 0; } @@ -184,16 +183,14 @@ default: /* Fall-back to the default TS0 if needed */ if (synch_seq != RACH_SYNCH_SEQ_TS0) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Falling-back to the default TS0\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Falling-back to the default TS0\n"); synch_seq = RACH_SYNCH_SEQ_TS0; } rc = gsm0503_rach_decode_ber(&ra, bi->burst + RACH_EXT_TAIL_LEN + RACH_SYNCH_SEQ_LEN, l1t->trx->bts->bsic, &n_errors, &n_bits_total); if (rc) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received bad Access Burst\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received bad Access Burst\n"); return 0; } diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c index b1453dc..8ace49e 100644 --- a/src/osmo-bts-trx/sched_lchan_tchf.c +++ b/src/osmo-bts-trx/sched_lchan_tchf.c @@ -1,6 +1,7 @@ /* * (C) 2013 by Andreas Eversberg * (C) 2015-2017 by Harald Welte + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -45,11 +46,10 @@ #include /*! \brief a single TCH/F burst was received by the PHY, process it */ -int rx_tchf_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_tchf_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); - struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; + struct l1sched_chan_state *chan_state = &l1ts->chan_state[bi->chan]; struct gsm_lchan *lchan = chan_state->lchan; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; uint8_t *mask = &chan_state->ul_mask; @@ -70,10 +70,9 @@ /* If handover RACH detection is turned on, treat this burst as an Access Burst. * Handle NOPE.ind as usually to ensure proper Uplink measurement reporting. */ if (chan_state->ho_rach_detect == 1 && ~bi->flags & TRX_BI_F_NOPE_IND) - return rx_rach_fn(l1t, chan, bid, bi); + return rx_rach_fn(l1t, bi); - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received TCH/F, bid=%u\n", bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received TCH/F, bid=%u\n", bi->bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -83,19 +82,19 @@ } /* clear burst */ - if (bid == 0) { + if (bi->bid == 0) { memset(*bursts_p + 464, 0, 464); *mask = 0x0; } /* update mask */ - *mask |= (1 << bid); + *mask |= (1 << bi->bid); /* store measurements */ trx_sched_meas_push(chan_state, bi); /* copy burst to end of buffer of 8 bursts */ - burst = *bursts_p + bid * 116 + 464; + burst = *bursts_p + bi->bid * 116 + 464; if (bi->burst_len > 0) { memcpy(burst, bi->burst + 3, 58); memcpy(burst + 58, bi->burst + 87, 58); @@ -103,12 +102,12 @@ memset(burst, 0, 116); /* wait until complete set of bursts */ - if (bid != 3) + if (bi->bid != 3) return 0; /* check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received incomplete frame (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); } @@ -153,8 +152,7 @@ /* Tag all frames that are not regular AMR voice frames as * SUB-Frames */ if (chan_state->amr_last_dtx != AMR_OTHER) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received AMR SID frame: %s\n", + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received AMR SID frame: %s\n", gsm0503_amr_dtx_frame_name(chan_state->amr_last_dtx)); is_sub = 1; } @@ -186,7 +184,7 @@ if (rc) trx_loop_amr_input(l1t, - trx_chan_desc[chan].chan_nr | bi->tn, chan_state, + trx_chan_desc[bi->chan].chan_nr | bi->tn, chan_state, n_errors, n_bits_total); /* only good speech frames get rtp header */ if (rc != GSM_MACBLOCK_LEN && rc >= 4) { @@ -203,7 +201,7 @@ break; default: - LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; @@ -215,12 +213,11 @@ /* Check if the frame is bad */ if (rc < 0) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, - "Received bad data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); bfi_flag = true; } else if (rc < 4) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received bad data (%u/%u) with invalid codec mode %d\n", bi->fn % l1ts->mf_period, l1ts->mf_period, rc); bfi_flag = true; @@ -236,7 +233,7 @@ /* FACCH */ if (rc == GSM_MACBLOCK_LEN) { fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_F); - _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, chan, + _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, bi->chan, tch_data + amr, GSM_MACBLOCK_LEN, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, @@ -284,7 +281,7 @@ chan_state->codec[chan_state->dl_ft], AMR_BAD); if (rc < 2) { - LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, "Failed to encode AMR_BAD frame (rc=%d), " "not sending BFI\n", rc); return -EINVAL; @@ -292,7 +289,7 @@ memset(tch_data + 2, 0, rc - 2); break; default: - LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; } @@ -305,7 +302,7 @@ /* TCH or BFI */ compose_l1sap: fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_F); - return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, chan, tch_data, rc, + return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, bi->chan, tch_data, rc, /* FIXME: what should we use for BFI here? */ bfi_flag ? bi->toa256 : meas_avg.toa256, ber10k, bfi_flag ? bi->rssi : meas_avg.rssi, is_sub); @@ -313,13 +310,12 @@ /* common section for generation of TCH bursts (TCH/H and TCH/F). * FIXME: this function is over-complicated, refactor / get rid of it. */ -void tx_tch_common(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, +void tx_tch_common(struct l1sched_trx *l1t, struct trx_dl_burst_req *br, struct msgb **_msg_tch, struct msgb **_msg_facch) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct msgb *msg1, *msg2, *msg_tch = NULL, *msg_facch = NULL; - struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; + struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; uint8_t rsl_cmode = chan_state->rsl_cmode; uint8_t tch_mode = chan_state->tch_mode; struct osmo_phsap_prim *l1sap; @@ -330,13 +326,12 @@ uint8_t tch_data[GSM_FR_BYTES]; int len; - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, - "Missing TCH bursts detected, sending BFI\n"); + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Missing TCH bursts detected, sending BFI\n"); /* indicate bad frame */ switch (tch_mode) { case GSM48_CMODE_SPEECH_V1: /* FR / HR */ - if (chan != TRXC_TCHF) { /* HR */ + if (br->chan != TRXC_TCHF) { /* HR */ tch_data[0] = 0x70; /* F = 0, FT = 111 */ memset(tch_data + 1, 0, 14); len = 15; @@ -346,7 +341,7 @@ len = GSM_FR_BYTES; break; case GSM48_CMODE_SPEECH_EFR: /* EFR */ - if (chan != TRXC_TCHF) + if (br->chan != TRXC_TCHF) goto inval_mode1; memset(tch_data, 0, GSM_EFR_BYTES); len = GSM_EFR_BYTES; @@ -356,29 +351,30 @@ chan_state->codec[chan_state->dl_cmr], chan_state->codec[chan_state->dl_ft], AMR_BAD); if (len < 2) { - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, - "Failed to encode AMR_BAD frame (rc=%d), " - "not sending BFI\n", len); + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, + "Failed to encode AMR_BAD frame (rc=%d), " + "not sending BFI\n", len); return; } memset(tch_data + 2, 0, len - 2); break; default: inval_mode1: - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "TCH mode invalid, please fix!\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "TCH mode invalid, please fix!\n"); len = 0; } if (len) { /* Note: RSSI/ToA256 is set to 0 to indicate to the higher * layers that this is a faked tch_ind */ - _sched_compose_tch_ind(l1t, tn, fn, chan, tch_data, len, 0, 10000, 0, 0); + _sched_compose_tch_ind(l1t, br->tn, br->fn, br->chan, + tch_data, len, 0, 10000, 0, 0); } } /* get frame and unlink from queue */ - msg1 = _sched_dequeue_prim(l1t, tn, fn, chan); - msg2 = _sched_dequeue_prim(l1t, tn, fn, chan); + msg1 = _sched_dequeue_prim(l1t, br); + msg2 = _sched_dequeue_prim(l1t, br); if (msg1) { l1sap = msgb_l1sap_prim(msg1); if (l1sap->oph.primitive == PRIM_TCH) { @@ -386,8 +382,7 @@ if (msg2) { l1sap = msgb_l1sap_prim(msg2); if (l1sap->oph.primitive == PRIM_TCH) { - LOGL1S(DL1P, LOGL_FATAL, l1t, tn, chan, fn, - "TCH twice, please FIX!\n"); + LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "TCH twice, please FIX!\n"); msgb_free(msg2); } else msg_facch = msg2; @@ -397,8 +392,7 @@ if (msg2) { l1sap = msgb_l1sap_prim(msg2); if (l1sap->oph.primitive != PRIM_TCH) { - LOGL1S(DL1P, LOGL_FATAL, l1t, tn, chan, fn, - "FACCH twice, please FIX!\n"); + LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "FACCH twice, please FIX!\n"); msgb_free(msg2); } else msg_tch = msg2; @@ -414,8 +408,8 @@ /* check validity of message */ if (msg_facch && msgb_l2len(msg_facch) != GSM_MACBLOCK_LEN) { - LOGL1S(DL1P, LOGL_FATAL, l1t, tn, chan, fn, "Prim not 23 bytes, please FIX! " - "(len=%d)\n", msgb_l2len(msg_facch)); + LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim has odd len=%u != %u\n", + msgb_l2len(msg_facch), GSM_MACBLOCK_LEN); /* free message */ msgb_free(msg_facch); msg_facch = NULL; @@ -431,20 +425,20 @@ int8_t sti, cmi; if (rsl_cmode != RSL_CMOD_SPD_SPEECH) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "Dropping speech frame, " + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Dropping speech frame, " "because we are not in speech mode\n"); goto free_bad_msg; } switch (tch_mode) { case GSM48_CMODE_SPEECH_V1: /* FR / HR */ - if (chan != TRXC_TCHF) /* HR */ + if (br->chan != TRXC_TCHF) /* HR */ len = 15; else len = GSM_FR_BYTES; break; case GSM48_CMODE_SPEECH_EFR: /* EFR */ - if (chan != TRXC_TCHF) + if (br->chan != TRXC_TCHF) goto inval_mode2; len = GSM_EFR_BYTES; break; @@ -469,33 +463,32 @@ trx_loop_amr_set(chan_state, 1); } if (ft < 0) { - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Codec (FT = %d) of RTP frame not in list\n", ft_codec); goto free_bad_msg; } - if (fn_is_codec_mode_request(fn) && chan_state->dl_ft != ft) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "Codec (FT = %d) " + if (fn_is_codec_mode_request(br->fn) && chan_state->dl_ft != ft) { + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Codec (FT = %d) " " of RTP cannot be changed now, but in next frame\n", ft_codec); goto free_bad_msg; } chan_state->dl_ft = ft; if (bfi == AMR_BAD) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, - "Transmitting 'bad AMR frame'\n"); + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Transmitting 'bad AMR frame'\n"); goto free_bad_msg; } break; default: inval_mode2: - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "TCH mode invalid, please fix!\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "TCH mode invalid, please fix!\n"); goto free_bad_msg; } if (len < 0) { - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "Cannot send invalid AMR payload\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot send invalid AMR payload\n"); goto free_bad_msg; } if (msgb_l2len(msg_tch) != len) { - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "Cannot send payload with " + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot send payload with " "invalid length! (expecting %d, received %d)\n", len, msgb_l2len(msg_tch)); free_bad_msg: @@ -512,24 +505,23 @@ } /* obtain a to-be-transmitted TCH/F (Full Traffic Channel) burst */ -int tx_tchf_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_tchf_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { struct msgb *msg_tch = NULL, *msg_facch = NULL; struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct gsm_bts_trx_ts *ts = &l1t->trx->ts[br->tn]; - struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; + struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; uint8_t tch_mode = chan_state->tch_mode; ubit_t *burst, **bursts_p = &chan_state->dl_bursts; /* send burst, if we already got a frame */ - if (bid > 0) { + if (br->bid > 0) { if (!*bursts_p) return 0; goto send_burst; } - tx_tch_common(l1t, br->tn, br->fn, chan, bid, &msg_tch, &msg_facch); + tx_tch_common(l1t, br, &msg_tch, &msg_facch); /* BURST BYPASS */ @@ -546,7 +538,7 @@ /* no message at all */ if (!msg_tch && !msg_facch) { - LOGL1S(DL1P, LOGL_INFO, l1t, br->tn, chan, br->fn, "No TCH or FACCH prim for transmit.\n"); + LOGL1SB(DL1P, LOGL_INFO, l1t, br, "No TCH or FACCH prim for transmit.\n"); goto send_burst; } @@ -574,14 +566,14 @@ send_burst: /* compose burst */ - burst = *bursts_p + bid * 116; + burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; - LOGL1S(DL1P, LOGL_DEBUG, l1t, br->tn, chan, br->fn, "Transmitting burst=%u.\n", bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting burst=%u.\n", br->bid); return 0; } diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c index 378d47a..ca05844 100644 --- a/src/osmo-bts-trx/sched_lchan_tchh.c +++ b/src/osmo-bts-trx/sched_lchan_tchh.c @@ -1,6 +1,7 @@ /* * (C) 2013 by Andreas Eversberg * (C) 2015-2017 by Harald Welte + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -45,11 +46,10 @@ #include /*! \brief a single TCH/H burst was received by the PHY, process it */ -int rx_tchh_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_tchh_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); - struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; + struct l1sched_chan_state *chan_state = &l1ts->chan_state[bi->chan]; struct gsm_lchan *lchan = chan_state->lchan; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; uint8_t *mask = &chan_state->ul_mask; @@ -77,10 +77,9 @@ /* If handover RACH detection is turned on, treat this burst as an Access Burst. * Handle NOPE.ind as usually to ensure proper Uplink measurement reporting. */ if (chan_state->ho_rach_detect == 1 && ~bi->flags & TRX_BI_F_NOPE_IND) - return rx_rach_fn(l1t, chan, bid, bi); + return rx_rach_fn(l1t, bi); - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received TCH/H, bid=%u\n", bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received TCH/H, bid=%u\n", bi->bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -90,19 +89,19 @@ } /* clear burst */ - if (bid == 0) { + if (bi->bid == 0) { memset(*bursts_p + 464, 0, 232); *mask = 0x0; } /* update mask */ - *mask |= (1 << bid); + *mask |= (1 << bi->bid); /* store measurements */ trx_sched_meas_push(chan_state, bi); /* copy burst to end of buffer of 6 bursts */ - burst = *bursts_p + bid * 116 + 464; + burst = *bursts_p + bi->bid * 116 + 464; if (bi->burst_len > 0) { memcpy(burst, bi->burst + 3, 58); memcpy(burst + 58, bi->burst + 87, 58); @@ -110,12 +109,12 @@ memset(burst, 0, 116); /* wait until complete set of bursts */ - if (bid != 1) + if (bi->bid != 1) return 0; /* check for complete set of bursts */ if ((*mask & 0x3) != 0x3) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received incomplete frame (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); } @@ -176,9 +175,8 @@ /* Tag all frames that are not regular AMR voice frames as SUB-Frames */ if (chan_state->amr_last_dtx != AMR_OTHER) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received AMR SID frame: %s\n", - gsm0503_amr_dtx_frame_name(chan_state->amr_last_dtx)); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received AMR SID frame: %s\n", + gsm0503_amr_dtx_frame_name(chan_state->amr_last_dtx)); is_sub = 1; } @@ -209,7 +207,7 @@ if (rc) trx_loop_amr_input(l1t, - trx_chan_desc[chan].chan_nr | bi->tn, chan_state, + trx_chan_desc[bi->chan].chan_nr | bi->tn, chan_state, n_errors, n_bits_total); /* only good speech frames get rtp header */ @@ -227,7 +225,7 @@ break; default: - LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; @@ -243,12 +241,11 @@ /* Check if the frame is bad */ if (rc < 0) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, - "Received bad data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); bfi_flag = true; } else if (rc < 4) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received bad data (%u/%u) with invalid codec mode %d\n", bi->fn % l1ts->mf_period, l1ts->mf_period, rc); bfi_flag = true; @@ -268,7 +265,7 @@ fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H0); else fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H1); - _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, chan, + _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, bi->chan, tch_data + amr, GSM_MACBLOCK_LEN, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, @@ -315,7 +312,7 @@ chan_state->codec[chan_state->dl_ft], AMR_BAD); if (rc < 2) { - LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, "Failed to encode AMR_BAD frame (rc=%d), " "not sending BFI\n", rc); return -EINVAL; @@ -323,7 +320,7 @@ memset(tch_data + 2, 0, rc - 2); break; default: - LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; } @@ -367,7 +364,7 @@ chan_state->ber10k_facch = 0; } - return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, chan, tch_data, rc, + return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, bi->chan, tch_data, rc, /* FIXME: what should we use for BFI here? */ bfi_flag ? bi->toa256 : meas_avg.toa256, ber10k, bfi_flag ? bi->rssi : meas_avg.rssi, is_sub); @@ -375,35 +372,34 @@ /* common section for generation of TCH bursts (TCH/H and TCH/F). * FIXME: this function is over-complicated, refactor / get rid of it. */ -extern void tx_tch_common(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, +extern void tx_tch_common(struct l1sched_trx *l1t, + const struct trx_dl_burst_req *br, struct msgb **_msg_tch, struct msgb **_msg_facch); /* obtain a to-be-transmitted TCH/H (Half Traffic Channel) burst */ -int tx_tchh_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_tchh_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { struct msgb *msg_tch = NULL, *msg_facch = NULL; struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct gsm_bts_trx_ts *ts = &l1t->trx->ts[br->tn]; - struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; + struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; uint8_t tch_mode = chan_state->tch_mode; ubit_t *burst, **bursts_p = &chan_state->dl_bursts; /* send burst, if we already got a frame */ - if (bid > 0) { + if (br->bid > 0) { if (!*bursts_p) return 0; goto send_burst; } /* get TCH and/or FACCH */ - tx_tch_common(l1t, br->tn, br->fn, chan, bid, &msg_tch, &msg_facch); + tx_tch_common(l1t, br, &msg_tch, &msg_facch); /* check for FACCH alignment */ if (msg_facch && ((((br->fn + 4) % 26) >> 2) & 1)) { - LOGL1S(DL1P, LOGL_ERROR, l1t, br->tn, chan, br->fn, "Cannot transmit FACCH starting on " - "even frames, please fix RTS!\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, + "Cannot transmit FACCH starting on even frames, please fix RTS!\n"); msgb_free(msg_facch); msg_facch = NULL; } @@ -428,7 +424,7 @@ /* no message at all */ if (!msg_tch && !msg_facch && !chan_state->dl_ongoing_facch) { - LOGL1S(DL1P, LOGL_INFO, l1t, br->tn, chan, br->fn, "No TCH or FACCH prim for transmit.\n"); + LOGL1SB(DL1P, LOGL_INFO, l1t, br, "No TCH or FACCH prim for transmit.\n"); goto send_burst; } @@ -458,14 +454,14 @@ send_burst: /* compose burst */ - burst = *bursts_p + bid * 116; + burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; - LOGL1S(DL1P, LOGL_DEBUG, l1t, br->tn, chan, br->fn, "Transmitting burst=%u.\n", bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting burst=%u.\n", br->bid); return 0; } diff --git a/src/osmo-bts-trx/sched_lchan_xcch.c b/src/osmo-bts-trx/sched_lchan_xcch.c index 90f481a..ba0d612 100644 --- a/src/osmo-bts-trx/sched_lchan_xcch.c +++ b/src/osmo-bts-trx/sched_lchan_xcch.c @@ -1,6 +1,7 @@ /* * (C) 2013 by Andreas Eversberg * (C) 2015-2017 by Harald Welte + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -46,11 +47,10 @@ } /*! \brief a single (SDCCH/SACCH) burst was received by the PHY, process it */ -int rx_data_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_data_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); - struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; + struct l1sched_chan_state *chan_state = &l1ts->chan_state[bi->chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; uint32_t *first_fn = &chan_state->ul_first_fn; uint8_t *mask = &chan_state->ul_mask; @@ -61,15 +61,14 @@ uint16_t ber10k; int rc; struct gsm_lchan *lchan = chan_state->lchan; - bool rep_sacch = L1SAP_IS_LINK_SACCH(trx_chan_desc[chan].link_id) && lchan->repeated_ul_sacch_active; + bool rep_sacch = L1SAP_IS_LINK_SACCH(trx_chan_desc[bi->chan].link_id) && lchan->repeated_ul_sacch_active; /* If handover RACH detection is turned on, treat this burst as an Access Burst. * Handle NOPE.ind as usually to ensure proper Uplink measurement reporting. */ if (chan_state->ho_rach_detect == 1 && ~bi->flags & TRX_BI_F_NOPE_IND) - return rx_rach_fn(l1t, chan, bid, bi); + return rx_rach_fn(l1t, bi); - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, - "Received Data, bid=%u\n", bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received Data, bid=%u\n", bi->bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -80,28 +79,28 @@ /* UL-SACCH requires additional memory to keep a copy of each previous * burst set. */ - if (L1SAP_IS_LINK_SACCH(trx_chan_desc[chan].link_id) && !chan_state->ul_bursts_prev) { + if (L1SAP_IS_LINK_SACCH(trx_chan_desc[bi->chan].link_id) && !chan_state->ul_bursts_prev) { chan_state->ul_bursts_prev = talloc_zero_size(tall_bts_ctx, 464); if (!chan_state->ul_bursts_prev) return -ENOMEM; } /* clear burst & store frame number of first burst */ - if (bid == 0) { + if (bi->bid == 0) { memset(*bursts_p, 0, 464); *mask = 0x0; *first_fn = bi->fn; } /* update mask */ - *mask |= (1 << bid); + *mask |= (1 << bi->bid); /* store measurements */ trx_sched_meas_push(chan_state, bi); /* Copy burst to buffer of 4 bursts. If the burst indication contains * no data, ensure that the buffer does not stay uninitialized */ - burst = *bursts_p + bid * 116; + burst = *bursts_p + bi->bid * 116; if (bi->burst_len > 0) { memcpy(burst, bi->burst + 3, 58); memcpy(burst + 58, bi->burst + 87, 58); @@ -109,7 +108,7 @@ memset(burst, 0, 58 * 2); /* wait until complete set of bursts */ - if (bid != 3) + if (bi->bid != 3) return 0; /* average measurements of the last 4 bursts */ @@ -117,8 +116,7 @@ /* check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, - "Received incomplete data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received incomplete data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); /* we require first burst to have correct FN */ @@ -132,8 +130,7 @@ /* decode */ rc = gsm0503_xcch_decode(l2, *bursts_p, &n_errors, &n_bits_total); if (rc) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, - "Received bad data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); l2_len = 0; @@ -145,11 +142,11 @@ add_sbits(*bursts_p, chan_state->ul_bursts_prev); rc = gsm0503_xcch_decode(l2, *bursts_p, &n_errors, &n_bits_total); if (rc) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Combining current SACCH block with previous SACCH block also yields bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); } else { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, + LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Combining current SACCH block with previous SACCH block yields good data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); l2_len = GSM_MACBLOCK_LEN; @@ -165,34 +162,33 @@ memcpy(chan_state->ul_bursts_prev, *bursts_p, 464); return _sched_compose_ph_data_ind(l1t, bi->tn, *first_fn, - chan, l2, l2_len, + bi->chan, l2, l2_len, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, PRES_INFO_UNKNOWN); } /* obtain a to-be-transmitted xCCH (e.g SACCH or SDCCH) burst */ -int tx_data_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_data_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct gsm_bts_trx_ts *ts = &l1t->trx->ts[br->tn]; struct msgb *msg = NULL; /* make GCC happy */ - ubit_t *burst, **bursts_p = &l1ts->chan_state[chan].dl_bursts; + ubit_t *burst, **bursts_p = &l1ts->chan_state[br->chan].dl_bursts; /* send burst, if we already got a frame */ - if (bid > 0) { + if (br->bid > 0) { if (!*bursts_p) return 0; goto send_burst; } /* get mac block from queue */ - msg = _sched_dequeue_prim(l1t, br->tn, br->fn, chan); + msg = _sched_dequeue_prim(l1t, br); if (msg) goto got_msg; - LOGL1S(DL1P, LOGL_INFO, l1t, br->tn, chan, br->fn, "No prim for transmit.\n"); + LOGL1SB(DL1P, LOGL_INFO, l1t, br, "No prim for transmit.\n"); no_msg: /* free burst memory */ @@ -205,8 +201,8 @@ got_msg: /* check validity of message */ if (msgb_l2len(msg) != GSM_MACBLOCK_LEN) { - LOGL1S(DL1P, LOGL_FATAL, l1t, br->tn, chan, br->fn, "Prim not 23 bytes, please FIX! " - "(len=%d)\n", msgb_l2len(msg)); + LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim has odd len=%u != %u\n", + msgb_l2len(msg), GSM_MACBLOCK_LEN); /* free message */ msgb_free(msg); goto no_msg; @@ -215,15 +211,15 @@ /* BURST BYPASS */ /* handle loss detection of SACCH */ - if (L1SAP_IS_LINK_SACCH(trx_chan_desc[chan].link_id)) { + if (L1SAP_IS_LINK_SACCH(trx_chan_desc[br->chan].link_id)) { /* count and send BFI */ - if (++(l1ts->chan_state[chan].lost_frames) > 1) { + if (++(l1ts->chan_state[br->chan].lost_frames) > 1) { /* TODO: Should we pass old TOA here? Otherwise we risk * unnecessary decreasing TA */ /* Note: RSSI is set to 0 to indicate to the higher * layers that this is a faked ph_data_ind */ - _sched_compose_ph_data_ind(l1t, br->tn, 0, chan, NULL, 0, + _sched_compose_ph_data_ind(l1t, br->tn, 0, br->chan, NULL, 0, 0, 0, 0, 10000, PRES_INFO_INVALID); } @@ -244,14 +240,14 @@ send_burst: /* compose burst */ - burst = *bursts_p + bid * 116; + burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; - LOGL1S(DL1P, LOGL_DEBUG, l1t, br->tn, chan, br->fn, "Transmitting burst=%u.\n", bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting burst=%u.\n", br->bid); return 0; } diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index c173f5b..bfe8d5c 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -53,10 +53,9 @@ (ts)->hopping.hsn, (ts)->hopping.maio, (ts)->hopping.arfcn_num /* an IDLE burst returns nothing. on C0 it is replaced by dummy burst */ -int tx_idle_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_idle_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, br->tn, chan, br->fn, "Transmitting IDLE\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting IDLE\n"); return 0; } diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index 466e864..bbc2c4e 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -50,12 +50,12 @@ /** * Send a message over the virtual um interface. * This will at first wrap the msg with a GSMTAP header and then write it to the declared multicast socket. - * TODO: we might want to remove unused argument uint8_t tn */ -static void _tx_to_virt_um(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, struct msgb *msg, bool is_voice_frame) +static void _tx_to_virt_um(struct l1sched_trx *l1t, + struct trx_dl_burst_req *br, + struct msgb *msg, bool is_voice_frame) { - const struct trx_chan_desc *chdesc = &trx_chan_desc[chan]; + const struct trx_chan_desc *chdesc = &trx_chan_desc[br->chan]; struct msgb *outmsg; /* msg to send with gsmtap header prepended */ uint16_t arfcn = l1t->trx->arfcn; /* ARFCN of the transceiver the message is send with */ uint8_t signal_dbm = 63; /* signal strength, 63 is best */ @@ -69,17 +69,17 @@ rsl_dec_chan_nr(chdesc->chan_nr, &rsl_chantype, &subslot, ×lot); /* the timeslot is not encoded in the chan_nr of the chdesc, and so has to be overwritten */ - timeslot = tn; + timeslot = br->tn; /* in Osmocom, AGCH is only sent on ccch block 0. no idea why. this seems to cause false GSMTAP channel * types for agch and pch. */ if (rsl_chantype == RSL_CHAN_PCH_AGCH && - l1sap_fn2ccch_block(fn) >= num_agch(l1t->trx, "PH-DATA-REQ")) + l1sap_fn2ccch_block(br->fn) >= num_agch(l1t->trx, "PH-DATA-REQ")) gsmtap_chantype = GSMTAP_CHANNEL_PCH; else gsmtap_chantype = chantype_rsl2gsmtap2(rsl_chantype, chdesc->link_id, is_voice_frame); /* the logical channel type */ if (gsmtap_chantype == GSMTAP_CHANNEL_UNKNOWN) { - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "Tx GSMTAP for RSL channel type 0x%02x: cannot send, this" + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Tx GSMTAP for RSL channel type 0x%02x: cannot send, this" " channel type is unknown in GSMTAP\n", rsl_chantype); msgb_free(msg); return; @@ -87,10 +87,10 @@ #if MODULO_HYPERFRAME /* Restart fn after every superframe (26 * 51 frames) to simulate hyperframe overflow each 6 seconds. */ - fn %= 26 * 51; + br->fn %= 26 * 51; #endif - outmsg = gsmtap_makemsg(arfcn, timeslot, gsmtap_chantype, subslot, fn, signal_dbm, snr, data, data_len); + outmsg = gsmtap_makemsg(arfcn, timeslot, gsmtap_chantype, subslot, br->fn, signal_dbm, snr, data, data_len); if (outmsg) { struct phy_instance *pinst = trx_phy_instance(l1t->trx); @@ -98,24 +98,25 @@ rc = virt_um_write_msg(pinst->phy_link->u.virt.virt_um, outmsg); if (rc < 0) - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "GSMTAP msg could not send to virtual Um: %s\n", strerror(-rc)); else if (rc == 0) bts_shutdown(l1t->trx->bts, "VirtPHY write socket died\n"); else - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, + LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Sending GSMTAP message to virtual Um\n"); } else - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "GSMTAP msg could not be created!\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "GSMTAP msg could not be created!\n"); /* free incoming message */ msgb_free(msg); } -static void tx_to_virt_um(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, struct msgb *msg) +static void tx_to_virt_um(struct l1sched_trx *l1t, + struct trx_dl_burst_req *br, + struct msgb *msg) { - _tx_to_virt_um(l1t, tn, fn, chan, msg, false); + _tx_to_virt_um(l1t, br, msg, false); } @@ -151,10 +152,11 @@ } } -static void tx_to_virt_um_voice_frame(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, struct msgb *msg) +static void tx_to_virt_um_voice_frame(struct l1sched_trx *l1t, + struct trx_dl_burst_req *br, + struct msgb *msg) { - struct gsm_lchan *lchan = lchan_from_l1t(l1t, tn, chan); + struct gsm_lchan *lchan = lchan_from_l1t(l1t, br->tn, br->chan); int um_voice_type; OSMO_ASSERT(lchan); @@ -168,7 +170,7 @@ msgb_pull_to_l2(msg); msgb_push_u8(msg, um_voice_type); msg->l2h = msg->data; - _tx_to_virt_um(l1t, tn, fn, chan, msg, true); + _tx_to_virt_um(l1t, br, msg, true); } /* @@ -176,42 +178,38 @@ */ /* an IDLE burst returns nothing. on C0 it is replaced by dummy burst */ -int tx_idle_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_idle_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { return 0; } -int tx_fcch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_fcch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { return 0; } -int tx_sch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_sch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { return 0; } -int tx_data_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_data_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { struct msgb *msg; - if (bid > 0) + if (br->bid > 0) return 0; /* get mac block from queue */ - msg = _sched_dequeue_prim(l1t, br->tn, br->fn, chan); + msg = _sched_dequeue_prim(l1t, br); if (!msg) { - LOGL1S(DL1P, LOGL_INFO, l1t, br->tn, chan, br->fn, "has not been served !! No prim\n"); + LOGL1SB(DL1P, LOGL_INFO, l1t, br, "has not been served !! No prim\n"); return -ENODEV; } /* check validity of message */ if (msgb_l2len(msg) != GSM_MACBLOCK_LEN) { - LOGL1S(DL1P, LOGL_FATAL, l1t, br->tn, chan, br->fn, "Prim not 23 bytes, please FIX! (len=%d)\n", + LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim not 23 bytes, please FIX! (len=%d)\n", msgb_l2len(msg)); /* free message */ msgb_free(msg); @@ -219,38 +217,38 @@ } /* transmit the msg received on dl from bsc to layer1 (virt Um) */ - tx_to_virt_um(l1t, br->tn, br->fn, chan, msg); + tx_to_virt_um(l1t, br, msg); return 0; } -int tx_pdtch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_pdtch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { struct msgb *msg = NULL; /* make GCC happy */ - if (bid > 0) + if (br->bid > 0) return 0; /* get mac block from queue */ - msg = _sched_dequeue_prim(l1t, br->tn, br->fn, chan); + msg = _sched_dequeue_prim(l1t, br); if (!msg) { - LOGL1S(DL1P, LOGL_INFO, l1t, br->tn, chan, br->fn, "has not been served !! No prim\n"); + LOGL1SB(DL1P, LOGL_INFO, l1t, br, "has not been served !! No prim\n"); return -ENODEV; } - tx_to_virt_um(l1t, br->tn, br->fn, chan, msg); + tx_to_virt_um(l1t, br, msg); return 0; } -static void tx_tch_common(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, struct msgb **_msg_tch, - struct msgb **_msg_facch, int codec_mode_request) +static void tx_tch_common(struct l1sched_trx *l1t, + const struct trx_dl_burst_req *br, + struct msgb **_msg_tch, struct msgb **_msg_facch, + int codec_mode_request) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct msgb *msg1, *msg2, *msg_tch = NULL, *msg_facch = NULL; - struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; + struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; uint8_t rsl_cmode = chan_state->rsl_cmode; uint8_t tch_mode = chan_state->tch_mode; struct osmo_phsap_prim *l1sap; @@ -261,13 +259,13 @@ uint8_t tch_data[GSM_FR_BYTES]; int len; - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "Missing TCH bursts detected, sending " - "BFI for %s\n", trx_chan_desc[chan].name); + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Missing TCH bursts detected, sending " + "BFI for %s\n", trx_chan_desc[br->chan].name); /* indicate bad frame */ switch (tch_mode) { case GSM48_CMODE_SPEECH_V1: /* FR / HR */ - if (chan != TRXC_TCHF) { /* HR */ + if (br->chan != TRXC_TCHF) { /* HR */ tch_data[0] = 0x70; /* F = 0, FT = 111 */ memset(tch_data + 1, 0, 14); len = 15; @@ -277,7 +275,7 @@ len = GSM_FR_BYTES; break; case GSM48_CMODE_SPEECH_EFR: /* EFR */ - if (chan != TRXC_TCHF) + if (br->chan != TRXC_TCHF) goto inval_mode1; memset(tch_data, 0, GSM_EFR_BYTES); len = GSM_EFR_BYTES; @@ -289,7 +287,7 @@ if (len < 2) break; memset(tch_data + 2, 0, len - 2); - _sched_compose_tch_ind(l1t, tn, 0, chan, tch_data, len); + _sched_compose_tch_ind(l1t, br->tn, 0, br->chan, tch_data, len); break; default: inval_mode1: @@ -298,13 +296,13 @@ len = 0; } if (len) - _sched_compose_tch_ind(l1t, tn, 0, chan, tch_data, len); + _sched_compose_tch_ind(l1t, br->tn, 0, br->chan, tch_data, len); } #endif /* get frame and unlink from queue */ - msg1 = _sched_dequeue_prim(l1t, tn, fn, chan); - msg2 = _sched_dequeue_prim(l1t, tn, fn, chan); + msg1 = _sched_dequeue_prim(l1t, br); + msg2 = _sched_dequeue_prim(l1t, br); if (msg1) { l1sap = msgb_l1sap_prim(msg1); if (l1sap->oph.primitive == PRIM_TCH) { @@ -312,8 +310,8 @@ if (msg2) { l1sap = msgb_l1sap_prim(msg2); if (l1sap->oph.primitive == PRIM_TCH) { - LOGL1S(DL1P, LOGL_FATAL, l1t, tn, chan, fn, - "TCH twice, please FIX! "); + LOGL1SB(DL1P, LOGL_FATAL, l1t, br, + "TCH twice, please FIX!\n"); msgb_free(msg2); } else msg_facch = msg2; @@ -323,8 +321,8 @@ if (msg2) { l1sap = msgb_l1sap_prim(msg2); if (l1sap->oph.primitive != PRIM_TCH) { - LOGL1S(DL1P, LOGL_FATAL, l1t, tn, chan, fn, - "FACCH twice, please FIX! "); + LOGL1SB(DL1P, LOGL_FATAL, l1t, br, + "FACCH twice, please FIX!\n"); msgb_free(msg2); } else msg_tch = msg2; @@ -340,8 +338,8 @@ /* check validity of message */ if (msg_facch && msgb_l2len(msg_facch) != GSM_MACBLOCK_LEN) { - LOGL1S(DL1P, LOGL_FATAL, l1t, tn, chan, fn, "Prim not 23 bytes, please FIX! (len=%d)\n", - msgb_l2len(msg_facch)); + LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim has odd len=%u != %u\n", + msgb_l2len(msg_facch), GSM_MACBLOCK_LEN); /* free message */ msgb_free(msg_facch); msg_facch = NULL; @@ -356,18 +354,18 @@ #endif if (rsl_cmode != RSL_CMOD_SPD_SPEECH) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "Dropping speech frame, " + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Dropping speech frame, " "because we are not in speech mode\n"); goto free_bad_msg; } switch (tch_mode) { case GSM48_CMODE_SPEECH_V1: /* FR / HR */ - if (chan != TRXC_TCHF) { /* HR */ + if (br->chan != TRXC_TCHF) { /* HR */ len = 15; if (msgb_l2len(msg_tch) >= 1 && (msg_tch->l2h[0] & 0xf0) != 0x00) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Transmitting 'bad HR frame'\n"); goto free_bad_msg; } @@ -376,18 +374,18 @@ len = GSM_FR_BYTES; if (msgb_l2len(msg_tch) >= 1 && (msg_tch->l2h[0] >> 4) != 0xd) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Transmitting 'bad FR frame'\n"); goto free_bad_msg; } break; case GSM48_CMODE_SPEECH_EFR: /* EFR */ - if (chan != TRXC_TCHF) + if (br->chan != TRXC_TCHF) goto inval_mode2; len = GSM_EFR_BYTES; if (msgb_l2len(msg_tch) >= 1 && (msg_tch->l2h[0] >> 4) != 0xc) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, + LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Transmitting 'bad EFR frame'\n"); goto free_bad_msg; } @@ -398,15 +396,15 @@ break; default: inval_mode2: - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "TCH mode invalid, please fix!\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "TCH mode invalid, please fix!\n"); goto free_bad_msg; } if (len < 0) { - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "Cannot send invalid AMR payload\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot send invalid AMR payload\n"); goto free_bad_msg; } if (msgb_l2len(msg_tch) != len) { - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "Cannot send payload with " + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot send payload with " "invalid length! (expecing %d, received %d)\n", len, msgb_l2len(msg_tch)); free_bad_msg: /* free message */ @@ -421,51 +419,47 @@ *_msg_facch = msg_facch; } -int tx_tchf_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_tchf_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { struct msgb *msg_tch = NULL, *msg_facch = NULL; - if (bid > 0) + if (br->bid > 0) return 0; - tx_tch_common(l1t, br->tn, br->fn, chan, bid, &msg_tch, &msg_facch, - (((br->fn + 4) % 26) >> 2) & 1); + tx_tch_common(l1t, br, &msg_tch, &msg_facch, (((br->fn + 4) % 26) >> 2) & 1); /* no message at all */ if (!msg_tch && !msg_facch) { - LOGL1S(DL1P, LOGL_INFO, l1t, br->tn, chan, br->fn, "has not been served !! No prim\n"); + LOGL1SB(DL1P, LOGL_INFO, l1t, br, "has not been served !! No prim\n"); return -ENODEV; } if (msg_facch) { - tx_to_virt_um(l1t, br->tn, br->fn, chan, msg_facch); + tx_to_virt_um(l1t, br, msg_facch); msgb_free(msg_tch); } else if (msg_tch) - tx_to_virt_um_voice_frame(l1t, br->tn, br->fn, chan, msg_tch); + tx_to_virt_um_voice_frame(l1t, br, msg_tch); return 0; } -int tx_tchh_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, struct trx_dl_burst_req *br) +int tx_tchh_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) { struct msgb *msg_tch = NULL, *msg_facch = NULL; struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); - struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; + struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; //uint8_t tch_mode = chan_state->tch_mode; /* send burst, if we already got a frame */ - if (bid > 0) + if (br->bid > 0) return 0; /* get TCH and/or FACCH */ - tx_tch_common(l1t, br->tn, br->fn, chan, bid, &msg_tch, &msg_facch, - (((br->fn + 4) % 26) >> 2) & 1); + tx_tch_common(l1t, br, &msg_tch, &msg_facch, (((br->fn + 4) % 26) >> 2) & 1); /* check for FACCH alignment */ if (msg_facch && ((((br->fn + 4) % 26) >> 2) & 1)) { - LOGL1S(DL1P, LOGL_ERROR, l1t, br->tn, chan, br->fn, "Cannot transmit FACCH starting on " + LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot transmit FACCH starting on " "even frames, please fix RTS!\n"); msgb_free(msg_facch); msg_facch = NULL; @@ -473,15 +467,15 @@ /* no message at all */ if (!msg_tch && !msg_facch && !chan_state->dl_ongoing_facch) { - LOGL1S(DL1P, LOGL_INFO, l1t, br->tn, chan, br->fn, "has not been served !! No prim\n"); + LOGL1SB(DL1P, LOGL_INFO, l1t, br, "has not been served !! No prim\n"); return -ENODEV; } if (msg_facch) { - tx_to_virt_um(l1t, br->tn, br->fn, chan, msg_facch); + tx_to_virt_um(l1t, br, msg_facch); msgb_free(msg_tch); } else if (msg_tch) - tx_to_virt_um_voice_frame(l1t, br->tn, br->fn, chan, msg_tch); + tx_to_virt_um_voice_frame(l1t, br, msg_tch); return 0; } @@ -495,33 +489,28 @@ * directly into the L1SAP, bypassing the TDMA multiplex logic oriented * towards receiving bursts */ -int rx_rach_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_rach_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { return 0; } /*! \brief a single burst was received by the PHY, process it */ -int rx_data_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_data_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { return 0; } -int rx_pdtch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_pdtch_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { return 0; } -int rx_tchf_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_tchf_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { return 0; } -int rx_tchh_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, - uint8_t bid, const struct trx_ul_burst_ind *bi) +int rx_tchh_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic5a02b074662b3e429bf18e05a982f3f3e7b7444 Gerrit-Change-Number: 24178 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:43:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:43:07 +0000 Subject: Change in osmo-pcu[master]: Rename function s/tbf_alloc_ul/tbf_alloc_ul_pacch/ In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24188 ) Change subject: Rename function s/tbf_alloc_ul/tbf_alloc_ul_pacch/ ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24188 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I70ca0b5be0a29a05c6e65b9c92cc6d3b5c43d3dc Gerrit-Change-Number: 24188 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 11 May 2021 09:43:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:43:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:43:11 +0000 Subject: Change in osmo-pcu[master]: Rename function s/tbf_alloc_ul/tbf_alloc_ul_pacch/ In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24188 ) Change subject: Rename function s/tbf_alloc_ul/tbf_alloc_ul_pacch/ ...................................................................... Rename function s/tbf_alloc_ul/tbf_alloc_ul_pacch/ Change-Id: I70ca0b5be0a29a05c6e65b9c92cc6d3b5c43d3dc --- M src/pdch.cpp M src/tbf_ul.cpp M src/tbf_ul.h 3 files changed, 5 insertions(+), 5 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/pdch.cpp b/src/pdch.cpp index 5389763..c69c45c 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -119,7 +119,7 @@ bts_do_rate_ctr_inc(bts, CTR_CHANNEL_REQUEST_DESCRIPTION); /* This call will register the new TBF with the MS on success */ - gprs_rlcmac_ul_tbf *ul_tbf = tbf_alloc_ul(bts, tbf->ms(), tbf->trx->trx_no, tbf->tlli()); + gprs_rlcmac_ul_tbf *ul_tbf = tbf_alloc_ul_pacch(bts, tbf->ms(), tbf->trx->trx_no, tbf->tlli()); /* schedule uplink assignment or reject */ if (ul_tbf) { @@ -683,7 +683,7 @@ tbf_free(ul_tbf); } - ul_tbf = tbf_alloc_ul(bts(), ms, trx_no(), tlli); + ul_tbf = tbf_alloc_ul_pacch(bts(), ms, trx_no(), tlli); if (!ul_tbf) { handle_tbf_reject(bts(), ms, trx_no(), ts_no); goto return_unref; diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index c41793d..cf8c75c 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -141,7 +141,7 @@ } /* Alloc a UL TBF to be assigned over PACCH */ -gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, +gprs_rlcmac_ul_tbf *tbf_alloc_ul_pacch(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint32_t tlli) { struct gprs_rlcmac_ul_tbf *tbf; diff --git a/src/tbf_ul.h b/src/tbf_ul.h index 53c7ad8..4207deb 100644 --- a/src/tbf_ul.h +++ b/src/tbf_ul.h @@ -118,8 +118,8 @@ } struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot); -struct gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts, GprsMs *ms, - int8_t use_trx, uint32_t tlli); +struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_pacch(struct gprs_rlcmac_bts *bts, GprsMs *ms, + int8_t use_trx, uint32_t tlli); struct gprs_rlcmac_ul_tbf *handle_tbf_reject(struct gprs_rlcmac_bts *bts, GprsMs *ms, uint8_t trx_no, uint8_t ts_no); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24188 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I70ca0b5be0a29a05c6e65b9c92cc6d3b5c43d3dc Gerrit-Change-Number: 24188 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:43:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:43:11 +0000 Subject: Change in osmo-pcu[master]: Split ul_tbf alloc on CCCH into new function In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24189 ) Change subject: Split ul_tbf alloc on CCCH into new function ...................................................................... Split ul_tbf alloc on CCCH into new function This allows more easily finding when this specific scenario happens, and can easily be compared against the PACCH one. Change-Id: I609792a40fda2a798ca71a0e9f5639d0a0f011d7 --- M src/bts.cpp M src/tbf_ul.cpp M src/tbf_ul.h M tests/tbf/TbfTest.err 4 files changed, 29 insertions(+), 15 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/bts.cpp b/src/bts.cpp index 4fe529e..261da19 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -867,18 +867,13 @@ "SBFn=%u TRX=%u TS=%u\n", sb_fn, trx_no, ts_no); } else { GprsMs *ms = bts_alloc_ms(bts, 0, chan_req.egprs_mslot_class); - tbf = tbf_alloc_ul_tbf(bts, ms, -1, true); + tbf = tbf_alloc_ul_ccch(bts, ms); if (!tbf) { - LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource for Uplink TBF\n"); /* Send RR Immediate Assignment Reject */ rc = -EBUSY; goto send_imm_ass_rej; } - - /* FIXME: Copy and paste with other routines.. */ tbf->set_ta(ta); - TBF_SET_STATE(tbf, GPRS_RLCMAC_FLOW); - TBF_ASS_TYPE_SET(tbf, GPRS_RLCMAC_FLAG_CCCH); trx_no = tbf->trx->trx_no; ts_no = tbf->first_ts; usf = tbf->m_usf[ts_no]; diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index cf8c75c..686eea5 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -160,6 +160,24 @@ return tbf; } +/* Alloc a UL TBF to be assigned over CCCH */ +struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_ccch(struct gprs_rlcmac_bts *bts, struct GprsMs *ms) +{ + struct gprs_rlcmac_ul_tbf *tbf; + + tbf = tbf_alloc_ul_tbf(bts, ms, -1, true); + if (!tbf) { + LOGP(DTBF, LOGL_NOTICE, "No PDCH resource for Uplink TBF\n"); + /* Caller will most probably send a Imm Ass Reject after return */ + return NULL; + } + TBF_SET_STATE(tbf, GPRS_RLCMAC_FLOW); + TBF_ASS_TYPE_SET(tbf, GPRS_RLCMAC_FLAG_CCCH); + OSMO_ASSERT(tbf->ms()); + + return tbf; +} + /* Create a temporary dummy TBF to Tx a ImmAssReject if allocating a new one during * packet resource Request failed. This is similar as tbf_alloc_ul() but without * calling tbf->setup() (in charge of TFI/USF allocation), and reusing resources diff --git a/src/tbf_ul.h b/src/tbf_ul.h index 4207deb..0b9be28 100644 --- a/src/tbf_ul.h +++ b/src/tbf_ul.h @@ -120,6 +120,7 @@ struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot); struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_pacch(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint32_t tlli); +struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_ccch(struct gprs_rlcmac_bts *bts, struct GprsMs *ms); struct gprs_rlcmac_ul_tbf *handle_tbf_reject(struct gprs_rlcmac_bts *bts, GprsMs *ms, uint8_t trx_no, uint8_t ts_no); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 0a826a7..f1cab16 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1454,9 +1454,9 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) -Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654167 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) @@ -2060,9 +2060,9 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) -Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) @@ -6210,9 +6210,9 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) -Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 MS requests Uplink resource on CCCH/RACH: ra=0x79 (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6231,9 +6231,9 @@ TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) -Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=1 USF=1 MS requests Uplink resource on CCCH/RACH: ra=0x7a (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6252,9 +6252,9 @@ TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) -Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=2 USF=2 MS requests Uplink resource on CCCH/RACH: ra=0x7b (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6273,9 +6273,9 @@ TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) -Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=3 USF=3 MS requests Uplink resource on CCCH/RACH: ra=0x7c (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6294,9 +6294,9 @@ TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) -Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=4 USF=4 MS requests Uplink resource on CCCH/RACH: ra=0x7d (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6315,9 +6315,9 @@ TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) -Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=5 USF=5 MS requests Uplink resource on CCCH/RACH: ra=0x7e (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6336,9 +6336,9 @@ TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) -Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=6 USF=6 MS requests Uplink resource on CCCH/RACH: ra=0x7f (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24189 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I609792a40fda2a798ca71a0e9f5639d0a0f011d7 Gerrit-Change-Number: 24189 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 09:43:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 09:43:12 +0000 Subject: Change in osmo-pcu[master]: Implement T3141 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24190 ) Change subject: Implement T3141 ...................................................................... Implement T3141 Related: OS#1940 Change-Id: I154984b835b2b436b1ebe4631a8afcebb7338c65 --- M src/gprs_pcu.c M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M src/tbf_ul.h M tests/tbf/TbfTest.err 7 files changed, 71 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/gprs_pcu.c b/src/gprs_pcu.c index df439ef..37563ec 100644 --- a/src/gprs_pcu.c +++ b/src/gprs_pcu.c @@ -31,6 +31,7 @@ static struct osmo_tdef T_defs_pcu[] = { { .T=3190, .default_val=5, .unit=OSMO_TDEF_S, .desc="Return to packet idle mode after Packet DL Assignment on CCCH (s)", .val=0}, + { .T=3141, .default_val=10, .unit=OSMO_TDEF_S, .desc="Timeout for contention resolution procedure (s)", .val=0 }, { .T=PCU_TDEF_NEIGH_RESOLVE_TO, .default_val=1000, .unit=OSMO_TDEF_MS, .desc="[ARFCN+BSIC]->[RAC+CI] resolution timeout (ms)", .val=0 }, { .T=PCU_TDEF_SI_RESOLVE_TO, .default_val=1000, .unit=OSMO_TDEF_MS, .desc="RIM RAN-INFO response timeout (ms)", .val=0 }, { .T=PCU_TDEF_NEIGH_CACHE_ALIVE, .default_val=5, .unit=OSMO_TDEF_S, .desc="[ARFCN+BSIC]->[RAC+CI] resolution cache entry storage timeout (s)", .val=0 }, diff --git a/src/tbf.cpp b/src/tbf.cpp index 672146f..fddede6 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -92,6 +92,7 @@ static const struct value_string tbf_timers_names[] = { OSMO_VALUE_STRING(T0), + OSMO_VALUE_STRING(T3141), OSMO_VALUE_STRING(T3169), OSMO_VALUE_STRING(T3191), OSMO_VALUE_STRING(T3193), @@ -436,7 +437,7 @@ return osmo_timer_pending(&Tarr[t]); /* we don't start with T0 because it's internal timer which requires special handling */ - for (i = T3169; i < T_MAX; i++) + for (i = T3141; i < T_MAX; i++) if (osmo_timer_pending(&Tarr[i])) return true; @@ -469,6 +470,11 @@ #define T_CBACK(t, diag) static void cb_##t(void *_tbf) { tbf_timeout_free((struct gprs_rlcmac_tbf *)_tbf, t, diag); } +/* 3GPP TS 44.018 sec 3.5.2.1.5: On the network side, if timer T3141 elapses + * before a successful contention resolution procedure is completed, the newly + * allocated temporary block flow is released as specified in 3GPP TS 44.060 and + * the packet access is forgotten.*/ +T_CBACK(T3141, true) T_CBACK(T3169, true) T_CBACK(T3191, true) T_CBACK(T3193, false) @@ -518,6 +524,9 @@ case T0: Tarr[t].cb = tbf_timer_cb; break; + case T3141: + Tarr[t].cb = cb_T3141; + break; case T3169: Tarr[t].cb = cb_T3169; break; @@ -869,7 +878,7 @@ gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(this); /* be sure to check first, if contention resolution is done, - * otherwise we cannot send the assignment yet */ + * otherwise we cannot send the assignment yet (3GPP TS 44.060 sec 7.1.3.1) */ if (!ul_tbf->m_contention_resolution_done) { LOGPTBF(this, LOGL_DEBUG, "Cannot assign DL TBF now, because contention resolution is not finished.\n"); diff --git a/src/tbf.h b/src/tbf.h index ca6de0f..17f5b18 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -126,6 +126,9 @@ /* internal assign/reject timer */ T0, + /* Wait contention resolution success on UL TBFs assigned over CCCH */ + T3141, + /* Wait for reuse of USF and TFI(s) after the MS uplink assignment for this TBF is invalid. */ T3169, diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index fc53c84..27dc4cf 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -239,6 +239,10 @@ ul_tbf = ms_ul_tbf(ms); + /* 3GPP TS 44.060 sec 7.1.3.1 Initiation of the Packet resource request procedure: + * "Furthermore, the mobile station shall not respond to PACKET DOWNLINK ASSIGNMENT + * or MULTIPLE TBF DOWNLINK ASSIGNMENT messages before contention resolution is + * completed on the mobile station side." */ if (ul_tbf && ul_tbf->m_contention_resolution_done && !ul_tbf->m_final_ack_sent) { use_trx = ul_tbf->trx->trx_no; diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 686eea5..7486b47 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -173,6 +173,7 @@ } TBF_SET_STATE(tbf, GPRS_RLCMAC_FLOW); TBF_ASS_TYPE_SET(tbf, GPRS_RLCMAC_FLAG_CCCH); + tbf->contention_resolution_start(); OSMO_ASSERT(tbf->ms()); return tbf; @@ -300,6 +301,37 @@ return false; } +void gprs_rlcmac_ul_tbf::contention_resolution_start() +{ + /* 3GPP TS 44.018 sec 11.1.2 Timers on the network side: "This timer is + * started when a temporary block flow is allocated with an IMMEDIATE + * ASSIGNMENT or an IMMEDIATE PACKET ASSIGNMENT or an EC IMMEDIATE + * ASSIGNMENT TYPE 1 message during a packet access procedure. It is + * stopped when the mobile station has correctly seized the temporary + * block flow." + * In our code base, it means we want to do contention resolution + * timeout only for one-phase packet access, since two-phase is handled + * through SBA structs, which are freed by the PDCH UL Controller if the + * single allocated block is lost. */ + T_START(this, T3141, 3141, "Contention resolution (UL-TBF, CCCH)", true); +} +void gprs_rlcmac_ul_tbf::contention_resolution_success() +{ + if (m_contention_resolution_done) + return; + + /* 3GPP TS 44.060 sec 7a.2.1 Contention Resolution */ + /* 3GPP TS 44.018 3.5.2.1.4 Packet access completion: The one phase + packet access procedure is completed at a successful contention + resolution. The mobile station has entered the packet transfer mode. + Timer T3141 is stopped on the network side */ + t_stop(T3141, "Contention resolution success (UL-TBF, CCCH)"); + + /* now we must set this flag, so we are allowed to assign downlink + * TBF on PACCH. it is only allowed when TLLI is acknowledged. */ + m_contention_resolution_done = 1; +} + struct msgb *gprs_rlcmac_ul_tbf::create_ul_ack(uint32_t fn, uint8_t ts) { int final = (state_is(GPRS_RLCMAC_FINISHED)); @@ -333,9 +365,15 @@ bitvec_pack(ack_vec, msgb_put(msg, 23)); bitvec_free(ack_vec); - /* now we must set this flag, so we are allowed to assign downlink - * TBF on PACCH. it is only allowed when TLLI is acknowledged. */ - m_contention_resolution_done = 1; + /* TS 44.060 7a.2.1.1: "The contention resolution is completed on + * the network side when the network receives an RLC data block that + * comprises the TLLI value that identifies the mobile station and the + * TFI value associated with the TBF." + * However, it's handier for us to mark contention resolution success + * here since according to spec upon rx UL ACK is the time at which MS + * realizes contention resolution succeeds. */ + if (ms_tlli(ms()) != GSM_RESERVED_TMSI) + contention_resolution_success(); if (final) { set_polling(new_poll_fn, ts, PDCH_ULC_POLL_UL_ACK); diff --git a/src/tbf_ul.h b/src/tbf_ul.h index 0b9be28..9396633 100644 --- a/src/tbf_ul.h +++ b/src/tbf_ul.h @@ -87,6 +87,8 @@ void set_window_size(); void update_coding_scheme_counter_ul(enum CodingScheme cs); void usf_timeout(); + void contention_resolution_start(); + void contention_resolution_success(); /* Please note that all variables here will be reset when changing * from WAIT RELEASE back to FLOW state (re-use of TBF). diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index f1cab16..a205f39 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1456,6 +1456,7 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -2062,6 +2063,7 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654275 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -6212,6 +6214,7 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 MS requests Uplink resource on CCCH/RACH: ra=0x79 (8 bit) Fn=2654167 qta=31 @@ -6233,6 +6236,7 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=1 USF=1 MS requests Uplink resource on CCCH/RACH: ra=0x7a (8 bit) Fn=2654167 qta=31 @@ -6254,6 +6258,7 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=2 USF=2 MS requests Uplink resource on CCCH/RACH: ra=0x7b (8 bit) Fn=2654167 qta=31 @@ -6275,6 +6280,7 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=3 USF=3 MS requests Uplink resource on CCCH/RACH: ra=0x7c (8 bit) Fn=2654167 qta=31 @@ -6296,6 +6302,7 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=4 USF=4 MS requests Uplink resource on CCCH/RACH: ra=0x7d (8 bit) Fn=2654167 qta=31 @@ -6317,6 +6324,7 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=5 USF=5 MS requests Uplink resource on CCCH/RACH: ra=0x7e (8 bit) Fn=2654167 qta=31 @@ -6338,6 +6346,7 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=6 USF=6 MS requests Uplink resource on CCCH/RACH: ra=0x7f (8 bit) Fn=2654167 qta=31 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I154984b835b2b436b1ebe4631a8afcebb7338c65 Gerrit-Change-Number: 24190 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 10:37:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 10:37:39 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Re-organize osmo-bts-trx specific structures In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24179 ) Change subject: [VAMOS] Re-organize osmo-bts-trx specific structures ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7c4379e43a25e9d858d582a99bf6c4b65c9af481 Gerrit-Change-Number: 24179 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 10:37:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 10:40:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 10:40:16 +0000 Subject: Change in libosmo-abis[master]: Add vty show function for e1d driver In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24197 ) Change subject: Add vty show function for e1d driver ...................................................................... Patch Set 1: I'm not entirely sure if this is the right thing to do. Yes, it helps debugging this one specific issue, but I would normally argue that e1d state should be exposed in the osmo-e1d VTY, and not in the individual client programs. We also don't have something similar for misdn or dahdi... -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24197 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I287c82b2c9e4b9b9b30a302e5240d5688b93240c Gerrit-Change-Number: 24197 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 11 May 2021 10:40:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 10:55:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 10:55:51 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement TRXDv2 protocol support In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23833 ) Change subject: osmo-bts-trx: implement TRXDv2 protocol support ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3532a6693bb335043ec390049138308991083e66 Gerrit-Change-Number: 23833 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 10:55:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 10:55:55 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 10:55:55 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement TRXDv2 protocol support In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23833 ) Change subject: osmo-bts-trx: implement TRXDv2 protocol support ...................................................................... osmo-bts-trx: implement TRXDv2 protocol support Change-Id: I3532a6693bb335043ec390049138308991083e66 Related: SYS#4895, OS#4941, OS#4006 --- M include/osmo-bts/scheduler.h M src/osmo-bts-trx/trx_if.c M src/osmo-bts-trx/trx_if.h 3 files changed, 170 insertions(+), 69 deletions(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Hoernchen: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 2d613e7..10359f1 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -231,6 +231,8 @@ #define TRX_BI_F_MOD_TYPE (1 << 1) #define TRX_BI_F_TS_INFO (1 << 2) #define TRX_BI_F_CI_CB (1 << 3) +#define TRX_BI_F_TRX_NUM (1 << 4) +#define TRX_BI_F_BATCH_IND (1 << 5) /*! UL burst indication with the corresponding meta info */ struct trx_ul_burst_ind { @@ -248,6 +250,10 @@ uint8_t tsc_set; /*!< Training Sequence Set */ uint8_t tsc; /*!< Training Sequence Code */ int16_t ci_cb; /*!< Carrier-to-Interference ratio (in centiBels) */ + uint8_t trx_num; /*!< TRX (RF channel) number */ + + /* Used internally by the PDU parser */ + uint8_t _num_pdus; /*!< Number of processed PDUs */ /* Internally used by the scheduler */ enum trx_chan_type chan; @@ -258,11 +264,19 @@ size_t burst_len; }; +#define TRX_BR_F_MORE_PDUS (1 << 0) + /*! DL burst request with the corresponding meta info */ struct trx_dl_burst_req { + uint8_t flags; /*!< see TRX_BR_F_* */ + + /* Mandatory fields */ uint32_t fn; /*!< TDMA frame number */ uint8_t tn; /*!< TDMA timeslot number */ uint8_t att; /*!< Tx power attenuation */ + uint8_t mts; /*!< MTS (Modulation and Training Sequence) */ + int8_t scpir; /*!< SCPIR (for AQPSK only) */ + uint8_t trx_num; /*!< TRX (RF channel) number */ /* Internally used by the scheduler */ enum trx_chan_type chan; diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index ff63187..93bbf19 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -730,11 +730,14 @@ #define TRX_UL_V0HDR_LEN (1 + 4 + 1 + 2) /* Uplink TRXDv1 header length: additional MTS + C/I */ #define TRX_UL_V1HDR_LEN (TRX_UL_V0HDR_LEN + 1 + 2) +/* Uplink TRXDv2 header length: TDMA TN + TRXN + MTS + RSSI + ToA256 + C/I */ +#define TRX_UL_V2HDR_LEN (1 + 1 + 1 + 1 + 2 + 2) /* Minimum Uplink TRXD header length for all PDU versions */ static const uint8_t trx_data_rx_hdr_len[] = { TRX_UL_V0HDR_LEN, /* TRXDv0 */ TRX_UL_V1HDR_LEN, /* TRXDv1 */ + TRX_UL_V2HDR_LEN, /* TRXDv2 */ }; /* Header dissector for TRXDv0 (and part of TRXDv1) */ @@ -833,6 +836,48 @@ return TRX_UL_V1HDR_LEN; } +/* TRXD header dissector for version 0x01 */ +static int trx_data_handle_pdu_v2(struct phy_instance *phy_inst, + struct trx_ul_burst_ind *bi, + const uint8_t *buf, size_t buf_len) +{ + int rc; + + /* TDMA timeslot number (other bits are RFU) */ + bi->tn = buf[0] & 0x07; + + /* TRX (RF channel) number and BATCH.ind */ + if (buf[1] & (1 << 7)) + bi->flags |= TRX_BI_F_BATCH_IND; + bi->trx_num = buf[1] & 0x3f; + bi->flags |= TRX_BI_F_TRX_NUM; + + /* MTS (Modulation and Training Sequence) */ + rc = trx_data_parse_mts(phy_inst, bi, buf[2]); + if (rc < 0) + return rc; + + bi->rssi = -(int8_t)buf[3]; + bi->toa256 = (int16_t) osmo_load16be(&buf[4]); + bi->ci_cb = (int16_t) osmo_load16be(&buf[6]); + bi->flags |= TRX_BI_F_CI_CB; + + /* TDMA frame number is absent in batched PDUs */ + if (bi->_num_pdus == 0) { + if (buf_len < sizeof(bi->fn) + TRX_UL_V2HDR_LEN) { + LOGPPHI(phy_inst, DTRX, LOGL_ERROR, + "Rx malformed TRXDv2 PDU: not enough bytes " + "to parse TDMA frame number\n"); + return -EINVAL; + } + + bi->fn = osmo_load32be(buf + TRX_UL_V2HDR_LEN); + return TRX_UL_V2HDR_LEN + sizeof(bi->fn); + } + + return TRX_UL_V2HDR_LEN; +} + /* TRXD burst handler (version independent) */ static int trx_data_handle_burst(struct trx_ul_burst_ind *bi, const uint8_t *buf, size_t buf_len) @@ -883,6 +928,10 @@ /* Common TDMA parameters */ OSMO_STRBUF_PRINTF(sb, "tn=%u fn=%u", bi->tn, bi->fn); + /* TRX (RF channel number) */ + if (bi->flags & TRX_BI_F_TRX_NUM) + OSMO_STRBUF_PRINTF(sb, " trx_num=%u", bi->trx_num); + /* RSSI and ToA256 */ OSMO_STRBUF_PRINTF(sb, " rssi=%d toa256=%d", bi->rssi, bi->toa256); @@ -929,9 +978,6 @@ return buf_len; } - /* Pre-clean (initialize) the flags */ - bi.flags = 0x00; - /* Parse PDU version first */ pdu_ver = buf[0] >> 4; @@ -943,56 +989,76 @@ return -EIO; } - /* Make sure that we have enough bytes to parse the header */ - if (buf_len < trx_data_rx_hdr_len[pdu_ver]) { - LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, - "Rx malformed TRXDv%u PDU: len=%zd < expected %u\n", - pdu_ver, buf_len, trx_data_rx_hdr_len[pdu_ver]); - return -EINVAL; - } + /* We're about to parse the first PDU */ + bi._num_pdus = 0; - /* Parse header depending on the PDU version */ - switch (pdu_ver) { - case 0: /* TRXDv0 */ - hdr_len = trx_data_handle_hdr_v0(l1h->phy_inst, &bi, buf, buf_len); - break; - case 1: /* TRXDv1 */ - hdr_len = trx_data_handle_hdr_v1(l1h->phy_inst, &bi, buf, buf_len); - break; - default: - /* Shall not happen */ - OSMO_ASSERT(0); - } + /* Starting from TRXDv2, there can be batched PDUs */ + do { + /* (Re)initialize the flags */ + bi.flags = 0x00; - /* Header parsing error */ - if (hdr_len < 0) - return hdr_len; + /* Make sure that we have enough bytes to parse the header */ + if (buf_len < trx_data_rx_hdr_len[pdu_ver]) { + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, + "Rx malformed TRXDv%u PDU: len=%zd < expected %u\n", + pdu_ver, buf_len, trx_data_rx_hdr_len[pdu_ver]); + return -EINVAL; + } - if (bi.fn >= GSM_TDMA_HYPERFRAME) { - LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, - "Rx malformed TRXDv%u PDU: illegal TDMA fn=%u\n", - pdu_ver, bi.fn); - return -EINVAL; - } + /* Parse header depending on the PDU version */ + switch (pdu_ver) { + case 0: /* TRXDv0 */ + hdr_len = trx_data_handle_hdr_v0(l1h->phy_inst, &bi, buf, buf_len); + break; + case 1: /* TRXDv1 */ + hdr_len = trx_data_handle_hdr_v1(l1h->phy_inst, &bi, buf, buf_len); + break; + case 2: /* TRXDv2 */ + hdr_len = trx_data_handle_pdu_v2(l1h->phy_inst, &bi, buf, buf_len); + break; + default: + /* Shall not happen */ + OSMO_ASSERT(0); + } - /* We're done with the header now */ - buf_len -= hdr_len; + /* Header parsing error */ + if (hdr_len < 0) + return hdr_len; - /* Calculate burst length and parse it (if present) */ - if (trx_data_handle_burst(&bi, buf + hdr_len, buf_len) != 0) { - LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, - "Rx malformed TRXDv%u PDU: odd burst length=%zd\n", - pdu_ver, buf_len); - return -EINVAL; - } + if (bi.fn >= GSM_TDMA_HYPERFRAME) { + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, + "Rx malformed TRXDv%u PDU: illegal TDMA fn=%u\n", + pdu_ver, bi.fn); + return -EINVAL; + } - /* Print header & burst info */ - LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, "Rx %s (pdu_ver=%u): %s\n", - (bi.flags & TRX_BI_F_NOPE_IND) ? "NOPE.ind" : "UL burst", - pdu_ver, trx_data_desc_msg(&bi)); + /* We're done with the header now */ + buf_len -= hdr_len; + buf += hdr_len; - /* feed received burst into scheduler code */ - trx_sched_route_burst_ind(&bi, &l1h->l1s); + /* Calculate burst length and parse it (if present) */ + if (trx_data_handle_burst(&bi, buf, buf_len) != 0) { + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, + "Rx malformed TRXDv%u PDU: odd burst length=%zd\n", + pdu_ver, buf_len); + return -EINVAL; + } + + /* We're done with the burst bits now */ + buf_len -= bi.burst_len; + buf += bi.burst_len; + + /* Print header & burst info */ + LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, "Rx %s (pdu_ver=%u): %s\n", + (bi.flags & TRX_BI_F_NOPE_IND) ? "NOPE.ind" : "UL burst", + pdu_ver, trx_data_desc_msg(&bi)); + + /* Number of processed PDUs */ + bi._num_pdus++; + + /* feed received burst into scheduler code */ + trx_sched_route_burst_ind(&bi, &l1h->l1s); + } while (bi.flags & TRX_BI_F_BATCH_IND); return 0; } @@ -1003,9 +1069,10 @@ * \returns 0 on success; negative on error */ int trx_if_send_burst(struct trx_l1h *l1h, const struct trx_dl_burst_req *br) { - ssize_t snd_len; uint8_t pdu_ver = l1h->config.trxd_pdu_ver_use; - uint8_t *buf = &trx_data_buf[0]; + static uint8_t *buf = &trx_data_buf[0]; + static unsigned int pdu_num = 0; + ssize_t snd_len, buf_len; /* Make sure that the PHY is powered on */ if (!trx_if_powered(l1h)) { @@ -1014,35 +1081,55 @@ return -ENODEV; } - if ((br->burst_len != GSM_BURST_LEN) && (br->burst_len != EGPRS_BURST_LEN)) { - LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, "Tx burst length %zu invalid\n", - br->burst_len); - return -1; - } - - LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, - "Tx burst (pdu_ver=%u): tn=%u fn=%u att=%u\n", - pdu_ver, br->tn, br->fn, br->att); - switch (pdu_ver) { - case 0: - case 1: - /* Both versions have the same PDU format */ + /* Both versions have the same PDU format */ + case 0: /* TRXDv0 */ + case 1: /* TRXDv1 */ + buf[0] = ((pdu_ver & 0x0f) << 4) | br->tn; + osmo_store32be(br->fn, buf + 1); + buf[5] = br->att; + buf += 6; break; - + case 2: /* TRXDv2 */ + buf[0] = br->tn; + buf[1] = (br->trx_num & 0x3f) | (br->flags << 7); + buf[2] = br->mts; + buf[3] = br->att; + buf[4] = (uint8_t) br->scpir; + buf[5] = buf[6] = buf[7] = 0x00; /* Spare */ + /* Some fields are not present in batched PDUs */ + if (pdu_num == 0) { + buf[0] |= (pdu_ver & 0x0f) << 4; + osmo_store32be(br->fn, buf + 8); + buf += 4; + } + buf += 8; + break; default: /* Shall not happen */ OSMO_ASSERT(0); } - buf[0] = ((pdu_ver & 0x0f) << 4) | br->tn; - osmo_store32be(br->fn, buf + 1); - buf[5] = br->att; - /* copy ubits {0,1} */ - memcpy(buf + 6, br->burst, br->burst_len); + memcpy(buf, br->burst, br->burst_len); + buf += br->burst_len; - snd_len = send(l1h->trx_ofd_data.fd, trx_data_buf, br->burst_len + 6, 0); + /* One more PDU in the buffer */ + pdu_num++; + + /* More PDUs to send? Batch them! */ + if (pdu_ver >= 2 && br->flags & TRX_BR_F_MORE_PDUS) + return 0; + + LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, + "Tx TRXDv%u datagram with %u PDU(s): fn=%u\n", + pdu_ver, pdu_num, br->fn); + + buf_len = buf - &trx_data_buf[0]; + buf = &trx_data_buf[0]; + pdu_num = 0; + + snd_len = send(l1h->trx_ofd_data.fd, trx_data_buf, buf_len, 0); if (snd_len <= 0) { strerror_r(errno, (char *) trx_data_buf, sizeof(trx_data_buf)); LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, diff --git a/src/osmo-bts-trx/trx_if.h b/src/osmo-bts-trx/trx_if.h index f40dbb5..e131d56 100644 --- a/src/osmo-bts-trx/trx_if.h +++ b/src/osmo-bts-trx/trx_if.h @@ -44,7 +44,7 @@ int trx_if_powered(struct trx_l1h *l1h); /* The latest supported TRXD PDU version */ -#define TRX_DATA_PDU_VER 1 +#define TRX_DATA_PDU_VER 2 /* Format negotiation command */ int trx_if_cmd_setformat(struct trx_l1h *l1h, uint8_t ver, trx_if_cmd_generic_cb *cb); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3532a6693bb335043ec390049138308991083e66 Gerrit-Change-Number: 23833 Gerrit-PatchSet: 9 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 10:56:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 10:56:28 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: reduce and share TRXC message buffer size In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23825 ) Change subject: osmo-bts-trx: reduce and share TRXC message buffer size ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I21c9ef37954c73ab74f07a3d226707744cbb2f01 Gerrit-Change-Number: 23825 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 10:56:56 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 10:56:56 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit: use RxMsg/TxMsg instead of TRX2L1/L12TRX In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24018 ) Change subject: trx_toolkit: use RxMsg/TxMsg instead of TRX2L1/L12TRX ...................................................................... trx_toolkit: use RxMsg/TxMsg instead of TRX2L1/L12TRX I intentionally do not use 'Downlink' and 'Uplink' terms in this project because both MS and BTS transmit and receive on the opposite directions. A burst coming from demodulator may be a Downlink or an Uplink burst depending on the context, so we definitely need more precise terms. Back then when I started to work on TRX toolkit, I decided to use the 'TRX2L1' and 'L12TRX' for receive and transmit directions respectively. Now I find them hard to read, so let's replace them with 'Rx' and 'Tx'. Change-Id: I688f24a3c09dd7e1cc00b5530ec26c8e8cfd8f7c Related: OS#4006, SYS#4895 --- M src/target/trx_toolkit/burst_fwd.py M src/target/trx_toolkit/burst_gen.py M src/target/trx_toolkit/burst_send.py M src/target/trx_toolkit/ctrl_if_trx.py M src/target/trx_toolkit/data_dump.py M src/target/trx_toolkit/data_if.py M src/target/trx_toolkit/data_msg.py M src/target/trx_toolkit/fake_trx.py M src/target/trx_toolkit/test_data_dump.py M src/target/trx_toolkit/test_data_msg.py M src/target/trx_toolkit/transceiver.py M src/target/trx_toolkit/trx_sniff.py 12 files changed, 117 insertions(+), 121 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/target/trx_toolkit/burst_fwd.py b/src/target/trx_toolkit/burst_fwd.py index 0b69fe2..2e9e97b 100644 --- a/src/target/trx_toolkit/burst_fwd.py +++ b/src/target/trx_toolkit/burst_fwd.py @@ -37,8 +37,8 @@ - actual RX / TX frequencies, - list of active timeslots. - Each to be distributed L12TRX message is being transformed - into a TRX2L1 message, and then forwarded to transceivers + Each to be distributed 'TxMsg' message is being transformed + into a 'RxMsg' message, and then forwarded to transceivers with partially initialized header. All uninitialized header fields (such as rssi and toa256) shall be set by each transceiver individually before sending towards the L1. @@ -69,6 +69,6 @@ if trx.get_rx_freq(rx_msg.fn) != tx_freq: continue - # Transform from L12TRX to TRX2L1 and forward - tx_msg = rx_msg.gen_trx2l1(ver = trx.data_if._hdr_ver) + # Transform from TxMsg to RxMsg and forward + tx_msg = rx_msg.trans(ver = trx.data_if._hdr_ver) trx.handle_data_msg(src_trx, rx_msg, tx_msg) diff --git a/src/target/trx_toolkit/burst_gen.py b/src/target/trx_toolkit/burst_gen.py index 7f154b3..f93d868 100755 --- a/src/target/trx_toolkit/burst_gen.py +++ b/src/target/trx_toolkit/burst_gen.py @@ -68,9 +68,9 @@ # Init an empty DATA message if self.argv.conn_mode == "TRX": - msg = DATAMSG_L12TRX(ver = self.argv.hdr_ver) + msg = TxMsg(ver = self.argv.hdr_ver) elif self.argv.conn_mode == "L1": - msg = DATAMSG_TRX2L1(ver = self.argv.hdr_ver) + msg = RxMsg(ver = self.argv.hdr_ver) # Generate a random frame number or use provided one fn_init = msg.rand_fn() if self.argv.tdma_fn is None \ @@ -176,7 +176,7 @@ help = "How many bursts to send (default %(default)s)") bg_group.add_argument("-v", "--hdr-version", metavar = "VER", dest = "hdr_ver", type = int, - default = 0, choices = DATAMSG.KNOWN_VERSIONS, + default = 0, choices = Msg.KNOWN_VERSIONS, help = "TRXD header version (default %(default)s)") bg_group.add_argument("-f", "--frame-number", metavar = "FN", dest = "tdma_fn", type = int, diff --git a/src/target/trx_toolkit/burst_send.py b/src/target/trx_toolkit/burst_send.py index 717414d..4e16571 100755 --- a/src/target/trx_toolkit/burst_send.py +++ b/src/target/trx_toolkit/burst_send.py @@ -79,11 +79,10 @@ def msg_pass_filter(self, msg): # Direction filter - l12trx = self.argv.conn_mode == "TRX" - if isinstance(msg, DATAMSG_L12TRX) and not l12trx: - return False - elif isinstance(msg, DATAMSG_TRX2L1) and l12trx: - return False + if isinstance(msg, RxMsg) and self.argv.conn_mode == "TRX": + return False # cannot send RxMsg to TRX + if isinstance(msg, TxMsg) and self.argv.conn_mode == "L1": + return False # cannot send TxMsg to L1 # Timeslot filter if self.argv.pf_tn is not None: diff --git a/src/target/trx_toolkit/ctrl_if_trx.py b/src/target/trx_toolkit/ctrl_if_trx.py index 22d4b4e..c03dcc6 100644 --- a/src/target/trx_toolkit/ctrl_if_trx.py +++ b/src/target/trx_toolkit/ctrl_if_trx.py @@ -25,7 +25,7 @@ import logging as log from ctrl_if import CTRLInterface -from data_msg import DATAMSG +from data_msg import Msg class CTRLInterfaceTRX(CTRLInterface): """ CTRL interface handler for common transceiver management commands. @@ -222,7 +222,7 @@ # ... and store current for logging ver_cur = self.trx.data_if._hdr_ver - if ver_req < 0 or ver_req > DATAMSG.CHDR_VERSION_MAX: + if ver_req < 0 or ver_req > Msg.CHDR_VERSION_MAX: log.error("(%s) Incorrect TRXD header version %u" % (self.trx, ver_req)) return -1 diff --git a/src/target/trx_toolkit/data_dump.py b/src/target/trx_toolkit/data_dump.py index 9a68556..8510e2d 100644 --- a/src/target/trx_toolkit/data_dump.py +++ b/src/target/trx_toolkit/data_dump.py @@ -28,18 +28,18 @@ class DATADump: # Constants - TAG_L12TRX = b'\x01' - TAG_TRX2L1 = b'\x02' + TAG_TxMsg = b'\x01' + TAG_RxMsg = b'\x02' HDR_LENGTH = 3 # Generates raw bytes from a DATA message # Return value: raw message bytes def dump_msg(self, msg): # Determine a message type - if isinstance(msg, DATAMSG_L12TRX): - tag = self.TAG_L12TRX - elif isinstance(msg, DATAMSG_TRX2L1): - tag = self.TAG_TRX2L1 + if isinstance(msg, TxMsg): + tag = self.TAG_TxMsg + elif isinstance(msg, RxMsg): + tag = self.TAG_RxMsg else: raise ValueError("Unknown message type") @@ -61,12 +61,10 @@ tag = hdr[:1] # Check if tag is known - if tag == self.TAG_L12TRX: - # L1 -> TRX - msg = DATAMSG_L12TRX() - elif tag == self.TAG_TRX2L1: - # TRX -> L1 - msg = DATAMSG_TRX2L1() + if tag == self.TAG_TxMsg: + msg = TxMsg() + elif tag == self.TAG_RxMsg: + msg = RxMsg() else: # Unknown tag return False diff --git a/src/target/trx_toolkit/data_if.py b/src/target/trx_toolkit/data_if.py index 07f3d32..1cded9b 100644 --- a/src/target/trx_toolkit/data_if.py +++ b/src/target/trx_toolkit/data_if.py @@ -35,7 +35,7 @@ log.debug("Init TRXD interface (%s)" % self.desc_link()) def set_hdr_ver(self, ver): - if not ver in DATAMSG.KNOWN_VERSIONS: + if not ver in Msg.KNOWN_VERSIONS: return False self._hdr_ver = ver @@ -43,7 +43,7 @@ def pick_hdr_ver(self, ver_req): # Pick a version that is lower or equal to ver_req - for ver in DATAMSG.KNOWN_VERSIONS[::-1]: + for ver in Msg.KNOWN_VERSIONS[::-1]: if ver <= ver_req: return ver @@ -64,16 +64,16 @@ data, _ = self.sock.recvfrom(512) return data - def recv_l12trx_msg(self): + def recv_tx_msg(self): # Read raw data from socket data = self.recv_raw_data() - # Attempt to parse as a L12TRX message + # Attempt to parse a TRXD Tx message try: - msg = DATAMSG_L12TRX() + msg = TxMsg() msg.parse_msg(bytearray(data)) except: - log.error("Failed to parse a L12TRX message " + log.error("Failed to parse a TRXD Tx message " "from R:%s:%u" % (self.remote_addr, self.remote_port)) return None @@ -84,16 +84,16 @@ return msg - def recv_trx2l1_msg(self): + def recv_rx_msg(self): # Read raw data from socket data = self.recv_raw_data() - # Attempt to parse as a L12TRX message + # Attempt to parse a TRXD Rx message try: - msg = DATAMSG_TRX2L1() + msg = RxMsg() msg.parse_msg(bytearray(data)) except: - log.error("Failed to parse a TRX2L1 message " + log.error("Failed to parse a TRXD Rx message " "from R:%s:%u" % (self.remote_addr, self.remote_port)) return None @@ -106,10 +106,10 @@ def send_msg(self, msg, legacy = False): try: - # Validate and encode TRXD message + # Validate and encode a TRXD message payload = msg.gen_msg(legacy) except ValueError as e: - log.error("Failed to encode a TRX2L1 message ('%s') " + log.error("Failed to encode a TRXD message ('%s') " "due to error: %s" % (msg.desc_hdr(), e)) # TODO: we may want to send a NOPE.ind here return diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index a1410fc..72e248d 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -59,7 +59,7 @@ return mod return None -class DATAMSG(abc.ABC): +class Msg(abc.ABC): ''' TRXD (DATA) message coding API (common part). ''' # NOTE: up to 16 versions can be encoded @@ -228,8 +228,8 @@ else: self.burst = None -class DATAMSG_L12TRX(DATAMSG): - ''' L12TRX (L1 -> TRX) message coding API. ''' +class TxMsg(Msg): + ''' Tx (L1 -> TRX) message coding API. ''' # Constants PWR_MIN = 0x00 @@ -257,7 +257,7 @@ ''' Validate the message fields (throws ValueError). ''' # Validate common fields - DATAMSG.validate(self) + Msg.validate(self) if self.pwr is None: raise ValueError("Tx Attenuation level is not set") @@ -287,14 +287,14 @@ def rand_hdr(self): ''' Randomize message specific header. ''' - DATAMSG.rand_hdr(self) + Msg.rand_hdr(self) self.pwr = self.rand_pwr() def desc_hdr(self): ''' Generate human-readable header description. ''' # Describe the common part - result = DATAMSG.desc_hdr(self) + result = Msg.desc_hdr(self) if self.pwr is not None: result += ("pwr=%u " % self.pwr) @@ -340,11 +340,11 @@ ''' Generate a random message specific burst. ''' self.burst = [random.randint(0, 1) for _ in range(length)] - def gen_trx2l1(self, ver = None): - ''' Transform this message to TRX2L1 message. ''' + def trans(self, ver = None): + ''' Transform this message into RxMsg. ''' # Allocate a new message - msg = DATAMSG_TRX2L1(fn = self.fn, tn = self.tn, + msg = RxMsg(fn = self.fn, tn = self.tn, ver = self.ver if ver is None else ver) # Convert burst bits @@ -355,8 +355,8 @@ return msg -class DATAMSG_TRX2L1(DATAMSG): - ''' TRX2L1 (TRX -> L1) message coding API. ''' +class RxMsg(Msg): + ''' Rx (TRX -> L1) message coding API. ''' # rxlev2dbm(0..63) gives us [-110..-47], plus -10 dbm for noise RSSI_MIN = -120 @@ -442,7 +442,7 @@ ''' Validate the message header fields (throws ValueError). ''' # Validate common fields - DATAMSG.validate(self) + Msg.validate(self) if self.rssi is None: raise ValueError("RSSI is not set") @@ -512,7 +512,7 @@ def rand_hdr(self): ''' Randomize message specific header. ''' - DATAMSG.rand_hdr(self) + Msg.rand_hdr(self) self.rssi = self.rand_rssi() self.toa256 = self.rand_toa256() @@ -531,7 +531,7 @@ ''' Generate human-readable header description. ''' # Describe the common part - result = DATAMSG.desc_hdr(self) + result = Msg.desc_hdr(self) if self.rssi is not None: result += ("rssi=%d " % self.rssi) @@ -679,11 +679,11 @@ self.burst = [random.randint(-127, 127) for _ in range(length)] - def gen_l12trx(self, ver = None): - ''' Transform this message to L12TRX message. ''' + def trans(self, ver = None): + ''' Transform this message to TxMsg. ''' # Allocate a new message - msg = DATAMSG_L12TRX(fn = self.fn, tn = self.tn, + msg = TxMsg(fn = self.fn, tn = self.tn, ver = self.ver if ver is None else ver) # Convert burst bits diff --git a/src/target/trx_toolkit/fake_trx.py b/src/target/trx_toolkit/fake_trx.py index 88417f7..d519a9a 100755 --- a/src/target/trx_toolkit/fake_trx.py +++ b/src/target/trx_toolkit/fake_trx.py @@ -213,7 +213,7 @@ msg.tsc_set = 0 msg.tsc = 0 - # Takes (partially initialized) TRX2L1 message, + # Takes (partially initialized) TRXD Rx message, # simulates RF path parameters (such as RSSI), # and sends towards the L1 def handle_data_msg(self, src_trx, src_msg, msg): diff --git a/src/target/trx_toolkit/test_data_dump.py b/src/target/trx_toolkit/test_data_dump.py index 9cd9b79..f7b4fde 100644 --- a/src/target/trx_toolkit/test_data_dump.py +++ b/src/target/trx_toolkit/test_data_dump.py @@ -50,12 +50,12 @@ # Burst bits (if present) self.assertEqual(a.burst, b.burst) - # TRX2L1 specific fields - if isinstance(a, DATAMSG_L12TRX): + # TxMsg specific fields + if isinstance(a, TxMsg): self.assertEqual(a.pwr, b.pwr) - # L12TRX specific fields - if isinstance(a, DATAMSG_TRX2L1): + # RxMsg specific fields + if isinstance(a, RxMsg): # Version independent fields self.assertEqual(a.toa256, b.toa256) self.assertEqual(a.rssi, b.rssi) @@ -88,8 +88,8 @@ # Generate a mixed list of random messages def _gen_rand_message_mix(self, count, ver = 1): msg_list = [] - msg_list += self._gen_rand_messages(DATAMSG_TRX2L1, count) - msg_list += self._gen_rand_messages(DATAMSG_L12TRX, count) + msg_list += self._gen_rand_messages(RxMsg, count) + msg_list += self._gen_rand_messages(TxMsg, count) random.shuffle(msg_list) return msg_list @@ -100,15 +100,15 @@ msg = self._ddf.parse_msg(0) self._compare_msg(msg, msg_ref) - # Store one TRX2L1 message in a file, read it back and compare - def test_store_and_parse_trx2l1(self): - self._test_store_and_parse(DATAMSG_TRX2L1) + # Store one Rx message in a file, read it back and compare + def test_store_and_parse_rx_msg(self): + self._test_store_and_parse(RxMsg) - # Store one L12TRX message in a file, read it back and compare - def test_store_and_parse_l12trx(self): - self._test_store_and_parse(DATAMSG_L12TRX) + # Store one Tx message in a file, read it back and compare + def test_store_and_parse_tx_msg(self): + self._test_store_and_parse(TxMsg) - # Store multiple TRX2L1/L12TRX messages in a file, read them back and compare + # Store multiple Rx/Tx messages in a file, read them back and compare def test_store_and_parse_all(self): # Store a mixed list of random messages (19 + 19) msg_list_ref = self._gen_rand_message_mix(19) @@ -143,7 +143,7 @@ def test_parse_len_overflow(self): # Write a malformed message directly - self._tf.write(DATADump.TAG_L12TRX) + self._tf.write(DATADump.TAG_TxMsg) self._tf.write(b'\x00\x63') # 99 self._tf.write(b'\xff' * 90) diff --git a/src/target/trx_toolkit/test_data_msg.py b/src/target/trx_toolkit/test_data_msg.py index 991dd25..24fda67 100644 --- a/src/target/trx_toolkit/test_data_msg.py +++ b/src/target/trx_toolkit/test_data_msg.py @@ -24,9 +24,9 @@ import unittest -from data_msg import DATAMSG, DATAMSG_L12TRX, DATAMSG_TRX2L1 +from data_msg import Msg, TxMsg, RxMsg -class DATAMSG_Test(unittest.TestCase): +class Msg_Test(unittest.TestCase): # Compare message a with message b def _compare_msg(self, a, b): # Make sure we're comparing messages of the same type @@ -40,12 +40,12 @@ # Burst bits (if present) self.assertEqual(a.burst, b.burst) - # TRX2L1 specific fields - if isinstance(a, DATAMSG_L12TRX): + # TxMsg specific fields + if isinstance(a, TxMsg): self.assertEqual(a.pwr, b.pwr) - # L12TRX specific fields - if isinstance(a, DATAMSG_TRX2L1): + # RxMsg specific fields + if isinstance(a, RxMsg): # Version independent fields self.assertEqual(a.toa256, b.toa256) self.assertEqual(a.rssi, b.rssi) @@ -62,38 +62,38 @@ def test_validate(self): # Unknown version with self.assertRaises(ValueError): - msg = DATAMSG_TRX2L1(fn = 0, tn = 0, ver = 100) + msg = RxMsg(fn = 0, tn = 0, ver = 100) msg.validate() # Uninitialized field with self.assertRaises(ValueError): - msg = DATAMSG_TRX2L1() + msg = RxMsg() msg.validate() with self.assertRaises(ValueError): - msg = DATAMSG_TRX2L1(fn = None, tn = 0) + msg = RxMsg(fn = None, tn = 0) msg.validate() # Out-of-range value(s) with self.assertRaises(ValueError): - msg = DATAMSG_TRX2L1(fn = -1, tn = 0) + msg = RxMsg(fn = -1, tn = 0) msg.validate() with self.assertRaises(ValueError): - msg = DATAMSG_TRX2L1(fn = 0, tn = 10) + msg = RxMsg(fn = 0, tn = 10) msg.validate() # Validate header and burst randomization def test_rand_hdr_burst(self): - msg_l12trx = DATAMSG_L12TRX() - msg_trx2l1 = DATAMSG_TRX2L1() + tx_msg = TxMsg() + rx_msg = RxMsg() for i in range(100): - msg_l12trx.rand_burst() - msg_trx2l1.rand_burst() - msg_l12trx.rand_hdr() - msg_trx2l1.rand_hdr() + tx_msg.rand_burst() + rx_msg.rand_burst() + tx_msg.rand_hdr() + rx_msg.rand_hdr() - msg_l12trx.validate() - msg_trx2l1.validate() + tx_msg.validate() + rx_msg.validate() def _test_enc_dec(self, msg, legacy = False, nope_ind = False): # Prepare a given message (randomize) @@ -120,22 +120,22 @@ # Validate encoding and decoding def test_enc_dec(self): - for ver in DATAMSG.KNOWN_VERSIONS: - with self.subTest("L1 -> TRX message", ver = ver): - msg = DATAMSG_L12TRX(ver = ver) + for ver in Msg.KNOWN_VERSIONS: + with self.subTest("TxMsg", ver = ver): + msg = TxMsg(ver = ver) self._test_enc_dec(msg) - with self.subTest("TRX -> L1 message", ver = ver): - msg = DATAMSG_TRX2L1(ver = ver) + with self.subTest("RxMsg", ver = ver): + msg = RxMsg(ver = ver) self._test_enc_dec(msg) if ver >= 1: - with self.subTest("TRX -> L1 NOPE.ind", ver = ver): - msg = DATAMSG_TRX2L1(ver = ver) + with self.subTest("RxMsg NOPE.ind", ver = ver): + msg = RxMsg(ver = ver) self._test_enc_dec(msg, nope_ind = True) - with self.subTest("TRX -> L1 message (legacy)"): - msg = DATAMSG_TRX2L1(ver = 0) + with self.subTest("RxMsg (legacy transceiver)"): + msg = RxMsg(ver = 0) self._test_enc_dec(msg, legacy = True) # Validate bit conversations @@ -144,16 +144,16 @@ sbits_ref = list(range(-127, 128)) # Test both usbit2sbit() and sbit2usbit() - sbits = DATAMSG.usbit2sbit(usbits_ref) - usbits = DATAMSG.sbit2usbit(sbits) + sbits = Msg.usbit2sbit(usbits_ref) + usbits = Msg.sbit2usbit(sbits) self.assertEqual(usbits[:255], usbits_ref[:255]) self.assertEqual(usbits[255], 254) # Test both sbit2ubit() and ubit2sbit() - ubits = DATAMSG.sbit2ubit(sbits_ref) + ubits = Msg.sbit2ubit(sbits_ref) self.assertEqual(ubits, ([1] * 127 + [0] * 128)) - sbits = DATAMSG.ubit2sbit(ubits) + sbits = Msg.ubit2sbit(ubits) self.assertEqual(sbits, ([-127] * 127 + [127] * 128)) def _test_transform(self, msg): @@ -162,31 +162,31 @@ msg.rand_burst() # Perform message transformation - if isinstance(msg, DATAMSG_L12TRX): - msg_trans = msg.gen_trx2l1() + if isinstance(msg, TxMsg): + msg_trans = msg.trans() else: - msg_trans = msg.gen_l12trx() + msg_trans = msg.trans() self.assertEqual(msg_trans.ver, msg.ver) self.assertEqual(msg_trans.fn, msg.fn) self.assertEqual(msg_trans.tn, msg.tn) - if isinstance(msg, DATAMSG_TRX2L1): - burst = DATAMSG.sbit2ubit(msg.burst) + if isinstance(msg, RxMsg): + burst = Msg.sbit2ubit(msg.burst) self.assertEqual(msg_trans.burst, burst) else: - burst = DATAMSG.ubit2sbit(msg.burst) + burst = Msg.ubit2sbit(msg.burst) self.assertEqual(msg_trans.burst, burst) # Validate message transformation def test_transform(self): - for ver in DATAMSG.KNOWN_VERSIONS: - with self.subTest("L1 -> TRX message", ver = ver): - msg = DATAMSG_L12TRX(ver = ver) + for ver in Msg.KNOWN_VERSIONS: + with self.subTest("TxMsg", ver = ver): + msg = TxMsg(ver = ver) self._test_transform(msg) - with self.subTest("TRX -> L1 message", ver = ver): - msg = DATAMSG_TRX2L1(ver = ver) + with self.subTest("RxMsg", ver = ver): + msg = RxMsg(ver = ver) self._test_transform(msg) if __name__ == '__main__': diff --git a/src/target/trx_toolkit/transceiver.py b/src/target/trx_toolkit/transceiver.py index 19b998e..d041070 100644 --- a/src/target/trx_toolkit/transceiver.py +++ b/src/target/trx_toolkit/transceiver.py @@ -258,7 +258,7 @@ def recv_data_msg(self): # Read and parse data from socket - msg = self.data_if.recv_l12trx_msg() + msg = self.data_if.recv_tx_msg() if not msg: return None diff --git a/src/target/trx_toolkit/trx_sniff.py b/src/target/trx_toolkit/trx_sniff.py index 0cb62d3..8b6f80c 100755 --- a/src/target/trx_toolkit/trx_sniff.py +++ b/src/target/trx_toolkit/trx_sniff.py @@ -101,10 +101,10 @@ msg_raw = bytearray(trx.load) # Determine a burst direction (L1 <-> TRX) - l12trx = udp.sport > udp.dport + tx_dir = udp.sport > udp.dport # Create an empty DATA message - msg = DATAMSG_L12TRX() if l12trx else DATAMSG_TRX2L1() + msg = TxMsg() if tx_dir else RxMsg() # Attempt to parse the payload as a DATA message try: @@ -124,8 +124,7 @@ return # Debug print - log.debug("%s burst: %s" \ - % ("L1 -> TRX" if l12trx else "TRX -> L1", msg.desc_hdr())) + log.debug("%s burst: %s", "L1 -> TRX" if tx_dir else "TRX -> L1", msg.desc_hdr()) # Poke message handler self.msg_handle(msg) @@ -139,10 +138,10 @@ # Direction filter if self.argv.direction is not None: if self.argv.direction == "TRX": # L1 -> TRX - if not isinstance(msg, DATAMSG_L12TRX): + if not isinstance(msg, TxMsg): return False elif self.argv.direction == "L1": # TRX -> L1 - if not isinstance(msg, DATAMSG_TRX2L1): + if not isinstance(msg, RxMsg): return False # Timeslot filter @@ -159,7 +158,7 @@ return False # Message type specific filtering - if isinstance(msg, DATAMSG_TRX2L1): + if isinstance(msg, RxMsg): # NOPE.ind filter if not self.argv.pf_nope_ind and msg.nope_ind: return False -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24018 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I688f24a3c09dd7e1cc00b5530ec26c8e8cfd8f7c Gerrit-Change-Number: 24018 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 10:57:17 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 10:57:17 +0000 Subject: Change in gr-gsm[master]: dists: add PKGBUILD script for Arch Linux In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/24137 ) Change subject: dists: add PKGBUILD script for Arch Linux ...................................................................... dists: add PKGBUILD script for Arch Linux Change-Id: Iabf6db281e95e72cdf0bd744bb7fd00c09360a38 --- A dists/arch/PKGBUILD 1 file changed, 38 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Verified diff --git a/dists/arch/PKGBUILD b/dists/arch/PKGBUILD new file mode 100644 index 0000000..f62b627 --- /dev/null +++ b/dists/arch/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Vadim Yanitskiy + +pkgname=gr-gsm +pkgver=v1165.13e42c4 +pkgrel=1 +pkgdesc="GNU Radio blocks and tools for receiving GSM transmissions" +arch=('any') +url="https://github.com/ptrkrysik/gr-gsm" +license=('GPL2') +# TODO: libosmocore? +depends=('gnuradio' 'gnuradio-osmosdr' 'boost' 'swig') +makedepends=('cmake') +provides=('gr-gsm') +source=(git://git.osmocom.org/${pkgname}) +sha1sums=('SKIP') + +pkgver() { + cd "$srcdir/$pkgname" + printf "v%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +build() { + cd "$srcdir/$pkgname" + mkdir build && cd build + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DENABLE_DOXYGEN=OFF \ + -Wno-dev \ + .. + make +} + +package() { + cd "$srcdir/$pkgname/build" + make DESTDIR=${pkgdir} install +} + +# vim:set ts=2 sw=2 et: -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/24137 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Iabf6db281e95e72cdf0bd744bb7fd00c09360a38 Gerrit-Change-Number: 24137 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 11:02:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 11:02:06 +0000 Subject: Change in osmo-pcu[master]: tbf_ul: Use is_tlli_valid() API References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24200 ) Change subject: tbf_ul: Use is_tlli_valid() API ...................................................................... tbf_ul: Use is_tlli_valid() API Change-Id: I4abb46913b05d1e89ebe9e361b0a774880dee998 --- M src/tbf_ul.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/00/24200/1 diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 7486b47..9d984a6 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -372,7 +372,7 @@ * However, it's handier for us to mark contention resolution success * here since according to spec upon rx UL ACK is the time at which MS * realizes contention resolution succeeds. */ - if (ms_tlli(ms()) != GSM_RESERVED_TMSI) + if (is_tlli_valid()) contention_resolution_success(); if (final) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4abb46913b05d1e89ebe9e361b0a774880dee998 Gerrit-Change-Number: 24200 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 11:02:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 11:02:06 +0000 Subject: Change in osmo-pcu[master]: Tx ul ack/nack: Avoid sending invalid/unknown TLLI References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24201 ) Change subject: Tx ul ack/nack: Avoid sending invalid/unknown TLLI ...................................................................... Tx ul ack/nack: Avoid sending invalid/unknown TLLI It could happen that if MS sends first UL blocks without TLLI (wrongly, due to being in contention resolution), the submitted UL ACK/NACK would contain an invalid TLLI. Related: OS#1940 Change-Id: Ibae5df6cfbb56f8f8007cb9fec9c29006d673b72 --- M src/encoding.cpp 1 file changed, 14 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/01/24201/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index 2f58759..136532c 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -890,8 +890,12 @@ bitvec_write_field(dest, &wp, mcs_chan_code(tbf->current_cs()), 2); // CHANNEL_CODING_COMMAND write_packet_ack_nack_desc_gprs(dest, wp, window, is_final); - bitvec_write_field(dest, &wp, 1, 1); // 1: have CONTENTION_RESOLUTION_TLLI - bitvec_write_field(dest, &wp, tbf->tlli(), 32); // CONTENTION_RESOLUTION_TLLI + if (tbf->is_tlli_valid()) { + bitvec_write_field(dest, &wp, 1, 1); // 1: have CONTENTION_RESOLUTION_TLLI + bitvec_write_field(dest, &wp, tbf->tlli(), 32); // CONTENTION_RESOLUTION_TLLI + } else { + bitvec_write_field(dest, &wp, 0, 1); // 0: don't have CONTENTION_RESOLUTION_TLLI + } bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Packet Timing Advance bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Power Control Parameters @@ -1072,8 +1076,14 @@ bitvec_write_field(dest, &wp, 1, 1); // PRE_EMPTIVE_TRANSMISSION, TODO: This resembles GPRS, change it? bitvec_write_field(dest, &wp, 0, 1); // 0: no PRR_RETRANSMISSION_REQUEST, TODO: clarify bitvec_write_field(dest, &wp, 0, 1); // 0: no ARAC_RETRANSMISSION_REQUEST, TODO: clarify - bitvec_write_field(dest, &wp, 1, 1); // 1: have CONTENTION_RESOLUTION_TLLI - bitvec_write_field(dest, &wp, tbf->tlli(), 32); // CONTENTION_RESOLUTION_TLLI + + if (tbf->is_tlli_valid()) { + bitvec_write_field(dest, &wp, 1, 1); // 1: have CONTENTION_RESOLUTION_TLLI + bitvec_write_field(dest, &wp, tbf->tlli(), 32); // CONTENTION_RESOLUTION_TLLI + } else { + bitvec_write_field(dest, &wp, 0, 1); // 0: don't have CONTENTION_RESOLUTION_TLLI + } + bitvec_write_field(dest, &wp, 1, 1); // TBF_EST (enabled) bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Packet Timing Advance bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Packet Extended Timing Advance -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibae5df6cfbb56f8f8007cb9fec9c29006d673b72 Gerrit-Change-Number: 24201 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 11:02:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 11:02:07 +0000 Subject: Change in osmo-pcu[master]: encoding: Use gsm48_ta_is_valid() API References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24202 ) Change subject: encoding: Use gsm48_ta_is_valid() API ...................................................................... encoding: Use gsm48_ta_is_valid() API Change-Id: Ieaa4c2f926611576e22eaac8a7ac595135809e2c --- M src/encoding.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/02/24202/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index 136532c..22da6ab 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -661,7 +661,7 @@ } /* Packet Timing Advance (if known) */ - if (tbf->ta() <= 63) { /* { 0 | 1 < TIMING_ADVANCE_VALUE : bit (6) > } */ + if (gsm48_ta_is_valid(tbf->ta())) { /* { 0 | 1 < TIMING_ADVANCE_VALUE : bit (6) > } */ pta->Exist_TIMING_ADVANCE_VALUE = 0x01; // Present pta->TIMING_ADVANCE_VALUE = tbf->ta(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24202 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieaa4c2f926611576e22eaac8a7ac595135809e2c Gerrit-Change-Number: 24202 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 11:25:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 11:25:56 +0000 Subject: Change in osmo-pcu[master]: encoding: Encode TA in UL ACK/NACK if available References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24203 ) Change subject: encoding: Encode TA in UL ACK/NACK if available ...................................................................... encoding: Encode TA in UL ACK/NACK if available Change-Id: I3b060ee16aeac5f5d9b314b6bc46383f5e9c44c3 --- M src/encoding.cpp M tests/tbf/TbfTest.cpp 2 files changed, 23 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/03/24203/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index 22da6ab..0a4050f 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -897,7 +897,15 @@ bitvec_write_field(dest, &wp, 0, 1); // 0: don't have CONTENTION_RESOLUTION_TLLI } - bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Packet Timing Advance + if (gsm48_ta_is_valid(tbf->ta())) { + bitvec_write_field(dest, &wp, 1, 1); // 1: have Packet Timing Advance IE (TS 44.060 12.12) + bitvec_write_field(dest, &wp, 1, 1); // 1: have TIMING_ADVANCE_VALUE + bitvec_write_field(dest, &wp, tbf->ta(), 6); // TIMING_ADVANCE_VALUE + bitvec_write_field(dest, &wp, 0, 1); // 0: don't have TIMING_ADVANCE_INDEX + } else { + bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Packet Timing Advance + } + bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Power Control Parameters bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Extension Bits bitvec_write_field(dest, &wp, 0, 1); // fixed 0 @@ -1085,7 +1093,16 @@ } bitvec_write_field(dest, &wp, 1, 1); // TBF_EST (enabled) - bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Packet Timing Advance + + if (gsm48_ta_is_valid(tbf->ta())) { + bitvec_write_field(dest, &wp, 1, 1); // 1: have Packet Timing Advance IE (TS 44.060 12.12) + bitvec_write_field(dest, &wp, 1, 1); // 1: have TIMING_ADVANCE_VALUE + bitvec_write_field(dest, &wp, tbf->ta(), 6); // TIMING_ADVANCE_VALUE + bitvec_write_field(dest, &wp, 0, 1); // 0: don't have TIMING_ADVANCE_INDEX + } else { + bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Packet Timing Advance + } + bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Packet Extended Timing Advance bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Power Control Parameters bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Extension Bits diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index e0fd9cc..18a0a37 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -794,8 +794,8 @@ struct msgb *msg1 = ul_tbf->create_ul_ack(*fn, ts_no); - static uint8_t exp1[] = { 0x40, 0x24, 0x01, 0x0b, 0x3e, 0x24, 0x46, 0x68, 0x90, 0x87, 0xb0, 0x06, - 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b + static uint8_t exp1[] = { 0x40, 0x24, 0x01, 0x0b, 0x3e, 0x24, 0x46, 0x68, 0x9c, 0x70, 0x87, 0xb0, + 0x06, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b }; if (!msgb_eq_data_print(msg1, exp1, GSM_MACBLOCK_LEN)) { @@ -821,8 +821,8 @@ msg1 = ul_tbf->create_ul_ack(*fn, ts_no); - static uint8_t exp2[] = { 0x40, 0x24, 0x01, 0x0b, 0x3e, 0x24, 0x46, 0x68, 0x90, 0x88, 0xb0, 0x06, 0x8b, - 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b + static uint8_t exp2[] = { 0x40, 0x24, 0x01, 0x0b, 0x3e, 0x24, 0x46, 0x68, 0x9c, 0x70, 0x88, 0xb0, + 0x06, 0x8b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b }; if (!msgb_eq_data_print(msg1, exp2, GSM_MACBLOCK_LEN)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3b060ee16aeac5f5d9b314b6bc46383f5e9c44c3 Gerrit-Change-Number: 24203 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 11:26:57 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 11:26:57 +0000 Subject: Change in osmo-pcu[master]: tbf_ul: Use is_tlli_valid() API In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24200 ) Change subject: tbf_ul: Use is_tlli_valid() API ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4abb46913b05d1e89ebe9e361b0a774880dee998 Gerrit-Change-Number: 24200 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 11 May 2021 11:26:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 11:51:56 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 11:51:56 +0000 Subject: Change in osmo-pcu[master]: Tx ul ack/nack: Avoid sending invalid/unknown TLLI In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24201 ) Change subject: Tx ul ack/nack: Avoid sending invalid/unknown TLLI ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24201/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/24201/1//COMMIT_MSG at 10 PS1, Line 10: contention resolution Interesting. I thought it's mandatory for the MS to send TLLI during the contention resolution procedure. Otherwise, how do you know which exact MS the Uplink blocks are coming from? I see that TLLI is optional, so most likely I simply don't know something. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibae5df6cfbb56f8f8007cb9fec9c29006d673b72 Gerrit-Change-Number: 24201 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 11 May 2021 11:51:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 11:52:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 11:52:29 +0000 Subject: Change in osmo-pcu[master]: encoding: Use gsm48_ta_is_valid() API In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24202 ) Change subject: encoding: Use gsm48_ta_is_valid() API ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24202 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieaa4c2f926611576e22eaac8a7ac595135809e2c Gerrit-Change-Number: 24202 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 11 May 2021 11:52:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 11:53:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 11:53:25 +0000 Subject: Change in osmo-pcu[master]: encoding: Encode TA in UL ACK/NACK if available In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24203 ) Change subject: encoding: Encode TA in UL ACK/NACK if available ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3b060ee16aeac5f5d9b314b6bc46383f5e9c44c3 Gerrit-Change-Number: 24203 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 11 May 2021 11:53:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 12:06:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 12:06:33 +0000 Subject: Change in osmo-pcu[master]: Tx ul ack/nack: Avoid sending invalid/unknown TLLI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24201 ) Change subject: Tx ul ack/nack: Avoid sending invalid/unknown TLLI ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24201/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/24201/1//COMMIT_MSG at 10 PS1, Line 10: contention resolution > Interesting. [?] Sure, it's mandatory for the MS to send TLLi during contention resolution procedure, that's why I wrote there "wrongly" in case it doesn't. I'm precisely testing that scenario in a ttcn3 test right now, in order to make sure T3141 kicks in. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibae5df6cfbb56f8f8007cb9fec9c29006d673b72 Gerrit-Change-Number: 24201 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 11 May 2021 12:06:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 12:08:12 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 May 2021 12:08:12 +0000 Subject: Change in osmo-pcu[master]: Tx ul ack/nack: Avoid sending invalid/unknown TLLI In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24201 ) Change subject: Tx ul ack/nack: Avoid sending invalid/unknown TLLI ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24201/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/24201/1//COMMIT_MSG at 10 PS1, Line 10: contention resolution > Sure, it's mandatory for the MS to send TLLi during contention resolution procedure, that's why I wr [?] Ok, I see. Is the PCU supposed to ACK such blocks at all? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibae5df6cfbb56f8f8007cb9fec9c29006d673b72 Gerrit-Change-Number: 24201 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 11 May 2021 12:08:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 12:14:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 12:14:07 +0000 Subject: Change in osmo-pcu[master]: sched: Clean up helper function and improve logging References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24204 ) Change subject: sched: Clean up helper function and improve logging ...................................................................... sched: Clean up helper function and improve logging Change-Id: I8c19d0924e73c324a36ea038cab7cc4e096b866b --- M src/gprs_rlcmac_sched.cpp M tests/tbf/TbfTest.err 2 files changed, 67 insertions(+), 70 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/04/24204/1 diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index bb65ae1..8e93e89 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -84,8 +84,7 @@ } } -static struct gprs_rlcmac_ul_tbf *sched_select_uplink(uint8_t trx, uint8_t ts, uint32_t fn, - uint8_t block_nr, struct gprs_rlcmac_pdch *pdch, bool require_gprs_only) +static struct gprs_rlcmac_ul_tbf *sched_select_uplink(struct gprs_rlcmac_pdch *pdch, bool require_gprs_only) { struct gprs_rlcmac_ul_tbf *tbf; uint8_t i, tfi; @@ -107,11 +106,7 @@ if (require_gprs_only && tbf->is_egprs_enabled()) continue; - /* use this USF */ - LOGP(DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: TRX=%d " - "TS=%d FN=%d block_nr=%d scheduling USF=%d for " - "required uplink resource of UL TFI=%d\n", trx, ts, fn, - block_nr, tbf->m_usf[ts], tfi); + /* use this USF (tbf) */ /* next TBF to handle resource is the next one */ pdch->next_ul_tfi = (tfi + 1) & 31; return tbf; @@ -464,10 +459,9 @@ "single block allocation at FN=%d\n", fn, block_nr, sba->fn); /* else, check uplink resource for polling */ } else if ((poll_tbf = pdch_ulc_get_tbf_poll(pdch->ulc, poll_fn))) { - LOGP(DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: TRX=%d " - "TS=%d FN=%d block_nr=%d scheduling free USF for " - "polling at FN=%d of %s\n", trx, ts, fn, - block_nr, poll_fn, tbf_name(poll_tbf)); + LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: FN=%d " + "block_nr=%d scheduling free USF for polling at FN=%d of %s\n", + fn, block_nr, poll_fn, tbf_name(poll_tbf)); /* If POLL TBF is UL and already has a USF assigned on this TS, * let's set its USF in the DL msg. This is not really needed, * but it helps understand better the flow when looking at @@ -475,7 +469,10 @@ if (poll_tbf->direction == GPRS_RLCMAC_UL_TBF && as_ul_tbf(poll_tbf)->m_usf[ts] != USF_INVALID) usf_tbf = as_ul_tbf(poll_tbf); /* else, search for uplink tbf */ - } else if ((usf_tbf = sched_select_uplink(trx, ts, fn, block_nr, pdch, require_gprs_only))) { +} else if ((usf_tbf = sched_select_uplink(pdch, require_gprs_only))) { + LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: FN=%d " + "block_nr=%d scheduling USF=%d for %s, expect asnwer on UL FN=%d\n", + fn, block_nr, usf_tbf->m_usf[pdch->ts_no], tbf_name(usf_tbf), poll_fn); pdch_ulc_reserve_tbf_usf(pdch->ulc, poll_fn, usf_tbf); } /* If MS selected for USF is GPRS-only, then it will only be diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index a205f39..aa13aa8 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -80,7 +80,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 0, CS-1): 07 00 01 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 @@ -170,7 +170,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 0, CS-1): 07 00 01 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 @@ -260,7 +260,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 0, CS-1): 07 00 01 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 @@ -1668,7 +1668,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 10 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 1 -Received RTS for PDCH: TRX=0 TS=7 FN=2654275 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654275 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654279 PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654275 + 13 = 2654288 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -1693,7 +1693,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654279 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654279 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654283 PDCH(bts=0,trx=0,ts=7) FN=2654279 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-4 @@ -1717,7 +1717,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654292, TS=7 (curr FN 2654292) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 0 => 1 (< MAX 8) -Received RTS for PDCH: TRX=0 TS=7 FN=2654296 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654296 block_nr=2 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654301 PDCH(bts=0,trx=0,ts=7) FN=2654296 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Restarting at BSN 0, because all blocks have been transmitted. @@ -1770,7 +1770,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654309, TS=7 (curr FN 2654348) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 1 => 2 (< MAX 8) -Received RTS for PDCH: TRX=0 TS=7 FN=2654348 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654348 block_nr=2 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654353 PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654348 + 13 = 2654361 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ @@ -2219,7 +2219,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 13 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 13 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 40 -Received RTS for PDCH: TRX=0 TS=7 FN=2654275 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654275 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654279 PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654275 + 13 = 2654288 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -2244,7 +2244,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654279 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654279 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654283 PDCH(bts=0,trx=0,ts=7) FN=2654279 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 @@ -2263,7 +2263,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654283 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654283 block_nr=11 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654288 PDCH(bts=0,trx=0,ts=7) FN=2654283 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 @@ -2281,7 +2281,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654288 block_nr=0 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654288 block_nr=0 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654292 PDCH(bts=0,trx=0,ts=7) FN=2654288 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 2, CS=CS-1 @@ -2301,7 +2301,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654292 block_nr=1 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654292 block_nr=1 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654296 PDCH(bts=0,trx=0,ts=7) FN=2654292 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 3, CS=CS-1 @@ -2319,7 +2319,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654296 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654296 block_nr=2 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654301 PDCH(bts=0,trx=0,ts=7) FN=2654296 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 4, CS=CS-1 @@ -2339,7 +2339,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654301 block_nr=3 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654301 block_nr=3 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654305 PDCH(bts=0,trx=0,ts=7) FN=2654301 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 5, CS=CS-1 @@ -2357,7 +2357,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654305 block_nr=4 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654305 block_nr=4 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654309 PDCH(bts=0,trx=0,ts=7) FN=2654305 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 6, CS=CS-1 @@ -2377,7 +2377,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654309 block_nr=5 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654309 block_nr=5 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654314 PDCH(bts=0,trx=0,ts=7) FN=2654309 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 7, CS=CS-1 @@ -2395,7 +2395,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654314 block_nr=6 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654314 block_nr=6 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654318 PDCH(bts=0,trx=0,ts=7) FN=2654314 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 8, CS=CS-1 @@ -2413,7 +2413,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654318 block_nr=7 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654318 block_nr=7 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654322 PDCH(bts=0,trx=0,ts=7) FN=2654318 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 9, CS=CS-1 @@ -2433,7 +2433,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654322 block_nr=8 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654322 block_nr=8 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654327 PDCH(bts=0,trx=0,ts=7) FN=2654322 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 10, CS=CS-1 @@ -2451,7 +2451,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654327 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654327 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654331 PDCH(bts=0,trx=0,ts=7) FN=2654327 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 11, CS=CS-1 @@ -2471,7 +2471,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654331 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654331 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654335 PDCH(bts=0,trx=0,ts=7) FN=2654331 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 12, CS=CS-1 @@ -2489,7 +2489,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654335 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654335 block_nr=11 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654340 PDCH(bts=0,trx=0,ts=7) FN=2654335 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 13, CS=CS-1 @@ -2509,7 +2509,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654340 block_nr=0 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654340 block_nr=0 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654344 PDCH(bts=0,trx=0,ts=7) FN=2654340 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 14, CS=CS-1 @@ -2527,7 +2527,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654344 block_nr=1 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654344 block_nr=1 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654348 PDCH(bts=0,trx=0,ts=7) FN=2654344 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==15) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 15, CS=CS-1 @@ -2545,7 +2545,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654348 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654348 block_nr=2 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654353 PDCH(bts=0,trx=0,ts=7) FN=2654348 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==16) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 16, CS=CS-1 @@ -2565,7 +2565,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654353 block_nr=3 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654353 block_nr=3 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654357 PDCH(bts=0,trx=0,ts=7) FN=2654353 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==17) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 17, CS=CS-1 @@ -2583,7 +2583,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654357 block_nr=4 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654357 block_nr=4 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654361 PDCH(bts=0,trx=0,ts=7) FN=2654357 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==18) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 18, CS=CS-1 @@ -2603,7 +2603,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654361 block_nr=5 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654361 block_nr=5 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654366 PDCH(bts=0,trx=0,ts=7) FN=2654361 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==19) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 19, CS=CS-1 @@ -2621,7 +2621,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654366 block_nr=6 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654366 block_nr=6 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654370 PDCH(bts=0,trx=0,ts=7) FN=2654366 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==20) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 20, CS=CS-1 @@ -2645,7 +2645,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654370 block_nr=7 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654370 block_nr=7 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654374 PDCH(bts=0,trx=0,ts=7) FN=2654370 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==21) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 21, CS=CS-1 @@ -2663,7 +2663,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654374 block_nr=8 scheduling free USF for polling at FN=2654379 of TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654374 block_nr=8 scheduling free USF for polling at FN=2654379 of TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) PDCH(bts=0,trx=0,ts=7) FN=2654374 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==22) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 22, CS=CS-1 @@ -2681,7 +2681,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654379 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654379 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654383 PDCH(bts=0,trx=0,ts=7) FN=2654379 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==23) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 23, CS=CS-1 @@ -2701,7 +2701,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654383 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654383 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654387 PDCH(bts=0,trx=0,ts=7) FN=2654383 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==24) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 24, CS=CS-1 @@ -2719,7 +2719,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654387 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654387 block_nr=11 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654392 PDCH(bts=0,trx=0,ts=7) FN=2654387 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==25) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 25, CS=CS-1 @@ -2739,7 +2739,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654392 block_nr=0 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654392 block_nr=0 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654396 PDCH(bts=0,trx=0,ts=7) FN=2654392 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==26) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 26, CS=CS-1 @@ -2757,7 +2757,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654396 block_nr=1 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654396 block_nr=1 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect asnwer on UL FN=2654400 PDCH(bts=0,trx=0,ts=7) FN=2654396 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==27) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 27, CS=CS-1 @@ -3573,7 +3573,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 0f 00 00 16 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 2654167 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-1 @@ -3583,7 +3583,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-1): 07 40 00 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-1 @@ -3748,7 +3748,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 21) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 21, MCS-1): 07 40 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Received RTS for PDCH: TRX=0 TS=4 FN=99 block_nr=11 scheduling free USF for polling at FN=104 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=99 block_nr=11 scheduling free USF for polling at FN=104 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=99 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==22) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 22, CS=MCS-1 @@ -3860,7 +3860,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 0f 00 00 12 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 112 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-2 @@ -3870,7 +3870,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-2): 07 40 00 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-2 @@ -4098,7 +4098,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 0f 00 00 06 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 91 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-3 @@ -4108,7 +4108,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-3): 07 40 00 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-3 @@ -4296,7 +4296,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-4): 0f 00 00 00 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 69 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-4 @@ -4306,7 +4306,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-4): 07 40 00 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-4 @@ -4478,7 +4478,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 0f 00 00 08 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 60 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-5 @@ -4488,7 +4488,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-5): 07 40 00 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-5 @@ -4644,7 +4644,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 0f 00 00 00 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 52 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-6 @@ -4654,7 +4654,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-6): 07 40 00 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-6 @@ -4787,7 +4787,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 0f 00 00 08 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 39 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-7) last_mcs(MCS-5) demanded_mcs(MCS-7) cs_trans(MCS-7) arq_type(1) bsn(0) @@ -4800,7 +4800,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-7): 07 00 00 02 b8 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-7 @@ -4939,7 +4939,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-8): 0f 00 00 00 60 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 40 f1 1f 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 Detected FN jump! 34 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-8) last_mcs(MCS-8) demanded_mcs(MCS-8) cs_trans(MCS-8) arq_type(1) bsn(0) @@ -4952,7 +4952,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-8): 07 00 00 02 88 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-8 @@ -5080,7 +5080,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 0f 00 00 00 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 30 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-9) last_mcs(MCS-6) demanded_mcs(MCS-9) cs_trans(MCS-9) arq_type(1) bsn(0) @@ -5093,7 +5093,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-9): 07 00 00 02 20 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-9 @@ -6924,7 +6924,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=159) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 already received -Received RTS for PDCH: TRX=0 TS=7 FN=2654275 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654275 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS), expect asnwer on UL FN=2654279 Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS)', TA=7 Got MS: TLLI = 0xf1223344, TA = 7 Modifying MS object, TLLI = 0xf1223344, IMSI '' -> '0011223344' @@ -7087,7 +7087,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because some data is missing and last block has CV==0. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE -Received RTS for PDCH: TRX=0 TS=7 FN=2654279 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654279 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS), expect asnwer on UL FN=2654283 PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654279 + 13 = 2654292 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -7591,7 +7591,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 -Received RTS for PDCH: TRX=0 TS=7 FN=2654283 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654283 block_nr=11 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS), expect asnwer on UL FN=2654288 Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS)', TA=7 Got MS: TLLI = 0xf1223344, TA = 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8c19d0924e73c324a36ea038cab7cc4e096b866b Gerrit-Change-Number: 24204 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 12:16:43 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 11 May 2021 12:16:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Verify CommonID contains LastUsedEutranPLMNId when in CSFB In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23969 ) Change subject: msc: Verify CommonID contains LastUsedEutranPLMNId when in CSFB ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23969/2/library/BSSMAP_Templates.ttcn File library/BSSMAP_Templates.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23969/2/library/BSSMAP_Templates.ttcn at 1184 PS2, Line 1184: } else if (not istemplatekind(mcc_mnc, "omit")) { Why not switch this and the else and avoid "not istemplatekind"? } else if (istemplatekind(mcc_mnc, "omit")) { That's slightly more readable IMHO. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23969 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: I161529fd9c8cacb7d17ea18660998df06bb0b575 Gerrit-Change-Number: 23969 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 11 May 2021 12:16:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 12:17:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 12:17:07 +0000 Subject: Change in osmo-pcu[master]: Tx ul ack/nack: Avoid sending invalid/unknown TLLI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24201 ) Change subject: Tx ul ack/nack: Avoid sending invalid/unknown TLLI ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24201/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/24201/1//COMMIT_MSG at 10 PS1, Line 10: contention resolution > Ok, I see. [?] I checked the specs before submitting the patch and I don't see it is actually wrong acking/nacking them. What's wrong is of course submitting a TLLI=0xffffff (invalid). Specs detail that contentiuon resolution on the MS side fails if it receives a UL ACK/NACK with an incorrect/different TLLI, so it's implicitly fine receiving UL ACK/NACK without TLLI for a while (MS has a N couner and a T timer to trigger failure if it doesn't receive the TLLI in a while). -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibae5df6cfbb56f8f8007cb9fec9c29006d673b72 Gerrit-Change-Number: 24201 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 11 May 2021 12:17:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 12:24:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 12:24:35 +0000 Subject: Change in osmo-pcu[master]: Drop existing tbf->ms() check condition References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24205 ) Change subject: Drop existing tbf->ms() check condition ...................................................................... Drop existing tbf->ms() check condition Since a while ago, tbf should always have an MS attached since its creation, so there's no sense to check for it here. Change-Id: If056a3fb83b43a48c2a6382fc30c6c81fe2b2651 --- M src/tbf_ul.cpp 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/05/24205/1 diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 9d984a6..272d8b3 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -407,8 +407,7 @@ gprs_rlcmac_rssi(this, rssi); /* store measurement values */ - if (ms()) - ms_update_l1_meas(ms(), meas); + ms_update_l1_meas(ms(), meas); uint32_t new_tlli = GSM_RESERVED_TMSI; unsigned int block_idx; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If056a3fb83b43a48c2a6382fc30c6c81fe2b2651 Gerrit-Change-Number: 24205 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 14:03:08 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 11 May 2021 14:03:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Verify CommonID contains LastUsedEutranPLMNId when in CSFB In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23969 ) Change subject: msc: Verify CommonID contains LastUsedEutranPLMNId when in CSFB ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23969 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: I161529fd9c8cacb7d17ea18660998df06bb0b575 Gerrit-Change-Number: 23969 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 11 May 2021 14:03:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 14:03:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 14:03:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: TC_n3103_max_t3169: Send TLLI in UL blocks References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24206 ) Change subject: pcu: TC_n3103_max_t3169: Send TLLI in UL blocks ...................................................................... pcu: TC_n3103_max_t3169: Send TLLI in UL blocks Otherwise MS is not behaving correctly and newer versions of PCU (more strict checking TLLI and behaving better) may not accept it and make the test fail. Related: OS#1940 Change-Id: I2efa5ce97bf2c82727efcbdebdc0a0b686664e12 --- M pcu/PCU_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/06/24206/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index f42a85b..333a68d 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1405,7 +1405,7 @@ /* Establish an Uplink TBF */ f_ms_establish_ul_tbf(ms); - f_ms_tx_ul_data_block_multi(ms, 5); + f_ms_tx_ul_data_block_multi(ms, 5, with_tlli := true); exp_ul_ack_sub := tr_UlAckNackGprs(*, tr_AckNackDescription('1'B), *); exp_ul_ack := tr_RLCMAC_UL_ACK_NACK_GPRS(ms.ul_tbf.tfi, exp_ul_ack_sub); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24206 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: I2efa5ce97bf2c82727efcbdebdc0a0b686664e12 Gerrit-Change-Number: 24206 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 14:15:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 14:15:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Verify CommonID contains LastUsedEutranPLMNId when in CSFB In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, Hoernchen, neels, laforge, fixeria, daniel, lynxis lazus, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23969 to look at the new patch set (#3). Change subject: msc: Verify CommonID contains LastUsedEutranPLMNId when in CSFB ...................................................................... msc: Verify CommonID contains LastUsedEutranPLMNId when in CSFB Validate in test that MSC sends Last Used E-UTRAN PLLMN Id IE when call is started by SGs (CSFB). Related: SYS#5337 Change-Id: I161529fd9c8cacb7d17ea18660998df06bb0b575 --- M library/BSSMAP_Templates.ttcn M msc/BSC_ConnectionHandler.ttcn M msc/MSC_Tests.ttcn 3 files changed, 61 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/23969/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23969 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: I161529fd9c8cacb7d17ea18660998df06bb0b575 Gerrit-Change-Number: 23969 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 14:23:34 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 11 May 2021 14:23:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Verify CommonID contains LastUsedEutranPLMNId when in CSFB In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23969 ) Change subject: msc: Verify CommonID contains LastUsedEutranPLMNId when in CSFB ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23969 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: I161529fd9c8cacb7d17ea18660998df06bb0b575 Gerrit-Change-Number: 23969 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 11 May 2021 14:23:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 14:50:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 14:50:54 +0000 Subject: Change in osmo-pcu[master]: sched: Clean up helper function and improve logging In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/24204 to look at the new patch set (#2). Change subject: sched: Clean up helper function and improve logging ...................................................................... sched: Clean up helper function and improve logging Change-Id: I8c19d0924e73c324a36ea038cab7cc4e096b866b --- M src/gprs_rlcmac_sched.cpp M tests/tbf/TbfTest.err 2 files changed, 67 insertions(+), 70 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/04/24204/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8c19d0924e73c324a36ea038cab7cc4e096b866b Gerrit-Change-Number: 24204 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 15:50:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 15:50:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Fix block_nr in tx PCUIF References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24207 ) Change subject: pcu: Fix block_nr in tx PCUIF ...................................................................... pcu: Fix block_nr in tx PCUIF Change-Id: Ic816862d8bdca1ea9b8c34b49129beb7e055258c --- M pcu/PCUIF_Components.ttcn 1 file changed, 8 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/07/24207/1 diff --git a/pcu/PCUIF_Components.ttcn b/pcu/PCUIF_Components.ttcn index be7aaeb..66b2e21 100644 --- a/pcu/PCUIF_Components.ttcn +++ b/pcu/PCUIF_Components.ttcn @@ -374,6 +374,11 @@ } } +private function fn2macblock(uint32_t fn) return uint8_t +{ + return (fn mod 52) / 4; +} + /* Get first message from queue. true if non-empty, false otherwise */ private function f_tx_data_ind_fn(integer bts_nr, integer fn) runs on RAW_PCU_BTS_CT @@ -399,7 +404,7 @@ f_PCUIF_MsgQueue_dequeue(pdtch_data_queue, pcu_msg); /* Patch TDMA frame / block number */ pcu_msg.u.data_ind.fn := fn; - pcu_msg.u.data_ind.block_nr := 0; /* FIXME! */ + pcu_msg.u.data_ind.block_nr := fn2macblock(fn); //log(prefix, "DATA.ind"); } else if (has_msg and pcu_msg.u.data_ind.fn < fn) { setverdict(fail, "We are late scheduling the block! ", pcu_msg.u.data_ind.fn, " < ", fn); @@ -439,7 +444,7 @@ /* Patch TDMA frame / block number and send */ pcu_msg.u.rts_req.fn := event.data.tdma_fn; - pcu_msg.u.rts_req.block_nr := 0; /* FIXME! */ + pcu_msg.u.rts_req.block_nr := fn2macblock(event.data.tdma_fn); PCUIF.send(pcu_msg); } @@ -462,7 +467,7 @@ /* Patch TDMA frame / block number and send */ pcu_msg.u.rts_req.fn := ev_begin_fn; - pcu_msg.u.rts_req.block_nr := 0; /* FIXME! */ + pcu_msg.u.rts_req.block_nr := fn2macblock(ev_begin_fn); PCUIF.send(pcu_msg); repeat; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24207 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: Ic816862d8bdca1ea9b8c34b49129beb7e055258c Gerrit-Change-Number: 24207 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 15:50:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 15:50:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_t3141 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24208 ) Change subject: pcu: Introduce test TC_t3141 ...................................................................... pcu: Introduce test TC_t3141 Change-Id: I5f30e93de4a109d60577394da4e00a15ab23d1d6 Related: OS#1940 --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 116 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/08/24208/1 diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index d3ace4d..5cf9104 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -241,6 +241,17 @@ return 51 * ((st.t3 - st.t2) mod 26) + st.t3 + 51 * 26 * st.t1; } +function fn2bn(GsmFrameNumber fn) return uint32_t { + return (fn mod 52) / 4; +} +function f_next_pdch_block(GsmFrameNumber fn) return GsmFrameNumber +{ + var uint32_t bn := fn2bn(fn) + 1; + fn := fn - (fn mod 52); + fn := fn + bn * 4 + bn / 3; + return fn mod GsmMaxFrameNumber; +} + function f_ultbf_new_from_rr_imm_ass(in GsmRrMessage rr_imm_ass) runs on MS_BTS_IFACE_CT return UlTbf { var UlTbf ul_tbf := valueof(t_UlTbf_def); diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 333a68d..dae0d93 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1270,6 +1270,110 @@ f_dl_data_exp_cs(f_rlcmac_block_int2cs_mcs(g_mcs_max_dl, true), bssgp_ms_racap_egprs_def); } +/* Verify PCU drops TBF after some time of inactivity. */ +testcase TC_t3141() runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var template (value) TsTrxBtsNum nr; + var BTS_PDTCH_Block data_msg; + var GprsMS ms; + var uint3_t rx_usf; + timer T_3141 := 1.0; + var boolean ul_tbf_usf_req := false; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ + + info_ind := valueof(ts_PCUIF_INFO_default(c_PCUIF_Flags_noMCS)); + /* Only use 1 PDCH to simplify test: */ + f_PCUIF_PDCHMask_set(info_ind, '00000001'B, 0); + f_PCUIF_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename(), info_ind); + + f_vty_config2(PCUVTY, {"pcu"}, "timer T3141 1"); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* Establish a one-phase access Uplink TBF */ + f_ms_establish_ul_tbf(ms); + + T_3141.start; + + /* Now we wait for PCU to transmit our USF */ + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + + alt { + [] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, + tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH), + ?)) -> value data_msg { + if (ms.ul_tbf.usf[valueof(nr.ts_nr)] == USF_UNUSED) { + setverdict(fail, "Unexpected ts_nr ", valueof(nr.ts_nr), " without USF allocated"); + f_shutdown(__BFILE__, __LINE__); + } + + rx_usf := f_rlcmac_dl_block_get_usf(data_msg.dl_block); + if (rx_usf == ms.ul_tbf.usf[valueof(nr.ts_nr)]) { + /* PCU requests our USF, transmit WITHOUT tlli to avoid contention resolution success */ + ul_tbf_usf_req := true; + f_ms_tx_ul_data_block(ms, f_rnd_octstring(10), cv := 15, with_tlli := false, fn := f_next_pdch_block(data_msg.raw.fn)) + } else if (rx_usf == USF_UNUSED) { + if (data_msg.raw.fn >= ms.ul_tbf.start_time_fn) { + if (ul_tbf_usf_req) { + /* TBF was dropped by T3141, success */ + setverdict(pass); + break; + } else { + log("PCU never requested USF, unexpected"); + f_shutdown(__BFILE__, __LINE__); + } + } /* else: Keep waiting for TBF to be active by network */ + } else { + log("PCU requests ", rx_usf, ", we have ", ms.ul_tbf.usf[valueof(nr.ts_nr)]); + f_shutdown(__BFILE__, __LINE__); + } + + /* Make sure we don't receive a Ul ACK/NACK with TLLI set: */ + if (match(data_msg.dl_block, + tr_RLCMAC_UL_ACK_NACK_GPRS(ms.ul_tbf.tfi, + tr_UlAckNackGprs(tlli := ?, + acknack_desc := ?, + rel99 := *)))) + { + log("Received UL ACK/NACK with TLLI set"); + f_shutdown(__BFILE__, __LINE__); + } + + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + repeat; + } + [] T_3141.timeout { + log("T_3141 expired but TBF is still active, unexpected"); + f_shutdown(__BFILE__, __LINE__); + } + [] BTS.receive { + /* We should never receive non-dummy messages, aka UL ACK/NACK, + * because we never sent the TLLI to the PCU */ + setverdict(fail, "Unexpected BTS message"); + f_shutdown(__BFILE__, __LINE__); + } + } + + f_shutdown(__BFILE__, __LINE__, final := true); +} + /* Validate what happens when RACH to get UL TBF and then PCU receives no UL * data. It should end up in N3101 reaching N3101_MAX and finally triggering * T3169. See OS#5033 */ @@ -5732,6 +5836,7 @@ execute( TC_mcs_max_ul() ); execute( TC_mcs_initial_dl() ); execute( TC_mcs_max_dl() ); + execute( TC_t3141() ); execute( TC_n3101_max_t3169() ); execute( TC_n3103_max_t3169() ); execute( TC_x2031_t3191() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24208 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: I5f30e93de4a109d60577394da4e00a15ab23d1d6 Gerrit-Change-Number: 24208 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 16:06:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 16:06:48 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc: Avoid erroring every few secs about unconnected BTS References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24209 ) Change subject: osmo-bsc: Avoid erroring every few secs about unconnected BTS ...................................................................... osmo-bsc: Avoid erroring every few secs about unconnected BTS I know my 2nd BTS is not connected, no need to get an error about it every few seconds. Change-Id: I7c991b49b4f474d8b324ac7ff3ddb6a9ec59751d --- M src/osmo-bsc/bts.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/09/24209/1 diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 17659a1..66bd360 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -566,7 +566,7 @@ struct timespec tp; if (!bts->uptime || !bts->oml_link) { - LOGP(DNM, LOGL_ERROR, "BTS %u OML link uptime unavailable\n", bts->nr); + LOGP(DNM, LOGL_INFO, "BTS %u OML link uptime unavailable\n", bts->nr); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c991b49b4f474d8b324ac7ff3ddb6a9ec59751d Gerrit-Change-Number: 24209 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 16:07:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 16:07:46 +0000 Subject: Change in osmo-pcu[master]: ul_tbf: Simplify function rcv_data_block_acknowledged References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24210 ) Change subject: ul_tbf: Simplify function rcv_data_block_acknowledged ...................................................................... ul_tbf: Simplify function rcv_data_block_acknowledged Let's avoid different code paths in the loop based on is_tlli_invalid. Instead, always do the proper storing of the block, and if later on the corner case is found (no TLLI received while in Content Resolution process) when checking tlli related stuff, then simply invalidate the block. Related: OS#1940 Change-Id: I77afaa617d7ce045c0f6d994fc0d8e03fe69de53 --- M src/tbf_ul.cpp 1 file changed, 6 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/10/24210/1 diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 272d8b3..e92a920 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -420,7 +420,6 @@ int num_chunks; uint8_t *rlc_data; rdbi = &rlc->block_info[block_idx]; - bool need_rlc_data = false; LOGPTBFUL(this, LOGL_DEBUG, "Got %s RLC data block: CV=%d, BSN=%d, SPB=%d, PI=%d, E=%d, TI=%d, bitoffs=%d\n", @@ -435,23 +434,12 @@ LOGPTBFUL(this, LOGL_DEBUG, "BSN %d out of window %d..%d (it's normal)\n", rdbi->bsn, m_window.v_q(), m_window.mod_sns(m_window.v_q() + ws - 1)); + continue; } else if (m_window.is_received(rdbi->bsn)) { LOGPTBFUL(this, LOGL_DEBUG, "BSN %d already received\n", rdbi->bsn); - } else { - need_rlc_data = true; - } - - if (!is_tlli_valid()) { - if (!rdbi->ti) { - LOGPTBFUL(this, LOGL_NOTICE, "Missing TLLI within UL DATA.\n"); - continue; - } - need_rlc_data = true; - } - - if (!need_rlc_data) continue; + } /* Store block and meta info to BSN buffer */ @@ -513,6 +501,10 @@ m_window.invalidate_bsn(rdbi->bsn); continue; } + } else if (!is_tlli_valid()) { + LOGPTBFUL(this, LOGL_NOTICE, "Missing TLLI within UL DATA.\n"); + m_window.invalidate_bsn(rdbi->bsn); + continue; } m_window.receive_bsn(rdbi->bsn); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I77afaa617d7ce045c0f6d994fc0d8e03fe69de53 Gerrit-Change-Number: 24210 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 16:07:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 16:07:47 +0000 Subject: Change in osmo-pcu[master]: ul_tbf: Fix accessing zeroed block when checking if transfer is complete References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24211 ) Change subject: ul_tbf: Fix accessing zeroed block when checking if transfer is complete ...................................................................... ul_tbf: Fix accessing zeroed block when checking if transfer is complete The logic checking whether the UL TBF had already been sent all the data (and hence was marked as finished and requesting UL ACK to be sent) was not taking into account the case where there was still no valid block stored, ie. when the first received UL data block was discarded for some reason (ex: because TLLI was not set during content resolution). Related: OS#1940 Change-Id: I739e67ae1bb40555a362170f26fb98ac69caabb2 --- M src/tbf_ul.cpp 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/11/24211/1 diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index e92a920..231ed06 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -528,7 +528,8 @@ /* Check if we already received all data TBF had to send: */ if (this->state_is(GPRS_RLCMAC_FLOW) /* still in flow state */ - && this->m_window.v_q() == this->m_window.v_r()) { /* if complete */ + && this->m_window.v_q() == this->m_window.v_r() /* if complete */ + && block->len) { /* if there was ever a last block received */ LOGPTBFUL(this, LOGL_DEBUG, "No gaps in received block, last block: BSN=%d CV=%d\n", rdbi->bsn, rdbi->cv); @@ -542,7 +543,7 @@ /* If TLLI is included or if we received half of the window, we send * an ack/nack */ - maybe_schedule_uplink_acknack(rlc, rdbi->cv == 0); + maybe_schedule_uplink_acknack(rlc, block->len && rdbi->cv == 0); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I739e67ae1bb40555a362170f26fb98ac69caabb2 Gerrit-Change-Number: 24211 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 16:09:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 16:09:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Verify CommonID contains LastUsedEutranPLMNId when in CSFB In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23969 ) Change subject: msc: Verify CommonID contains LastUsedEutranPLMNId when in CSFB ...................................................................... msc: Verify CommonID contains LastUsedEutranPLMNId when in CSFB Validate in test that MSC sends Last Used E-UTRAN PLLMN Id IE when call is started by SGs (CSFB). Related: SYS#5337 Change-Id: I161529fd9c8cacb7d17ea18660998df06bb0b575 --- M library/BSSMAP_Templates.ttcn M msc/BSC_ConnectionHandler.ttcn M msc/MSC_Tests.ttcn 3 files changed, 61 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, approved diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index 2b99a5b..1949fd6 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -1163,7 +1163,10 @@ elementIdentifier := '95'O, mcc_mnc := mcc_mnc } - +template BSSAMAP_IE_LastUsedEUTRANPLMNId tr_BSSMAP_LastUsedEUTRANPLMNId(template OCT3 mcc_mnc) := { + elementIdentifier := '95'O, + mcc_mnc := mcc_mnc +} function f_ts_BSSMAP_LastUsedEUTRANPLMNId(template (omit) OCT3 mcc_mnc) return template (omit) BSSAMAP_IE_LastUsedEUTRANPLMNId { if (not istemplatekind(mcc_mnc, "omit")) { @@ -1172,6 +1175,18 @@ return omit; } } +function f_tr_BSSMAP_LastUsedEUTRANPLMNId(template OCT3 mcc_mnc) +return template BSSAMAP_IE_LastUsedEUTRANPLMNId { + if (istemplatekind(mcc_mnc, "*")) { + return *; + } else if (istemplatekind(mcc_mnc, "?")) { + return ?; + } else if (istemplatekind(mcc_mnc, "omit")) { + return omit; + } else { + return ts_BSSMAP_LastUsedEUTRANPLMNId(valueof(mcc_mnc)); + } +} template BSSMAP_FIELD_CellIdentificationList ts_BSSMAP_CIL_noCell := { cIl_noCell := ''O @@ -1227,7 +1242,7 @@ } -private function f_enc_mcc_mnc(GsmMcc mcc, GsmMnc mnc) return OCT3 { +function f_enc_mcc_mnc(GsmMcc mcc, GsmMnc mnc) return OCT3 { if (lengthof(mnc) == 2) { return hex2oct(mcc[1] & mcc[0] & 'F'H & mcc[2] & mnc[1] & mnc[0]); } else { @@ -1235,6 +1250,15 @@ } } +function f_dec_mcc_mnc(in OCT3 mcc_mnc, out GsmMcc mcc, out GsmMnc mnc) { + var hexstring hs := oct2hex(mcc_mnc); + mcc := hs[1] & hs[0] & hs[3]; + mnc := hs[5] & hs[4]; + if (hs[2] == 'F'H) { + mnc := mnc & hs[2]; + } +} + template (value) BSSMAP_FIELD_CellIdentification_CGI ts_BSSMAP_CI_CGI(GsmMcc mcc, GsmMnc mnc, GsmLac lac, GsmCellId ci) := { mcc_mnc := f_enc_mcc_mnc(mcc, mnc), lac := int2oct(lac, 2), @@ -1737,14 +1761,17 @@ } } -template PDU_BSSAP tr_BSSMAP_CommonId(template hexstring imsi_digits) +template PDU_BSSAP tr_BSSMAP_CommonId(template hexstring imsi_digits, + template BSSAMAP_IE_LastUsedEUTRANPLMNId lastUsedEUTRANPLMNId := *) modifies tr_BSSAP_BSSMAP := { pdu := { bssmap := { commonID := { messageType := '2F'O, iMSI := tr_BSSMAP_Imsi(imsi_digits), - sNAAccessInformation := * + sNAAccessInformation := *, + selectedPLMNId := *, + lastUsedEUTRANPLMNId := lastUsedEUTRANPLMNId } } } diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index 30adb03..8ca8264 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -106,7 +106,8 @@ boolean ran_is_geran, boolean use_osmux, boolean use_ipv6, - boolean verify_cell_id + boolean verify_cell_id, + OCT3 common_id_last_eutran_plmn optional }; /* get a one-octet bitmaks of supported algorithms based on Classmark information */ @@ -524,7 +525,8 @@ function f_expect_common_id() runs on BSC_ConnHdlr { if (g_pars.ran_is_geran) { - BSSAP.receive(tr_BSSMAP_CommonId(g_pars.imsi)); + BSSAP.receive(tr_BSSMAP_CommonId(g_pars.imsi, + f_tr_BSSMAP_LastUsedEUTRANPLMNId(g_pars.common_id_last_eutran_plmn))); } else { BSSAP.receive(tr_RANAP_CommonId(imsi_hex2oct(g_pars.imsi))); } diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 8325625..0fdc376 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -16,6 +16,7 @@ import from General_Types all; import from Osmocom_Types all; +import from GSM_Types all; import from M3UA_Types all; import from M3UA_Emulation all; @@ -400,7 +401,8 @@ ran_is_geran := ran_is_geran, use_osmux := use_osmux, use_ipv6 := false, - verify_cell_id := verify_cell_id + verify_cell_id := verify_cell_id, + common_id_last_eutran_plmn := omit }; if (not ran_is_geran) { pars.use_umts_aka := true; @@ -4536,13 +4538,19 @@ var PDU_SGsAP lua; var PDU_SGsAP mm_info; var octetstring mm_info_dtap; + var GsmMcc mcc; + var GsmMnc mnc; + var template (omit) TrackingAreaIdentityValue tai := omit; /* tell GSUP dispatcher to send this IMSI to us */ f_create_gsup_expect(hex2str(g_pars.imsi)); - + if (g_pars.common_id_last_eutran_plmn != omit) { + f_dec_mcc_mnc(g_pars.common_id_last_eutran_plmn, mcc, mnc); + tai := ts_SGsAP_TAI(mcc, mnc, 555); + } lur := valueof(ts_SGsAP_LU_REQ(g_pars.imsi, mme_name, IMSI_attach, ts_SGsAP_LAI('901'H, '70'H, 2342), - ts_SGsAP_TAI('901'H, '70'H, 555))); + tai)); /* Old LAI, if MS sends it */ /* TMSI status, if MS has no valid TMSI */ /* IMEISV, if it supports "automatic device detection" */ @@ -4602,6 +4610,7 @@ var BSC_ConnHdlr vc_conn; f_init(1, true); pars := f_init_pars(11811, true); + pars.common_id_last_eutran_plmn := f_enc_mcc_mnc('901'H, '70'H); vc_conn := f_start_handler_with_pars(refers(f_tc_sgsap_lu), pars); vc_conn.done; } @@ -4729,6 +4738,7 @@ var BSC_ConnHdlr vc_conn; f_init(1, true); pars := f_init_pars(11814, true); + pars.common_id_last_eutran_plmn := f_enc_mcc_mnc('901'H, '70'H); vc_conn := f_start_handler_with_pars(refers(f_tc_sgsap_expl_imsi_det_eps), pars); vc_conn.done; } @@ -4753,6 +4763,7 @@ var BSC_ConnHdlr vc_conn; f_init(1, true); pars := f_init_pars(11814, true); + pars.common_id_last_eutran_plmn := f_enc_mcc_mnc('901'H, '70'H); vc_conn := f_start_handler_with_pars(refers(f_tc_sgsap_impl_imsi_det_eps), pars); vc_conn.done; } @@ -4780,6 +4791,7 @@ var BSC_ConnHdlr vc_conn; f_init(1, true); pars := f_init_pars(11815, true); + pars.common_id_last_eutran_plmn := f_enc_mcc_mnc('901'H, '70'H); vc_conn := f_start_handler_with_pars(refers(f_tc_sgsap_expl_imsi_det_noneps), pars); vc_conn.done; } @@ -4807,6 +4819,7 @@ var BSC_ConnHdlr vc_conn; f_init(1, true); pars := f_init_pars(11815, true); + pars.common_id_last_eutran_plmn := f_enc_mcc_mnc('901'H, '70'H); vc_conn := f_start_handler_with_pars(refers(f_tc_sgsap_impl_imsi_det_noneps), pars); vc_conn.done; } @@ -4858,6 +4871,7 @@ var BSC_ConnHdlr vc_conn; f_init(1, true); pars := f_init_pars(11816, true); + pars.common_id_last_eutran_plmn := f_enc_mcc_mnc('901'H, '70'H); vc_conn := f_start_handler_with_pars(refers(f_tc_sgsap_paging_rej), pars); vc_conn.done; } @@ -4907,6 +4921,7 @@ var BSC_ConnHdlr vc_conn; f_init(1, true); pars := f_init_pars(11817, true); + pars.common_id_last_eutran_plmn := f_enc_mcc_mnc('901'H, '70'H); vc_conn := f_start_handler_with_pars(refers(f_tc_sgsap_paging_subscr_rej), pars); vc_conn.done; } @@ -4951,6 +4966,7 @@ var BSC_ConnHdlr vc_conn; f_init(1, true); pars := f_init_pars(11818, true); + pars.common_id_last_eutran_plmn := f_enc_mcc_mnc('901'H, '70'H); vc_conn := f_start_handler_with_pars(refers(f_tc_sgsap_paging_ue_unr), pars); vc_conn.done; } @@ -5010,6 +5026,7 @@ var BSC_ConnHdlr vc_conn; f_init(1, true); pars := f_init_pars(11819, true); + pars.common_id_last_eutran_plmn := f_enc_mcc_mnc('901'H, '70'H); vc_conn := f_start_handler_with_pars(refers(f_tc_sgsap_paging_and_nothing), pars); vc_conn.done; } @@ -5068,6 +5085,7 @@ var BSC_ConnHdlr vc_conn; f_init(1, true); pars := f_init_pars(11820, true); + pars.common_id_last_eutran_plmn := f_enc_mcc_mnc('901'H, '70'H); vc_conn := f_start_handler_with_pars(refers(f_tc_sgsap_paging_and_lu), pars); vc_conn.done; } @@ -5276,6 +5294,7 @@ var BSC_ConnHdlr vc_conn; f_init(1, true); pars := f_init_pars(11823, true); + pars.common_id_last_eutran_plmn := f_enc_mcc_mnc('901'H, '70'H); vc_conn := f_start_handler_with_pars(refers(f_tc_sgsap_mt_sms), pars); vc_conn.done; } @@ -5306,6 +5325,7 @@ var BSC_ConnHdlr vc_conn; f_init(1, true); pars := f_init_pars(11824, true); + pars.common_id_last_eutran_plmn := f_enc_mcc_mnc('901'H, '70'H); vc_conn := f_start_handler_with_pars(refers(f_tc_sgsap_mo_sms), pars); vc_conn.done; } @@ -5369,6 +5389,7 @@ var BSC_ConnHdlr vc_conn; f_init(1, true); pars := f_init_pars(11825, true); + pars.common_id_last_eutran_plmn := f_enc_mcc_mnc('901'H, '70'H); vc_conn := f_start_handler_with_pars(refers(f_tc_sgsap_mt_sms_and_nothing), pars); vc_conn.done; } @@ -5429,6 +5450,7 @@ var BSC_ConnHdlr vc_conn; f_init(1, true); pars := f_init_pars(11826, true); + pars.common_id_last_eutran_plmn := f_enc_mcc_mnc('901'H, '70'H); vc_conn := f_start_handler_with_pars(refers(f_tc_sgsap_mt_sms_and_reject), pars); vc_conn.done; } @@ -5445,6 +5467,7 @@ if (bssmap_lu) { f_perform_lu(); } + pars.common_id_last_eutran_plmn := f_enc_mcc_mnc('901'H, '70'H); f_sgs_perform_lu(); f_sleep(1.0); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23969 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: I161529fd9c8cacb7d17ea18660998df06bb0b575 Gerrit-Change-Number: 23969 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 16:27:02 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 11 May 2021 16:27:02 +0000 Subject: Change in osmo-ci[master]: OBS: conflict: allow overriding pkgver References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24212 ) Change subject: OBS: conflict: allow overriding pkgver ...................................................................... OBS: conflict: allow overriding pkgver Allow overriding OSMO_OBS_CONFLICT_PKGVER, so we can increase the version of the osmocom-2021q1 package whenever something changes on one of the 2021q1 branches. Related: SYS#5370 Change-Id: Iae45d7462aab8227ed3756e6cccfa3e64cb04211 --- M scripts/common-obs-conflict.sh M scripts/osmocom-packages-docker.sh 2 files changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/12/24212/1 diff --git a/scripts/common-obs-conflict.sh b/scripts/common-obs-conflict.sh index a4fc98d..b6b381a 100644 --- a/scripts/common-obs-conflict.sh +++ b/scripts/common-obs-conflict.sh @@ -2,7 +2,7 @@ # Create conflicting dummy packages in OBS (opensuse build service), so users can't mix packages # built from different branches by accident -OSMO_OBS_CONFLICT_PKGVER="1.0.0" +OSMO_OBS_CONFLICT_PKGVER="${OSMO_OBS_CONFLICT_PKGVER:-1.0.0}" # Create the conflicting package for debian # diff --git a/scripts/osmocom-packages-docker.sh b/scripts/osmocom-packages-docker.sh index 66eb311..4465d20 100755 --- a/scripts/osmocom-packages-docker.sh +++ b/scripts/osmocom-packages-docker.sh @@ -26,6 +26,7 @@ docker run \ -e "FEED=$FEED" \ + -e "OSMO_OBS_CONFLICT_PKGVER=$OSMO_OBS_CONFLICT_PKGVER" \ -e "PACKAGES=$PACKAGES" \ -e "PROJ=$PROJ" \ -v "$SCRIPTS:/scripts" \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iae45d7462aab8227ed3756e6cccfa3e64cb04211 Gerrit-Change-Number: 24212 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 16:32:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 16:32:27 +0000 Subject: Change in osmo-ci[master]: OBS: conflict: allow overriding pkgver In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24212 ) Change subject: OBS: conflict: allow overriding pkgver ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iae45d7462aab8227ed3756e6cccfa3e64cb04211 Gerrit-Change-Number: 24212 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 16:32:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 16:32:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 16:32:53 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7: introduce notion of configurable 'quirks' References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 ) Change subject: osmo_ss7: introduce notion of configurable 'quirks' ...................................................................... osmo_ss7: introduce notion of configurable 'quirks' A quirk is an implementation work-around in order to establish interoperability with another implementation, either a buggy one or one that follows a different interpretation of a given spec. For now, we introduce a first quirk affecting when we (in ASP role) send an ASP-ACTIVE message to the SG. Closes: OS#5145 Change-Id: Idd947ea39d743eb1bc9342ad9d098036821da45b --- M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7_vty.c M src/xua_default_lm_fsm.c 3 files changed, 77 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/13/24213/1 diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index a278b59..8370dd9 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -427,9 +427,13 @@ struct osmo_ss7_asp_peer local; struct osmo_ss7_asp_peer remote; uint8_t qos_class; + uint32_t quirks; } cfg; }; +/*! Peer SG doesn't send NTFY(AS-INACTIVE) after ASP-UP procedure */ +#define OSMO_SS7_ASP_QUIRK_NO_NOTIFY 0x00000001 + int osmo_ss7_asp_peer_snprintf(char* buf, size_t buf_len, struct osmo_ss7_asp_peer *peer); int osmo_ss7_asp_peer_set_hosts(struct osmo_ss7_asp_peer *peer, void *talloc_ctx, const char* const* hosts, size_t host_cnt); diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 4db3c53..bc84bca 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -1,6 +1,6 @@ /* Core SS7 Instance/Linkset/Link/AS/ASP VTY Interface */ -/* (C) 2015-2017 by Harald Welte +/* (C) 2015-2021 by Harald Welte * All Rights Reserved * * SPDX-License-Identifier: GPL-2.0+ @@ -55,6 +55,15 @@ "MTP3 User Adaptation\n" \ "IPA Multiplex (SCCP Lite)\n" +static const struct value_string asp_quirk_names[] = { + { OSMO_SS7_ASP_QUIRK_NO_NOTIFY, "no_notify" }, + { 0, NULL } +}; + +static const struct value_string asp_quirk_descs[] = { + { OSMO_SS7_ASP_QUIRK_NO_NOTIFY, "Peer SG doesn't send NTFY(AS-INACTIVE) after ASP-UP" }, + { 0, NULL } +}; /*********************************************************************** * Core CS7 Configuration @@ -747,6 +756,44 @@ return CMD_WARNING; } +DEFUN_ATTR(asp_quirk, asp_quirk_cmd, + "OVERWRITTEN", + "OVERWRITTEN\n", + CMD_ATTR_IMMEDIATE) +{ + struct osmo_ss7_asp *asp = vty->index; +#if 0 /* we only have one quirk, so there is no argv[0] yet! */ + int quirk = get_string_value(asp_quirk_names, argv[0]); +#else + int quirk = get_string_value(asp_quirk_names, "no_notify"); +#endif + + if (quirk < 0) + return CMD_WARNING; + + asp->cfg.quirks |= quirk; + return CMD_SUCCESS; +} + +DEFUN_ATTR(asp_no_quirk, asp_no_quirk_cmd, + "OVERWRITTEN", + "OVERWRITTEN\n", + CMD_ATTR_IMMEDIATE) +{ + struct osmo_ss7_asp *asp = vty->index; +#if 0 /* we only have one quirk, so there is no argv[0] yet! */ + int quirk = get_string_value(asp_quirk_names, argv[0]); +#else + int quirk = get_string_value(asp_quirk_names, "no_notify"); +#endif + + if (quirk < 0) + return CMD_WARNING; + + asp->cfg.quirks &= ~quirk; + return CMD_SUCCESS; +} + DEFUN(show_cs7_asp, show_cs7_asp_cmd, "show cs7 instance <0-15> asp", SHOW_STR CS7_STR INST_STR INST_STR "Application Server Process (ASP)\n") @@ -814,6 +861,11 @@ } if (!asp->cfg.is_server) vty_out(vty, " sctp-role client%s", VTY_NEWLINE); + for (i = 0; i < 32; i++) { + if (!(asp->cfg.quirks & (1 << i))) + continue; + vty_out(vty, " quirk %s%s", get_value_string(asp_quirk_names, (1 << i)), VTY_NEWLINE); + } } @@ -2029,6 +2081,17 @@ { g_ctx = ctx; + asp_quirk_cmd.string = vty_cmd_string_from_valstr(ctx, asp_quirk_names, + "quirk (", "|", ")", VTY_DO_LOWER); + asp_quirk_cmd.doc = vty_cmd_string_from_valstr(ctx, asp_quirk_descs, + "Enable quirk to work around interop issues\n", + "\n", "\n", 0); + asp_no_quirk_cmd.string = vty_cmd_string_from_valstr(ctx, asp_quirk_names, + "no quirk (", "|", ")", VTY_DO_LOWER); + asp_no_quirk_cmd.doc = vty_cmd_string_from_valstr(ctx, asp_quirk_descs, + NO_STR "Disable quirk to work around interop issues\n", + "\n", "\n", 0); + install_lib_element_ve(&show_cs7_user_cmd); install_lib_element_ve(&show_cs7_xua_cmd); install_lib_element_ve(&show_cs7_config_cmd); @@ -2057,6 +2120,8 @@ install_lib_element(L_CS7_ASP_NODE, &asp_sctp_role_cmd); install_lib_element(L_CS7_ASP_NODE, &asp_block_cmd); install_lib_element(L_CS7_ASP_NODE, &asp_shutdown_cmd); + install_lib_element(L_CS7_ASP_NODE, &asp_quirk_cmd); + install_lib_element(L_CS7_ASP_NODE, &asp_no_quirk_cmd); install_node(&as_node, NULL); install_lib_element_ve(&show_cs7_as_cmd); diff --git a/src/xua_default_lm_fsm.c b/src/xua_default_lm_fsm.c index 338f4ae..1c047be 100644 --- a/src/xua_default_lm_fsm.c +++ b/src/xua_default_lm_fsm.c @@ -1,5 +1,5 @@ /* Default XUA Layer Manager */ -/* (C) 2017 by Harald Welte +/* (C) 2017-2021 by Harald Welte * All Rights Reserved * * SPDX-License-Identifier: GPL-2.0+ @@ -170,6 +170,12 @@ restart_asp(fi); break; case T_WAIT_NOTIFY: + if (lmp->asp->cfg.quirks & OSMO_SS7_ASP_QUIRK_NO_NOTIFY) { + /* some implementations don't send the NOTIFY which they SHOULD + * according to RFC4666 (see OS#5145) */ + osmo_fsm_inst_dispatch(fi, LM_E_AS_INACTIVE_IND, NULL); + break; + } /* No AS has reported via NOTIFY that is was * (statically) configured at the SG for this ASP, so * let's dynamically register */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Idd947ea39d743eb1bc9342ad9d098036821da45b Gerrit-Change-Number: 24213 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 16:32:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 16:32:53 +0000 Subject: Change in libosmo-sccp[master]: m3ua: Add quirk for allowing inbound DAUD from SG in ASP role. References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 ) Change subject: m3ua: Add quirk for allowing inbound DAUD from SG in ASP role. ...................................................................... m3ua: Add quirk for allowing inbound DAUD from SG in ASP role. The M3UA RFC talks about this message being used in ASP->SG direction, not the other way around. Closes: OS#5147 Change-Id: I36ff172b47142a877b37bbd149073bef35b36a74 --- M include/osmocom/sigtran/osmo_ss7.h M src/m3ua.c M src/osmo_ss7_vty.c 3 files changed, 13 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/14/24214/1 diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index 8370dd9..a799b04 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -433,6 +433,8 @@ /*! Peer SG doesn't send NTFY(AS-INACTIVE) after ASP-UP procedure */ #define OSMO_SS7_ASP_QUIRK_NO_NOTIFY 0x00000001 +/*! Accept DAUD in ASP role (RFC states only permitted in ASP->SG role) */ +#define OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP 0x00000002 int osmo_ss7_asp_peer_snprintf(char* buf, size_t buf_len, struct osmo_ss7_asp_peer *peer); int osmo_ss7_asp_peer_set_hosts(struct osmo_ss7_asp_peer *peer, void *talloc_ctx, diff --git a/src/m3ua.c b/src/m3ua.c index 77326e0..283b3f8 100644 --- a/src/m3ua.c +++ b/src/m3ua.c @@ -901,6 +901,14 @@ xua->hdr.msg_type); /* silently ignore those to not confuse the sender */ break; + case M3UA_SNM_DAUD: + /* RFC states only permitted in ASP->SG direction, not reverse. But some + * equipment still sends it to use as ASP ?!? */ + if (asp->cfg.quirks & OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP) + xua_snm_rx_daud(asp, xua); + else + return M3UA_ERR_UNSUPP_MSG_TYPE; + break; default: return M3UA_ERR_UNSUPP_MSG_TYPE; } diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index bc84bca..b2e3192 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -56,12 +56,14 @@ "IPA Multiplex (SCCP Lite)\n" static const struct value_string asp_quirk_names[] = { - { OSMO_SS7_ASP_QUIRK_NO_NOTIFY, "no_notify" }, + { OSMO_SS7_ASP_QUIRK_NO_NOTIFY, "no_notify" }, + { OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP, "daud_in_asp" }, { 0, NULL } }; static const struct value_string asp_quirk_descs[] = { { OSMO_SS7_ASP_QUIRK_NO_NOTIFY, "Peer SG doesn't send NTFY(AS-INACTIVE) after ASP-UP" }, + { OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP, "Allow Rx of DAUD in ASP role" }, { 0, NULL } }; @@ -762,11 +764,7 @@ CMD_ATTR_IMMEDIATE) { struct osmo_ss7_asp *asp = vty->index; -#if 0 /* we only have one quirk, so there is no argv[0] yet! */ int quirk = get_string_value(asp_quirk_names, argv[0]); -#else - int quirk = get_string_value(asp_quirk_names, "no_notify"); -#endif if (quirk < 0) return CMD_WARNING; @@ -781,11 +779,7 @@ CMD_ATTR_IMMEDIATE) { struct osmo_ss7_asp *asp = vty->index; -#if 0 /* we only have one quirk, so there is no argv[0] yet! */ int quirk = get_string_value(asp_quirk_names, argv[0]); -#else - int quirk = get_string_value(asp_quirk_names, "no_notify"); -#endif if (quirk < 0) return CMD_WARNING; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I36ff172b47142a877b37bbd149073bef35b36a74 Gerrit-Change-Number: 24214 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 16:46:55 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 11 May 2021 16:46:55 +0000 Subject: Change in osmo-mgw[master]: Log some useful messages at ERROR/INFO instead of DEBUG In-Reply-To: References: Message-ID: keith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24198 ) Change subject: Log some useful messages at ERROR/INFO instead of DEBUG ...................................................................... Log some useful messages at ERROR/INFO instead of DEBUG Change-Id: I22cbecab8d9f7a1980387f16c9a8da444aaa0311 --- M src/libosmo-mgcp/mgcp_e1.c 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_e1.c b/src/libosmo-mgcp/mgcp_e1.c index 7d4a29e..7e810bc 100644 --- a/src/libosmo-mgcp/mgcp_e1.c +++ b/src/libosmo-mgcp/mgcp_e1.c @@ -337,7 +337,7 @@ /* Find associated trunk */ trunk = mgcp_trunk_by_line_num(cfg, ts->line->num); if (!trunk) { - LOGP(DE1, LOGL_DEBUG, "E1-RX: unable to find a trunk for E1-line %u!\n", ts->line->num); + LOGP(DE1, LOGL_ERROR, "E1-RX: unable to find a trunk for E1-line %u!\n", ts->line->num); return; } @@ -376,14 +376,14 @@ cfg = trunk->cfg; if (trunk->e1.ts_in_use[ts_nr - 1]) { - LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "E1 timeslot %u already set up, skipping...\n", ts_nr); + LOGPTRUNK(trunk, DE1, LOGL_INFO, "E1 timeslot %u already set up, skipping...\n", ts_nr); return 0; } /* Get E1 line */ e1_line = e1inp_line_find(trunk->e1.vty_line_nr); if (!e1_line) { - LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "no such E1 line %u - check VTY config!\n", + LOGPTRUNK(trunk, DE1, LOGL_ERROR, "no such E1 line %u - check VTY config!\n", trunk->e1.vty_line_nr); return -EINVAL; } @@ -401,7 +401,7 @@ return -EINVAL; } - LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "E1 timeslot %u set up successfully.\n", ts_nr); + LOGPTRUNK(trunk, DE1, LOGL_INFO, "E1 timeslot %u set up successfully.\n", ts_nr); trunk->e1.ts_in_use[ts_nr - 1] = true; return 0; @@ -545,7 +545,7 @@ endp->e1.scd.mux.in_cb_queue_empty = e1_i460_mux_empty_cb; endp->e1.scd.mux.user_data = endp; - LOGPENDP(endp, DE1, LOGL_DEBUG, "adding I.460 subchannel: ts=%u, bit_offset=%u, rate=%uk, num_bits=%lu\n", ts, + LOGPENDP(endp, DE1, LOGL_INFO, "adding I.460 subchannel: ts=%u, bit_offset=%u, rate=%uk, num_bits=%lu\n", ts, offs, e1_rates[ss], endp->e1.scd.demux.num_bits); endp->e1.schan = osmo_i460_subchan_add(endp, &endp->trunk->e1.i460_ts[ts - 1], &endp->e1.scd); if (!endp->e1.schan) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I22cbecab8d9f7a1980387f16c9a8da444aaa0311 Gerrit-Change-Number: 24198 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 16:48:41 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 11 May 2021 16:48:41 +0000 Subject: Change in osmo-e1d[master]: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/24196 ) Change subject: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/24196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Ie7bfec19e37f748d44f4a90d296ea232bbd76b12 Gerrit-Change-Number: 24196 Gerrit-PatchSet: 3 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Tue, 11 May 2021 16:48:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 16:50:14 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 11 May 2021 16:50:14 +0000 Subject: Change in osmo-e1d[master]: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY In-Reply-To: References: Message-ID: keith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/24196 ) Change subject: ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY ...................................................................... ctl: properly set the timeslot mode in E1DP_CMD_TS_QUERY Change-Id: Ie7bfec19e37f748d44f4a90d296ea232bbd76b12 --- M src/ctl.c 1 file changed, 16 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve tnt: Looks good to me, but someone else must approve keith: Looks good to me, approved diff --git a/src/ctl.c b/src/ctl.c index 1775423..b633b9b 100644 --- a/src/ctl.c +++ b/src/ctl.c @@ -81,11 +81,25 @@ _e1d_fill_ts_info(struct osmo_e1dp_ts_info *ti, struct e1_ts *ts) { ti->id = ts->id; - ti->cfg.mode = 0; + + switch (ts->mode) { + case E1_TS_MODE_RAW: + ti->cfg.mode = E1DP_TSMODE_RAW; + break; + case E1_TS_MODE_HDLCFCS: + ti->cfg.mode = E1DP_TSMODE_HDLCFCS; + break; + case E1_TS_MODE_OFF: + ti->cfg.mode = E1DP_TSMODE_OFF; + break; + default: + LOGPTS(ts, DE1D, LOGL_NOTICE, "TS in unknown mode %u?x\n", ts->mode); + ti->cfg.mode = 0; + break; + } ti->status = 0; } - void e1_ts_stop(struct e1_ts *ts) { -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/24196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Ie7bfec19e37f748d44f4a90d296ea232bbd76b12 Gerrit-Change-Number: 24196 Gerrit-PatchSet: 3 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Tue May 11 17:22:39 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 11 May 2021 17:22:39 +0000 Subject: Build failure of network:osmocom:nightly/open5gs in Debian_10/armv7l In-Reply-To: References: Message-ID: <609abd7d6e27b_602b2add512f65f8133959@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/open5gs/Debian_10/armv7l Package network:osmocom:nightly/open5gs failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly open5gs Last lines of build log: [ 1s] [ 1s] armbuild04 started "build open5gs_2.2.8.202105110026.dsc" at Tue May 11 17:22:37 UTC 2021. [ 1s] [ 1s] Building open5gs for project 'network:osmocom:nightly' repository 'Debian_10' arch 'armv7l' srcmd5 '043932919ec53053d14455bc4d0f5119' [ 1s] [ 1s] processing recipe /var/cache/obs/worker/root_2/.build-srcdir/open5gs_2.2.8.202105110026.dsc ... [ 1s] running changelog2spec --target debian --file /var/cache/obs/worker/root_2/.build-srcdir/open5gs_2.2.8.202105110026.dsc [ 1s] init_buildsystem --configdir /var/run/obs/worker/2/build/configs --cachedir /var/cache/build --prepare --clean --rpmlist /var/cache/obs/worker/root_2/.build.rpmlist /var/cache/obs/worker/root_2/.build-srcdir/open5gs_2.2.8.202105110026.dsc build ... [ 1s] unknown keyword in config: [ 1s] could not autodetect package type [ 1s] [ 1s] armbuild04 failed "build open5gs_2.2.8.202105110026.dsc" at Tue May 11 17:22:37 UTC 2021. [ 1s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 11 17:52:58 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 11 May 2021 17:52:58 +0000 Subject: Build failure of network:osmocom:nightly/neocon in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <609ac485dce45_602b2add512f65f81342067@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/neocon/Debian_9.0/armv7l Package network:osmocom:nightly/neocon failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly neocon Last lines of build log: [ 1s] [ 1s] armbuild04 started "build neocon_1.0.1.202105110026.dsc" at Tue May 11 17:52:52 UTC 2021. [ 1s] [ 1s] Building neocon for project 'network:osmocom:nightly' repository 'Debian_9.0' arch 'armv7l' srcmd5 'd62b314a252a7b3904e7b8ae528eb1f5' [ 1s] [ 1s] processing recipe /var/cache/obs/worker/root_2/.build-srcdir/neocon_1.0.1.202105110026.dsc ... [ 1s] running changelog2spec --target debian --file /var/cache/obs/worker/root_2/.build-srcdir/neocon_1.0.1.202105110026.dsc [ 1s] init_buildsystem --configdir /var/run/obs/worker/2/build/configs --cachedir /var/cache/build --prepare --clean --rpmlist /var/cache/obs/worker/root_2/.build.rpmlist /var/cache/obs/worker/root_2/.build-srcdir/neocon_1.0.1.202105110026.dsc build ... [ 1s] unknown keyword in config: [ 1s] could not autodetect package type [ 1s] [ 1s] armbuild04 failed "build neocon_1.0.1.202105110026.dsc" at Tue May 11 17:52:52 UTC 2021. [ 1s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue May 11 18:36:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 18:36:37 +0000 Subject: Change in libosmo-sccp[master]: m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 to look at the new patch set (#2). Change subject: m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. ...................................................................... m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. The M3UA RFC talks about this message being used in ASP->SG direction, not the other way around. Closes: OS#5147 Change-Id: I36ff172b47142a877b37bbd149073bef35b36a74 --- M include/osmocom/sigtran/osmo_ss7.h M src/m3ua.c M src/osmo_ss7_vty.c M src/sua.c 4 files changed, 21 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/14/24214/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I36ff172b47142a877b37bbd149073bef35b36a74 Gerrit-Change-Number: 24214 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 18:36:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 18:36:37 +0000 Subject: Change in libosmo-sccp[master]: ss7_asp_test.vty: Allow more asp node commands after shutdown References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24215 ) Change subject: ss7_asp_test.vty: Allow more asp node commands after shutdown ...................................................................... ss7_asp_test.vty: Allow more asp node commands after shutdown this will be required once we add new commands (quirk) in the next few patches. Change-Id: If1068cd94782df236948101166a76586e9845762 --- M tests/vty/ss7_asp_test.vty 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/15/24215/1 diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty index ee1b3e5..fd54642 100644 --- a/tests/vty/ss7_asp_test.vty +++ b/tests/vty/ss7_asp_test.vty @@ -222,6 +222,7 @@ sctp-role (client|server) block shutdown +... ss7_asp_vty_test(config-cs7-asp)# ? ... @@ -233,6 +234,7 @@ sctp-role Specify the SCTP role for this ASP block Allows a SCTP Association with ASP, but doesn't let it become active shutdown Terminates SCTP association; New associations will be rejected +... ss7_asp_vty_test(config-cs7-asp)# remote-ip 127.0.0.200 ss7_asp_vty_test(config-cs7-asp)# local-ip 127.0.0.100 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: If1068cd94782df236948101166a76586e9845762 Gerrit-Change-Number: 24215 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 18:36:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 18:36:38 +0000 Subject: Change in libosmo-sccp[master]: m3ua/sua: Add new snm_inactive quirk References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24216 ) Change subject: m3ua/sua: Add new snm_inactive quirk ...................................................................... m3ua/sua: Add new snm_inactive quirk This quirk allows the M3UA + SUA code to accept SSNM/SNM traffic despite being in AS-INACTIVE state. This is forbidden by the RFCs but there are some implementations that apparently just don't care what is specified. Change-Id: I193dd546b3e3c00e29f192d0d1bf7819b3e194be Closes: OS#5148 --- M include/osmocom/sigtran/osmo_ss7.h M src/m3ua.c M src/osmo_ss7_vty.c M src/sua.c 4 files changed, 10 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/16/24216/1 diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index a799b04..3d13b6a 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -432,9 +432,11 @@ }; /*! Peer SG doesn't send NTFY(AS-INACTIVE) after ASP-UP procedure */ -#define OSMO_SS7_ASP_QUIRK_NO_NOTIFY 0x00000001 +#define OSMO_SS7_ASP_QUIRK_NO_NOTIFY 0x00000001 /*! Accept DAUD in ASP role (RFC states only permitted in ASP->SG role) */ -#define OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP 0x00000002 +#define OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP 0x00000002 +/*! Accept SSNM even if ASP is in AS-INACTIVE state */ +#define OSMO_SS7_ASP_QUIRK_SNM_INACTIVE 0x00000004 int osmo_ss7_asp_peer_snprintf(char* buf, size_t buf_len, struct osmo_ss7_asp_peer *peer); int osmo_ss7_asp_peer_set_hosts(struct osmo_ss7_asp_peer *peer, void *talloc_ctx, diff --git a/src/m3ua.c b/src/m3ua.c index 283b3f8..f653d5b 100644 --- a/src/m3ua.c +++ b/src/m3ua.c @@ -933,7 +933,8 @@ static int m3ua_rx_snm(struct osmo_ss7_asp *asp, struct xua_msg *xua) { /* SNM only permitted in ACTIVE state */ - if (asp->fi->state != XUA_ASP_S_ACTIVE) { + if (asp->fi->state != XUA_ASP_S_ACTIVE && + !(asp->fi->state == XUA_ASP_S_INACTIVE && asp->cfg.quirks & OSMO_SS7_ASP_QUIRK_SNM_INACTIVE)) { LOGPASP(asp, DLM3UA, LOGL_NOTICE, "Received M3UA SNM while ASP in state %s\n", osmo_fsm_inst_state_name(asp->fi)); return M3UA_ERR_UNEXPECTED_MSG; diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index b2e3192..dcbe9b2 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -58,12 +58,14 @@ static const struct value_string asp_quirk_names[] = { { OSMO_SS7_ASP_QUIRK_NO_NOTIFY, "no_notify" }, { OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP, "daud_in_asp" }, + { OSMO_SS7_ASP_QUIRK_SNM_INACTIVE, "snm_inactive" }, { 0, NULL } }; static const struct value_string asp_quirk_descs[] = { { OSMO_SS7_ASP_QUIRK_NO_NOTIFY, "Peer SG doesn't send NTFY(AS-INACTIVE) after ASP-UP" }, { OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP, "Allow Rx of DAUD in ASP role" }, + { OSMO_SS7_ASP_QUIRK_SNM_INACTIVE, "Allow Rx of [S]SNM in AS-INACTIVE state" }, { 0, NULL } }; diff --git a/src/sua.c b/src/sua.c index 4e9a2cb..27b75db 100644 --- a/src/sua.c +++ b/src/sua.c @@ -944,7 +944,8 @@ static int sua_rx_snm(struct osmo_ss7_asp *asp, struct xua_msg *xua) { /* SNM only permitted in ACTIVE state */ - if (asp->fi->state != XUA_ASP_S_ACTIVE) { + if (asp->fi->state != XUA_ASP_S_ACTIVE && + !(asp->fi->state == XUA_ASP_S_INACTIVE && asp->cfg.quirks & OSMO_SS7_ASP_QUIRK_SNM_INACTIVE)) { LOGPASP(asp, DLSUA, LOGL_NOTICE, "Received M3UA SNM while ASP in state %s\n", osmo_fsm_inst_state_name(asp->fi)); return SUA_ERR_UNEXPECTED_MSG; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I193dd546b3e3c00e29f192d0d1bf7819b3e194be Gerrit-Change-Number: 24216 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Tue May 11 18:45:02 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Tue, 11 May 2021 18:45:02 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-opencm3-projects_=C2=BB_a1=3Ddef?= =?UTF-8?Q?ault,a2=3Ddefault,a3=3Ddefault,a4=3Dd?= =?UTF-8?Q?efault,osmocom-master-debian9_#5?= In-Reply-To: <601809767.757.1620672302147@jenkins.osmocom.org> References: <601809767.757.1620672302147@jenkins.osmocom.org> Message-ID: <265982175.817.1620758702088@jenkins.osmocom.org> See Changes: ------------------------------------------ Started by upstream project "master-osmo-opencm3-projects" build number 5 originally caused by: Started by timer Running as SYSTEM Building remotely on build2-deb9build-ansible (ttcn3 osmocom-gerrit-debian9 osmocom-master-debian9 repo-install-test coverity) in workspace The recommended git tool is: NONE No credentials specified > git rev-parse --resolve-git-dir # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git://git.osmocom.org/osmo-opencm3-projects # timeout=10 Fetching upstream changes from git://git.osmocom.org/osmo-opencm3-projects > git --version # timeout=10 > git --version # 'git version 2.11.0' > git fetch --tags --progress -- git://git.osmocom.org/osmo-opencm3-projects +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision 7527cab6d8364b2022bd4fa2fd03039eac2a99bb (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 Commit message: "add missing libcommon.mk" > git rev-list --no-walk 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.libopencm3.url # timeout=10 > git config -f .gitmodules --get submodule.libopencm3.path # timeout=10 > git config --get submodule.librfn.url # timeout=10 > git config -f .gitmodules --get submodule.librfn.path # timeout=10 > git submodule update --init --recursive libopencm3 # timeout=10 > git submodule update --init --recursive librfn # timeout=10 [osmocom-master-debian9] $ /bin/sh -xe /tmp/jenkins63741995621645027.sh + ARTIFACT_STORE=/home/osmocom-build/jenkins_build_artifact_store + mkdir -p /home/osmocom-build/jenkins_build_artifact_store + docker run --rm=true --cap-add SYS_PTRACE -e ARTIFACT_STORE=/artifact_store -e ASCIIDOC_WARNINGS_CHECK=1 -e HOME=/build -e JOB_NAME=master-osmo-opencm3-projects/a1=default,a2=default,a3=default,a4=default,label=osmocom-master-debian9 -e MAKE=make -e OSMOPY_DEBUG_TCP_SOCKETS=1 -e OSMO_GSM_MANUALS_DIR=/opt/osmo-gsm-manuals -e PARALLEL_MAKE=-j 8 -e PUBLISH=1 -e WITH_MANUALS=1 -w /build -i -u build -v :/build -v /home/osmocom-build/jenkins_build_artifact_store:/artifact_store -v /home/osmocom-build/.ssh:/home/build/.ssh:ro osmocom-build/debian-stretch-jenkins /build/contrib/jenkins.sh --publish =============== relay-driver START ============== CLEAN CC console.c arm-none-eabi-gcc: error: /usr/lib/picolibc/arm-none-eabi/picolibc.specs: No such file or directory make: *** [console.o] Error 1 ../../mk/libopencm3.mk:227: recipe for target 'console.o' failed Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Tue May 11 18:47:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 18:47:37 +0000 Subject: Change in libosmo-sccp[master]: ss7_asp_test.vty: Allow more asp node commands after shutdown In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24215 ) Change subject: ss7_asp_test.vty: Allow more asp node commands after shutdown ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: If1068cd94782df236948101166a76586e9845762 Gerrit-Change-Number: 24215 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 18:47:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 18:52:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 18:52:57 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7: introduce notion of configurable 'quirks' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 ) Change subject: osmo_ss7: introduce notion of configurable 'quirks' ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Idd947ea39d743eb1bc9342ad9d098036821da45b Gerrit-Change-Number: 24213 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 18:52:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 18:54:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 18:54:24 +0000 Subject: Change in libosmo-sccp[master]: m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 ) Change subject: m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. ...................................................................... Patch Set 2: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/libosmo-sccp/+/24214/2/src/m3ua.c File src/m3ua.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/24214/2/src/m3ua.c at 906 PS2, Line 906: * equipment still sends it to use as ASP ?!? */ "to us" https://gerrit.osmocom.org/c/libosmo-sccp/+/24214/2/src/sua.c File src/sua.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/24214/2/src/sua.c at 917 PS2, Line 917: * equipment still sends it to use as ASP ?!? */ "to us" -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I36ff172b47142a877b37bbd149073bef35b36a74 Gerrit-Change-Number: 24214 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 18:54:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 18:56:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 May 2021 18:56:41 +0000 Subject: Change in libosmo-sccp[master]: m3ua/sua: Add new snm_inactive quirk In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24216 ) Change subject: m3ua/sua: Add new snm_inactive quirk ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I193dd546b3e3c00e29f192d0d1bf7819b3e194be Gerrit-Change-Number: 24216 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 18:56:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 19:09:34 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 11 May 2021 19:09:34 +0000 Subject: Change in libosmo-sccp[master]: m3ua/sua: Add new snm_inactive quirk In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24216 ) Change subject: m3ua/sua: Add new snm_inactive quirk ...................................................................... Patch Set 1: Code-Review+1 (1 comment) I can not say so much about the technical background but the logic looks correct to me. https://gerrit.osmocom.org/c/libosmo-sccp/+/24216/1/src/m3ua.c File src/m3ua.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/24216/1/src/m3ua.c at 937 PS1, Line 937: !(asp->fi->state == XUA_ASP_S_INACTIVE && asp->cfg.quirks & OSMO_SS7_ASP_QUIRK_SNM_INACTIVE)) { I don't know what your policy is with those spec deviations, but I would put a log message that a violation happened. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I193dd546b3e3c00e29f192d0d1bf7819b3e194be Gerrit-Change-Number: 24216 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 19:09:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 19:13:31 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 11 May 2021 19:13:31 +0000 Subject: Change in libosmo-sccp[master]: m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 ) Change subject: m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. ...................................................................... Patch Set 2: (1 comment) Looks ok to me, but I do not have a deep enough background. https://gerrit.osmocom.org/c/libosmo-sccp/+/24214/2/src/m3ua.c File src/m3ua.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/24214/2/src/m3ua.c at 908 PS2, Line 908: xua_snm_rx_daud(asp, xua); I would log that there was a spec violation. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I36ff172b47142a877b37bbd149073bef35b36a74 Gerrit-Change-Number: 24214 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Tue, 11 May 2021 19:13:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 19:20:53 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 11 May 2021 19:20:53 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7: introduce notion of configurable 'quirks' In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 ) Change subject: osmo_ss7: introduce notion of configurable 'quirks' ...................................................................... Patch Set 2: Code-Review+1 The logic looks good to me. Hopefully we will never collect more than 32 quirks. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Idd947ea39d743eb1bc9342ad9d098036821da45b Gerrit-Change-Number: 24213 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 19:20:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 19:32:20 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 11 May 2021 19:32:20 +0000 Subject: Change in osmo-hlr[master]: vty: enable show subscribers filtered by IMEI References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/24217 ) Change subject: vty: enable show subscribers filtered by IMEI ...................................................................... vty: enable show subscribers filtered by IMEI In 89fda3024a0c9a422cc5e5033b016ce0ab6c1ff3 I added a vty command to show a summary of filtered subscribers by imsi or msisdn. In practice there is a also need to be able to filter on IMEI. The idea here is not to replace every operation that could be done directly on the sql database in the vty, but this one is useful. Change-Id: Ic4a11d3ebcf8909c68e9f4617e94dc822491e008 --- M include/osmocom/hlr/db.h M src/db.c M src/db_hlr.c M src/hlr_vty_subscr.c 4 files changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/17/24217/1 diff --git a/include/osmocom/hlr/db.h b/include/osmocom/hlr/db.h index f70df83..a771409 100644 --- a/include/osmocom/hlr/db.h +++ b/include/osmocom/hlr/db.h @@ -12,6 +12,7 @@ DB_STMT_SEL_ALL_ORDER_LAST_SEEN, DB_STMT_SEL_FILTER_MSISDN, DB_STMT_SEL_FILTER_IMSI, + DB_STMT_SEL_FILTER_IMEI, DB_STMT_SEL_FILTER_CS, DB_STMT_SEL_FILTER_PS, DB_STMT_SEL_BY_IMSI, diff --git a/src/db.c b/src/db.c index 09a17b6..3a7cf49 100644 --- a/src/db.c +++ b/src/db.c @@ -56,6 +56,7 @@ "WHERE last_lu_seen IS NOT NULL ORDER BY last_lu_seen;", [DB_STMT_SEL_FILTER_MSISDN] = "SELECT " SEL_COLUMNS " FROM subscriber WHERE msisdn LIKE $search ORDER BY msisdn", [DB_STMT_SEL_FILTER_IMSI] = "SELECT " SEL_COLUMNS " FROM subscriber WHERE imsi LIKE $search ORDER BY imsi", + [DB_STMT_SEL_FILTER_IMEI] = "SELECT " SEL_COLUMNS " FROM subscriber WHERE imei LIKE $search ORDER BY imei", [DB_STMT_SEL_FILTER_CS] = "SELECT " SEL_COLUMNS " FROM subscriber WHERE nam_cs = $search ORDER BY last_lu_seen", [DB_STMT_SEL_FILTER_PS] = "SELECT " SEL_COLUMNS " FROM subscriber WHERE nam_ps = $search ORDER BY last_lu_seen", [DB_STMT_SEL_BY_IMSI] = "SELECT " SEL_COLUMNS " FROM subscriber WHERE imsi = ?", diff --git a/src/db_hlr.c b/src/db_hlr.c index a4c467e..e88b5fc 100644 --- a/src/db_hlr.c +++ b/src/db_hlr.c @@ -648,6 +648,8 @@ if (!filter_type) { stmt = dbc->stmt[DB_STMT_SEL_ALL]; + } else if (strcmp(filter_type, "imei") == 0) { + stmt = dbc->stmt[DB_STMT_SEL_FILTER_IMEI]; } else if (strcmp(filter_type, "imsi") == 0) { stmt = dbc->stmt[DB_STMT_SEL_FILTER_IMSI]; } else if (strcmp(filter_type, "msisdn") == 0) { diff --git a/src/hlr_vty_subscr.c b/src/hlr_vty_subscr.c index ad16045..82e0043 100644 --- a/src/hlr_vty_subscr.c +++ b/src/hlr_vty_subscr.c @@ -256,7 +256,7 @@ #define SUBSCRS_SHOW_HELP "Show all subscribers (with filter possibility)\n" #define SUBSCR_ID "(imsi|msisdn|id|imei) IDENT" -#define SUBSCR_FILTER "(imsi|msisdn) FILTER" +#define SUBSCR_FILTER "(imei|imsi|msisdn) FILTER" #define SUBSCR_ID_HELP \ "Identify subscriber by IMSI\n" \ @@ -307,7 +307,8 @@ show_subscriber_filtered_cmd, "show subscribers " SUBSCR_FILTER, SHOW_STR SUBSCRS_SHOW_HELP - "Filter Subscribers by IMSI\n" "Filter Subscribers by MSISDN\n" "String to match in msisdn or imsi\n") + "Filter Subscribers by IMEI\n" "Filter Subscribers by IMSI\n" "Filter Subscribers by MSISDN\n" + "String to match in imei, imsi or msisdn\n") { const char *filter_type = argv[0]; const char *filter = argv[1]; -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/24217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ic4a11d3ebcf8909c68e9f4617e94dc822491e008 Gerrit-Change-Number: 24217 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 19:34:26 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 11 May 2021 19:34:26 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc: Avoid erroring every few secs about unconnected BTS In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24209 ) Change subject: osmo-bsc: Avoid erroring every few secs about unconnected BTS ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c991b49b4f474d8b324ac7ff3ddb6a9ec59751d Gerrit-Change-Number: 24209 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: iedemam Gerrit-Reviewer: keith Gerrit-Comment-Date: Tue, 11 May 2021 19:34:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 19:38:07 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 11 May 2021 19:38:07 +0000 Subject: Change in osmo-hlr[master]: vty: enable show subscribers filtered by IMEI In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/24217 to look at the new patch set (#2). Change subject: vty: enable show subscribers filtered by IMEI ...................................................................... vty: enable show subscribers filtered by IMEI In 89fda3024a0c9a422cc5e5033b016ce0ab6c1ff3 I added a vty command to show a summary of filtered subscribers by imsi or msisdn. In practice there is a also need to be able to filter on IMEI. The idea here is not to replace every operation that could be done directly on the sql database in the vty, but this one is useful. Change-Id: Ic4a11d3ebcf8909c68e9f4617e94dc822491e008 --- M include/osmocom/hlr/db.h M src/db.c M src/db_hlr.c M src/hlr_vty_subscr.c M tests/test_nodes.vty 5 files changed, 8 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/17/24217/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/24217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ic4a11d3ebcf8909c68e9f4617e94dc822491e008 Gerrit-Change-Number: 24217 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 20:21:11 2021 From: gerrit-no-reply at lists.osmocom.org (iedemam) Date: Tue, 11 May 2021 20:21:11 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc: Avoid erroring every few secs about unconnected BTS In-Reply-To: References: Message-ID: iedemam has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24209 ) Change subject: osmo-bsc: Avoid erroring every few secs about unconnected BTS ...................................................................... Patch Set 1: Makes sense to me. This was an unintended side-effect of polling the uptime for the new stat_item. I'd give a +1 but don't have permission. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c991b49b4f474d8b324ac7ff3ddb6a9ec59751d Gerrit-Change-Number: 24209 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: iedemam Gerrit-Reviewer: keith Gerrit-Comment-Date: Tue, 11 May 2021 20:21:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 20:33:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 20:33:12 +0000 Subject: Change in libosmo-sccp[master]: sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in Callin... References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24218 ) Change subject: sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in CallingParty ...................................................................... sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in CallingParty There are implementations out there which send us traffic, specifically in this case SCMG (SST) that has only SSN in both Called and Calling Party. This means the inbound SST message is routed correctly to the local SCCP user of libosmo-sigtran. But when that local SCCP user responds with inverting Called/Calling Party, the new destination again just contains a SSN. As a result, we don't know where to route the message (we always need a PC). Change-Id: Id66ae960ebe3cb3b09c6dd5454f9ac9c073f46d7 Closes: OS#5146 --- M src/sccp_scrc.c 1 file changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/18/24218/1 diff --git a/src/sccp_scrc.c b/src/sccp_scrc.c index b46b4f2..5c3cefe 100644 --- a/src/sccp_scrc.c +++ b/src/sccp_scrc.c @@ -440,6 +440,26 @@ return scrc_local_out_common(inst, xua, &called); } +/* ensure the CallingParty address doesn't just contain SSN, but at least SSN+PC */ +static void ensure_opc_in_calling_ssn(struct osmo_sccp_instance *inst, + struct xua_msg *xua) +{ + struct osmo_sccp_addr calling; + + sua_addr_parse(&calling, xua, SUA_IEI_SRC_ADDR); + + /* if we route on SSN and only have a SSN in the address... */ + if (calling.ri == OSMO_SCCP_RI_SSN_PC && + calling.presence == OSMO_SCCP_ADDR_T_SSN) { + /* add the M3UA OPC to the address to ensure that the recipient + * can actually respond back to the source */ + calling.presence |= OSMO_SCCP_ADDR_T_PC; + calling.pc = xua->mtp.opc; + xua_msg_free_tag(xua, SUA_IEI_SRC_ADDR); + xua_msg_add_sccp_addr(xua, SUA_IEI_SRC_ADDR, &calling); + } +} + /* Figure C.1/Q.714 Sheet 1 of 12, after we converted the * MTP-TRANSFER.ind to SUA. */ int scrc_rx_mtp_xfer_ind_xua(struct osmo_sccp_instance *inst, @@ -461,6 +481,9 @@ } /* We only treat connectionless and CR below */ + ensure_opc_in_calling_ssn(inst, xua); + + /* ensure we have at least OPC+SSN and not just SSN in CallingParty (OS#5146) */ sua_addr_parse(&called, xua, SUA_IEI_DEST_ADDR); /* Route on GT? */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id66ae960ebe3cb3b09c6dd5454f9ac9c073f46d7 Gerrit-Change-Number: 24218 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 20:53:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 20:53:30 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7: introduce notion of configurable 'quirks' In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 to look at the new patch set (#3). Change subject: osmo_ss7: introduce notion of configurable 'quirks' ...................................................................... osmo_ss7: introduce notion of configurable 'quirks' A quirk is an implementation work-around in order to establish interoperability with another implementation, either a buggy one or one that follows a different interpretation of a given spec. For now, we introduce a first quirk affecting when we (in ASP role) send an ASP-ACTIVE message to the SG. Closes: OS#5145 Change-Id: Idd947ea39d743eb1bc9342ad9d098036821da45b --- M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7_vty.c M src/xua_default_lm_fsm.c 3 files changed, 78 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/13/24213/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Idd947ea39d743eb1bc9342ad9d098036821da45b Gerrit-Change-Number: 24213 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 20:53:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 20:53:30 +0000 Subject: Change in libosmo-sccp[master]: m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 to look at the new patch set (#3). Change subject: m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. ...................................................................... m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. The M3UA RFC talks about this message being used in ASP->SG direction, not the other way around. Closes: OS#5147 Change-Id: I36ff172b47142a877b37bbd149073bef35b36a74 --- M include/osmocom/sigtran/osmo_ss7.h M src/m3ua.c M src/osmo_ss7_vty.c M src/sua.c 4 files changed, 29 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/14/24214/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I36ff172b47142a877b37bbd149073bef35b36a74 Gerrit-Change-Number: 24214 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 20:53:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 20:53:30 +0000 Subject: Change in libosmo-sccp[master]: m3ua/sua: Add new snm_inactive quirk In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24216 to look at the new patch set (#2). Change subject: m3ua/sua: Add new snm_inactive quirk ...................................................................... m3ua/sua: Add new snm_inactive quirk This quirk allows the M3UA + SUA code to accept SSNM/SNM traffic despite being in AS-INACTIVE state. This is forbidden by the RFCs but there are some implementations that apparently just don't care what is specified. Change-Id: I193dd546b3e3c00e29f192d0d1bf7819b3e194be Closes: OS#5148 --- M include/osmocom/sigtran/osmo_ss7.h M src/m3ua.c M src/osmo_ss7_vty.c M src/sua.c 4 files changed, 23 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/16/24216/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I193dd546b3e3c00e29f192d0d1bf7819b3e194be Gerrit-Change-Number: 24216 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 20:53:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 20:53:38 +0000 Subject: Change in libosmo-sccp[master]: m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 ) Change subject: m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/libosmo-sccp/+/24214/2/src/m3ua.c File src/m3ua.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/24214/2/src/m3ua.c at 906 PS2, Line 906: * equipment still sends it to use as ASP ?!? */ > "to us" Done https://gerrit.osmocom.org/c/libosmo-sccp/+/24214/2/src/m3ua.c at 908 PS2, Line 908: xua_snm_rx_daud(asp, xua); > I would log that there was a spec violation. Done -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I36ff172b47142a877b37bbd149073bef35b36a74 Gerrit-Change-Number: 24214 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Tue, 11 May 2021 20:53:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 20:54:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 20:54:01 +0000 Subject: Change in libosmo-sccp[master]: m3ua/sua: Add new snm_inactive quirk In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24216 ) Change subject: m3ua/sua: Add new snm_inactive quirk ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmo-sccp/+/24216/1/src/m3ua.c File src/m3ua.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/24216/1/src/m3ua.c at 937 PS1, Line 937: !(asp->fi->state == XUA_ASP_S_INACTIVE && asp->cfg.quirks & OSMO_SS7_ASP_QUIRK_SNM_INACTIVE)) { > I don't know what your policy is with those spec deviations, but I would put a log message that a vi [?] Done -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I193dd546b3e3c00e29f192d0d1bf7819b3e194be Gerrit-Change-Number: 24216 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 20:54:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 20:54:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 20:54:44 +0000 Subject: Change in libosmo-sccp[master]: Constrain connection ID allocation to 24 bits In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24181 ) Change subject: Constrain connection ID allocation to 24 bits ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I414d29271da48ac0b05a688ce9e949a66e4d0d92 Gerrit-Change-Number: 24181 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 May 2021 20:54:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 11 20:54:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 May 2021 20:54:47 +0000 Subject: Change in libosmo-sccp[master]: Constrain connection ID allocation to 24 bits In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24181 ) Change subject: Constrain connection ID allocation to 24 bits ...................................................................... Constrain connection ID allocation to 24 bits We currently use the local connection ID on the SCU SAP also as local reference on the wire-line SCCP messages. However, the latter only has a 24 bit range, so we should make sure to wrap accordingly on allocation. Change-Id: I414d29271da48ac0b05a688ce9e949a66e4d0d92 Closes: OS#3921 Related: OS#3871 --- M src/sccp_scoc.c 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/sccp_scoc.c b/src/sccp_scoc.c index 1ce08f8..244e6d3 100644 --- a/src/sccp_scoc.c +++ b/src/sccp_scoc.c @@ -499,7 +499,10 @@ uint32_t conn_id; do { - conn_id = user->inst->next_id++; + /* modulo 2^24 as we currently use the connection ID also as local + * reference, and that is limited to 24 bits */ + user->inst->next_id = (user->inst->next_id + 1) % (1 << 24); + conn_id = user->inst->next_id; } while (conn_find_by_id(user->inst, conn_id)); return conn_create_id(user, conn_id); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I414d29271da48ac0b05a688ce9e949a66e4d0d92 Gerrit-Change-Number: 24181 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 06:10:19 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 May 2021 06:10:19 +0000 Subject: Change in osmo-ggsn[master]: gtp: Support tx/rx RAN Information Relay message In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24163 ) Change subject: gtp: Support tx/rx RAN Information Relay message ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iea3eb032ccd4aed5187baca7f7719349d76039d4 Gerrit-Change-Number: 24163 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 12 May 2021 06:10:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 06:15:13 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 May 2021 06:15:13 +0000 Subject: Change in osmo-pcu[master]: sched: Clean up param passing and improve logging In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23994 ) Change subject: sched: Clean up param passing and improve logging ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23994/2/src/gprs_rlcmac_sched.cpp File src/gprs_rlcmac_sched.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23994/2/src/gprs_rlcmac_sched.cpp at a44 PS2, Line 44: const why remove const? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23994 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If137a2aaac7744e60564ca833a1b5564ed7d93bb Gerrit-Change-Number: 23994 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 May 2021 06:15:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 06:17:17 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 May 2021 06:17:17 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc: Avoid erroring every few secs about unconnected BTS In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24209 ) Change subject: osmo-bsc: Avoid erroring every few secs about unconnected BTS ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c991b49b4f474d8b324ac7ff3ddb6a9ec59751d Gerrit-Change-Number: 24209 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: iedemam Gerrit-Reviewer: keith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 May 2021 06:17:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 06:18:29 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 May 2021 06:18:29 +0000 Subject: Change in libosmo-sccp[master]: ss7_asp_test.vty: Allow more asp node commands after shutdown In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24215 ) Change subject: ss7_asp_test.vty: Allow more asp node commands after shutdown ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: If1068cd94782df236948101166a76586e9845762 Gerrit-Change-Number: 24215 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 12 May 2021 06:18:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 06:22:22 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 May 2021 06:22:22 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7: introduce notion of configurable 'quirks' In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 ) Change subject: osmo_ss7: introduce notion of configurable 'quirks' ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Idd947ea39d743eb1bc9342ad9d098036821da45b Gerrit-Change-Number: 24213 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 12 May 2021 06:22:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 06:27:02 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 May 2021 06:27:02 +0000 Subject: Change in libosmo-sccp[master]: m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 ) Change subject: m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I36ff172b47142a877b37bbd149073bef35b36a74 Gerrit-Change-Number: 24214 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Wed, 12 May 2021 06:27:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 06:30:09 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 May 2021 06:30:09 +0000 Subject: Change in libosmo-sccp[master]: m3ua/sua: Add new snm_inactive quirk In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24216 ) Change subject: m3ua/sua: Add new snm_inactive quirk ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I193dd546b3e3c00e29f192d0d1bf7819b3e194be Gerrit-Change-Number: 24216 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 12 May 2021 06:30:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 06:35:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 May 2021 06:35:50 +0000 Subject: Change in libosmo-sccp[master]: sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in Callin... In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24218 ) Change subject: sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in CallingParty ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmo-sccp/+/24218/2/src/sccp_scrc.c File src/sccp_scrc.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/24218/2/src/sccp_scrc.c at 486 PS2, Line 486: /* ensure we have at least OPC+SSN and not just SSN in CallingParty (OS#5146) */ Why is the comment here and not above ensure_opc_in_calling_ssn()? -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id66ae960ebe3cb3b09c6dd5454f9ac9c073f46d7 Gerrit-Change-Number: 24218 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Wed, 12 May 2021 06:35:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Wed May 12 06:36:11 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 12 May 2021 06:36:11 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <609b7776cebee_602b2add512f65f8151911f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_10/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 0s] [ 0s] armbuild04 started "build libosmocore_1.5.1.116.24980.202105120026.dsc" at Wed May 12 06:35:59 UTC 2021. [ 0s] [ 0s] Building libosmocore for project 'network:osmocom:nightly' repository 'Raspbian_10' arch 'armv7l' srcmd5 '15aeb23c54851ffe03aa7b3fe49e7ddb' [ 0s] [ 0s] processing recipe /var/cache/obs/worker/root_2/.build-srcdir/libosmocore_1.5.1.116.24980.202105120026.dsc ... [ 0s] running changelog2spec --target debian --file /var/cache/obs/worker/root_2/.build-srcdir/libosmocore_1.5.1.116.24980.202105120026.dsc [ 0s] init_buildsystem --configdir /var/run/obs/worker/2/build/configs --cachedir /var/cache/build --prepare --clean --rpmlist /var/cache/obs/worker/root_2/.build.rpmlist /var/cache/obs/worker/root_2/.build-srcdir/libosmocore_1.5.1.116.24980.202105120026.dsc build ... [ 1s] unknown keyword in config: [ 1s] could not autodetect package type [ 1s] [ 1s] armbuild04 failed "build libosmocore_1.5.1.116.24980.202105120026.dsc" at Wed May 12 06:36:00 UTC 2021. [ 1s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed May 12 11:29:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 11:29:19 +0000 Subject: Change in osmo-hlr[master]: vty: enable show subscribers filtered by IMEI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/24217 ) Change subject: vty: enable show subscribers filtered by IMEI ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/24217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ic4a11d3ebcf8909c68e9f4617e94dc822491e008 Gerrit-Change-Number: 24217 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 12 May 2021 11:29:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 11:30:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 11:30:17 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc: Avoid erroring every few secs about unconnected BTS In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24209 ) Change subject: osmo-bsc: Avoid erroring every few secs about unconnected BTS ...................................................................... osmo-bsc: Avoid erroring every few secs about unconnected BTS I know my 2nd BTS is not connected, no need to get an error about it every few seconds. Change-Id: I7c991b49b4f474d8b324ac7ff3ddb6a9ec59751d --- M src/osmo-bsc/bts.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified keith: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 17659a1..66bd360 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -566,7 +566,7 @@ struct timespec tp; if (!bts->uptime || !bts->oml_link) { - LOGP(DNM, LOGL_ERROR, "BTS %u OML link uptime unavailable\n", bts->nr); + LOGP(DNM, LOGL_INFO, "BTS %u OML link uptime unavailable\n", bts->nr); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c991b49b4f474d8b324ac7ff3ddb6a9ec59751d Gerrit-Change-Number: 24209 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: iedemam Gerrit-Reviewer: keith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 11:31:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 11:31:05 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7: introduce notion of configurable 'quirks' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 ) Change subject: osmo_ss7: introduce notion of configurable 'quirks' ...................................................................... Patch Set 3: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/libosmo-sccp/+/24213/3/src/xua_default_lm_fsm.c File src/xua_default_lm_fsm.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/24213/3/src/xua_default_lm_fsm.c at 176 PS3, Line 176: LOGPFSM(fi, "quirk no_notify active; locally emulte AS-INACTIVE.ind\n"); emulate? -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Idd947ea39d743eb1bc9342ad9d098036821da45b Gerrit-Change-Number: 24213 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 12 May 2021 11:31:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 11:35:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 11:35:30 +0000 Subject: Change in libosmo-sccp[master]: m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 ) Change subject: m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I36ff172b47142a877b37bbd149073bef35b36a74 Gerrit-Change-Number: 24214 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Wed, 12 May 2021 11:35:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 11:36:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 11:36:23 +0000 Subject: Change in libosmo-sccp[master]: m3ua/sua: Add new snm_inactive quirk In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24216 ) Change subject: m3ua/sua: Add new snm_inactive quirk ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I193dd546b3e3c00e29f192d0d1bf7819b3e194be Gerrit-Change-Number: 24216 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 12 May 2021 11:36:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 11:41:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 11:41:27 +0000 Subject: Change in libosmo-sccp[master]: sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in Callin... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24218 ) Change subject: sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in CallingParty ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmo-sccp/+/24218/2/src/sccp_scrc.c File src/sccp_scrc.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/24218/2/src/sccp_scrc.c at 453 PS2, Line 453: calling.presence == OSMO_SCCP_ADDR_T_SSN) { shouldn't you simply check && !(calling.presence & OSMO_SCCP_ADDR_T_PC) here, and then you don't need to enter the block and call xua_msg_free_tag()? -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id66ae960ebe3cb3b09c6dd5454f9ac9c073f46d7 Gerrit-Change-Number: 24218 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 12 May 2021 11:41:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 12:24:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 12:24:47 +0000 Subject: Change in osmo-pcu[master]: sched: Clean up helper function and improve logging In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/24204 to look at the new patch set (#3). Change subject: sched: Clean up helper function and improve logging ...................................................................... sched: Clean up helper function and improve logging Change-Id: I8c19d0924e73c324a36ea038cab7cc4e096b866b --- M src/gprs_rlcmac_sched.cpp M tests/tbf/TbfTest.err 2 files changed, 67 insertions(+), 70 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/04/24204/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8c19d0924e73c324a36ea038cab7cc4e096b866b Gerrit-Change-Number: 24204 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 12:24:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 12:24:47 +0000 Subject: Change in osmo-pcu[master]: sched: Clean up param passing and improve logging In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23994 to look at the new patch set (#3). Change subject: sched: Clean up param passing and improve logging ...................................................................... sched: Clean up param passing and improve logging Change-Id: If137a2aaac7744e60564ca833a1b5564ed7d93bb --- M src/gprs_rlcmac_sched.cpp 1 file changed, 6 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/94/23994/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23994 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If137a2aaac7744e60564ca833a1b5564ed7d93bb Gerrit-Change-Number: 23994 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 13:06:18 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 May 2021 13:06:18 +0000 Subject: Change in osmo-pcu[master]: sched: Clean up param passing and improve logging In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23994 ) Change subject: sched: Clean up param passing and improve logging ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23994 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If137a2aaac7744e60564ca833a1b5564ed7d93bb Gerrit-Change-Number: 23994 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 May 2021 13:06:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 14:50:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 14:50:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn: Introduce test TC_rim_eutran_to_geran In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24129 ) Change subject: sgsn: Introduce test TC_rim_eutran_to_geran ...................................................................... Patch Set 6: upstream GTP ProtocolModules patches were merged. I updated the deps/Makefile to point to the new upstream repo which got the patches merged. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24129 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: I9dcf6ee2dc55bc6aba178eca30080233254f025e Gerrit-Change-Number: 24129 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 May 2021 14:50:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 14:53:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 14:53:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn: Introduce test TC_rim_eutran_to_geran In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24129 to look at the new patch set (#7). Change subject: sgsn: Introduce test TC_rim_eutran_to_geran ...................................................................... sgsn: Introduce test TC_rim_eutran_to_geran GTP_Templates.ttcn new templates use BssgpCellId, hence it depends on Osmocom_Gb_Types.ttcn. Related: SYS#5314 Change-Id: I9dcf6ee2dc55bc6aba178eca30080233254f025e --- M deps/Makefile M ggsn_tests/gen_links.sh M library/GTP_Emulation.ttcn M library/GTP_Templates.ttcn M pgw/gen_links.sh M sgsn/SGSN_Tests.ttcn M sgsn/osmo-sgsn.cfg 7 files changed, 580 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/29/24129/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24129 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: I9dcf6ee2dc55bc6aba178eca30080233254f025e Gerrit-Change-Number: 24129 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 14:56:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 14:56:08 +0000 Subject: Change in osmo-pcu[master]: tbf_ul: Use is_tlli_valid() API In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24200 ) Change subject: tbf_ul: Use is_tlli_valid() API ...................................................................... tbf_ul: Use is_tlli_valid() API Change-Id: I4abb46913b05d1e89ebe9e361b0a774880dee998 --- M src/tbf_ul.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 7486b47..9d984a6 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -372,7 +372,7 @@ * However, it's handier for us to mark contention resolution success * here since according to spec upon rx UL ACK is the time at which MS * realizes contention resolution succeeds. */ - if (ms_tlli(ms()) != GSM_RESERVED_TMSI) + if (is_tlli_valid()) contention_resolution_success(); if (final) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4abb46913b05d1e89ebe9e361b0a774880dee998 Gerrit-Change-Number: 24200 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 16:41:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 16:41:18 +0000 Subject: Change in osmo-gsm-tester[master]: sysmocom/defaults.conf: Fix recently changed node name References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24219 ) Change subject: sysmocom/defaults.conf: Fix recently changed node name ...................................................................... sysmocom/defaults.conf: Fix recently changed node name This node was changed recently but this file was not updated. Change-Id: Id5df83a356579340259d9d02ebc621f298151599 --- M sysmocom/defaults.conf 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/19/24219/1 diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index 67c9c5d..af5c52c 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -101,7 +101,7 @@ enable_pcap: false log_all_level: warning -open5gsepc: +open5gs: db_host: "localhost" amarisoft: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24219 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Id5df83a356579340259d9d02ebc621f298151599 Gerrit-Change-Number: 24219 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 16:41:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 16:41:18 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs: Pre-configure tun device for UPF References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24220 ) Change subject: open5gs: Pre-configure tun device for UPF ...................................................................... open5gs: Pre-configure tun device for UPF open5gs requires the tun device to be pre-created and pre-configured before using it. A ticket was opened in order to allow upfd itself configuring it in [1] [1] https://github.com/open5gs/open5gs/issues/899 Change-Id: I3b1857f09017cacee1c86f41dae1463c11b50490 --- M src/osmo_gsm_tester/obj/epc_open5gs.py M src/osmo_gsm_tester/obj/upf_open5gs.py M src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl M src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl A utils/bin/osmo-gsm-tester_open5gs_tun_setup.sh A utils/sudoers.d/osmo-gsm-tester_open5gs_tun_setup 6 files changed, 40 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/20/24220/1 diff --git a/src/osmo_gsm_tester/obj/epc_open5gs.py b/src/osmo_gsm_tester/obj/epc_open5gs.py index 6db513b..99849f0 100644 --- a/src/osmo_gsm_tester/obj/epc_open5gs.py +++ b/src/osmo_gsm_tester/obj/epc_open5gs.py @@ -61,7 +61,10 @@ db_host = values['epc']['db_host'] db_uri = 'mongodb://'+db_host+'/open5gs' config.overlay(values, dict(epc=dict(db_uri=db_uri, + apn_name=self.apn_name(), + tun_name=self.tun_name(), tun_addr=self.tun_addr(), + tun_netmask=self.tun_netmask(), addr_smf=self.priv_addr_smf(), addr_upf=self.priv_addr_upf(), addr_sgwc=self.priv_addr_sgwc(), @@ -121,6 +124,15 @@ def priv_addr_sgwu(self): return self.gen_priv_addr(4) + def tun_name(self): + return "ogstun" + + def tun_netmask(self): + return "16" + + def apn_name(self): + return "internet" + ################### # PUBLIC (test API included) ################### @@ -170,7 +182,7 @@ "default_indicator": True, \ "session": [ \ { \ - "name": "internet", \ + "name": self.apn_name(), \ "type": 3, "pcc_rule": [], "ambr": {"uplink": {"value": 1, "unit": 0}, "downlink": {"value": 1, "unit": 0}}, \ "qos": { "index": 9, "arp": {"priority_level": 8, "pre_emption_capability": 1, "pre_emption_vulnerability": 1} } \ } \ @@ -209,7 +221,7 @@ self.sgwu.running() def tun_addr(self): - return '172.16.0.1' + return '10.45.0.1' def get_kpis(self): return {} diff --git a/src/osmo_gsm_tester/obj/upf_open5gs.py b/src/osmo_gsm_tester/obj/upf_open5gs.py index 78a520f..344c177 100644 --- a/src/osmo_gsm_tester/obj/upf_open5gs.py +++ b/src/osmo_gsm_tester/obj/upf_open5gs.py @@ -34,6 +34,7 @@ CFGFILE = 'open5gs-upfd.yaml' LOGFILE = 'open5gs-upfd.log' DIAMETERFILE = 'open5gs-freediameter.conf' + O5GS_TUN_SETUP_BIN = 'osmo-gsm-tester_open5gs_tun_setup.sh' def __init__(self, testenv, o5gs_epc): super().__init__(log.C_RUN, 'open5gs-upfd') @@ -137,6 +138,9 @@ f.write(r) if not self._run_node.is_local(): + self.rem_host.run_remote_sync('tun-setup', ('sudo', Open5gsUPF.O5GS_TUN_SETUP_BIN, + self.o5gs_epc.tun_name(), self.o5gs_epc.tun_addr(), + self.o5gs_epc.tun_netmask())) self.rem_host.recreate_remote_dir(self.remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) self.rem_host.recreate_remote_dir(remote_run_dir) diff --git a/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl index f2bd807..00a0eae 100644 --- a/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl @@ -318,7 +318,7 @@ - addr: ${epc.run_addr} port: 2153 subnet: - - addr: ${epc.tun_addr}/16 + - addr: ${epc.tun_addr}/${epc.tun_netmask} dns: - 8.8.8.8 - 8.8.4.4 diff --git a/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl index 87066d6..757c0ec 100644 --- a/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl @@ -110,7 +110,9 @@ - addr: ${epc.run_addr} port: 2154 subnet: - - addr: ${epc.tun_addr}/16 + - addr: ${epc.tun_addr}/${epc.tun_netmask} + dnn: ${epc.apn_name} + dev: ${epc.tun_name} # # smf: diff --git a/utils/bin/osmo-gsm-tester_open5gs_tun_setup.sh b/utils/bin/osmo-gsm-tester_open5gs_tun_setup.sh new file mode 100755 index 0000000..c9cc28c --- /dev/null +++ b/utils/bin/osmo-gsm-tester_open5gs_tun_setup.sh @@ -0,0 +1,17 @@ +#!/bin/bash -e + +ifname="$1" +ifaddr="$2" +ifmask="$3" + +echo "*** Configuring tun $ifname with addr $ifaddr/$ifmask" + +if grep "$ifname" /proc/net/dev > /dev/null; then + ip tuntap del name "$ifname" mode tun +fi + +ip tuntap add name "$ifname" mode tun + +ip addr add "$ifaddr/$ifmask" dev "$ifname" +ip link set "$ifname" up +echo "*** done configuring tun interface $ifname" diff --git a/utils/sudoers.d/osmo-gsm-tester_open5gs_tun_setup b/utils/sudoers.d/osmo-gsm-tester_open5gs_tun_setup new file mode 100644 index 0000000..9b8ed83 --- /dev/null +++ b/utils/sudoers.d/osmo-gsm-tester_open5gs_tun_setup @@ -0,0 +1 @@ +%osmo-gsm-tester ALL=(root) NOPASSWD: /usr/local/bin/osmo-gsm-tester_open5gs_tun_setup.sh -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3b1857f09017cacee1c86f41dae1463c11b50490 Gerrit-Change-Number: 24220 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 16:48:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 16:48:49 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Update srsLTE references to srsRAN References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24221 ) Change subject: osmo-gsm-tester: Update srsLTE references to srsRAN ...................................................................... osmo-gsm-tester: Update srsLTE references to srsRAN Change-Id: I58d4c26337382ad9e66a569a482e77442137383a --- M osmo-gsm-tester/Dockerfile M osmo-gsm-tester/jenkins.sh M osmo-gsm-tester/osmo-gsm-tester-master.sh 3 files changed, 18 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/21/24221/1 diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index a69b5b2..a584faa 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -89,7 +89,7 @@ libasn1c-dev && \ apt-get clean -# install srsLTE runtime dependencies +# install srsRAN runtime dependencies RUN apt-get update && \ apt-get install -y --no-install-recommends \ cmake \ diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 05a6cde..85e6a69 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -10,10 +10,10 @@ # the host system (so that host's user ssh keys are potentially available) under # /tmp/trial, and the inst is then later built inside the container. # Several env vars are available to tweak where to fetch from. -# SRS_LTE_BRANCH: The srsLTE.git branch to fetch. -# SRS_LTE_REPO_PREFIX: The URL & prefix patch from where to clone the srsLTe.git +# SRS_RAN_BRANCH: The srsRAN.git branch to fetch. +# SRS_RAN_REPO_PREFIX: The URL & prefix patch from where to clone the srsRAN.git # repo. -# SRS_LTE_REPO_NAME: The srsLTE.git repo name, usually "srsLTE", but known to +# SRS_RAN_REPO_NAME: The srsRAN.git repo name, usually "srsRAN", but known to # have different names on some forks. # # osmo-gsm-tester parameters and suites are passed to osmo-gsm-tester.sh in same @@ -25,16 +25,16 @@ TRIAL_DIR="${TRIAL_DIR:-/tmp/trial}" -SRS_LTE_BRANCH=${SRS_LTE_BRANCH:-master} -SRS_LTE_REPO_PREFIX=${SRS_LTE_REPO_PREFIX:-git at github.com:srsLTE} -SRS_LTE_REPO_NAME=${SRS_LTE_REPO_NAME:-srsLTE} +SRS_RAN_BRANCH=${SRS_RAN_BRANCH:-master} +SRS_RAN_REPO_PREFIX=${SRS_RAN_REPO_PREFIX:-git at github.com:srsran} +SRS_RAN_REPO_NAME=${SRS_RAN_REPO_NAME:-srsRAN} OPEN5GS_REPO_PREFIX=${OPEN5GS_REPO_PREFIX:-git at github.com:open5gs} OPEN5GS_BRANCH=${OPEN5GS_BRANCH:-main} have_repo() { repo_prefix=$1 repo_name=$2 branch=$3 - echo "srsLTE inst not provided, fetching it now and it will be build in container" + echo "srsRAN inst not provided, fetching it now and it will be build in container" if [ -d "${TRIAL_DIR}/${repo_name}" ]; then git fetch -C ${TRIAL_DIR}/${repo_name} else @@ -51,12 +51,12 @@ rm -rf "${TRIAL_DIR:?}/${repo_name}/*" git -C "${TRIAL_DIR}/${repo_name}" reset --hard "$branch" } -# If srsLTE trial not provided by user, fetch srsLTE git repo and let the container build it: +# If srsRAN trial not provided by user, fetch srsRAN git repo and let the container build it: if [ "x$(ls ${TRIAL_DIR}/srslte.*.tgz 2>/dev/null | wc -l)" = "x0" ]; then - have_repo $SRS_LTE_REPO_PREFIX $SRS_LTE_REPO_NAME $SRS_LTE_BRANCH + have_repo $SRS_RAN_REPO_PREFIX $SRS_RAN_REPO_NAME $SRS_RAN_BRANCH fi -# If open5gs trial not provided by user, fetch srsLTE git repo and let the container build it: +# If open5gs trial not provided by user, fetch srsRAN git repo and let the container build it: if [ "x$(ls ${TRIAL_DIR}/open5gs.*.tgz 2>/dev/null | wc -l)" = "x0" ]; then have_repo $OPEN5GS_REPO_PREFIX "open5gs" $OPEN5GS_BRANCH have_repo "https://github.com/open5gs" "freeDiameter" "r1.5.0" @@ -108,7 +108,7 @@ -v "${TRIAL_DIR}:/tmp/trial" \ -e "OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF}" \ -e "OSMO_GSM_TESTER_OPTS=${OSMO_GSM_TESTER_OPTS}" \ - -e "SRS_LTE_REPO_NAME=${SRS_LTE_REPO_NAME}" \ + -e "SRS_RAN_REPO_NAME=${SRS_RAN_REPO_NAME}" \ -e "HOST_USER_ID=$(id -u)" \ -e "HOST_GROUP_ID=$(id -g)" \ --name ${BUILD_TAG}-ogt-master \ diff --git a/osmo-gsm-tester/osmo-gsm-tester-master.sh b/osmo-gsm-tester/osmo-gsm-tester-master.sh index ae300c9..ca8d58f 100755 --- a/osmo-gsm-tester/osmo-gsm-tester-master.sh +++ b/osmo-gsm-tester/osmo-gsm-tester-master.sh @@ -11,10 +11,10 @@ ip addr add 172.18.50.9/24 dev eth0 ip addr add 172.18.50.10/24 dev eth0 -build_srslte() { - git_repo_dir="/tmp/trial/${SRS_LTE_REPO_NAME}" +build_srsran() { + git_repo_dir="/tmp/trial/${SRS_RAN_REPO_NAME}" if [ ! -d "$git_repo_dir" ]; then - echo "No external trial nor git repo provided for srsLTE!" + echo "No external trial nor git repo provided for srsRAN!" exit 1 fi pushd "/tmp/trial" @@ -26,6 +26,7 @@ set +x; echo; echo; set -x make install cd .. + # REMARK: OGT still uses old naming "srslte" for the trial. this="srslte.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" tar="${this}.tgz" tar czf "/tmp/trial/$tar" -C "/tmp/trial/sysroot" . @@ -58,9 +59,9 @@ popd } -# Build srsLTE.git if not provided by host system: +# Build srsRAN.git if not provided by host system: if [ "x$(ls /tmp/trial/srslte.*.tgz 2>/dev/null | wc -l)" = "x0" ]; then - build_srslte + build_srsran fi # Build open5gs.git if not provided by host system: -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I58d4c26337382ad9e66a569a482e77442137383a Gerrit-Change-Number: 24221 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 16:59:20 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 May 2021 16:59:20 +0000 Subject: Change in osmo-pcu[master]: Tx ul ack/nack: Avoid sending invalid/unknown TLLI In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24201 ) Change subject: Tx ul ack/nack: Avoid sending invalid/unknown TLLI ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibae5df6cfbb56f8f8007cb9fec9c29006d673b72 Gerrit-Change-Number: 24201 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 May 2021 16:59:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 17:06:19 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 May 2021 17:06:19 +0000 Subject: Change in osmo-pcu[master]: sched: Clean up helper function and improve logging In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24204 ) Change subject: sched: Clean up helper function and improve logging ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24204/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/24204/3//COMMIT_MSG at 8 PS3, Line 8: Could be a bit more detailed, e.g. which helper functions (two) you modified and what has been improved in logging. But not worth blocking merge over this. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8c19d0924e73c324a36ea038cab7cc4e096b866b Gerrit-Change-Number: 24204 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 May 2021 17:06:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 17:06:44 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 May 2021 17:06:44 +0000 Subject: Change in osmo-pcu[master]: Drop existing tbf->ms() check condition In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24205 ) Change subject: Drop existing tbf->ms() check condition ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If056a3fb83b43a48c2a6382fc30c6c81fe2b2651 Gerrit-Change-Number: 24205 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 May 2021 17:06:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 17:29:46 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 May 2021 17:29:46 +0000 Subject: Change in osmo-pcu[master]: ul_tbf: Simplify function rcv_data_block_acknowledged In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24210 ) Change subject: ul_tbf: Simplify function rcv_data_block_acknowledged ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24210/2/src/tbf_ul.cpp File src/tbf_ul.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/24210/2/src/tbf_ul.cpp at 437 PS2, Line 437: continue; The original code would not "continue" here. Is that change on purpose? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I77afaa617d7ce045c0f6d994fc0d8e03fe69de53 Gerrit-Change-Number: 24210 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Wed, 12 May 2021 17:29:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 17:31:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 17:31:09 +0000 Subject: Change in osmo-pcu[master]: ul_tbf: Simplify function rcv_data_block_acknowledged In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24210 ) Change subject: ul_tbf: Simplify function rcv_data_block_acknowledged ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24210/2/src/tbf_ul.cpp File src/tbf_ul.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/24210/2/src/tbf_ul.cpp at 437 PS2, Line 437: continue; > The original code would not "continue" here. [?] Yes, it's part of the change, to keep same behavior. See how this branchdoesn't set need_rlc_data to true, and hence it would anyway hit the "continue" below which was removed. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I77afaa617d7ce045c0f6d994fc0d8e03fe69de53 Gerrit-Change-Number: 24210 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Wed, 12 May 2021 17:31:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 17:31:54 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 May 2021 17:31:54 +0000 Subject: Change in osmo-pcu[master]: ul_tbf: Fix accessing zeroed block when checking if transfer is complete In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24211 ) Change subject: ul_tbf: Fix accessing zeroed block when checking if transfer is complete ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I739e67ae1bb40555a362170f26fb98ac69caabb2 Gerrit-Change-Number: 24211 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 May 2021 17:31:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 17:33:26 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 May 2021 17:33:26 +0000 Subject: Change in osmo-pcu[master]: ul_tbf: Simplify function rcv_data_block_acknowledged In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24210 ) Change subject: ul_tbf: Simplify function rcv_data_block_acknowledged ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24210/2/src/tbf_ul.cpp File src/tbf_ul.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/24210/2/src/tbf_ul.cpp at 437 PS2, Line 437: continue; > Yes, it's part of the change, to keep same behavior. [?] Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I77afaa617d7ce045c0f6d994fc0d8e03fe69de53 Gerrit-Change-Number: 24210 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 May 2021 17:33:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: osmith Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 17:39:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 17:39:22 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs: Pre-configure tun device for UPF In-Reply-To: References: Message-ID: Hello Jenkins Builder, srs_andre, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24220 to look at the new patch set (#2). Change subject: open5gs: Pre-configure tun device for UPF ...................................................................... open5gs: Pre-configure tun device for UPF open5gs requires the tun device to be pre-created and pre-configured before using it. A ticket was opened in order to allow upfd itself configuring it in [1] [1] https://github.com/open5gs/open5gs/issues/899 Change-Id: I3b1857f09017cacee1c86f41dae1463c11b50490 --- M src/osmo_gsm_tester/obj/epc_open5gs.py M src/osmo_gsm_tester/obj/upf_open5gs.py M src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl M src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl A utils/bin/osmo-gsm-tester_open5gs_tun_setup.sh A utils/sudoers.d/osmo-gsm-tester_open5gs_tun_setup 6 files changed, 39 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/20/24220/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3b1857f09017cacee1c86f41dae1463c11b50490 Gerrit-Change-Number: 24220 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 17:39:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 17:39:23 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs: Fix GTP-U addr binding References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24222 ) Change subject: open5gs: Fix GTP-U addr binding ...................................................................... open5gs: Fix GTP-U addr binding Change-Id: I8c91a9c4a07f4229cb4ae9af61d94e720d81a961 --- M src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl M src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/22/24222/1 diff --git a/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl index 00a0eae..463e662 100644 --- a/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl @@ -315,8 +315,8 @@ gtpc: - addr: ${epc.addr_smf} gtpu: - - addr: ${epc.run_addr} - port: 2153 + - addr: ${epc.addr_smf} + port: 2152 subnet: - addr: ${epc.tun_addr}/${epc.tun_netmask} dns: diff --git a/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl index 757c0ec..55b78f6 100644 --- a/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl @@ -107,8 +107,8 @@ pfcp: - addr: ${epc.addr_upf} gtpu: - - addr: ${epc.run_addr} - port: 2154 + - addr: ${epc.addr_upf} + port: 2152 subnet: - addr: ${epc.tun_addr}/${epc.tun_netmask} dnn: ${epc.apn_name} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8c91a9c4a07f4229cb4ae9af61d94e720d81a961 Gerrit-Change-Number: 24222 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 17:39:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 17:39:44 +0000 Subject: Change in osmo-gsm-tester[master]: sysmocom/defaults.conf: Fix recently changed node name In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24219 ) Change subject: sysmocom/defaults.conf: Fix recently changed node name ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24219 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Id5df83a356579340259d9d02ebc621f298151599 Gerrit-Change-Number: 24219 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 12 May 2021 17:39:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 17:39:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 17:39:46 +0000 Subject: Change in osmo-gsm-tester[master]: sysmocom/defaults.conf: Fix recently changed node name In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24219 ) Change subject: sysmocom/defaults.conf: Fix recently changed node name ...................................................................... sysmocom/defaults.conf: Fix recently changed node name This node was changed recently but this file was not updated. Change-Id: Id5df83a356579340259d9d02ebc621f298151599 --- M sysmocom/defaults.conf 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index 67c9c5d..af5c52c 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -101,7 +101,7 @@ enable_pcap: false log_all_level: warning -open5gsepc: +open5gs: db_host: "localhost" amarisoft: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24219 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Id5df83a356579340259d9d02ebc621f298151599 Gerrit-Change-Number: 24219 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 17:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 17:39:59 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Update srsLTE references to srsRAN In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24221 ) Change subject: osmo-gsm-tester: Update srsLTE references to srsRAN ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I58d4c26337382ad9e66a569a482e77442137383a Gerrit-Change-Number: 24221 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 12 May 2021 17:39:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 17:40:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 17:40:01 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Update srsLTE references to srsRAN In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24221 ) Change subject: osmo-gsm-tester: Update srsLTE references to srsRAN ...................................................................... osmo-gsm-tester: Update srsLTE references to srsRAN Change-Id: I58d4c26337382ad9e66a569a482e77442137383a --- M osmo-gsm-tester/Dockerfile M osmo-gsm-tester/jenkins.sh M osmo-gsm-tester/osmo-gsm-tester-master.sh 3 files changed, 18 insertions(+), 17 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index a69b5b2..a584faa 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -89,7 +89,7 @@ libasn1c-dev && \ apt-get clean -# install srsLTE runtime dependencies +# install srsRAN runtime dependencies RUN apt-get update && \ apt-get install -y --no-install-recommends \ cmake \ diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 05a6cde..85e6a69 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -10,10 +10,10 @@ # the host system (so that host's user ssh keys are potentially available) under # /tmp/trial, and the inst is then later built inside the container. # Several env vars are available to tweak where to fetch from. -# SRS_LTE_BRANCH: The srsLTE.git branch to fetch. -# SRS_LTE_REPO_PREFIX: The URL & prefix patch from where to clone the srsLTe.git +# SRS_RAN_BRANCH: The srsRAN.git branch to fetch. +# SRS_RAN_REPO_PREFIX: The URL & prefix patch from where to clone the srsRAN.git # repo. -# SRS_LTE_REPO_NAME: The srsLTE.git repo name, usually "srsLTE", but known to +# SRS_RAN_REPO_NAME: The srsRAN.git repo name, usually "srsRAN", but known to # have different names on some forks. # # osmo-gsm-tester parameters and suites are passed to osmo-gsm-tester.sh in same @@ -25,16 +25,16 @@ TRIAL_DIR="${TRIAL_DIR:-/tmp/trial}" -SRS_LTE_BRANCH=${SRS_LTE_BRANCH:-master} -SRS_LTE_REPO_PREFIX=${SRS_LTE_REPO_PREFIX:-git at github.com:srsLTE} -SRS_LTE_REPO_NAME=${SRS_LTE_REPO_NAME:-srsLTE} +SRS_RAN_BRANCH=${SRS_RAN_BRANCH:-master} +SRS_RAN_REPO_PREFIX=${SRS_RAN_REPO_PREFIX:-git at github.com:srsran} +SRS_RAN_REPO_NAME=${SRS_RAN_REPO_NAME:-srsRAN} OPEN5GS_REPO_PREFIX=${OPEN5GS_REPO_PREFIX:-git at github.com:open5gs} OPEN5GS_BRANCH=${OPEN5GS_BRANCH:-main} have_repo() { repo_prefix=$1 repo_name=$2 branch=$3 - echo "srsLTE inst not provided, fetching it now and it will be build in container" + echo "srsRAN inst not provided, fetching it now and it will be build in container" if [ -d "${TRIAL_DIR}/${repo_name}" ]; then git fetch -C ${TRIAL_DIR}/${repo_name} else @@ -51,12 +51,12 @@ rm -rf "${TRIAL_DIR:?}/${repo_name}/*" git -C "${TRIAL_DIR}/${repo_name}" reset --hard "$branch" } -# If srsLTE trial not provided by user, fetch srsLTE git repo and let the container build it: +# If srsRAN trial not provided by user, fetch srsRAN git repo and let the container build it: if [ "x$(ls ${TRIAL_DIR}/srslte.*.tgz 2>/dev/null | wc -l)" = "x0" ]; then - have_repo $SRS_LTE_REPO_PREFIX $SRS_LTE_REPO_NAME $SRS_LTE_BRANCH + have_repo $SRS_RAN_REPO_PREFIX $SRS_RAN_REPO_NAME $SRS_RAN_BRANCH fi -# If open5gs trial not provided by user, fetch srsLTE git repo and let the container build it: +# If open5gs trial not provided by user, fetch srsRAN git repo and let the container build it: if [ "x$(ls ${TRIAL_DIR}/open5gs.*.tgz 2>/dev/null | wc -l)" = "x0" ]; then have_repo $OPEN5GS_REPO_PREFIX "open5gs" $OPEN5GS_BRANCH have_repo "https://github.com/open5gs" "freeDiameter" "r1.5.0" @@ -108,7 +108,7 @@ -v "${TRIAL_DIR}:/tmp/trial" \ -e "OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF}" \ -e "OSMO_GSM_TESTER_OPTS=${OSMO_GSM_TESTER_OPTS}" \ - -e "SRS_LTE_REPO_NAME=${SRS_LTE_REPO_NAME}" \ + -e "SRS_RAN_REPO_NAME=${SRS_RAN_REPO_NAME}" \ -e "HOST_USER_ID=$(id -u)" \ -e "HOST_GROUP_ID=$(id -g)" \ --name ${BUILD_TAG}-ogt-master \ diff --git a/osmo-gsm-tester/osmo-gsm-tester-master.sh b/osmo-gsm-tester/osmo-gsm-tester-master.sh index ae300c9..ca8d58f 100755 --- a/osmo-gsm-tester/osmo-gsm-tester-master.sh +++ b/osmo-gsm-tester/osmo-gsm-tester-master.sh @@ -11,10 +11,10 @@ ip addr add 172.18.50.9/24 dev eth0 ip addr add 172.18.50.10/24 dev eth0 -build_srslte() { - git_repo_dir="/tmp/trial/${SRS_LTE_REPO_NAME}" +build_srsran() { + git_repo_dir="/tmp/trial/${SRS_RAN_REPO_NAME}" if [ ! -d "$git_repo_dir" ]; then - echo "No external trial nor git repo provided for srsLTE!" + echo "No external trial nor git repo provided for srsRAN!" exit 1 fi pushd "/tmp/trial" @@ -26,6 +26,7 @@ set +x; echo; echo; set -x make install cd .. + # REMARK: OGT still uses old naming "srslte" for the trial. this="srslte.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" tar="${this}.tgz" tar czf "/tmp/trial/$tar" -C "/tmp/trial/sysroot" . @@ -58,9 +59,9 @@ popd } -# Build srsLTE.git if not provided by host system: +# Build srsRAN.git if not provided by host system: if [ "x$(ls /tmp/trial/srslte.*.tgz 2>/dev/null | wc -l)" = "x0" ]; then - build_srslte + build_srsran fi # Build open5gs.git if not provided by host system: -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I58d4c26337382ad9e66a569a482e77442137383a Gerrit-Change-Number: 24221 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 17:48:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 17:48:21 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs: Fix GTP-U addr binding In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24222 ) Change subject: open5gs: Fix GTP-U addr binding ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8c91a9c4a07f4229cb4ae9af61d94e720d81a961 Gerrit-Change-Number: 24222 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 12 May 2021 17:48:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Wed May 12 17:51:12 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 12 May 2021 17:51:12 +0000 Subject: Build failure of network:osmocom:latest/osmo-e1d in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <609c1594d4e63_602b2add512f65f817268d6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-e1d/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-e1d failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-e1d Last lines of build log: [ 113s] [431/476] installing texlive-pictures-2020.20210202-3 [ 114s] Processing triggers for man-db (2.9.4-2) ... [ 114s] Processing triggers for tex-common (6.16) ... [ 114s] Running mktexlsr. This may take some time... done. [ 115s] Running updmap-sys. This may take some time... done. [ 115s] Running mktexlsr /var/lib/texmf ... done. [ 115s] [432/476] installing dh-autoreconf-20 [ 115s] Processing triggers for man-db (2.9.4-2) ... [ 115s] [433/476] installing python3-apt-2.2.0 [ 115s] [434/476] installing texlive-extra-utils-2020.20210202-3 [ 119s] Processing triggers for tex-common (6.16) ... [ 119s] Running mktexlsr. This may take some time... done. [ 119s] Building format(s) --all. [ 125s] This may take some time... done. [ 125s] Processing triggers for man-db (2.9.4-2) ... [ 126s] [435/476] installing texlive-science-2020.20210202-3 [ 126s] Processing triggers for man-db (2.9.4-2) ... [ 126s] Processing triggers for tex-common (6.16) ... [ 126s] Running mktexlsr. This may take some time... done. [ 127s] Running updmap-sys. This may take some time... done. [ 127s] Running mktexlsr /var/lib/texmf ... done. [ 127s] Building format(s) --all. [28933s] qemu-kvm: terminating on signal 15 from pid 218186 () Job seems to be stuck here, killed. (after 28800 seconds of inactivity) [28933s] ### VM INTERACTION END ### [28933s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [28933s] or the build host has a kernel or hardware problem... -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed May 12 17:53:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 17:53:45 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs: Pre-configure tun device for UPF In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24220 ) Change subject: open5gs: Pre-configure tun device for UPF ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3b1857f09017cacee1c86f41dae1463c11b50490 Gerrit-Change-Number: 24220 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 12 May 2021 17:53:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 17:53:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 17:53:49 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs: Pre-configure tun device for UPF In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24220 ) Change subject: open5gs: Pre-configure tun device for UPF ...................................................................... open5gs: Pre-configure tun device for UPF open5gs requires the tun device to be pre-created and pre-configured before using it. A ticket was opened in order to allow upfd itself configuring it in [1] [1] https://github.com/open5gs/open5gs/issues/899 Change-Id: I3b1857f09017cacee1c86f41dae1463c11b50490 --- M src/osmo_gsm_tester/obj/epc_open5gs.py M src/osmo_gsm_tester/obj/upf_open5gs.py M src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl M src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl A utils/bin/osmo-gsm-tester_open5gs_tun_setup.sh A utils/sudoers.d/osmo-gsm-tester_open5gs_tun_setup 6 files changed, 39 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/epc_open5gs.py b/src/osmo_gsm_tester/obj/epc_open5gs.py index 6db513b..64546fd 100644 --- a/src/osmo_gsm_tester/obj/epc_open5gs.py +++ b/src/osmo_gsm_tester/obj/epc_open5gs.py @@ -61,7 +61,10 @@ db_host = values['epc']['db_host'] db_uri = 'mongodb://'+db_host+'/open5gs' config.overlay(values, dict(epc=dict(db_uri=db_uri, + apn_name=self.apn_name(), + tun_name=self.tun_name(), tun_addr=self.tun_addr(), + tun_netmask=self.tun_netmask(), addr_smf=self.priv_addr_smf(), addr_upf=self.priv_addr_upf(), addr_sgwc=self.priv_addr_sgwc(), @@ -121,6 +124,15 @@ def priv_addr_sgwu(self): return self.gen_priv_addr(4) + def tun_name(self): + return "ogstun" + + def tun_netmask(self): + return "24" + + def apn_name(self): + return "internet" + ################### # PUBLIC (test API included) ################### @@ -170,7 +182,7 @@ "default_indicator": True, \ "session": [ \ { \ - "name": "internet", \ + "name": self.apn_name(), \ "type": 3, "pcc_rule": [], "ambr": {"uplink": {"value": 1, "unit": 0}, "downlink": {"value": 1, "unit": 0}}, \ "qos": { "index": 9, "arp": {"priority_level": 8, "pre_emption_capability": 1, "pre_emption_vulnerability": 1} } \ } \ diff --git a/src/osmo_gsm_tester/obj/upf_open5gs.py b/src/osmo_gsm_tester/obj/upf_open5gs.py index 78a520f..344c177 100644 --- a/src/osmo_gsm_tester/obj/upf_open5gs.py +++ b/src/osmo_gsm_tester/obj/upf_open5gs.py @@ -34,6 +34,7 @@ CFGFILE = 'open5gs-upfd.yaml' LOGFILE = 'open5gs-upfd.log' DIAMETERFILE = 'open5gs-freediameter.conf' + O5GS_TUN_SETUP_BIN = 'osmo-gsm-tester_open5gs_tun_setup.sh' def __init__(self, testenv, o5gs_epc): super().__init__(log.C_RUN, 'open5gs-upfd') @@ -137,6 +138,9 @@ f.write(r) if not self._run_node.is_local(): + self.rem_host.run_remote_sync('tun-setup', ('sudo', Open5gsUPF.O5GS_TUN_SETUP_BIN, + self.o5gs_epc.tun_name(), self.o5gs_epc.tun_addr(), + self.o5gs_epc.tun_netmask())) self.rem_host.recreate_remote_dir(self.remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) self.rem_host.recreate_remote_dir(remote_run_dir) diff --git a/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl index f2bd807..00a0eae 100644 --- a/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl @@ -318,7 +318,7 @@ - addr: ${epc.run_addr} port: 2153 subnet: - - addr: ${epc.tun_addr}/16 + - addr: ${epc.tun_addr}/${epc.tun_netmask} dns: - 8.8.8.8 - 8.8.4.4 diff --git a/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl index 87066d6..757c0ec 100644 --- a/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl @@ -110,7 +110,9 @@ - addr: ${epc.run_addr} port: 2154 subnet: - - addr: ${epc.tun_addr}/16 + - addr: ${epc.tun_addr}/${epc.tun_netmask} + dnn: ${epc.apn_name} + dev: ${epc.tun_name} # # smf: diff --git a/utils/bin/osmo-gsm-tester_open5gs_tun_setup.sh b/utils/bin/osmo-gsm-tester_open5gs_tun_setup.sh new file mode 100755 index 0000000..c9cc28c --- /dev/null +++ b/utils/bin/osmo-gsm-tester_open5gs_tun_setup.sh @@ -0,0 +1,17 @@ +#!/bin/bash -e + +ifname="$1" +ifaddr="$2" +ifmask="$3" + +echo "*** Configuring tun $ifname with addr $ifaddr/$ifmask" + +if grep "$ifname" /proc/net/dev > /dev/null; then + ip tuntap del name "$ifname" mode tun +fi + +ip tuntap add name "$ifname" mode tun + +ip addr add "$ifaddr/$ifmask" dev "$ifname" +ip link set "$ifname" up +echo "*** done configuring tun interface $ifname" diff --git a/utils/sudoers.d/osmo-gsm-tester_open5gs_tun_setup b/utils/sudoers.d/osmo-gsm-tester_open5gs_tun_setup new file mode 100644 index 0000000..9b8ed83 --- /dev/null +++ b/utils/sudoers.d/osmo-gsm-tester_open5gs_tun_setup @@ -0,0 +1 @@ +%osmo-gsm-tester ALL=(root) NOPASSWD: /usr/local/bin/osmo-gsm-tester_open5gs_tun_setup.sh -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3b1857f09017cacee1c86f41dae1463c11b50490 Gerrit-Change-Number: 24220 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 17:53:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 May 2021 17:53:49 +0000 Subject: Change in osmo-gsm-tester[master]: open5gs: Fix GTP-U addr binding In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24222 ) Change subject: open5gs: Fix GTP-U addr binding ...................................................................... open5gs: Fix GTP-U addr binding Change-Id: I8c91a9c4a07f4229cb4ae9af61d94e720d81a961 --- M src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl M src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl index 00a0eae..463e662 100644 --- a/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl @@ -315,8 +315,8 @@ gtpc: - addr: ${epc.addr_smf} gtpu: - - addr: ${epc.run_addr} - port: 2153 + - addr: ${epc.addr_smf} + port: 2152 subnet: - addr: ${epc.tun_addr}/${epc.tun_netmask} dns: diff --git a/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl index 757c0ec..55b78f6 100644 --- a/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl +++ b/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl @@ -107,8 +107,8 @@ pfcp: - addr: ${epc.addr_upf} gtpu: - - addr: ${epc.run_addr} - port: 2154 + - addr: ${epc.addr_upf} + port: 2152 subnet: - addr: ${epc.tun_addr}/${epc.tun_netmask} dnn: ${epc.apn_name} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8c91a9c4a07f4229cb4ae9af61d94e720d81a961 Gerrit-Change-Number: 24222 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 18:19:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 May 2021 18:19:15 +0000 Subject: Change in libosmo-sccp[master]: ss7_asp_test.vty: Allow more asp node commands after shutdown In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24215 ) Change subject: ss7_asp_test.vty: Allow more asp node commands after shutdown ...................................................................... ss7_asp_test.vty: Allow more asp node commands after shutdown this will be required once we add new commands (quirk) in the next few patches. Change-Id: If1068cd94782df236948101166a76586e9845762 --- M tests/vty/ss7_asp_test.vty 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty index ee1b3e5..fd54642 100644 --- a/tests/vty/ss7_asp_test.vty +++ b/tests/vty/ss7_asp_test.vty @@ -222,6 +222,7 @@ sctp-role (client|server) block shutdown +... ss7_asp_vty_test(config-cs7-asp)# ? ... @@ -233,6 +234,7 @@ sctp-role Specify the SCTP role for this ASP block Allows a SCTP Association with ASP, but doesn't let it become active shutdown Terminates SCTP association; New associations will be rejected +... ss7_asp_vty_test(config-cs7-asp)# remote-ip 127.0.0.200 ss7_asp_vty_test(config-cs7-asp)# local-ip 127.0.0.100 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: If1068cd94782df236948101166a76586e9845762 Gerrit-Change-Number: 24215 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 18:27:48 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 12 May 2021 18:27:48 +0000 Subject: Change in osmo-pcu[master]: sched: Clean up param passing and improve logging In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23994 ) Change subject: sched: Clean up param passing and improve logging ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23994/3/src/gprs_rlcmac_sched.cpp File src/gprs_rlcmac_sched.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23994/3/src/gprs_rlcmac_sched.cpp at 485 PS3, Line 485: The patch looks logical to me but I have difficulties see why the ts and trx values in pdch are equivalent to the values passed to get_ctrl_msg_tbf_candidates(). Maybe it makes sense to make this clear with a line or two in commitmsg. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23994 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If137a2aaac7744e60564ca833a1b5564ed7d93bb Gerrit-Change-Number: 23994 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 May 2021 18:27:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Wed May 12 18:45:02 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Wed, 12 May 2021 18:45:02 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-opencm3-projects_=C2=BB_a1=3Ddef?= =?UTF-8?Q?ault,a2=3Ddefault,a3=3Ddefault,a4=3Dd?= =?UTF-8?Q?efault,osmocom-master-debian9_#6?= In-Reply-To: <265982175.817.1620758702088@jenkins.osmocom.org> References: <265982175.817.1620758702088@jenkins.osmocom.org> Message-ID: <1779043093.877.1620845102087@jenkins.osmocom.org> See Changes: ------------------------------------------ Started by upstream project "master-osmo-opencm3-projects" build number 6 originally caused by: Started by timer Running as SYSTEM Building remotely on build2-deb9build-ansible (ttcn3 osmocom-gerrit-debian9 osmocom-master-debian9 repo-install-test coverity) in workspace The recommended git tool is: NONE No credentials specified > git rev-parse --resolve-git-dir # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git://git.osmocom.org/osmo-opencm3-projects # timeout=10 Fetching upstream changes from git://git.osmocom.org/osmo-opencm3-projects > git --version # timeout=10 > git --version # 'git version 2.11.0' > git fetch --tags --progress -- git://git.osmocom.org/osmo-opencm3-projects +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision 7527cab6d8364b2022bd4fa2fd03039eac2a99bb (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 Commit message: "add missing libcommon.mk" > git rev-list --no-walk 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.libopencm3.url # timeout=10 > git config -f .gitmodules --get submodule.libopencm3.path # timeout=10 > git config --get submodule.librfn.url # timeout=10 > git config -f .gitmodules --get submodule.librfn.path # timeout=10 > git submodule update --init --recursive libopencm3 # timeout=10 > git submodule update --init --recursive librfn # timeout=10 [osmocom-master-debian9] $ /bin/sh -xe /tmp/jenkins2950150228139616624.sh + ARTIFACT_STORE=/home/osmocom-build/jenkins_build_artifact_store + mkdir -p /home/osmocom-build/jenkins_build_artifact_store + docker run --rm=true --cap-add SYS_PTRACE -e ARTIFACT_STORE=/artifact_store -e ASCIIDOC_WARNINGS_CHECK=1 -e HOME=/build -e JOB_NAME=master-osmo-opencm3-projects/a1=default,a2=default,a3=default,a4=default,label=osmocom-master-debian9 -e MAKE=make -e OSMOPY_DEBUG_TCP_SOCKETS=1 -e OSMO_GSM_MANUALS_DIR=/opt/osmo-gsm-manuals -e PARALLEL_MAKE=-j 8 -e PUBLISH=1 -e WITH_MANUALS=1 -w /build -i -u build -v :/build -v /home/osmocom-build/jenkins_build_artifact_store:/artifact_store -v /home/osmocom-build/.ssh:/home/build/.ssh:ro osmocom-build/debian-stretch-jenkins /build/contrib/jenkins.sh --publish =============== relay-driver START ============== CLEAN CC console.c arm-none-eabi-gcc: error: /usr/lib/picolibc/arm-none-eabi/picolibc.specs: No such file or directory make: *** [console.o] Error 1 ../../mk/libopencm3.mk:227: recipe for target 'console.o' failed Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From noreply at opensuse.org Wed May 12 18:55:36 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 12 May 2021 18:55:36 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <609c24b1175e4_602b2add512f65f81743483@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-pcu failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 0s] [ 0s] armbuild04 started "build osmo-pcu_0.9.0.88.4b6f.202105120026.dsc" at Wed May 12 18:55:20 UTC 2021. [ 0s] [ 0s] Building osmo-pcu for project 'network:osmocom:nightly' repository 'Debian_9.0' arch 'armv7l' srcmd5 '508c3f22674246911588455fe0696aeb' [ 0s] [ 0s] processing recipe /var/cache/obs/worker/root_2/.build-srcdir/osmo-pcu_0.9.0.88.4b6f.202105120026.dsc ... [ 0s] running changelog2spec --target debian --file /var/cache/obs/worker/root_2/.build-srcdir/osmo-pcu_0.9.0.88.4b6f.202105120026.dsc [ 0s] init_buildsystem --configdir /var/run/obs/worker/2/build/configs --cachedir /var/cache/build --prepare --clean --rpmlist /var/cache/obs/worker/root_2/.build.rpmlist /var/cache/obs/worker/root_2/.build-srcdir/osmo-pcu_0.9.0.88.4b6f.202105120026.dsc build ... [ 1s] unknown keyword in config: [ 1s] could not autodetect package type [ 1s] [ 1s] armbuild04 failed "build osmo-pcu_0.9.0.88.4b6f.202105120026.dsc" at Wed May 12 18:55:21 UTC 2021. [ 1s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed May 12 19:51:59 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 12 May 2021 19:51:59 +0000 Subject: Change in pysim[master]: Add codecs for EF_SPN and GSM strings via construct In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24180 ) Change subject: Add codecs for EF_SPN and GSM strings via construct ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia1d3a3835933bac0002b7c52511481dd8094b994 Gerrit-Change-Number: 24180 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 12 May 2021 19:51:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 21:29:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 May 2021 21:29:37 +0000 Subject: Change in osmo-pcu[master]: sched: Clean up helper function and improve logging In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24204 ) Change subject: sched: Clean up helper function and improve logging ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8c19d0924e73c324a36ea038cab7cc4e096b866b Gerrit-Change-Number: 24204 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 May 2021 21:29:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 21:30:49 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 May 2021 21:30:49 +0000 Subject: Change in osmo-pcu[master]: Drop existing tbf->ms() check condition In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24205 ) Change subject: Drop existing tbf->ms() check condition ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If056a3fb83b43a48c2a6382fc30c6c81fe2b2651 Gerrit-Change-Number: 24205 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 May 2021 21:30:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 21:32:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 May 2021 21:32:08 +0000 Subject: Change in osmo-pcu[master]: ul_tbf: Simplify function rcv_data_block_acknowledged In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24210 ) Change subject: ul_tbf: Simplify function rcv_data_block_acknowledged ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I77afaa617d7ce045c0f6d994fc0d8e03fe69de53 Gerrit-Change-Number: 24210 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 May 2021 21:32:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 21:35:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 May 2021 21:35:30 +0000 Subject: Change in osmo-pcu[master]: ul_tbf: Fix accessing zeroed block when checking if transfer is complete In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24211 ) Change subject: ul_tbf: Fix accessing zeroed block when checking if transfer is complete ...................................................................... Patch Set 2: Code-Review+1 In this patch it also looks to me like we're adapting our behavior to something that shall not happen normally. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I739e67ae1bb40555a362170f26fb98ac69caabb2 Gerrit-Change-Number: 24211 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 May 2021 21:35:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 12 21:42:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 May 2021 21:42:40 +0000 Subject: Change in osmo-pcu[master]: sched: Clean up param passing and improve logging In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23994 ) Change subject: sched: Clean up param passing and improve logging ...................................................................... Patch Set 3: Code-Review+1 (1 comment) I am fine with this change, but would be good to add commit message as was asked by @dexter. https://gerrit.osmocom.org/c/osmo-pcu/+/23994/3/src/gprs_rlcmac_sched.cpp File src/gprs_rlcmac_sched.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23994/3/src/gprs_rlcmac_sched.cpp at 485 PS3, Line 485: > The patch looks logical to me but I have difficulties see why the ts and trx values in pdch are equi [?] As far as I can see, the calling function gprs_rlcmac_rcv_rts_block() basically does resolve a pointer to PDCH from 'trx' and 'ts' values it gets in the RTS message. In this function we basically do the opposite: getting 'trx' and 'ts' values back from PDCH. This could have been the commit message ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23994 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If137a2aaac7744e60564ca833a1b5564ed7d93bb Gerrit-Change-Number: 23994 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 May 2021 21:42:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 11:36:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 11:36:47 +0000 Subject: Change in osmo-pcu[master]: Tx ul ack/nack: Avoid sending invalid/unknown TLLI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24201 ) Change subject: Tx ul ack/nack: Avoid sending invalid/unknown TLLI ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibae5df6cfbb56f8f8007cb9fec9c29006d673b72 Gerrit-Change-Number: 24201 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 May 2021 11:36:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 11:37:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 11:37:12 +0000 Subject: Change in osmo-pcu[master]: ul_tbf: Fix accessing zeroed block when checking if transfer is complete In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24211 ) Change subject: ul_tbf: Fix accessing zeroed block when checking if transfer is complete ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I739e67ae1bb40555a362170f26fb98ac69caabb2 Gerrit-Change-Number: 24211 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 May 2021 11:37:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 11:37:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 11:37:24 +0000 Subject: Change in osmo-pcu[master]: Tx ul ack/nack: Avoid sending invalid/unknown TLLI In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24201 ) Change subject: Tx ul ack/nack: Avoid sending invalid/unknown TLLI ...................................................................... Tx ul ack/nack: Avoid sending invalid/unknown TLLI It could happen that if MS sends first UL blocks without TLLI (wrongly, due to being in contention resolution), the submitted UL ACK/NACK would contain an invalid TLLI. Related: OS#1940 Change-Id: Ibae5df6cfbb56f8f8007cb9fec9c29006d673b72 --- M src/encoding.cpp 1 file changed, 14 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/encoding.cpp b/src/encoding.cpp index 2f58759..136532c 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -890,8 +890,12 @@ bitvec_write_field(dest, &wp, mcs_chan_code(tbf->current_cs()), 2); // CHANNEL_CODING_COMMAND write_packet_ack_nack_desc_gprs(dest, wp, window, is_final); - bitvec_write_field(dest, &wp, 1, 1); // 1: have CONTENTION_RESOLUTION_TLLI - bitvec_write_field(dest, &wp, tbf->tlli(), 32); // CONTENTION_RESOLUTION_TLLI + if (tbf->is_tlli_valid()) { + bitvec_write_field(dest, &wp, 1, 1); // 1: have CONTENTION_RESOLUTION_TLLI + bitvec_write_field(dest, &wp, tbf->tlli(), 32); // CONTENTION_RESOLUTION_TLLI + } else { + bitvec_write_field(dest, &wp, 0, 1); // 0: don't have CONTENTION_RESOLUTION_TLLI + } bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Packet Timing Advance bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Power Control Parameters @@ -1072,8 +1076,14 @@ bitvec_write_field(dest, &wp, 1, 1); // PRE_EMPTIVE_TRANSMISSION, TODO: This resembles GPRS, change it? bitvec_write_field(dest, &wp, 0, 1); // 0: no PRR_RETRANSMISSION_REQUEST, TODO: clarify bitvec_write_field(dest, &wp, 0, 1); // 0: no ARAC_RETRANSMISSION_REQUEST, TODO: clarify - bitvec_write_field(dest, &wp, 1, 1); // 1: have CONTENTION_RESOLUTION_TLLI - bitvec_write_field(dest, &wp, tbf->tlli(), 32); // CONTENTION_RESOLUTION_TLLI + + if (tbf->is_tlli_valid()) { + bitvec_write_field(dest, &wp, 1, 1); // 1: have CONTENTION_RESOLUTION_TLLI + bitvec_write_field(dest, &wp, tbf->tlli(), 32); // CONTENTION_RESOLUTION_TLLI + } else { + bitvec_write_field(dest, &wp, 0, 1); // 0: don't have CONTENTION_RESOLUTION_TLLI + } + bitvec_write_field(dest, &wp, 1, 1); // TBF_EST (enabled) bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Packet Timing Advance bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Packet Extended Timing Advance -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibae5df6cfbb56f8f8007cb9fec9c29006d673b72 Gerrit-Change-Number: 24201 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 11:37:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 11:37:24 +0000 Subject: Change in osmo-pcu[master]: encoding: Use gsm48_ta_is_valid() API In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24202 ) Change subject: encoding: Use gsm48_ta_is_valid() API ...................................................................... encoding: Use gsm48_ta_is_valid() API Change-Id: Ieaa4c2f926611576e22eaac8a7ac595135809e2c --- M src/encoding.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/encoding.cpp b/src/encoding.cpp index 136532c..22da6ab 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -661,7 +661,7 @@ } /* Packet Timing Advance (if known) */ - if (tbf->ta() <= 63) { /* { 0 | 1 < TIMING_ADVANCE_VALUE : bit (6) > } */ + if (gsm48_ta_is_valid(tbf->ta())) { /* { 0 | 1 < TIMING_ADVANCE_VALUE : bit (6) > } */ pta->Exist_TIMING_ADVANCE_VALUE = 0x01; // Present pta->TIMING_ADVANCE_VALUE = tbf->ta(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24202 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieaa4c2f926611576e22eaac8a7ac595135809e2c Gerrit-Change-Number: 24202 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 11:37:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 11:37:25 +0000 Subject: Change in osmo-pcu[master]: encoding: Encode TA in UL ACK/NACK if available In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24203 ) Change subject: encoding: Encode TA in UL ACK/NACK if available ...................................................................... encoding: Encode TA in UL ACK/NACK if available Change-Id: I3b060ee16aeac5f5d9b314b6bc46383f5e9c44c3 --- M src/encoding.cpp M tests/tbf/TbfTest.cpp 2 files changed, 23 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/encoding.cpp b/src/encoding.cpp index 22da6ab..0a4050f 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -897,7 +897,15 @@ bitvec_write_field(dest, &wp, 0, 1); // 0: don't have CONTENTION_RESOLUTION_TLLI } - bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Packet Timing Advance + if (gsm48_ta_is_valid(tbf->ta())) { + bitvec_write_field(dest, &wp, 1, 1); // 1: have Packet Timing Advance IE (TS 44.060 12.12) + bitvec_write_field(dest, &wp, 1, 1); // 1: have TIMING_ADVANCE_VALUE + bitvec_write_field(dest, &wp, tbf->ta(), 6); // TIMING_ADVANCE_VALUE + bitvec_write_field(dest, &wp, 0, 1); // 0: don't have TIMING_ADVANCE_INDEX + } else { + bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Packet Timing Advance + } + bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Power Control Parameters bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Extension Bits bitvec_write_field(dest, &wp, 0, 1); // fixed 0 @@ -1085,7 +1093,16 @@ } bitvec_write_field(dest, &wp, 1, 1); // TBF_EST (enabled) - bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Packet Timing Advance + + if (gsm48_ta_is_valid(tbf->ta())) { + bitvec_write_field(dest, &wp, 1, 1); // 1: have Packet Timing Advance IE (TS 44.060 12.12) + bitvec_write_field(dest, &wp, 1, 1); // 1: have TIMING_ADVANCE_VALUE + bitvec_write_field(dest, &wp, tbf->ta(), 6); // TIMING_ADVANCE_VALUE + bitvec_write_field(dest, &wp, 0, 1); // 0: don't have TIMING_ADVANCE_INDEX + } else { + bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Packet Timing Advance + } + bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Packet Extended Timing Advance bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Power Control Parameters bitvec_write_field(dest, &wp, 0, 1); // 0: don't have Extension Bits diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index e0fd9cc..18a0a37 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -794,8 +794,8 @@ struct msgb *msg1 = ul_tbf->create_ul_ack(*fn, ts_no); - static uint8_t exp1[] = { 0x40, 0x24, 0x01, 0x0b, 0x3e, 0x24, 0x46, 0x68, 0x90, 0x87, 0xb0, 0x06, - 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b + static uint8_t exp1[] = { 0x40, 0x24, 0x01, 0x0b, 0x3e, 0x24, 0x46, 0x68, 0x9c, 0x70, 0x87, 0xb0, + 0x06, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b }; if (!msgb_eq_data_print(msg1, exp1, GSM_MACBLOCK_LEN)) { @@ -821,8 +821,8 @@ msg1 = ul_tbf->create_ul_ack(*fn, ts_no); - static uint8_t exp2[] = { 0x40, 0x24, 0x01, 0x0b, 0x3e, 0x24, 0x46, 0x68, 0x90, 0x88, 0xb0, 0x06, 0x8b, - 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b + static uint8_t exp2[] = { 0x40, 0x24, 0x01, 0x0b, 0x3e, 0x24, 0x46, 0x68, 0x9c, 0x70, 0x88, 0xb0, + 0x06, 0x8b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b }; if (!msgb_eq_data_print(msg1, exp2, GSM_MACBLOCK_LEN)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3b060ee16aeac5f5d9b314b6bc46383f5e9c44c3 Gerrit-Change-Number: 24203 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 11:37:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 11:37:25 +0000 Subject: Change in osmo-pcu[master]: sched: Clean up helper function and improve logging In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24204 ) Change subject: sched: Clean up helper function and improve logging ...................................................................... sched: Clean up helper function and improve logging Change-Id: I8c19d0924e73c324a36ea038cab7cc4e096b866b --- M src/gprs_rlcmac_sched.cpp M tests/tbf/TbfTest.err 2 files changed, 67 insertions(+), 70 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index bb65ae1..527d152 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -84,8 +84,7 @@ } } -static struct gprs_rlcmac_ul_tbf *sched_select_uplink(uint8_t trx, uint8_t ts, uint32_t fn, - uint8_t block_nr, struct gprs_rlcmac_pdch *pdch, bool require_gprs_only) +static struct gprs_rlcmac_ul_tbf *sched_select_uplink(struct gprs_rlcmac_pdch *pdch, bool require_gprs_only) { struct gprs_rlcmac_ul_tbf *tbf; uint8_t i, tfi; @@ -107,11 +106,7 @@ if (require_gprs_only && tbf->is_egprs_enabled()) continue; - /* use this USF */ - LOGP(DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: TRX=%d " - "TS=%d FN=%d block_nr=%d scheduling USF=%d for " - "required uplink resource of UL TFI=%d\n", trx, ts, fn, - block_nr, tbf->m_usf[ts], tfi); + /* use this USF (tbf) */ /* next TBF to handle resource is the next one */ pdch->next_ul_tfi = (tfi + 1) & 31; return tbf; @@ -464,10 +459,9 @@ "single block allocation at FN=%d\n", fn, block_nr, sba->fn); /* else, check uplink resource for polling */ } else if ((poll_tbf = pdch_ulc_get_tbf_poll(pdch->ulc, poll_fn))) { - LOGP(DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: TRX=%d " - "TS=%d FN=%d block_nr=%d scheduling free USF for " - "polling at FN=%d of %s\n", trx, ts, fn, - block_nr, poll_fn, tbf_name(poll_tbf)); + LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: FN=%d " + "block_nr=%d scheduling free USF for polling at FN=%d of %s\n", + fn, block_nr, poll_fn, tbf_name(poll_tbf)); /* If POLL TBF is UL and already has a USF assigned on this TS, * let's set its USF in the DL msg. This is not really needed, * but it helps understand better the flow when looking at @@ -475,7 +469,10 @@ if (poll_tbf->direction == GPRS_RLCMAC_UL_TBF && as_ul_tbf(poll_tbf)->m_usf[ts] != USF_INVALID) usf_tbf = as_ul_tbf(poll_tbf); /* else, search for uplink tbf */ - } else if ((usf_tbf = sched_select_uplink(trx, ts, fn, block_nr, pdch, require_gprs_only))) { + } else if ((usf_tbf = sched_select_uplink(pdch, require_gprs_only))) { + LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: FN=%d " + "block_nr=%d scheduling USF=%d for %s, expect answer on UL FN=%d\n", + fn, block_nr, usf_tbf->m_usf[pdch->ts_no], tbf_name(usf_tbf), poll_fn); pdch_ulc_reserve_tbf_usf(pdch->ulc, poll_fn, usf_tbf); } /* If MS selected for USF is GPRS-only, then it will only be diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index a205f39..3f1ab66 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -80,7 +80,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 0, CS-1): 07 00 01 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 @@ -170,7 +170,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 0, CS-1): 07 00 01 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 @@ -260,7 +260,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 0, CS-1): 07 00 01 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 @@ -1668,7 +1668,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 10 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 1 -Received RTS for PDCH: TRX=0 TS=7 FN=2654275 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654275 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654279 PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654275 + 13 = 2654288 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -1693,7 +1693,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654279 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654279 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654283 PDCH(bts=0,trx=0,ts=7) FN=2654279 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-4 @@ -1717,7 +1717,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654292, TS=7 (curr FN 2654292) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 0 => 1 (< MAX 8) -Received RTS for PDCH: TRX=0 TS=7 FN=2654296 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654296 block_nr=2 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654301 PDCH(bts=0,trx=0,ts=7) FN=2654296 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Restarting at BSN 0, because all blocks have been transmitted. @@ -1770,7 +1770,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654309, TS=7 (curr FN 2654348) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 1 => 2 (< MAX 8) -Received RTS for PDCH: TRX=0 TS=7 FN=2654348 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654348 block_nr=2 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654353 PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654348 + 13 = 2654361 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ @@ -2219,7 +2219,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 13 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 13 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 40 -Received RTS for PDCH: TRX=0 TS=7 FN=2654275 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654275 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654279 PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654275 + 13 = 2654288 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -2244,7 +2244,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654279 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654279 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654283 PDCH(bts=0,trx=0,ts=7) FN=2654279 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 @@ -2263,7 +2263,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654283 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654283 block_nr=11 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654288 PDCH(bts=0,trx=0,ts=7) FN=2654283 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 @@ -2281,7 +2281,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654288 block_nr=0 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654288 block_nr=0 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654292 PDCH(bts=0,trx=0,ts=7) FN=2654288 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 2, CS=CS-1 @@ -2301,7 +2301,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654292 block_nr=1 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654292 block_nr=1 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654296 PDCH(bts=0,trx=0,ts=7) FN=2654292 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 3, CS=CS-1 @@ -2319,7 +2319,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654296 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654296 block_nr=2 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654301 PDCH(bts=0,trx=0,ts=7) FN=2654296 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 4, CS=CS-1 @@ -2339,7 +2339,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654301 block_nr=3 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654301 block_nr=3 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654305 PDCH(bts=0,trx=0,ts=7) FN=2654301 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 5, CS=CS-1 @@ -2357,7 +2357,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654305 block_nr=4 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654305 block_nr=4 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654309 PDCH(bts=0,trx=0,ts=7) FN=2654305 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 6, CS=CS-1 @@ -2377,7 +2377,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654309 block_nr=5 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654309 block_nr=5 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654314 PDCH(bts=0,trx=0,ts=7) FN=2654309 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 7, CS=CS-1 @@ -2395,7 +2395,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654314 block_nr=6 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654314 block_nr=6 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654318 PDCH(bts=0,trx=0,ts=7) FN=2654314 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 8, CS=CS-1 @@ -2413,7 +2413,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654318 block_nr=7 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654318 block_nr=7 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654322 PDCH(bts=0,trx=0,ts=7) FN=2654318 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 9, CS=CS-1 @@ -2433,7 +2433,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654322 block_nr=8 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654322 block_nr=8 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654327 PDCH(bts=0,trx=0,ts=7) FN=2654322 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 10, CS=CS-1 @@ -2451,7 +2451,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654327 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654327 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654331 PDCH(bts=0,trx=0,ts=7) FN=2654327 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 11, CS=CS-1 @@ -2471,7 +2471,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654331 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654331 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654335 PDCH(bts=0,trx=0,ts=7) FN=2654331 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 12, CS=CS-1 @@ -2489,7 +2489,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654335 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654335 block_nr=11 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654340 PDCH(bts=0,trx=0,ts=7) FN=2654335 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 13, CS=CS-1 @@ -2509,7 +2509,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654340 block_nr=0 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654340 block_nr=0 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654344 PDCH(bts=0,trx=0,ts=7) FN=2654340 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 14, CS=CS-1 @@ -2527,7 +2527,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654344 block_nr=1 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654344 block_nr=1 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654348 PDCH(bts=0,trx=0,ts=7) FN=2654344 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==15) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 15, CS=CS-1 @@ -2545,7 +2545,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654348 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654348 block_nr=2 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654353 PDCH(bts=0,trx=0,ts=7) FN=2654348 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==16) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 16, CS=CS-1 @@ -2565,7 +2565,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654353 block_nr=3 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654353 block_nr=3 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654357 PDCH(bts=0,trx=0,ts=7) FN=2654353 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==17) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 17, CS=CS-1 @@ -2583,7 +2583,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654357 block_nr=4 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654357 block_nr=4 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654361 PDCH(bts=0,trx=0,ts=7) FN=2654357 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==18) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 18, CS=CS-1 @@ -2603,7 +2603,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654361 block_nr=5 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654361 block_nr=5 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654366 PDCH(bts=0,trx=0,ts=7) FN=2654361 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==19) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 19, CS=CS-1 @@ -2621,7 +2621,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654366 block_nr=6 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654366 block_nr=6 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654370 PDCH(bts=0,trx=0,ts=7) FN=2654366 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==20) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 20, CS=CS-1 @@ -2645,7 +2645,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654370 block_nr=7 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654370 block_nr=7 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654374 PDCH(bts=0,trx=0,ts=7) FN=2654370 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==21) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 21, CS=CS-1 @@ -2663,7 +2663,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654374 block_nr=8 scheduling free USF for polling at FN=2654379 of TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654374 block_nr=8 scheduling free USF for polling at FN=2654379 of TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) PDCH(bts=0,trx=0,ts=7) FN=2654374 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==22) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 22, CS=CS-1 @@ -2681,7 +2681,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654379 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654379 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654383 PDCH(bts=0,trx=0,ts=7) FN=2654379 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==23) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 23, CS=CS-1 @@ -2701,7 +2701,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654383 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654383 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654387 PDCH(bts=0,trx=0,ts=7) FN=2654383 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==24) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 24, CS=CS-1 @@ -2719,7 +2719,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654387 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654387 block_nr=11 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654392 PDCH(bts=0,trx=0,ts=7) FN=2654387 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==25) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 25, CS=CS-1 @@ -2739,7 +2739,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654392 block_nr=0 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654392 block_nr=0 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654396 PDCH(bts=0,trx=0,ts=7) FN=2654392 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==26) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 26, CS=CS-1 @@ -2757,7 +2757,7 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654396 block_nr=1 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654396 block_nr=1 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654400 PDCH(bts=0,trx=0,ts=7) FN=2654396 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==27) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 27, CS=CS-1 @@ -3573,7 +3573,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 0f 00 00 16 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 2654167 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-1 @@ -3583,7 +3583,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-1): 07 40 00 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-1 @@ -3748,7 +3748,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 21) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 21, MCS-1): 07 40 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Received RTS for PDCH: TRX=0 TS=4 FN=99 block_nr=11 scheduling free USF for polling at FN=104 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=99 block_nr=11 scheduling free USF for polling at FN=104 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=99 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==22) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 22, CS=MCS-1 @@ -3860,7 +3860,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 0f 00 00 12 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 112 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-2 @@ -3870,7 +3870,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-2): 07 40 00 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-2 @@ -4098,7 +4098,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 0f 00 00 06 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 91 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-3 @@ -4108,7 +4108,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-3): 07 40 00 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-3 @@ -4296,7 +4296,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-4): 0f 00 00 00 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 69 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-4 @@ -4306,7 +4306,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-4): 07 40 00 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-4 @@ -4478,7 +4478,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 0f 00 00 08 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 60 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-5 @@ -4488,7 +4488,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-5): 07 40 00 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-5 @@ -4644,7 +4644,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 0f 00 00 00 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 52 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-6 @@ -4654,7 +4654,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-6): 07 40 00 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-6 @@ -4787,7 +4787,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 0f 00 00 08 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 39 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-7) last_mcs(MCS-5) demanded_mcs(MCS-7) cs_trans(MCS-7) arq_type(1) bsn(0) @@ -4800,7 +4800,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-7): 07 00 00 02 b8 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-7 @@ -4939,7 +4939,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-8): 0f 00 00 00 60 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 40 f1 1f 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 Detected FN jump! 34 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-8) last_mcs(MCS-8) demanded_mcs(MCS-8) cs_trans(MCS-8) arq_type(1) bsn(0) @@ -4952,7 +4952,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-8): 07 00 00 02 88 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-8 @@ -5080,7 +5080,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 0f 00 00 00 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 30 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes -Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-9) last_mcs(MCS-6) demanded_mcs(MCS-9) cs_trans(MCS-9) arq_type(1) bsn(0) @@ -5093,7 +5093,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-9): 07 00 00 02 20 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) Received RTS for PDCH: FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-9 @@ -6924,7 +6924,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=159) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 already received -Received RTS for PDCH: TRX=0 TS=7 FN=2654275 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654275 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS), expect answer on UL FN=2654279 Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS)', TA=7 Got MS: TLLI = 0xf1223344, TA = 7 Modifying MS object, TLLI = 0xf1223344, IMSI '' -> '0011223344' @@ -7087,7 +7087,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because some data is missing and last block has CV==0. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE -Received RTS for PDCH: TRX=0 TS=7 FN=2654279 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654279 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS), expect answer on UL FN=2654283 PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654279 + 13 = 2654292 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -7591,7 +7591,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 -Received RTS for PDCH: TRX=0 TS=7 FN=2654283 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654283 block_nr=11 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS), expect answer on UL FN=2654288 Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS)', TA=7 Got MS: TLLI = 0xf1223344, TA = 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8c19d0924e73c324a36ea038cab7cc4e096b866b Gerrit-Change-Number: 24204 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 11:37:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 11:37:25 +0000 Subject: Change in osmo-pcu[master]: Drop existing tbf->ms() check condition In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24205 ) Change subject: Drop existing tbf->ms() check condition ...................................................................... Drop existing tbf->ms() check condition Since a while ago, tbf should always have an MS attached since its creation, so there's no sense to check for it here. Change-Id: If056a3fb83b43a48c2a6382fc30c6c81fe2b2651 --- M src/tbf_ul.cpp 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 9d984a6..272d8b3 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -407,8 +407,7 @@ gprs_rlcmac_rssi(this, rssi); /* store measurement values */ - if (ms()) - ms_update_l1_meas(ms(), meas); + ms_update_l1_meas(ms(), meas); uint32_t new_tlli = GSM_RESERVED_TMSI; unsigned int block_idx; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If056a3fb83b43a48c2a6382fc30c6c81fe2b2651 Gerrit-Change-Number: 24205 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 11:37:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 11:37:26 +0000 Subject: Change in osmo-pcu[master]: ul_tbf: Simplify function rcv_data_block_acknowledged In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24210 ) Change subject: ul_tbf: Simplify function rcv_data_block_acknowledged ...................................................................... ul_tbf: Simplify function rcv_data_block_acknowledged Let's avoid different code paths in the loop based on is_tlli_invalid. Instead, always do the proper storing of the block, and if later on the corner case is found (no TLLI received while in Content Resolution process) when checking tlli related stuff, then simply invalidate the block. Related: OS#1940 Change-Id: I77afaa617d7ce045c0f6d994fc0d8e03fe69de53 --- M src/tbf_ul.cpp 1 file changed, 6 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 272d8b3..e92a920 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -420,7 +420,6 @@ int num_chunks; uint8_t *rlc_data; rdbi = &rlc->block_info[block_idx]; - bool need_rlc_data = false; LOGPTBFUL(this, LOGL_DEBUG, "Got %s RLC data block: CV=%d, BSN=%d, SPB=%d, PI=%d, E=%d, TI=%d, bitoffs=%d\n", @@ -435,23 +434,12 @@ LOGPTBFUL(this, LOGL_DEBUG, "BSN %d out of window %d..%d (it's normal)\n", rdbi->bsn, m_window.v_q(), m_window.mod_sns(m_window.v_q() + ws - 1)); + continue; } else if (m_window.is_received(rdbi->bsn)) { LOGPTBFUL(this, LOGL_DEBUG, "BSN %d already received\n", rdbi->bsn); - } else { - need_rlc_data = true; - } - - if (!is_tlli_valid()) { - if (!rdbi->ti) { - LOGPTBFUL(this, LOGL_NOTICE, "Missing TLLI within UL DATA.\n"); - continue; - } - need_rlc_data = true; - } - - if (!need_rlc_data) continue; + } /* Store block and meta info to BSN buffer */ @@ -513,6 +501,10 @@ m_window.invalidate_bsn(rdbi->bsn); continue; } + } else if (!is_tlli_valid()) { + LOGPTBFUL(this, LOGL_NOTICE, "Missing TLLI within UL DATA.\n"); + m_window.invalidate_bsn(rdbi->bsn); + continue; } m_window.receive_bsn(rdbi->bsn); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I77afaa617d7ce045c0f6d994fc0d8e03fe69de53 Gerrit-Change-Number: 24210 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 11:37:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 11:37:26 +0000 Subject: Change in osmo-pcu[master]: ul_tbf: Fix accessing zeroed block when checking if transfer is complete In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24211 ) Change subject: ul_tbf: Fix accessing zeroed block when checking if transfer is complete ...................................................................... ul_tbf: Fix accessing zeroed block when checking if transfer is complete The logic checking whether the UL TBF had already been sent all the data (and hence was marked as finished and requesting UL ACK to be sent) was not taking into account the case where there was still no valid block stored, ie. when the first received UL data block was discarded for some reason (ex: because TLLI was not set during content resolution). Related: OS#1940 Change-Id: I739e67ae1bb40555a362170f26fb98ac69caabb2 --- M src/tbf_ul.cpp 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index e92a920..231ed06 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -528,7 +528,8 @@ /* Check if we already received all data TBF had to send: */ if (this->state_is(GPRS_RLCMAC_FLOW) /* still in flow state */ - && this->m_window.v_q() == this->m_window.v_r()) { /* if complete */ + && this->m_window.v_q() == this->m_window.v_r() /* if complete */ + && block->len) { /* if there was ever a last block received */ LOGPTBFUL(this, LOGL_DEBUG, "No gaps in received block, last block: BSN=%d CV=%d\n", rdbi->bsn, rdbi->cv); @@ -542,7 +543,7 @@ /* If TLLI is included or if we received half of the window, we send * an ack/nack */ - maybe_schedule_uplink_acknack(rlc, rdbi->cv == 0); + maybe_schedule_uplink_acknack(rlc, block->len && rdbi->cv == 0); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I739e67ae1bb40555a362170f26fb98ac69caabb2 Gerrit-Change-Number: 24211 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 11:40:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 11:40:32 +0000 Subject: Change in osmo-pcu[master]: sched: Clean up param passing and improve logging In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23994 ) Change subject: sched: Clean up param passing and improve logging ...................................................................... Patch Set 3: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23994/3/src/gprs_rlcmac_sched.cpp File src/gprs_rlcmac_sched.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23994/3/src/gprs_rlcmac_sched.cpp at 485 PS3, Line 485: > As far as I can see, the calling function gprs_rlcmac_rcv_rts_block() basically does resolve a point [?] pdch object is obtained from exactly those trx and ts params in line 428: "pdch = &bts->trx[trx].pdch[ts];" "I have difficulties see why..." That's exactly why I'm doing all this clean up, it also happened to me. I'm rearranging code to soon obtain the PDCH and then simply pass the PDCH object around instead of trx+ts and and other information (and we gain the object to standarize logging for free while doing so). -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23994 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If137a2aaac7744e60564ca833a1b5564ed7d93bb Gerrit-Change-Number: 23994 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 May 2021 11:40:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 11:40:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 11:40:34 +0000 Subject: Change in osmo-pcu[master]: sched: Clean up param passing and improve logging In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23994 ) Change subject: sched: Clean up param passing and improve logging ...................................................................... sched: Clean up param passing and improve logging Change-Id: If137a2aaac7744e60564ca833a1b5564ed7d93bb --- M src/gprs_rlcmac_sched.cpp 1 file changed, 6 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 527d152..0068eae 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -41,8 +41,9 @@ struct gprs_rlcmac_ul_tbf *ul_ack; }; -static void get_ctrl_msg_tbf_candidates(const struct gprs_rlcmac_bts *bts, uint8_t trx, - uint8_t ts, struct tbf_sched_candidates *tbf_cand) +static void get_ctrl_msg_tbf_candidates(const struct gprs_rlcmac_bts *bts, + const struct gprs_rlcmac_pdch *pdch, + struct tbf_sched_candidates *tbf_cand) { struct gprs_rlcmac_ul_tbf *ul_tbf; struct gprs_rlcmac_dl_tbf *dl_tbf; @@ -52,7 +53,7 @@ ul_tbf = as_ul_tbf((struct gprs_rlcmac_tbf *)pos->entry); OSMO_ASSERT(ul_tbf); /* this trx, this ts */ - if (ul_tbf->trx->trx_no != trx || !ul_tbf->is_control_ts(ts)) + if (ul_tbf->trx->trx_no != pdch->trx->trx_no || !ul_tbf->is_control_ts(pdch->ts_no)) continue; if (ul_tbf->ul_ack_state_is(GPRS_RLCMAC_UL_ACK_SEND_ACK)) tbf_cand->ul_ack = ul_tbf; @@ -71,7 +72,7 @@ dl_tbf = as_dl_tbf((struct gprs_rlcmac_tbf *)pos->entry); OSMO_ASSERT(dl_tbf); /* this trx, this ts */ - if (dl_tbf->trx->trx_no != trx || !dl_tbf->is_control_ts(ts)) + if (dl_tbf->trx->trx_no != pdch->trx->trx_no || !dl_tbf->is_control_ts(pdch->ts_no)) continue; if (dl_tbf->dl_ass_state_is(GPRS_RLCMAC_DL_ASS_SEND_ASS)) tbf_cand->dl_ass = dl_tbf; @@ -480,7 +481,7 @@ if (usf_tbf && req_mcs_kind == EGPRS && ms_mode(usf_tbf->ms()) != EGPRS) req_mcs_kind = EGPRS_GMSK; - get_ctrl_msg_tbf_candidates(bts, trx, ts, &tbf_cand); + get_ctrl_msg_tbf_candidates(bts, pdch, &tbf_cand); /* Prio 1: select control message */ if ((msg = sched_select_ctrl_msg(pdch, fn, block_nr, &tbf_cand))) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23994 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If137a2aaac7744e60564ca833a1b5564ed7d93bb Gerrit-Change-Number: 23994 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 11:41:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 11:41:03 +0000 Subject: Change in osmo-ggsn[master]: gtp: Support tx/rx RAN Information Relay message In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24163 ) Change subject: gtp: Support tx/rx RAN Information Relay message ...................................................................... Patch Set 3: ping -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iea3eb032ccd4aed5187baca7f7719349d76039d4 Gerrit-Change-Number: 24163 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 13 May 2021 11:41:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 12:36:20 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 May 2021 12:36:20 +0000 Subject: Change in osmo-ggsn[master]: gtp: Support tx/rx RAN Information Relay message In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24163 ) Change subject: gtp: Support tx/rx RAN Information Relay message ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iea3eb032ccd4aed5187baca7f7719349d76039d4 Gerrit-Change-Number: 24163 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 13 May 2021 12:36:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 12:37:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 May 2021 12:37:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: test LOOPBACK with implicit destination addr In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24173 ) Change subject: MGCP_Test: test LOOPBACK with implicit destination addr ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24173 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: I7baf827fb0c3f33e13ccbaffd37ba0eb4e20c304 Gerrit-Change-Number: 24173 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 May 2021 12:37:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 12:42:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 12:42:59 +0000 Subject: Change in osmo-ggsn[master]: gtp: Support tx/rx RAN Information Relay message In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24163 ) Change subject: gtp: Support tx/rx RAN Information Relay message ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iea3eb032ccd4aed5187baca7f7719349d76039d4 Gerrit-Change-Number: 24163 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 13 May 2021 12:42:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 12:43:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 12:43:01 +0000 Subject: Change in osmo-ggsn[master]: gtp: Support tx/rx RAN Information Relay message In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24163 ) Change subject: gtp: Support tx/rx RAN Information Relay message ...................................................................... gtp: Support tx/rx RAN Information Relay message See 3GPP TS 29.060 sec 7.5.14.1 RAN Information Relay. Related: SYS#5314 Change-Id: Iea3eb032ccd4aed5187baca7f7719349d76039d4 --- M TODO-RELEASE M gtp/gtp.c M gtp/gtp.h 3 files changed, 73 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index d0852fc..23c9b6d 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,3 +7,4 @@ # If any interfaces have been added since the last public release: c:r:a + 1. # If any interfaces have been removed or changed since the last public release: c:r:0. #library what description / commit summary line +libgtp ADD gtp_ran_info_relay_req, gtp_set_cb_ran_info_relay_ind diff --git a/gtp/gtp.c b/gtp/gtp.c index caee5a6..59fd355 100644 --- a/gtp/gtp.c +++ b/gtp/gtp.c @@ -196,6 +196,13 @@ return 0; } +int gtp_set_cb_ran_info_relay_ind(struct gsn_t *gsn, + int (*cb) (struct sockaddr_in * peer, union gtpie_member **ie)) +{ + gsn->cb_ran_info_relay_ind = cb; + return 0; +} + /* API: Initialise delete context callback */ /* Called whenever a pdp context is deleted for any reason */ int gtp_set_cb_delete_context(struct gsn_t *gsn, int (*cb) (struct pdp_t * pdp)) @@ -1200,6 +1207,57 @@ return 0; } +/* Handle a RAN Information Relay message */ +static int gtp_ran_info_relay_ind(struct gsn_t *gsn, int version, struct sockaddr_in *peer, + void *pack, unsigned len) +{ + union gtpie_member *ie[GTPIE_SIZE]; + + if (version != 1) { + LOGP(DLGTP, LOGL_NOTICE, + "RAN Information Relay expected only on GTPCv1: %u\n", version); + return -EINVAL; + } + + int hlen = get_hlen(pack); + + /* Decode information elements */ + if (gtpie_decaps(ie, version, pack + hlen, len - hlen)) { + gsn->invalid++; + GTP_LOGPKG(LOGL_ERROR, peer, pack, len, + "Invalid message format (AN Information Relay)\n"); + return -EINVAL; + } + + if (gsn->cb_ran_info_relay_ind) + gsn->cb_ran_info_relay_ind(peer, ie); + + return 0; +} + +/* Send off a RAN Information Relay message */ +int gtp_ran_info_relay_req(struct gsn_t *gsn, const struct sockaddr_in *peer, + const uint8_t *ran_container, size_t ran_container_len, + const uint8_t *rim_route_addr, size_t rim_route_addr_len, + uint8_t rim_route_addr_discr) +{ + union gtp_packet packet; + + /* GTP 1 is the highest supported protocol */ + unsigned int length = get_default_gtp(1, GTP_RAN_INFO_RELAY, &packet); + + gtpie_tlv(&packet, &length, GTP_MAX, GTPIE_RAN_T_CONTAIN, ran_container_len, + ran_container); + if (rim_route_addr) { + gtpie_tlv(&packet, &length, GTP_MAX, GTPIE_RIM_ROUT_ADDR, + rim_route_addr_len, rim_route_addr); + gtpie_tlv(&packet, &length, GTP_MAX, GTPIE_RIM_RA_DISCR, 1, + &rim_route_addr_discr); + } + + return gtp_notification(gsn, 1, &packet, length, peer, gsn->fd1c, 0); +} + /* *********************************************************** * Session management messages * Messages: create, update and delete PDP context @@ -3202,6 +3260,9 @@ case GTP_ERROR: gtp_error_ind_conf(gsn, version, &peer, buffer, status); break; + case GTP_RAN_INFO_RELAY: + gtp_ran_info_relay_ind(gsn, version, &peer, buffer, status); + break; default: gsn->unknown++; GTP_LOGPKG(LOGL_ERROR, &peer, buffer, status, diff --git a/gtp/gtp.h b/gtp/gtp.h index 45eb285..0583025 100644 --- a/gtp/gtp.h +++ b/gtp/gtp.h @@ -16,6 +16,7 @@ #include #include +#include "gtpie.h" #include "pdp.h" #define GTP_MODE_GGSN 1 @@ -85,6 +86,7 @@ #define GTP_FWD_SRNS 58 /* Forward SRNS Context */ #define GTP_FWD_RELOC_ACK 59 /* Forward Relocation Complete Acknowledge */ #define GTP_FWD_SRNS_ACK 60 /* Forward SRNS Context Acknowledge */ +#define GTP_RAN_INFO_RELAY 70 /* RAN Information Relay */ /* 61-239 For future use. */ #define GTP_DATA_TRAN_REQ 240 /* Data Record Transfer Request */ #define GTP_DATA_TRAN_RSP 241 /* Data Record Transfer Response */ @@ -276,6 +278,7 @@ int (*cb_create_context_ind) (struct pdp_t *); int (*cb_unsup_ind) (struct sockaddr_in * peer); int (*cb_extheader_ind) (struct sockaddr_in * peer); + int (*cb_ran_info_relay_ind) (struct sockaddr_in *peer, union gtpie_member **ie); int (*cb_conf) (int type, int cause, struct pdp_t * pdp, void *cbp); int (*cb_data_ind) (struct pdp_t * pdp, void *pack, unsigned len); int (*cb_recovery) (struct sockaddr_in * peer, uint8_t recovery); @@ -343,6 +346,11 @@ extern int gtp_data_req(struct gsn_t *gsn, struct pdp_t *pdp, void *pack, unsigned len); +extern int gtp_ran_info_relay_req(struct gsn_t *gsn, const struct sockaddr_in *peer, + const uint8_t *ran_container, size_t ran_container_len, + const uint8_t *rim_route_addr, size_t rim_route_addr_len, + uint8_t rim_route_addr_discr); + extern int gtp_set_cb_data_ind(struct gsn_t *gsn, int (*cb_data_ind) (struct pdp_t * pdp, void *pack, unsigned len)); @@ -366,6 +374,9 @@ extern int gtp_set_cb_extheader_ind(struct gsn_t *gsn, int (*cb) (struct sockaddr_in * peer)); +extern int gtp_set_cb_ran_info_relay_ind(struct gsn_t *gsn, + int (*cb) (struct sockaddr_in * peer, union gtpie_member **ie)); + extern int gtp_set_cb_conf(struct gsn_t *gsn, int (*cb) (int type, int cause, struct pdp_t * pdp, void *cbp)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iea3eb032ccd4aed5187baca7f7719349d76039d4 Gerrit-Change-Number: 24163 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 12:47:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 12:47:19 +0000 Subject: Change in osmo-sgsn[master]: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 to look at the new patch set (#5). Change subject: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN ...................................................................... Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN MMEs connect over Gn interface using GTPCv1 towards the SGSn in order to exchange RIM PDUs by using "RAN Informarion Relay" GTPCv1 message type. For more info, see 3GPP TS 29.060 sec 7.5.14.1 "RAN Information Relay" In order to support it, this commit does the following: * Uses new libgtp APIs to rx and tx RAN Information Relay messages. The same "gsn" object is reused, ie. the local GTPCv1 socket address used for exchanging messages against GGSN is reused. * Adds a new "sgsn_mme_ctx" struct holding information about MMEs allowed by the SGSN, each one containing information about the GTP address it uses, the in/out routing based on TAI requests, etc. The set of MMEs and their config can be set up using new VTY node introduced in this commit. * The RIM related code in SGSN is refactored to allow forwarding from and to several types of addresses/interfaces. Depends: osmo-ggsn.git Change-Id Iea3eb032ccd4aed5187baca7f7719349d76039d4 Depends: libosmocore.git Change-Id I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Related: SYS#5314 Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 --- M TODO-RELEASE M doc/manuals/chapters/configuration.adoc M include/osmocom/sgsn/Makefile.am A include/osmocom/sgsn/gtp_mme.h M include/osmocom/sgsn/sgsn.h M include/osmocom/sgsn/sgsn_rim.h M include/osmocom/sgsn/vty.h M src/sgsn/Makefile.am M src/sgsn/gprs_sgsn.c A src/sgsn/gtp_mme.c M src/sgsn/sgsn_libgtp.c M src/sgsn/sgsn_main.c M src/sgsn/sgsn_rim.c M src/sgsn/sgsn_vty.c M tests/sgsn/Makefile.am 15 files changed, 629 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/64/24164/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 Gerrit-Change-Number: 24164 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 13:34:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 13:34:52 +0000 Subject: Change in osmo-sgsn[master]: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 to look at the new patch set (#6). Change subject: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN ...................................................................... Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN MMEs connect over Gn interface using GTPCv1 towards the SGSn in order to exchange RIM PDUs by using "RAN Informarion Relay" GTPCv1 message type. For more info, see 3GPP TS 29.060 sec 7.5.14.1 "RAN Information Relay" In order to support it, this commit does the following: * Uses new libgtp APIs to rx and tx RAN Information Relay messages. The same "gsn" object is reused, ie. the local GTPCv1 socket address used for exchanging messages against GGSN is reused. * Adds a new "sgsn_mme_ctx" struct holding information about MMEs allowed by the SGSN, each one containing information about the GTP address it uses, the in/out routing based on TAI requests, etc. The set of MMEs and their config can be set up using new VTY node introduced in this commit. * The RIM related code in SGSN is refactored to allow forwarding from and to several types of addresses/interfaces. Depends: osmo-ggsn.git Change-Id Iea3eb032ccd4aed5187baca7f7719349d76039d4 Depends: libosmocore.git Change-Id I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Related: SYS#5314 Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 --- M TODO-RELEASE M doc/manuals/chapters/configuration.adoc M include/osmocom/sgsn/Makefile.am A include/osmocom/sgsn/gtp_mme.h M include/osmocom/sgsn/sgsn.h M include/osmocom/sgsn/sgsn_rim.h M include/osmocom/sgsn/vty.h M src/sgsn/Makefile.am M src/sgsn/gprs_sgsn.c A src/sgsn/gtp_mme.c M src/sgsn/sgsn_libgtp.c M src/sgsn/sgsn_main.c M src/sgsn/sgsn_rim.c M src/sgsn/sgsn_vty.c M tests/sgsn/Makefile.am 15 files changed, 631 insertions(+), 39 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/64/24164/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 Gerrit-Change-Number: 24164 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 13:45:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 13:45:42 +0000 Subject: Change in osmo-sgsn[master]: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 to look at the new patch set (#7). Change subject: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN ...................................................................... Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN MMEs connect over Gn interface using GTPCv1 towards the SGSn in order to exchange RIM PDUs by using "RAN Informarion Relay" GTPCv1 message type. For more info, see 3GPP TS 29.060 sec 7.5.14.1 "RAN Information Relay" In order to support it, this commit does the following: * Uses new libgtp APIs to rx and tx RAN Information Relay messages. The same "gsn" object is reused, ie. the local GTPCv1 socket address used for exchanging messages against GGSN is reused. * Adds a new "sgsn_mme_ctx" struct holding information about MMEs allowed by the SGSN, each one containing information about the GTP address it uses, the in/out routing based on TAI requests, etc. The set of MMEs and their config can be set up using new VTY node introduced in this commit. * The RIM related code in SGSN is refactored to allow forwarding from and to several types of addresses/interfaces. Depends: osmo-ggsn.git Change-Id Iea3eb032ccd4aed5187baca7f7719349d76039d4 Depends: libosmocore.git Change-Id I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Related: SYS#5314 Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 --- M TODO-RELEASE M doc/manuals/chapters/configuration.adoc M include/osmocom/sgsn/Makefile.am A include/osmocom/sgsn/gtp_mme.h M include/osmocom/sgsn/sgsn.h M include/osmocom/sgsn/sgsn_rim.h M include/osmocom/sgsn/vty.h M src/sgsn/Makefile.am M src/sgsn/gprs_sgsn.c A src/sgsn/gtp_mme.c M src/sgsn/sgsn_libgtp.c M src/sgsn/sgsn_main.c M src/sgsn/sgsn_rim.c M src/sgsn/sgsn_vty.c M tests/sgsn/Makefile.am 15 files changed, 637 insertions(+), 39 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/64/24164/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 Gerrit-Change-Number: 24164 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 16:11:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 16:11:59 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7: introduce notion of configurable 'quirks' In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 to look at the new patch set (#4). Change subject: osmo_ss7: introduce notion of configurable 'quirks' ...................................................................... osmo_ss7: introduce notion of configurable 'quirks' A quirk is an implementation work-around in order to establish interoperability with another implementation, either a buggy one or one that follows a different interpretation of a given spec. For now, we introduce a first quirk affecting when we (in ASP role) send an ASP-ACTIVE message to the SG. Closes: OS#5145 Change-Id: Idd947ea39d743eb1bc9342ad9d098036821da45b --- M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7_vty.c M src/xua_default_lm_fsm.c 3 files changed, 78 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/13/24213/4 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Idd947ea39d743eb1bc9342ad9d098036821da45b Gerrit-Change-Number: 24213 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 16:12:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 16:12:16 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7: introduce notion of configurable 'quirks' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 ) Change subject: osmo_ss7: introduce notion of configurable 'quirks' ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/libosmo-sccp/+/24213/3/src/xua_default_lm_fsm.c File src/xua_default_lm_fsm.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/24213/3/src/xua_default_lm_fsm.c at 176 PS3, Line 176: LOGPFSM(fi, "quirk no_notify active; locally emulte AS-INACTIVE.ind\n"); > emulate? no, it's LTE emulation. Thanks, fixed. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Idd947ea39d743eb1bc9342ad9d098036821da45b Gerrit-Change-Number: 24213 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 May 2021 16:12:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 16:15:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 16:15:32 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7: introduce notion of configurable 'quirks' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 ) Change subject: osmo_ss7: introduce notion of configurable 'quirks' ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Idd947ea39d743eb1bc9342ad9d098036821da45b Gerrit-Change-Number: 24213 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 May 2021 16:15:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 16:15:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 16:15:38 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7: introduce notion of configurable 'quirks' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 ) Change subject: osmo_ss7: introduce notion of configurable 'quirks' ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Idd947ea39d743eb1bc9342ad9d098036821da45b Gerrit-Change-Number: 24213 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 May 2021 16:15:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 16:18:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 16:18:42 +0000 Subject: Change in osmo-pcu[master]: pdch: Use llist_first_entry() API References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24223 ) Change subject: pdch: Use llist_first_entry() API ...................................................................... pdch: Use llist_first_entry() API Change-Id: I96e7188ecf7d2cfc54598975f8d538e7aa94401a --- M src/pdch.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/23/24223/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index c69c45c..96bab54 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -179,7 +179,7 @@ if (llist_empty(&paging_list)) return NULL; - pag = llist_entry(paging_list.next, struct gprs_rlcmac_paging, list); + pag = llist_first_entry(&paging_list, struct gprs_rlcmac_paging, list); llist_del(&pag->list); return pag; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96e7188ecf7d2cfc54598975f8d538e7aa94401a Gerrit-Change-Number: 24223 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 16:18:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 16:18:42 +0000 Subject: Change in osmo-pcu[master]: Optimize PAGING-CS PDCH set selection when target MS is known References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24224 ) Change subject: Optimize PAGING-CS PDCH set selection when target MS is known ...................................................................... Optimize PAGING-CS PDCH set selection when target MS is known Before this patch, when a PAGING-GS was received in PCU from SGSN, it would always forward the paging request to all PDCHs in all TRXs of all BTS (well, it did some heuristics to avoid sending it in some PDCHs where onyl repeated TBFs would be listening). The previous behavior, didn't make much sense in the case where the PCU is asked to page an MS which it knows (ie in which PDCHs is listening to). Hence, in that case it makes sense to simply send the paging request on 1 PDCH where the MS is listening, instead of sending it in a big set of different PDCHs. This commit also splits the old get_paging_mi() helper which was erroneously created to parseboth CS/PS-PAGING requesst, since they actually use a different set of target subscriber information (for instance, CS-PAGING provides optionally a TLLI, and one provides P-TMSI while the other provides TMSI). In this patch, the handling of CS paging request is split into 2 parts: 1- A new helper "struct paging_req_cs" is introduced, where incoming CS-PAGING requests (from both SGSN over BSSGP and BTS/BSC over PCUIF) are parsed and information stored. Then, from available information, it tries to find a target MS if avaialable 2- bts_add_paging() is called from both BSSGP and PCUIF paths with the helper struct and the target MS (NULL if not found). If MS exists, paging is forwarding only on 1 PDCH that MS is attached to. If no MS exists, then the old heursitics are used to forward the request to all MS. Change-Id: Iea46d5321a29d800813b1aa2bf4ce175ce45e2cf --- M src/bts.cpp M src/bts.h M src/gprs_bssgp_pcu.c M src/pcu_l1_if.cpp 4 files changed, 153 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/24/24224/1 diff --git a/src/bts.cpp b/src/bts.cpp index 261da19..7e2f11b 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -337,11 +337,13 @@ bts_set_current_frame_number(bts, fn); } -int bts_add_paging(struct gprs_rlcmac_bts *bts, uint8_t chan_needed, const struct osmo_mobile_identity *mi) +/* ms is NULL if no specific taget was found */ +int bts_add_paging(struct gprs_rlcmac_bts *bts, const struct paging_req_cs *req, struct GprsMs *ms) { uint8_t l, trx, ts, any_tbf = 0; struct gprs_rlcmac_tbf *tbf; struct llist_item *pos; + const struct osmo_mobile_identity *mi; uint8_t slot_mask[8]; int8_t first_ts; /* must be signed */ @@ -351,13 +353,53 @@ NULL }; + /* First, build the MI used to page on PDCH from available subscriber info: */ + if (req->mi_tmsi_present) { + mi = &req->mi_tmsi; + } else if (req->mi_imsi_present) { + mi = &req->mi_imsi; + } else { + LOGPMS(ms, DRLCMAC, LOGL_ERROR, "Unable to page on PACCH, no TMSI nor IMSI in request\n"); + return -EINVAL; + } + if (log_check_level(DRLCMAC, LOGL_INFO)) { char str[64]; osmo_mobile_identity_to_str_buf(str, sizeof(str), mi); - LOGP(DRLCMAC, LOGL_INFO, "Add RR paging: chan-needed=%d MI=%s\n", chan_needed, str); + LOGP(DRLCMAC, LOGL_INFO, "Add RR paging: chan-needed=%d MI=%s\n", req->chan_needed, str); } - /* collect slots to page + /* We known the target MS for the paging req, send the req only on PDCH + * were that target MS is listening (first slot is enough), and we are done. */ + if (ms) { + if (ms->ul_tbf) { + for (ts = 0; ts < 8; ts++) { + if (ms->ul_tbf->pdch[ts]) { + LOGPDCH(ms->ul_tbf->pdch[ts], DRLCMAC, LOGL_INFO, + "Paging on PACCH for %s\n", tbf_name(ms->ul_tbf)); + if (!ms->ul_tbf->pdch[ts]->add_paging(req->chan_needed, mi)) + continue; + return 0; + } + } + } + if (ms->dl_tbf) { + for (ts = 0; ts < 8; ts++) { + if (ms->dl_tbf->pdch[ts]) { + LOGPDCH(ms->dl_tbf->pdch[ts], DRLCMAC, LOGL_INFO, + "Paging on PACCH for %s\n", tbf_name(ms->ul_tbf)); + if (!ms->dl_tbf->pdch[ts]->add_paging(req->chan_needed, mi)) + continue; + return 0; + } + } + } + LOGPMS(ms, DRLCMAC, LOGL_INFO, "Unable to page on PACCH, no available TBFs\n"); + return 0; + } + + /* We don't know the target MS. + * collect slots to page * Mark slots for every TBF, but only mark one of it. * Mark only the first slot found. * Don't mark, if TBF uses a different slot that is already marked. */ @@ -399,10 +441,10 @@ for (ts = 0; ts < 8; ts++) { if ((slot_mask[trx] & (1 << ts))) { /* schedule */ - if (!bts->trx[trx].pdch[ts].add_paging(chan_needed, mi)) + if (!bts->trx[trx].pdch[ts].add_paging(req->chan_needed, mi)) return -ENOMEM; - LOGP(DRLCMAC, LOGL_INFO, "Paging on PACCH of TRX=%d TS=%d\n", trx, ts); + LOGPDCH(&bts->trx[trx].pdch[ts], DRLCMAC, LOGL_INFO, "Paging on PACCH\n"); any_tbf = 1; } } diff --git a/src/bts.h b/src/bts.h index ea44fb7..11b5113 100644 --- a/src/bts.h +++ b/src/bts.h @@ -265,8 +265,17 @@ extern "C" { #endif +struct paging_req_cs { + uint8_t chan_needed; + uint32_t tlli; /* GSM_RESERVED_TMSI if not present */ + bool mi_tmsi_present; + struct osmo_mobile_identity mi_tmsi; + bool mi_imsi_present; + struct osmo_mobile_identity mi_imsi; +}; + struct GprsMs *bts_alloc_ms(struct gprs_rlcmac_bts *bts, uint8_t ms_class, uint8_t egprs_ms_class); -int bts_add_paging(struct gprs_rlcmac_bts *bts, uint8_t chan_needed, const struct osmo_mobile_identity *mi); +int bts_add_paging(struct gprs_rlcmac_bts *bts, const struct paging_req_cs *req, struct GprsMs *ms); uint32_t bts_rfn_to_fn(const struct gprs_rlcmac_bts *bts, int32_t rfn); diff --git a/src/gprs_bssgp_pcu.c b/src/gprs_bssgp_pcu.c index f6114de..cc13238 100644 --- a/src/gprs_bssgp_pcu.c +++ b/src/gprs_bssgp_pcu.c @@ -171,8 +171,82 @@ ms_class, egprs_ms_class, delay_csec, data, len); } +/* 3GPP TS 48.018 Table 10.3.2. Returns 0 on success, suggested BSSGP cause otherwise */ +static unsigned int get_paging_cs_mi(struct paging_req_cs *req, const struct tlv_parsed *tp) +{ + int rc; + + req->chan_needed = tlvp_val8(tp, BSSGP_IE_CHAN_NEEDED, 0); + + if (!TLVP_PRESENT(tp, BSSGP_IE_IMSI)) { + LOGP(DBSSGP, LOGL_ERROR, "IMSI Mobile Identity mandatory IE not found\n"); + return BSSGP_CAUSE_COND_IE_ERR; + } + + rc = osmo_mobile_identity_decode(&req->mi_imsi, TLVP_VAL(tp, BSSGP_IE_IMSI), + TLVP_LEN(tp, BSSGP_IE_IMSI), true); + if (rc < 0 || req->mi_imsi.type != GSM_MI_TYPE_IMSI) { + LOGP(DBSSGP, LOGL_ERROR, "Invalid IMSI Mobile Identity\n"); + return BSSGP_CAUSE_COND_IE_ERR; + } + req->mi_imsi_present = true; + + /* TIMSI is optional */ + req->mi_tmsi_present = false; + if (TLVP_PRESENT(tp, BSSGP_IE_TMSI)) { + /* Be safe against an evil SGSN - check the length */ + if (TLVP_LEN(tp, BSSGP_IE_TMSI) != GSM23003_TMSI_NUM_BYTES) { + LOGP(DBSSGP, LOGL_NOTICE, "TMSI IE has odd length (!= 4)\n"); + return BSSGP_CAUSE_COND_IE_ERR; + } + + /* NOTE: TMSI (unlike IMSI) IE comes without MI type header */ + req->mi_tmsi = (struct osmo_mobile_identity){ + .type = GSM_MI_TYPE_TMSI, + }; + req->mi_tmsi.tmsi = osmo_load32be(TLVP_VAL(tp, BSSGP_IE_TMSI)); + req->mi_tmsi_present = true; + } + + if (TLVP_PRESENT(tp, BSSGP_IE_TLLI)) + req->tlli = osmo_load32be(TLVP_VAL(tp, BSSGP_IE_TLLI)); + else + req->tlli = GSM_RESERVED_TMSI; + + return 0; +} + +static int gprs_bssgp_pcu_rx_paging_cs(struct msgb *msg, const struct tlv_parsed *tp) +{ + struct paging_req_cs req; + struct gprs_rlcmac_bts *bts; + struct GprsMs *ms; + int rc; + + if ((rc = get_paging_cs_mi(&req, tp)) > 0) + return bssgp_tx_status((enum gprs_bssgp_cause) rc, NULL, msg); + + llist_for_each_entry(bts, &the_pcu->bts_list, list) { + /* If MS is attached a specific BTS then forward it there and we are done */ + /* TODO: Match by TMSI before IMSI if present?! */ + ms = bts_ms_by_tlli(bts, req.tlli, req.tlli); + if (!ms && req.mi_imsi_present) + ms = bts_ms_by_imsi(bts, req.mi_imsi.imsi); + if (!ms) + continue; + return bts_add_paging(bts, &req, ms); + } + + /* No exact match, let's forward it to all BTSs */ + llist_for_each_entry(bts, &the_pcu->bts_list, list) { + bts_add_paging(bts, &req, NULL); + } + + return 0; +} + /* Returns 0 on success, suggested BSSGP cause otherwise */ -static unsigned int get_paging_mi(struct osmo_mobile_identity *mi, const struct tlv_parsed *tp) +static unsigned int get_paging_ps_mi(struct osmo_mobile_identity *mi, const struct tlv_parsed *tp) { /* Use TMSI (if present) or IMSI */ if (TLVP_PRESENT(tp, BSSGP_IE_TMSI)) { @@ -202,22 +276,6 @@ return 0; } -static int gprs_bssgp_pcu_rx_paging_cs(struct msgb *msg, const struct tlv_parsed *tp) -{ - struct osmo_mobile_identity mi; - struct gprs_rlcmac_bts *bts; - int rc; - - if ((rc = get_paging_mi(&mi, tp)) > 0) - return bssgp_tx_status((enum gprs_bssgp_cause) rc, NULL, msg); - - /* FIXME: look if MS is attached a specific BTS and then only page on that one? */ - llist_for_each_entry(bts, &the_pcu->bts_list, list) { - bts_add_paging(bts, tlvp_val8(tp, BSSGP_IE_CHAN_NEEDED, 0), &mi); - } - return 0; -} - static int gprs_bssgp_pcu_rx_paging_ps(struct msgb *msg, const struct tlv_parsed *tp) { struct osmo_mobile_identity mi_imsi; @@ -242,7 +300,7 @@ return bssgp_tx_status(BSSGP_CAUSE_INV_MAND_INF, NULL, msg); } - if ((rc = get_paging_mi(&paging_mi, tp)) > 0) + if ((rc = get_paging_ps_mi(&paging_mi, tp)) > 0) return bssgp_tx_status((enum gprs_bssgp_cause) rc, NULL, msg); /* FIXME: look if MS is attached a specific BTS and then only page on that one? */ diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 0ccf642..cfd36d7 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -817,6 +817,9 @@ static int pcu_rx_pag_req(struct gprs_rlcmac_bts *bts, struct gsm_pcu_if_pag_req *pag_req) { struct osmo_mobile_identity mi; + struct GprsMs *ms = NULL; + struct paging_req_cs req = { .chan_needed = pag_req->chan_needed, + .tlli = GSM_RESERVED_TMSI }; int rc; LOGP(DL1IF, LOGL_DEBUG, "Paging request received: chan_needed=%d " @@ -835,7 +838,23 @@ return -EINVAL; } - return bts_add_paging(bts, pag_req->chan_needed, &mi); + switch (mi.type) { + case GSM_MI_TYPE_TMSI: + req.mi_tmsi = mi; + req.mi_tmsi_present = true; + /* TODO: look up MS by TMSI? Derive TLLI? */ + break; + case GSM_MI_TYPE_IMSI: + req.mi_imsi = mi; + req.mi_imsi_present = true; + ms = bts_ms_by_imsi(bts, req.mi_imsi.imsi); + break; + default: + LOGP(DL1IF, LOGL_ERROR, "Unexpected MI type %u\n", mi.type); + return -EINVAL; + } + + return bts_add_paging(bts, &req, ms); } static int pcu_rx_susp_req(struct gprs_rlcmac_bts *bts, struct gsm_pcu_if_susp_req *susp_req) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iea46d5321a29d800813b1aa2bf4ce175ce45e2cf Gerrit-Change-Number: 24224 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 16:53:44 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 May 2021 16:53:44 +0000 Subject: Change in osmo-pcu[master]: pdch: Use llist_first_entry() API In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24223 ) Change subject: pdch: Use llist_first_entry() API ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96e7188ecf7d2cfc54598975f8d538e7aa94401a Gerrit-Change-Number: 24223 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 13 May 2021 16:53:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 16:59:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 16:59:16 +0000 Subject: Change in osmo-pcu[master]: bts: Use ms_store when calculating set of target PDCHs for Pkt Paging... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24225 ) Change subject: bts: Use ms_store when calculating set of target PDCHs for Pkt Paging Request ...................................................................... bts: Use ms_store when calculating set of target PDCHs for Pkt Paging Request The ul_tbfs/dl_tbfs lists will become per-trx. Since in this case we want to operate on the BTS globally, let's iterate over MS objects instead. This makes more sense too since here we really aim at reaching a MS (subscriber) instead of specific TBFs. Later on the code can be optimized easily to schedule a Pkt Paging Request for only 1 of the TBFs of each MS instad of scheduling it for each TBFs in the MS. Change-Id: I671e531921bbea2f5cc0f2bfcb8a39ea5c6673b8 --- M src/bts.cpp 1 file changed, 10 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/25/24225/1 diff --git a/src/bts.cpp b/src/bts.cpp index 7e2f11b..c84f5c4 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -342,17 +342,11 @@ { uint8_t l, trx, ts, any_tbf = 0; struct gprs_rlcmac_tbf *tbf; - struct llist_item *pos; + struct llist_head *tmp; const struct osmo_mobile_identity *mi; uint8_t slot_mask[8]; int8_t first_ts; /* must be signed */ - struct llist_head *tbfs_lists[] = { - &bts->ul_tbfs, - &bts->dl_tbfs, - NULL - }; - /* First, build the MI used to page on PDCH from available subscriber info: */ if (req->mi_tmsi_present) { mi = &req->mi_tmsi; @@ -400,13 +394,18 @@ /* We don't know the target MS. * collect slots to page - * Mark slots for every TBF, but only mark one of it. + * Mark up to one slot attached to each of the TBF of the MS. * Mark only the first slot found. * Don't mark, if TBF uses a different slot that is already marked. */ memset(slot_mask, 0, sizeof(slot_mask)); - for (l = 0; tbfs_lists[l]; l++) { - llist_for_each_entry(pos, tbfs_lists[l], list) { - tbf = (struct gprs_rlcmac_tbf *)pos->entry; + + llist_for_each(tmp, bts_ms_store(bts)->ms_list()) { + ms = llist_entry(tmp, typeof(*ms), list); + struct gprs_rlcmac_tbf *tbfs[2] = { ms->ul_tbf, ms->dl_tbf }; + for (l = 0; l < 2; l++) { + tbf = (struct gprs_rlcmac_tbf *)tbfs[l]; + if (!tbf) + continue; first_ts = -1; for (ts = 0; ts < 8; ts++) { if (tbf->pdch[ts]) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I671e531921bbea2f5cc0f2bfcb8a39ea5c6673b8 Gerrit-Change-Number: 24225 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 16:59:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 16:59:17 +0000 Subject: Change in osmo-pcu[master]: tbf: Log error path in setup() failing to assign control TS References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24226 ) Change subject: tbf: Log error path in setup() failing to assign control TS ...................................................................... tbf: Log error path in setup() failing to assign control TS Change-Id: I047209dfe139e37a80878318cca75cb50905536e --- M src/tbf.cpp 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/26/24226/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index fddede6..adfda95 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -751,6 +751,7 @@ rc = tbf_assign_control_ts(this); /* if no resource */ if (rc < 0) { + LOGPTBF(this, LOGL_ERROR, "Failed to assign control TS\n"); return -1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I047209dfe139e37a80878318cca75cb50905536e Gerrit-Change-Number: 24226 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 16:59:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 16:59:17 +0000 Subject: Change in osmo-pcu[master]: Move TBF list from BTS to the TRX structure References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24227 ) Change subject: Move TBF list from BTS to the TRX structure ...................................................................... Move TBF list from BTS to the TRX structure The TBFs are managed per TRX. Move the global list from BTS to TRX. Related: OS#1541 Change-Id: Id3c59c11d57d765fe68aaebaac94290c0d84feb2 --- M src/bts.cpp M src/bts.h M src/gprs_rlcmac_sched.cpp M src/pcu_vty_functions.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M tests/alloc/AllocTest.cpp M tests/ulc/PdchUlcTest.cpp 10 files changed, 41 insertions(+), 34 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/27/24227/1 diff --git a/src/bts.cpp b/src/bts.cpp index c84f5c4..6e84f01 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -263,9 +263,6 @@ bts->T_defs_bts = T_defs_bts; osmo_tdefs_reset(bts->T_defs_bts); - INIT_LLIST_HEAD(&bts->ul_tbfs); - INIT_LLIST_HEAD(&bts->dl_tbfs); - /* initialize back pointers */ for (size_t trx_no = 0; trx_no < ARRAY_SIZE(bts->trx); ++trx_no) bts_trx_init(&bts->trx[trx_no], bts, trx_no); @@ -1176,6 +1173,9 @@ trx->trx_no = trx_no; trx->bts = bts; + INIT_LLIST_HEAD(&trx->ul_tbfs); + INIT_LLIST_HEAD(&trx->dl_tbfs); + for (size_t ts_no = 0; ts_no < ARRAY_SIZE(trx->pdch); ts_no++) pdch_init(&trx->pdch[ts_no], trx, ts_no); } diff --git a/src/bts.h b/src/bts.h index 11b5113..52c89b9 100644 --- a/src/bts.h +++ b/src/bts.h @@ -59,6 +59,11 @@ struct gprs_rlcmac_bts *bts; uint8_t trx_no; + /* list of uplink TBFs */ + struct llist_head ul_tbfs; /* list of gprs_rlcmac_tbf */ + /* list of downlink TBFs */ + struct llist_head dl_tbfs; /* list of gprs_rlcmac_tbf */ + }; @@ -254,11 +259,6 @@ struct osmo_stat_item_group *statg; struct GprsMsStorage *ms_store; - - /* list of uplink TBFs */ - struct llist_head ul_tbfs; /* list of gprs_rlcmac_tbf */ - /* list of downlink TBFs */ - struct llist_head dl_tbfs; /* list of gprs_rlcmac_tbf */ }; #ifdef __cplusplus diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 0068eae..5751799 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -41,15 +41,14 @@ struct gprs_rlcmac_ul_tbf *ul_ack; }; -static void get_ctrl_msg_tbf_candidates(const struct gprs_rlcmac_bts *bts, - const struct gprs_rlcmac_pdch *pdch, +static void get_ctrl_msg_tbf_candidates(const struct gprs_rlcmac_pdch *pdch, struct tbf_sched_candidates *tbf_cand) { struct gprs_rlcmac_ul_tbf *ul_tbf; struct gprs_rlcmac_dl_tbf *dl_tbf; struct llist_item *pos; - llist_for_each_entry(pos, &bts->ul_tbfs, list) { + llist_for_each_entry(pos, &pdch->trx->ul_tbfs, list) { ul_tbf = as_ul_tbf((struct gprs_rlcmac_tbf *)pos->entry); OSMO_ASSERT(ul_tbf); /* this trx, this ts */ @@ -68,7 +67,7 @@ /* FIXME: Is this supposed to be fair? The last TBF for each wins? Maybe use llist_add_tail and skip once we have all states? */ } - llist_for_each_entry(pos, &bts->dl_tbfs, list) { + llist_for_each_entry(pos, &pdch->trx->dl_tbfs, list) { dl_tbf = as_dl_tbf((struct gprs_rlcmac_tbf *)pos->entry); OSMO_ASSERT(dl_tbf); /* this trx, this ts */ @@ -481,7 +480,7 @@ if (usf_tbf && req_mcs_kind == EGPRS && ms_mode(usf_tbf->ms()) != EGPRS) req_mcs_kind = EGPRS_GMSK; - get_ctrl_msg_tbf_candidates(bts, pdch, &tbf_cand); + get_ctrl_msg_tbf_candidates(pdch, &tbf_cand); /* Prio 1: select control message */ if ((msg = sched_select_ctrl_msg(pdch, fn, block_nr, &tbf_cand))) { diff --git a/src/pcu_vty_functions.cpp b/src/pcu_vty_functions.cpp index c2250d9..0b83a68 100644 --- a/src/pcu_vty_functions.cpp +++ b/src/pcu_vty_functions.cpp @@ -44,7 +44,7 @@ #include "coding_scheme.h" } -static void tbf_print_vty_info(struct vty *vty, gprs_rlcmac_tbf *tbf) +static void tbf_print_vty_info(struct vty *vty, struct gprs_rlcmac_tbf *tbf) { gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); @@ -104,20 +104,28 @@ int pcu_vty_show_tbf_all(struct vty *vty, struct gprs_rlcmac_bts *bts, uint32_t flags) { struct llist_item *iter; + const struct gprs_rlcmac_trx *trx; struct gprs_rlcmac_tbf *tbf; + size_t trx_no; vty_out(vty, "UL TBFs%s", VTY_NEWLINE); - llist_for_each_entry(iter, &bts->ul_tbfs, list) { - tbf = (struct gprs_rlcmac_tbf *)iter->entry; - if (tbf->state_flags & flags) - tbf_print_vty_info(vty, tbf); + for (trx_no = 0; trx_no < ARRAY_SIZE(bts->trx); trx_no++) { + trx = &bts->trx[trx_no]; + llist_for_each_entry(iter, &trx->ul_tbfs, list) { + tbf = (struct gprs_rlcmac_tbf *)iter->entry; + if (tbf->state_flags & flags) + tbf_print_vty_info(vty, tbf); + } } vty_out(vty, "%sDL TBFs%s", VTY_NEWLINE, VTY_NEWLINE); - llist_for_each_entry(iter, &bts->dl_tbfs, list) { - tbf = (struct gprs_rlcmac_tbf *)iter->entry; - if (tbf->state_flags & flags) - tbf_print_vty_info(vty, tbf); + for (trx_no = 0; trx_no < ARRAY_SIZE(bts->trx); trx_no++) { + trx = &bts->trx[trx_no]; + llist_for_each_entry(iter, &trx->dl_tbfs, list) { + tbf = (struct gprs_rlcmac_tbf *)iter->entry; + if (tbf->state_flags & flags) + tbf_print_vty_info(vty, tbf); + } } return CMD_SUCCESS; diff --git a/src/tbf.cpp b/src/tbf.cpp index adfda95..4dd74ec 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -293,7 +293,7 @@ tbf->stop_timers("freeing TBF"); /* TODO: Could/Should generate bssgp_tx_llc_discarded */ tbf_unlink_pdch(tbf); - llist_del(tbf_bts_list(tbf)); + llist_del(tbf_trx_list(tbf)); if (tbf->ms()) tbf->set_ms(NULL); @@ -1092,11 +1092,11 @@ void gprs_rlcmac_tbf::rotate_in_list() { - llist_del(tbf_bts_list((struct gprs_rlcmac_tbf *)this)); + llist_del(tbf_trx_list((struct gprs_rlcmac_tbf *)this)); if (direction == GPRS_RLCMAC_UL_TBF) - llist_add(tbf_bts_list((struct gprs_rlcmac_tbf *)this), &bts->ul_tbfs); + llist_add(tbf_trx_list((struct gprs_rlcmac_tbf *)this), &trx->ul_tbfs); else - llist_add(tbf_bts_list((struct gprs_rlcmac_tbf *)this), &bts->dl_tbfs); + llist_add(tbf_trx_list((struct gprs_rlcmac_tbf *)this), &trx->dl_tbfs); } uint8_t gprs_rlcmac_tbf::tsc() const @@ -1166,7 +1166,7 @@ return &tbf->m_ms_list.list; } -struct llist_head *tbf_bts_list(struct gprs_rlcmac_tbf *tbf) +struct llist_head *tbf_trx_list(struct gprs_rlcmac_tbf *tbf) { return &tbf->m_bts_list.list; } diff --git a/src/tbf.h b/src/tbf.h index 17f5b18..a9c580c 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -183,7 +183,7 @@ enum gprs_rlcmac_tbf_direction tbf_direction(const struct gprs_rlcmac_tbf *tbf); void tbf_set_ms(struct gprs_rlcmac_tbf *tbf, struct GprsMs *ms); struct llist_head *tbf_ms_list(struct gprs_rlcmac_tbf *tbf); -struct llist_head *tbf_bts_list(struct gprs_rlcmac_tbf *tbf); +struct llist_head *tbf_trx_list(struct gprs_rlcmac_tbf *tbf); struct GprsMs *tbf_ms(const struct gprs_rlcmac_tbf *tbf); bool tbf_timers_pending(struct gprs_rlcmac_tbf *tbf, enum tbf_timers t); void tbf_free(struct gprs_rlcmac_tbf *tbf); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 27dc4cf..45856e8 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -168,7 +168,7 @@ } } - llist_add(tbf_bts_list((struct gprs_rlcmac_tbf *)tbf), &bts->dl_tbfs); + llist_add(tbf_trx_list((struct gprs_rlcmac_tbf *)tbf), &tbf->trx->dl_tbfs); bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_DL_ALLOCATED); osmo_clock_gettime(CLOCK_MONOTONIC, &tbf->m_bw.dl_bw_tv); diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 231ed06..4450684 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -134,7 +134,7 @@ return NULL; } - llist_add_tail(tbf_bts_list(tbf), &bts->ul_tbfs); + llist_add_tail(tbf_trx_list(tbf), &tbf->trx->ul_tbfs); bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_UL_ALLOCATED); return tbf; @@ -212,7 +212,7 @@ } ms_attach_tbf(ms, ul_tbf); - llist_add(tbf_bts_list((struct gprs_rlcmac_tbf *)ul_tbf), &bts->ul_tbfs); + llist_add(tbf_trx_list((struct gprs_rlcmac_tbf *)ul_tbf), &trx->ul_tbfs); bts_do_rate_ctr_inc(ul_tbf->bts, CTR_TBF_UL_ALLOCATED); TBF_SET_ASS_ON(ul_tbf, GPRS_RLCMAC_FLAG_PACCH, false); TBF_SET_ASS_STATE_UL(ul_tbf, GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ); diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp index fe803e3..e3e9614 100644 --- a/tests/alloc/AllocTest.cpp +++ b/tests/alloc/AllocTest.cpp @@ -59,8 +59,8 @@ struct gprs_rlcmac_tbf *tfi_usage[8][8][2][32] = {{{{NULL}}}}; struct llist_head *tbf_lists[2] = { - &bts->ul_tbfs, - &bts->dl_tbfs + &bts->trx[0].ul_tbfs, + &bts->trx[0].dl_tbfs }; struct llist_item *pos; diff --git a/tests/ulc/PdchUlcTest.cpp b/tests/ulc/PdchUlcTest.cpp index 84035d1..c980e33 100644 --- a/tests/ulc/PdchUlcTest.cpp +++ b/tests/ulc/PdchUlcTest.cpp @@ -160,6 +160,7 @@ int _alloc_algorithm_dummy(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_tbf *tbf, bool single, int8_t use_tbf) { + tbf->trx = &bts->trx[0]; return 0; } @@ -174,7 +175,6 @@ struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); struct GprsMs *ms = ms_alloc(bts, 0x12345678); struct gprs_rlcmac_tbf *tbf1 = tbf_alloc_dl_tbf(bts, ms, 0, true); - tbf1->trx = &bts->trx[0]; struct gprs_rlcmac_pdch *pdch = &tbf1->trx->pdch[0]; int rc; uint32_t fn, last_fn; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id3c59c11d57d765fe68aaebaac94290c0d84feb2 Gerrit-Change-Number: 24227 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 17:01:22 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 May 2021 17:01:22 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7: introduce notion of configurable 'quirks' In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 ) Change subject: osmo_ss7: introduce notion of configurable 'quirks' ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmo-sccp/+/24213/4/include/osmocom/sigtran/osmo_ss7.h File include/osmocom/sigtran/osmo_ss7.h: https://gerrit.osmocom.org/c/libosmo-sccp/+/24213/4/include/osmocom/sigtran/osmo_ss7.h at 435 PS4, Line 435: 0x00000001 I would better use (1 << N) syntax here, so it's easier to add new entries. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Idd947ea39d743eb1bc9342ad9d098036821da45b Gerrit-Change-Number: 24213 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 May 2021 17:01:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 17:03:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 May 2021 17:03:01 +0000 Subject: Change in libosmo-sccp[master]: m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 ) Change subject: m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I36ff172b47142a877b37bbd149073bef35b36a74 Gerrit-Change-Number: 24214 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Thu, 13 May 2021 17:03:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 17:03:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 17:03:14 +0000 Subject: Change in osmo-pcu[master]: pdch: Use llist_first_entry() API In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24223 ) Change subject: pdch: Use llist_first_entry() API ...................................................................... pdch: Use llist_first_entry() API Change-Id: I96e7188ecf7d2cfc54598975f8d538e7aa94401a --- M src/pdch.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/pdch.cpp b/src/pdch.cpp index c69c45c..96bab54 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -179,7 +179,7 @@ if (llist_empty(&paging_list)) return NULL; - pag = llist_entry(paging_list.next, struct gprs_rlcmac_paging, list); + pag = llist_first_entry(&paging_list, struct gprs_rlcmac_paging, list); llist_del(&pag->list); return pag; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96e7188ecf7d2cfc54598975f8d538e7aa94401a Gerrit-Change-Number: 24223 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 17:04:09 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 May 2021 17:04:09 +0000 Subject: Change in libosmo-sccp[master]: m3ua/sua: Add new snm_inactive quirk In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24216 ) Change subject: m3ua/sua: Add new snm_inactive quirk ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I193dd546b3e3c00e29f192d0d1bf7819b3e194be Gerrit-Change-Number: 24216 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 May 2021 17:04:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 17:28:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 May 2021 17:28:36 +0000 Subject: Change in osmo-pcu[master]: Move TBF list from BTS to the TRX structure In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/24227 to look at the new patch set (#2). Change subject: Move TBF list from BTS to the TRX structure ...................................................................... Move TBF list from BTS to the TRX structure The TBFs are managed per TRX. Move the global list from BTS to TRX. Related: OS#1541 Change-Id: Id3c59c11d57d765fe68aaebaac94290c0d84feb2 --- M src/bts.cpp M src/bts.h M src/gprs_rlcmac_sched.cpp M src/pcu_vty_functions.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M tests/alloc/AllocTest.cpp M tests/ulc/PdchUlcTest.cpp 10 files changed, 43 insertions(+), 36 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/27/24227/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id3c59c11d57d765fe68aaebaac94290c0d84feb2 Gerrit-Change-Number: 24227 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 17:56:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 17:56:15 +0000 Subject: Change in pysim[master]: Add codecs for EF_SPN and GSM strings via construct In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24180 ) Change subject: Add codecs for EF_SPN and GSM strings via construct ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia1d3a3835933bac0002b7c52511481dd8094b994 Gerrit-Change-Number: 24180 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 13 May 2021 17:56:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 17:56:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 17:56:32 +0000 Subject: Change in pysim[master]: Add codecs for EF_SPN and GSM strings via construct In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24180 ) Change subject: Add codecs for EF_SPN and GSM strings via construct ...................................................................... Patch Set 2: excellent work, really happy to see contributions like this. keep them coming ? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia1d3a3835933bac0002b7c52511481dd8094b994 Gerrit-Change-Number: 24180 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 13 May 2021 17:56:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 17:56:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 17:56:36 +0000 Subject: Change in pysim[master]: Add codecs for EF_SPN and GSM strings via construct In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24180 ) Change subject: Add codecs for EF_SPN and GSM strings via construct ...................................................................... Add codecs for EF_SPN and GSM strings via construct This will replace the hand-crafted codec for EF_SPN by a struct definition using the construct library. Old encoders are updated and kept for API compatibility but are not used internally anymore. New data structures: * Rpad(Adapter): Right-padded bytestring (0xff, adjustable) * GsmStringAdapter(Adapter): Codec for "SMS default 7-bit coded alphabet as defined int TS 23.038" using the gsm0338 library. * GsmString(n): Convenient wrapper of both above Adjustments: * utils: update+deprecate old dec_spn(), enc_spn() * remove refs to deprecated functions Change-Id: Ia1d3a3835933bac0002b7c52511481dd8094b994 --- M contrib/jenkins.sh M pySim-read.py M pySim/cards.py M pySim/construct.py M pySim/ts_51_011.py M pySim/utils.py M requirements.txt M setup.py 8 files changed, 97 insertions(+), 27 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index ed5ba25..27f0245 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -23,6 +23,7 @@ pip install jsonpath-ng pip install construct pip install bidict +pip install gsm0338 # Execute automatically discovered unit tests first python -m unittest discover -v -s tests/ diff --git a/pySim-read.py b/pySim-read.py index ebe0e29..9feef9d 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -36,7 +36,7 @@ from pySim.transport import init_reader, argparse_add_reader_args from pySim.cards import card_detect, Card, UsimCard, IsimCard from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn -from pySim.utils import format_xplmn_w_act, dec_spn, dec_st, dec_addr_tlv +from pySim.utils import format_xplmn_w_act, dec_st, dec_addr_tlv from pySim.utils import h2s, format_ePDGSelection option_parser = argparse.ArgumentParser(prog='pySim-read', diff --git a/pySim/cards.py b/pySim/cards.py index 30857b3..dcba26c 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -25,7 +25,7 @@ from typing import Optional, Dict, Tuple import abc -from pySim.ts_51_011 import EF, DF, EF_AD +from pySim.ts_51_011 import EF, DF, EF_AD, EF_SPN from pySim.ts_31_102 import EF_USIM_ADF_map from pySim.ts_31_103 import EF_ISIM_ADF_map from pySim.utils import * @@ -203,15 +203,24 @@ return sw def read_spn(self): - (spn, sw) = self._scc.read_binary(EF['SPN']) + (content, sw) = self._scc.read_binary(EF['SPN']) if sw == '9000': - return (dec_spn(spn), sw) + abstract_data = EF_SPN().decode_hex(content) + show_in_hplmn = abstract_data['show_in_hplmn'] + hide_in_oplmn = abstract_data['hide_in_oplmn'] + name = abstract_data['spn'] + return ((name, show_in_hplmn, hide_in_oplmn), sw) else: return (None, sw) - def update_spn(self, name, hplmn_disp=False, oplmn_disp=False): - content = enc_spn(name, hplmn_disp, oplmn_disp) - data, sw = self._scc.update_binary(EF['SPN'], rpad(content, 32)) + def update_spn(self, name="", show_in_hplmn=False, hide_in_oplmn=False): + abstract_data = { + 'hide_in_oplmn' : hide_in_oplmn, + 'show_in_hplmn' : show_in_hplmn, + 'spn' : name, + } + content = EF_SPN().encode_hex(abstract_data) + data, sw = self._scc.update_binary(EF['SPN'], content) return sw def read_binary(self, ef, length=None, offset=0): @@ -915,8 +924,7 @@ # set Service Provider Name if p.get('name') is not None: - content = enc_spn(p['name'], True, True) - data, sw = self._scc.update_binary('6F46', rpad(content, 32)) + self.update_spn(p['name'], True, True) if p.get('acc') is not None: self.update_acc(p['acc']) @@ -1310,8 +1318,7 @@ # set Service Provider Name if p.get('name') is not None: - content = enc_spn(p['name'], True, True) - data, sw = self._scc.update_binary('6F46', rpad(content, 32)) + self.update_spn(p['name'], True, True) # write EF.IMSI if p.get('imsi'): diff --git a/pySim/construct.py b/pySim/construct.py index b0f03b7..a903305 100644 --- a/pySim/construct.py +++ b/pySim/construct.py @@ -1,5 +1,6 @@ from construct import * from pySim.utils import b2h, h2b, swap_nibbles +import gsm0338 """Utility code related to the integration of the 'construct' declarative parser.""" @@ -33,6 +34,42 @@ def _encode(self, obj, context, path): return h2b(swap_nibbles(obj)) +class Rpad(Adapter): + """ + Encoder appends padding bytes (b'\\xff') up to target size. + Decoder removes trailing padding bytes. + + Parameters: + subcon: Subconstruct as defined by construct library + pattern: set padding pattern (default: b'\\xff') + """ + + def __init__(self, subcon, pattern=b'\xff'): + super().__init__(subcon) + self.pattern = pattern + + def _decode(self, obj, context, path): + return obj.rstrip(self.pattern) + + def _encode(self, obj, context, path): + if len(obj) > self.sizeof(): + raise SizeofError("Input ({}) exceeds target size ({})".format(len(obj), self.sizeof())) + return obj + self.pattern * (self.sizeof() - len(obj)) + +class GsmStringAdapter(Adapter): + """Convert GSM 03.38 encoded bytes to a string.""" + + def __init__(self, subcon, codec='gsm03.38', err='strict'): + super().__init__(subcon) + self.codec = codec + self.err = err + + def _decode(self, obj, context, path): + return obj.decode(self.codec) + + def _encode(self, obj, context, path): + return obj.encode(self.codec, self.err) + def filter_dict(d, exclude_prefix='_'): """filter the input dict to ensure no keys starting with 'exclude_prefix' remain.""" res = {} @@ -88,3 +125,17 @@ n (Integer): Number of bytes (default: 1) ''' return Default(Bytes(n), __RFU_VALUE) + +def GsmString(n): + ''' + GSM 03.38 encoded byte string of fixed length n. + Encoder appends padding bytes (b'\\xff') to maintain + length. Decoder removes those trailing bytes. + + Exceptions are raised for invalid characters + and length excess. + + Parameters: + n (Integer): Fixed length of the encoded byte string + ''' + return GsmStringAdapter(Rpad(Bytes(n), pattern=b'\xff'), codec='gsm03.38') diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py index dba0369..6ab07f0 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -323,7 +323,7 @@ from struct import pack, unpack from construct import * from construct import Optional as COptional -from pySim.construct import HexAdapter, BcdAdapter, FlagRFU, ByteRFU, GreedyBytesRFU, BitsRFU, BytesRFU +from pySim.construct import * import enum from pySim.filesystem import * @@ -519,11 +519,14 @@ class EF_SPN(TransparentEF): def __init__(self, fid='6f46', sfid=None, name='EF.SPN', desc='Service Provider Name', size={17,17}): super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) - def _decode_hex(self, raw_hex): - return {'spn': dec_spn(raw_hex)} - def _encode_hex(self, abstract): - spn = abstract['spn'] - return enc_spn(spn[0], spn[1], spn[2]) + self._construct = BitStruct( + # Byte 1 + 'rfu'/BitsRFU(6), + 'hide_in_oplmn'/Flag, + 'show_in_hplmn'/Flag, + # Bytes 2..17 + 'spn'/Bytewise(GsmString(16)) + ) # TS 51.011 Section 10.3.13 class EF_CBMI(TransRecEF): diff --git a/pySim/utils.py b/pySim/utils.py index a3cd1b5..3a8ddac 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -248,17 +248,23 @@ return res def dec_spn(ef): - byte1 = int(ef[0:2]) - hplmn_disp = (byte1&0x01 == 0x01) - oplmn_disp = (byte1&0x02 == 0x02) - name = h2s(ef[2:]) - return (name, hplmn_disp, oplmn_disp) + """Obsolete, kept for API compatibility""" + from ts_51_011 import EF_SPN + abstract_data = EF_SPN().decode_hex(ef) + show_in_hplmn = abstract_data['show_in_hplmn'] + hide_in_oplmn = abstract_data['hide_in_oplmn'] + name = abstract_data['spn'] + return (name, show_in_hplmn, hide_in_oplmn) -def enc_spn(name:str, hplmn_disp=False, oplmn_disp=False): - byte1 = 0x00 - if hplmn_disp: byte1 = byte1|0x01 - if oplmn_disp: byte1 = byte1|0x02 - return i2h([byte1])+s2h(name) +def enc_spn(name:str, show_in_hplmn=False, hide_in_oplmn=False): + """Obsolete, kept for API compatibility""" + from ts_51_011 import EF_SPN + abstract_data = { + 'hide_in_oplmn' : hide_in_oplmn, + 'show_in_hplmn' : show_in_hplmn, + 'spn' : name, + } + return EF_SPN().encode_hex(abstract_data) def hexstr_to_Nbytearr(s, nbytes): return [s[i:i+(nbytes*2)] for i in range(0, len(s), (nbytes*2)) ] diff --git a/requirements.txt b/requirements.txt index 6e8336c..10e9667 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,3 +5,4 @@ jsonpath-ng construct bidict +gsm0338 diff --git a/setup.py b/setup.py index 08608dc..2ef498f 100644 --- a/setup.py +++ b/setup.py @@ -16,6 +16,7 @@ "jsonpath-ng", "construct >= 2.9", "bidict", + "gsm0338", ], scripts=[ 'pySim-prog.py', -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia1d3a3835933bac0002b7c52511481dd8094b994 Gerrit-Change-Number: 24180 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 17:58:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 17:58:10 +0000 Subject: Change in osmo-pcu[master]: Optimize PAGING-CS PDCH set selection when target MS is known In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24224 ) Change subject: Optimize PAGING-CS PDCH set selection when target MS is known ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iea46d5321a29d800813b1aa2bf4ce175ce45e2cf Gerrit-Change-Number: 24224 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 May 2021 17:58:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 17:58:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 17:58:39 +0000 Subject: Change in osmo-pcu[master]: bts: Use ms_store when calculating set of target PDCHs for Pkt Paging... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24225 ) Change subject: bts: Use ms_store when calculating set of target PDCHs for Pkt Paging Request ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I671e531921bbea2f5cc0f2bfcb8a39ea5c6673b8 Gerrit-Change-Number: 24225 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 May 2021 17:58:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 17:58:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 17:58:47 +0000 Subject: Change in osmo-pcu[master]: tbf: Log error path in setup() failing to assign control TS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24226 ) Change subject: tbf: Log error path in setup() failing to assign control TS ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I047209dfe139e37a80878318cca75cb50905536e Gerrit-Change-Number: 24226 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 May 2021 17:58:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 17:59:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 17:59:18 +0000 Subject: Change in osmo-pcu[master]: Move TBF list from BTS to the TRX structure In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24227 ) Change subject: Move TBF list from BTS to the TRX structure ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id3c59c11d57d765fe68aaebaac94290c0d84feb2 Gerrit-Change-Number: 24227 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 May 2021 17:59:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 18:00:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 18:00:14 +0000 Subject: Change in osmo-ci[master]: OBS: conflict: allow overriding pkgver In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24212 ) Change subject: OBS: conflict: allow overriding pkgver ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iae45d7462aab8227ed3756e6cccfa3e64cb04211 Gerrit-Change-Number: 24212 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 May 2021 18:00:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 18:00:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 18:00:40 +0000 Subject: Change in osmo-hlr[master]: vty: enable show subscribers filtered by IMEI In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/24217 ) Change subject: vty: enable show subscribers filtered by IMEI ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/24217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ic4a11d3ebcf8909c68e9f4617e94dc822491e008 Gerrit-Change-Number: 24217 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 May 2021 18:00:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 18:00:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 18:00:43 +0000 Subject: Change in osmo-hlr[master]: vty: enable show subscribers filtered by IMEI In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/24217 ) Change subject: vty: enable show subscribers filtered by IMEI ...................................................................... vty: enable show subscribers filtered by IMEI In 89fda3024a0c9a422cc5e5033b016ce0ab6c1ff3 I added a vty command to show a summary of filtered subscribers by imsi or msisdn. In practice there is a also need to be able to filter on IMEI. The idea here is not to replace every operation that could be done directly on the sql database in the vty, but this one is useful. Change-Id: Ic4a11d3ebcf8909c68e9f4617e94dc822491e008 --- M include/osmocom/hlr/db.h M src/db.c M src/db_hlr.c M src/hlr_vty_subscr.c M tests/test_nodes.vty 5 files changed, 8 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/hlr/db.h b/include/osmocom/hlr/db.h index f70df83..a771409 100644 --- a/include/osmocom/hlr/db.h +++ b/include/osmocom/hlr/db.h @@ -12,6 +12,7 @@ DB_STMT_SEL_ALL_ORDER_LAST_SEEN, DB_STMT_SEL_FILTER_MSISDN, DB_STMT_SEL_FILTER_IMSI, + DB_STMT_SEL_FILTER_IMEI, DB_STMT_SEL_FILTER_CS, DB_STMT_SEL_FILTER_PS, DB_STMT_SEL_BY_IMSI, diff --git a/src/db.c b/src/db.c index 09a17b6..3a7cf49 100644 --- a/src/db.c +++ b/src/db.c @@ -56,6 +56,7 @@ "WHERE last_lu_seen IS NOT NULL ORDER BY last_lu_seen;", [DB_STMT_SEL_FILTER_MSISDN] = "SELECT " SEL_COLUMNS " FROM subscriber WHERE msisdn LIKE $search ORDER BY msisdn", [DB_STMT_SEL_FILTER_IMSI] = "SELECT " SEL_COLUMNS " FROM subscriber WHERE imsi LIKE $search ORDER BY imsi", + [DB_STMT_SEL_FILTER_IMEI] = "SELECT " SEL_COLUMNS " FROM subscriber WHERE imei LIKE $search ORDER BY imei", [DB_STMT_SEL_FILTER_CS] = "SELECT " SEL_COLUMNS " FROM subscriber WHERE nam_cs = $search ORDER BY last_lu_seen", [DB_STMT_SEL_FILTER_PS] = "SELECT " SEL_COLUMNS " FROM subscriber WHERE nam_ps = $search ORDER BY last_lu_seen", [DB_STMT_SEL_BY_IMSI] = "SELECT " SEL_COLUMNS " FROM subscriber WHERE imsi = ?", diff --git a/src/db_hlr.c b/src/db_hlr.c index a4c467e..e88b5fc 100644 --- a/src/db_hlr.c +++ b/src/db_hlr.c @@ -648,6 +648,8 @@ if (!filter_type) { stmt = dbc->stmt[DB_STMT_SEL_ALL]; + } else if (strcmp(filter_type, "imei") == 0) { + stmt = dbc->stmt[DB_STMT_SEL_FILTER_IMEI]; } else if (strcmp(filter_type, "imsi") == 0) { stmt = dbc->stmt[DB_STMT_SEL_FILTER_IMSI]; } else if (strcmp(filter_type, "msisdn") == 0) { diff --git a/src/hlr_vty_subscr.c b/src/hlr_vty_subscr.c index ad16045..82e0043 100644 --- a/src/hlr_vty_subscr.c +++ b/src/hlr_vty_subscr.c @@ -256,7 +256,7 @@ #define SUBSCRS_SHOW_HELP "Show all subscribers (with filter possibility)\n" #define SUBSCR_ID "(imsi|msisdn|id|imei) IDENT" -#define SUBSCR_FILTER "(imsi|msisdn) FILTER" +#define SUBSCR_FILTER "(imei|imsi|msisdn) FILTER" #define SUBSCR_ID_HELP \ "Identify subscriber by IMSI\n" \ @@ -307,7 +307,8 @@ show_subscriber_filtered_cmd, "show subscribers " SUBSCR_FILTER, SHOW_STR SUBSCRS_SHOW_HELP - "Filter Subscribers by IMSI\n" "Filter Subscribers by MSISDN\n" "String to match in msisdn or imsi\n") + "Filter Subscribers by IMEI\n" "Filter Subscribers by IMSI\n" "Filter Subscribers by MSISDN\n" + "String to match in imei, imsi or msisdn\n") { const char *filter_type = argv[0]; const char *filter = argv[1]; diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index cce5703..bebe9a0 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -14,7 +14,7 @@ ... show gsup-connections show subscribers all - show subscribers (imsi|msisdn) FILTER + show subscribers (imei|imsi|msisdn) FILTER show subscribers (cs|ps) (on|off) show subscribers last-seen subscriber (imsi|msisdn|id|imei) IDENT show -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/24217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ic4a11d3ebcf8909c68e9f4617e94dc822491e008 Gerrit-Change-Number: 24217 Gerrit-PatchSet: 3 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 18:00:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 18:00:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn: Introduce test TC_rim_eutran_to_geran In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24129 ) Change subject: sgsn: Introduce test TC_rim_eutran_to_geran ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24129 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: I9dcf6ee2dc55bc6aba178eca30080233254f025e Gerrit-Change-Number: 24129 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 May 2021 18:00:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 18:01:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 18:01:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: test LOOPBACK with implicit destination addr In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24173 ) Change subject: MGCP_Test: test LOOPBACK with implicit destination addr ...................................................................... MGCP_Test: test LOOPBACK with implicit destination addr Test what happens when the MGW gets a CRCX that creates a connection in LOOPBACK mode but does not specify an RTP destination address. The MGW is expected to deduct the destination address from the first incoming RTP packet and loop it back to its originating address. Change-Id: I7baf827fb0c3f33e13ccbaffd37ba0eb4e20c304 Related: OS#5123 --- M mgw/MGCP_Test.ttcn 1 file changed, 18 insertions(+), 2 deletions(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index f6dfe57..c4f97a8 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -1693,7 +1693,7 @@ /* Create one connection in loopback mode, test if the RTP packets are * actually reflected */ - testcase TC_one_crcx_loopback_rtp() runs on dummy_CT { + function f_TC_one_crcx_loopback_rtp(boolean one_phase := true) runs on dummy_CT { var RtpFlowData flow; var MgcpEndpoint ep := c_mgw_ep_rtpbridge & "1@" & c_mgw_domain; var MgcpCallId call_id := '1225'H; @@ -1702,7 +1702,7 @@ f_init(ep); flow := valueof(t_RtpFlow(mp_local_ipv4, mp_remote_ipv4, 111, "GSM-HR-08/8000/1")); flow.em.portnr := 10000; - f_flow_create(RTPEM[0], ep, call_id, "loopback", flow); + f_flow_create(RTPEM[0], ep, call_id, "loopback", flow, one_phase := one_phase); f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); f_sleep(1.0); @@ -1722,6 +1722,21 @@ setverdict(pass); } + /* Create one connection in loopback mode, test if the RTP packets are + * actually reflected */ + testcase TC_one_crcx_loopback_rtp() runs on dummy_CT { + f_TC_one_crcx_loopback_rtp(one_phase := true) + } + + /* Same as above, but we will intenionally not tell the MGW where to + * send the outgoing traffic. The connection is still created in + * loopback mode, so the MGW should take the originating address from + * the incoming RTP packet and send it back to the source */ + testcase TC_one_crcx_loopback_rtp_implicit() runs on dummy_CT { + f_TC_one_crcx_loopback_rtp(one_phase := false) + } + + function f_TC_two_crcx_and_rtp(boolean bidir, charstring codec_name_a, integer pt_a, charstring codec_name_b, integer pt_b) runs on dummy_CT { var RtpFlowData flow[2]; @@ -2426,6 +2441,7 @@ execute(TC_one_crcx_receive_only_rtp()); execute(TC_one_crcx_loopback_rtp()); + execute(TC_one_crcx_loopback_rtp_implicit()); execute(TC_two_crcx_and_rtp()); execute(TC_two_crcx_and_rtp_bidir()); execute(TC_two_crcx_diff_pt_and_rtp()); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24173 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: I7baf827fb0c3f33e13ccbaffd37ba0eb4e20c304 Gerrit-Change-Number: 24173 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 18:02:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 18:02:13 +0000 Subject: Change in osmo-sgsn[master]: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 ) Change subject: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 Gerrit-Change-Number: 24164 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 May 2021 18:02:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 18:02:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 18:02:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_t3141 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24208 ) Change subject: pcu: Introduce test TC_t3141 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24208 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: I5f30e93de4a109d60577394da4e00a15ab23d1d6 Gerrit-Change-Number: 24208 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 May 2021 18:02:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 18:02:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 18:02:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Fix block_nr in tx PCUIF In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24207 ) Change subject: pcu: Fix block_nr in tx PCUIF ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24207 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: Ic816862d8bdca1ea9b8c34b49129beb7e055258c Gerrit-Change-Number: 24207 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 May 2021 18:02:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 18:03:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 18:03:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: TC_n3103_max_t3169: Send TLLI in UL blocks In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24206 ) Change subject: pcu: TC_n3103_max_t3169: Send TLLI in UL blocks ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24206 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: I2efa5ce97bf2c82727efcbdebdc0a0b686664e12 Gerrit-Change-Number: 24206 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 May 2021 18:03:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 18:03:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 18:03:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: TC_n3103_max_t3169: Send TLLI in UL blocks In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24206 ) Change subject: pcu: TC_n3103_max_t3169: Send TLLI in UL blocks ...................................................................... pcu: TC_n3103_max_t3169: Send TLLI in UL blocks Otherwise MS is not behaving correctly and newer versions of PCU (more strict checking TLLI and behaving better) may not accept it and make the test fail. Related: OS#1940 Change-Id: I2efa5ce97bf2c82727efcbdebdc0a0b686664e12 --- M pcu/PCU_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index f42a85b..333a68d 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1405,7 +1405,7 @@ /* Establish an Uplink TBF */ f_ms_establish_ul_tbf(ms); - f_ms_tx_ul_data_block_multi(ms, 5); + f_ms_tx_ul_data_block_multi(ms, 5, with_tlli := true); exp_ul_ack_sub := tr_UlAckNackGprs(*, tr_AckNackDescription('1'B), *); exp_ul_ack := tr_RLCMAC_UL_ACK_NACK_GPRS(ms.ul_tbf.tfi, exp_ul_ack_sub); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24206 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: I2efa5ce97bf2c82727efcbdebdc0a0b686664e12 Gerrit-Change-Number: 24206 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 18:03:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 18:03:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Fix block_nr in tx PCUIF In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24207 ) Change subject: pcu: Fix block_nr in tx PCUIF ...................................................................... pcu: Fix block_nr in tx PCUIF Change-Id: Ic816862d8bdca1ea9b8c34b49129beb7e055258c --- M pcu/PCUIF_Components.ttcn 1 file changed, 8 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCUIF_Components.ttcn b/pcu/PCUIF_Components.ttcn index be7aaeb..66b2e21 100644 --- a/pcu/PCUIF_Components.ttcn +++ b/pcu/PCUIF_Components.ttcn @@ -374,6 +374,11 @@ } } +private function fn2macblock(uint32_t fn) return uint8_t +{ + return (fn mod 52) / 4; +} + /* Get first message from queue. true if non-empty, false otherwise */ private function f_tx_data_ind_fn(integer bts_nr, integer fn) runs on RAW_PCU_BTS_CT @@ -399,7 +404,7 @@ f_PCUIF_MsgQueue_dequeue(pdtch_data_queue, pcu_msg); /* Patch TDMA frame / block number */ pcu_msg.u.data_ind.fn := fn; - pcu_msg.u.data_ind.block_nr := 0; /* FIXME! */ + pcu_msg.u.data_ind.block_nr := fn2macblock(fn); //log(prefix, "DATA.ind"); } else if (has_msg and pcu_msg.u.data_ind.fn < fn) { setverdict(fail, "We are late scheduling the block! ", pcu_msg.u.data_ind.fn, " < ", fn); @@ -439,7 +444,7 @@ /* Patch TDMA frame / block number and send */ pcu_msg.u.rts_req.fn := event.data.tdma_fn; - pcu_msg.u.rts_req.block_nr := 0; /* FIXME! */ + pcu_msg.u.rts_req.block_nr := fn2macblock(event.data.tdma_fn); PCUIF.send(pcu_msg); } @@ -462,7 +467,7 @@ /* Patch TDMA frame / block number and send */ pcu_msg.u.rts_req.fn := ev_begin_fn; - pcu_msg.u.rts_req.block_nr := 0; /* FIXME! */ + pcu_msg.u.rts_req.block_nr := fn2macblock(ev_begin_fn); PCUIF.send(pcu_msg); repeat; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24207 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: Ic816862d8bdca1ea9b8c34b49129beb7e055258c Gerrit-Change-Number: 24207 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Thu May 13 18:45:01 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Thu, 13 May 2021 18:45:01 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-opencm3-projects_=C2=BB_a1=3Ddef?= =?UTF-8?Q?ault,a2=3Ddefault,a3=3Ddefault,a4=3Dd?= =?UTF-8?Q?efault,osmocom-master-debian9_#7?= In-Reply-To: <1779043093.877.1620845102087@jenkins.osmocom.org> References: <1779043093.877.1620845102087@jenkins.osmocom.org> Message-ID: <1359866719.938.1620931502007@jenkins.osmocom.org> See Changes: ------------------------------------------ Started by upstream project "master-osmo-opencm3-projects" build number 7 originally caused by: Started by timer Running as SYSTEM Building remotely on build2-deb9build-ansible (ttcn3 osmocom-gerrit-debian9 osmocom-master-debian9 repo-install-test coverity) in workspace The recommended git tool is: NONE No credentials specified > git rev-parse --resolve-git-dir # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git://git.osmocom.org/osmo-opencm3-projects # timeout=10 Fetching upstream changes from git://git.osmocom.org/osmo-opencm3-projects > git --version # timeout=10 > git --version # 'git version 2.11.0' > git fetch --tags --progress -- git://git.osmocom.org/osmo-opencm3-projects +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision 7527cab6d8364b2022bd4fa2fd03039eac2a99bb (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 Commit message: "add missing libcommon.mk" > git rev-list --no-walk 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.libopencm3.url # timeout=10 > git config -f .gitmodules --get submodule.libopencm3.path # timeout=10 > git config --get submodule.librfn.url # timeout=10 > git config -f .gitmodules --get submodule.librfn.path # timeout=10 > git submodule update --init --recursive libopencm3 # timeout=10 > git submodule update --init --recursive librfn # timeout=10 [osmocom-master-debian9] $ /bin/sh -xe /tmp/jenkins748296300254193319.sh + ARTIFACT_STORE=/home/osmocom-build/jenkins_build_artifact_store + mkdir -p /home/osmocom-build/jenkins_build_artifact_store + docker run --rm=true --cap-add SYS_PTRACE -e ARTIFACT_STORE=/artifact_store -e ASCIIDOC_WARNINGS_CHECK=1 -e HOME=/build -e JOB_NAME=master-osmo-opencm3-projects/a1=default,a2=default,a3=default,a4=default,label=osmocom-master-debian9 -e MAKE=make -e OSMOPY_DEBUG_TCP_SOCKETS=1 -e OSMO_GSM_MANUALS_DIR=/opt/osmo-gsm-manuals -e PARALLEL_MAKE=-j 8 -e PUBLISH=1 -e WITH_MANUALS=1 -w /build -i -u build -v :/build -v /home/osmocom-build/jenkins_build_artifact_store:/artifact_store -v /home/osmocom-build/.ssh:/home/build/.ssh:ro osmocom-build/debian-stretch-jenkins /build/contrib/jenkins.sh --publish =============== relay-driver START ============== CLEAN CC console.c arm-none-eabi-gcc: error: /usr/lib/picolibc/arm-none-eabi/picolibc.specs: No such file or directory make: *** [console.o] Error 1 ../../mk/libopencm3.mk:227: recipe for target 'console.o' failed Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Thu May 13 19:25:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 19:25:58 +0000 Subject: Change in libosmo-sccp[master]: sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in Callin... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24218 ) Change subject: sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in CallingParty ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/libosmo-sccp/+/24218/2/src/sccp_scrc.c File src/sccp_scrc.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/24218/2/src/sccp_scrc.c at 453 PS2, Line 453: calling.presence == OSMO_SCCP_ADDR_T_SSN) { > shouldn't you simply check && !(calling. [?] the condition is if there is _only_ a SSN present (see '==' above). That implies that "presence & OSMO_SCCP_ADDR_T_PC" is false. https://gerrit.osmocom.org/c/libosmo-sccp/+/24218/2/src/sccp_scrc.c at 486 PS2, Line 486: /* ensure we have at least OPC+SSN and not just SSN in CallingParty (OS#5146) */ > Why is the comment here and not above ensure_opc_in_calling_ssn()? Ack -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id66ae960ebe3cb3b09c6dd5454f9ac9c073f46d7 Gerrit-Change-Number: 24218 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 13 May 2021 19:25:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 19:30:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 19:30:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Add TC_clnt_no_notify_asp_act() for testing the no_notify quirk References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24228 ) Change subject: stp: Add TC_clnt_no_notify_asp_act() for testing the no_notify quirk ...................................................................... stp: Add TC_clnt_no_notify_asp_act() for testing the no_notify quirk Related: OS#5145 Change-Id: Id74972f2ca0b0101fb4666549ce14ba6fa472daf --- M stp/STP_Tests_M3UA.ttcn 1 file changed, 28 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/28/24228/1 diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index 66a3f6f..1e55b36 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -72,6 +72,9 @@ }; integer mp_recovery_timeout_msec := 2000; charstring mp_sccp_service_type := "mtp3_itu"; + + /* does the STP support the 'asp quirk' command? */ + boolean mp_stp_has_asp_quirk := true; } type record M3uaConfig { @@ -871,6 +874,26 @@ f_M3UA_exp(0, tr_M3UA_SCON({adv_pc}, rctx0)); } +private function f_quirk(charstring quirk) runs on RAW_M3UA_CT { + f_vty_config2(VTY, {"cs7 instance 0", "asp asp-client0 10002 2906 m3ua"}, "quirk " & quirk); +} + +private function f_no_quirk(charstring quirk) runs on RAW_M3UA_CT { + f_vty_config2(VTY, {"cs7 instance 0", "asp asp-client0 10002 2906 m3ua"}, "no quirk " & quirk); +} + +/* quirk 'no_notify': Expect inbound connection from ASP/SCTP-client, followed by ASP-UP + ASP-ACT */ +testcase TC_clnt_quirk_no_notify_asp_act() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_quirk("no_notify"); + f_init_m3ua_srv(); + + f_M3UA_CLNT_asp_up_act(M3UA_SRV(0), rctx := int2oct(mp_m3ua_configs[M3UA_SRV(0)].routing_ctx, 4), + ntfy_after_up := omit, ntfy_after_act := omit); + f_no_quirk("no_notify"); + f_clear_m3ua(); +} + control { /* M3UA Tests */ @@ -904,6 +927,11 @@ execute( TC_clnt_sg_to_asp() ); execute( TC_clnt_asp_to_sg() ); + /* remove the condition if osmo-stp > 1.4.0 is released */ + if (mp_stp_has_asp_quirk) { + execute( TC_clnt_quirk_no_notify_asp_act() ); + } + /* M3UA SSNM tests */ execute( TC_ssnm_aspac_dava_aspia_duna() ); execute( TC_ssnm_distribution_dava_duna() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24228 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: Id74972f2ca0b0101fb4666549ce14ba6fa472daf Gerrit-Change-Number: 24228 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 19:30:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 19:30:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Add tests for "daud_in_asp" quirk. References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24229 ) Change subject: stp: Add tests for "daud_in_asp" quirk. ...................................................................... stp: Add tests for "daud_in_asp" quirk. Change-Id: Ie7e817dc92da4b9103fa50bd3a8240fbe20ddc68 Related: OS#5147 --- M stp/STP_Tests_M3UA.ttcn 1 file changed, 38 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/29/24229/1 diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index 1e55b36..78819b4 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -894,6 +894,42 @@ f_clear_m3ua(); } +/* ensure that DAUD is not supported in ASP role, as required by RFC */ +testcase TC_clnt_no_daud_in_asp() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_no_quirk("daud_in_asp"); + f_init_m3ua_srv(); + + var OCT4 rctx := int2oct(mp_m3ua_configs[M3UA_SRV(0)].routing_ctx, 4); + + f_M3UA_CLNT_asp_up_act(M3UA_SRV(0), rctx := rctx); + + var template (value) M3UA_Point_Codes aff_pcs := { ts_M3UA_PC(mp_m3ua_configs[M3UA_SRV(0)].point_code) }; + f_M3UA_send(M3UA_SRV(0), ts_M3UA_DAUD(aff_pcs)); + f_M3UA_exp(M3UA_SRV(0), tr_M3UA_ERR('00000004'O, omit)); + setverdict(pass); + + f_clear_m3ua(); +} + +/* quirk 'daud_in_asp': allowing inbound DAUD from SG in ASP role */ +testcase TC_clnt_quirk_daud_in_asp() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_quirk("daud_in_asp"); + f_init_m3ua_srv(); + + var OCT4 rctx := int2oct(mp_m3ua_configs[M3UA_SRV(0)].routing_ctx, 4); + + f_M3UA_CLNT_asp_up_act(M3UA_SRV(0), rctx := rctx); + + var template (value) M3UA_Point_Codes aff_pcs := { ts_M3UA_PC(mp_m3ua_configs[M3UA_SRV(0)].point_code) }; + f_M3UA_send(M3UA_SRV(0), ts_M3UA_DAUD(aff_pcs)); + f_M3UA_exp(M3UA_SRV(0), tr_M3UA_DAVA(aff_pcs)); + setverdict(pass); + + f_no_quirk("daud_in_asp"); + f_clear_m3ua(); +} control { /* M3UA Tests */ @@ -930,6 +966,8 @@ /* remove the condition if osmo-stp > 1.4.0 is released */ if (mp_stp_has_asp_quirk) { execute( TC_clnt_quirk_no_notify_asp_act() ); + execute( TC_clnt_no_daud_in_asp() ); + execute( TC_clnt_quirk_daud_in_asp() ); } /* M3UA SSNM tests */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24229 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: Ie7e817dc92da4b9103fa50bd3a8240fbe20ddc68 Gerrit-Change-Number: 24229 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 19:30:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 19:30:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Add tests for snm_inactive quirk References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24230 ) Change subject: stp: Add tests for snm_inactive quirk ...................................................................... stp: Add tests for snm_inactive quirk Change-Id: Ic2a41e450a44794c8cf1c5a29871655f2cca4f6b Related: OS#5148 --- M stp/STP_Tests_M3UA.ttcn 1 file changed, 48 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/30/24230/1 diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index 78819b4..dfa82a2 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -931,6 +931,52 @@ f_clear_m3ua(); } +/* Expect a normal ASP to reject any [S]SNM messages in ASP-INACTIVE state */ +testcase TC_clnt_no_snm_inactive() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_quirk("no_notify"); + f_quirk("daud_in_asp"); + f_no_quirk("snm_inactive"); + f_init_m3ua_srv(); + + /* bring ASP only UP (into INACTIVE state), but not ACTIVE! */ + f_M3UA_CLNT_asp_up(M3UA_SRV(0)); + f_M3UA_exp(M3UA_SRV(0), tr_M3UA_ASPAC(*, *)); + + var template (value) M3UA_Point_Codes aff_pcs := { ts_M3UA_PC(mp_m3ua_configs[M3UA_SRV(0)].point_code) }; + f_M3UA_send(M3UA_SRV(0), ts_M3UA_DAUD(aff_pcs)); + f_M3UA_exp(M3UA_SRV(0), tr_M3UA_ERR('00000006'O, omit)); + setverdict(pass); + + f_no_quirk("no_notify"); + f_no_quirk("daud_in_asp"); + f_clear_m3ua(); +} + +/* quirk 'snm_inactive': Process [S]SNM in ASP-INACTIVE state */ +testcase TC_clnt_quirk_snm_inactive() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_quirk("no_notify"); + f_quirk("daud_in_asp"); + f_quirk("snm_inactive"); + f_init_m3ua_srv(); + + /* bring ASP only UP (into INACTIVE state), but not ACTIVE! */ + f_M3UA_CLNT_asp_up(M3UA_SRV(0)); + f_M3UA_exp(M3UA_SRV(0), tr_M3UA_ASPAC(*, *)); + + var template (value) M3UA_Point_Codes aff_pcs := { ts_M3UA_PC(mp_m3ua_configs[M3UA_SRV(0)].point_code) }; + f_M3UA_send(M3UA_SRV(0), ts_M3UA_DAUD(aff_pcs)); + f_M3UA_exp(M3UA_SRV(0), tr_M3UA_DAVA(aff_pcs)); + setverdict(pass); + + f_no_quirk("no_notify"); + f_no_quirk("daud_in_asp"); + f_no_quirk("snm_inactive"); + f_clear_m3ua(); +} + + control { /* M3UA Tests */ execute( TC_connect_asp_up() ); @@ -968,6 +1014,8 @@ execute( TC_clnt_quirk_no_notify_asp_act() ); execute( TC_clnt_no_daud_in_asp() ); execute( TC_clnt_quirk_daud_in_asp() ); + execute( TC_clnt_no_snm_inactive() ); + execute( TC_clnt_quirk_snm_inactive() ); } /* M3UA SSNM tests */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24230 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: Ic2a41e450a44794c8cf1c5a29871655f2cca4f6b Gerrit-Change-Number: 24230 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 19:58:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 19:58:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SCCP_Templates: Allow templates as Called/CallingPartyAddress in UDT References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24231 ) Change subject: SCCP_Templates: Allow templates as Called/CallingPartyAddress in UDT ...................................................................... SCCP_Templates: Allow templates as Called/CallingPartyAddress in UDT Change-Id: I8d9f782ed3f4e6363f5370deb73bd2694b4c5d6a --- M library/SCCP_Templates.ttcn 1 file changed, 12 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/31/24231/1 diff --git a/library/SCCP_Templates.ttcn b/library/SCCP_Templates.ttcn index 9936dd0..55bf745 100644 --- a/library/SCCP_Templates.ttcn +++ b/library/SCCP_Templates.ttcn @@ -113,6 +113,15 @@ } } +private function tr_Addr(template SCCP_PAR_Address addr := *) +return template (present) SCCP_param_CPartyAddressEnc { + if (istemplatekind(addr, "?")) { + return ?; + } else { + return ConvertASPAddressToEncodedAddress_itu(valueof(addr)); + } +} + template (value) PDU_SCCP ts_SCCP_UDT(SCCP_PAR_Address calling, SCCP_PAR_Address called, template (value) octetstring data, template (value) BIT4 msg_hdl := '0000'B) := { @@ -131,7 +140,7 @@ } } -template PDU_SCCP tr_SCCP_UDT(SCCP_PAR_Address calling, SCCP_PAR_Address called, +template PDU_SCCP tr_SCCP_UDT(template (present) SCCP_PAR_Address calling, template (present) SCCP_PAR_Address called, template octetstring data := ?, template BIT4 msg_hdl := '0000'B) := { unitdata := { @@ -140,8 +149,8 @@ pointer1 := ?, pointer2 := ?, pointer3 := ?, - calledPAddress := ConvertASPAddressToEncodedAddress_itu(called), - callingPAddress := ConvertASPAddressToEncodedAddress_itu(calling), + calledPAddress := tr_Addr(called), + callingPAddress := tr_Addr(calling), data := { paramLength := ?, data := data -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24231 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: I8d9f782ed3f4e6363f5370deb73bd2694b4c5d6a Gerrit-Change-Number: 24231 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 19:58:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 19:58:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sccp: Add TC_callingparty_ssn_only() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24232 ) Change subject: sccp: Add TC_callingparty_ssn_only() ...................................................................... sccp: Add TC_callingparty_ssn_only() This test verifies that libosmo-sccp will properly respond to SCCP traffic that only has a SSN in the CallingPartyAddress. That situation poses the unique challenge of how to route a response, as we lack a GT and a PC to do the routing. In order to support this, libosm-sccp now adds the PC into the CallingPartyAddr when passing such messages from M3UA to SCCP. This way the recipient can simply respond back to that address and it will be routed on PC. Change-Id: Ided599a922fb7f6dbbfe90f817c5419ab793f293 Related: OS#5146 --- M library/SCCP_Templates.ttcn M sccp/SCCP_Tests_RAW.ttcn 2 files changed, 36 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/32/24232/1 diff --git a/library/SCCP_Templates.ttcn b/library/SCCP_Templates.ttcn index 55bf745..5167e4b 100644 --- a/library/SCCP_Templates.ttcn +++ b/library/SCCP_Templates.ttcn @@ -15,6 +15,19 @@ import from SCCPasp_Types all; import from SCCP_Emulation all; +/* construct a SCCP_PAR_Address with just SSN and no PC or GT */ +template (value) SCCP_PAR_Address ts_SccpAddr_SSN(integer ssn) := { + addressIndicator := { + pointCodeIndic := '0'B, + ssnIndicator := '1'B, + globalTitleIndic := '0000'B, + routingIndicator := '1'B + }, + signPointCode := omit, + subsystemNumber := ssn, + globalTitle := omit +} + /* construct a SCCP_PAR_Address with just PC + SSN and no GT */ template (value) SCCP_PAR_Address ts_SccpAddr_PC_SSN(integer pc, integer ssn, octetstring sio, charstring sccp_srv_type) := { diff --git a/sccp/SCCP_Tests_RAW.ttcn b/sccp/SCCP_Tests_RAW.ttcn index 356fbb2..1ac82a2 100644 --- a/sccp/SCCP_Tests_RAW.ttcn +++ b/sccp/SCCP_Tests_RAW.ttcn @@ -312,7 +312,8 @@ function f_scmg_xceive(SCCP_PAR_Address calling, SCCP_PAR_Address called, template (value) PDU_SCMG_message tx, - template (omit) PDU_SCMG_message rx_exp) runs on SCCP_Test_RAW_CT + template (omit) PDU_SCMG_message rx_exp, + boolean accept_other_called_resp := false) runs on SCCP_Test_RAW_CT { var boolean exp_something := true; timer T := 5.0; @@ -328,6 +329,9 @@ [exp_something] MTP3.receive(tr_SCCP_MTP3_TRANSFERind(tr_SCCP_UDT(called, calling, decmatch rx_exp))) { setverdict(pass); } + [exp_something and accept_other_called_resp] MTP3.receive(tr_SCCP_MTP3_TRANSFERind(tr_SCCP_UDT(called, ?, decmatch rx_exp))) { + setverdict(pass); + } [] MTP3.receive(tr_SCCP_MTP3_TRANSFERind(tr_SCCP_UDT(called, calling, ?))) { setverdict(fail, "Received unexpected SCCP waiting for ", rx_exp); } @@ -402,6 +406,22 @@ f_scmg_xceive(calling, called, tx, rx_exp); } +/* Test CallingParty(only SSN) solicits response (OS#5146) */ +testcase TC_callingparty_ssn_only() runs on SCCP_Test_RAW_CT { + var SCCP_PAR_Address calling, called; + var template (value) PDU_SCMG_message tx; + var template (present) PDU_SCMG_message rx_exp; + + f_init_raw(mp_sccp_cfg[0]); + f_sleep(1.0); + + called := valueof(ts_SccpAddr_SSN(1)); + calling := valueof(ts_SccpAddr_SSN(1)); + + tx := ts_SCMG_SST(1, mp_sccp_cfg[0].peer_pc); + rx_exp := ts_SCMG_SSA(1, mp_sccp_cfg[0].peer_pc); + f_scmg_xceive(calling, called, tx, rx_exp, accept_other_called_resp:=true); +} control { @@ -413,6 +433,8 @@ execute( TC_scmg_sst_ssn1() ); execute( TC_scmg_sst_ssn_valid() ); execute( TC_scmg_sst_ssn_invalid() ); + + execute( TC_callingparty_ssn_only() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24232 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: Ided599a922fb7f6dbbfe90f817c5419ab793f293 Gerrit-Change-Number: 24232 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 19:59:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 19:59:03 +0000 Subject: Change in libosmo-sccp[master]: osmo_ss7: introduce notion of configurable 'quirks' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 ) Change subject: osmo_ss7: introduce notion of configurable 'quirks' ...................................................................... osmo_ss7: introduce notion of configurable 'quirks' A quirk is an implementation work-around in order to establish interoperability with another implementation, either a buggy one or one that follows a different interpretation of a given spec. For now, we introduce a first quirk affecting when we (in ASP role) send an ASP-ACTIVE message to the SG. Closes: OS#5145 Change-Id: Idd947ea39d743eb1bc9342ad9d098036821da45b --- M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7_vty.c M src/xua_default_lm_fsm.c 3 files changed, 78 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index a278b59..8370dd9 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -427,9 +427,13 @@ struct osmo_ss7_asp_peer local; struct osmo_ss7_asp_peer remote; uint8_t qos_class; + uint32_t quirks; } cfg; }; +/*! Peer SG doesn't send NTFY(AS-INACTIVE) after ASP-UP procedure */ +#define OSMO_SS7_ASP_QUIRK_NO_NOTIFY 0x00000001 + int osmo_ss7_asp_peer_snprintf(char* buf, size_t buf_len, struct osmo_ss7_asp_peer *peer); int osmo_ss7_asp_peer_set_hosts(struct osmo_ss7_asp_peer *peer, void *talloc_ctx, const char* const* hosts, size_t host_cnt); diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 4db3c53..bc84bca 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -1,6 +1,6 @@ /* Core SS7 Instance/Linkset/Link/AS/ASP VTY Interface */ -/* (C) 2015-2017 by Harald Welte +/* (C) 2015-2021 by Harald Welte * All Rights Reserved * * SPDX-License-Identifier: GPL-2.0+ @@ -55,6 +55,15 @@ "MTP3 User Adaptation\n" \ "IPA Multiplex (SCCP Lite)\n" +static const struct value_string asp_quirk_names[] = { + { OSMO_SS7_ASP_QUIRK_NO_NOTIFY, "no_notify" }, + { 0, NULL } +}; + +static const struct value_string asp_quirk_descs[] = { + { OSMO_SS7_ASP_QUIRK_NO_NOTIFY, "Peer SG doesn't send NTFY(AS-INACTIVE) after ASP-UP" }, + { 0, NULL } +}; /*********************************************************************** * Core CS7 Configuration @@ -747,6 +756,44 @@ return CMD_WARNING; } +DEFUN_ATTR(asp_quirk, asp_quirk_cmd, + "OVERWRITTEN", + "OVERWRITTEN\n", + CMD_ATTR_IMMEDIATE) +{ + struct osmo_ss7_asp *asp = vty->index; +#if 0 /* we only have one quirk, so there is no argv[0] yet! */ + int quirk = get_string_value(asp_quirk_names, argv[0]); +#else + int quirk = get_string_value(asp_quirk_names, "no_notify"); +#endif + + if (quirk < 0) + return CMD_WARNING; + + asp->cfg.quirks |= quirk; + return CMD_SUCCESS; +} + +DEFUN_ATTR(asp_no_quirk, asp_no_quirk_cmd, + "OVERWRITTEN", + "OVERWRITTEN\n", + CMD_ATTR_IMMEDIATE) +{ + struct osmo_ss7_asp *asp = vty->index; +#if 0 /* we only have one quirk, so there is no argv[0] yet! */ + int quirk = get_string_value(asp_quirk_names, argv[0]); +#else + int quirk = get_string_value(asp_quirk_names, "no_notify"); +#endif + + if (quirk < 0) + return CMD_WARNING; + + asp->cfg.quirks &= ~quirk; + return CMD_SUCCESS; +} + DEFUN(show_cs7_asp, show_cs7_asp_cmd, "show cs7 instance <0-15> asp", SHOW_STR CS7_STR INST_STR INST_STR "Application Server Process (ASP)\n") @@ -814,6 +861,11 @@ } if (!asp->cfg.is_server) vty_out(vty, " sctp-role client%s", VTY_NEWLINE); + for (i = 0; i < 32; i++) { + if (!(asp->cfg.quirks & (1 << i))) + continue; + vty_out(vty, " quirk %s%s", get_value_string(asp_quirk_names, (1 << i)), VTY_NEWLINE); + } } @@ -2029,6 +2081,17 @@ { g_ctx = ctx; + asp_quirk_cmd.string = vty_cmd_string_from_valstr(ctx, asp_quirk_names, + "quirk (", "|", ")", VTY_DO_LOWER); + asp_quirk_cmd.doc = vty_cmd_string_from_valstr(ctx, asp_quirk_descs, + "Enable quirk to work around interop issues\n", + "\n", "\n", 0); + asp_no_quirk_cmd.string = vty_cmd_string_from_valstr(ctx, asp_quirk_names, + "no quirk (", "|", ")", VTY_DO_LOWER); + asp_no_quirk_cmd.doc = vty_cmd_string_from_valstr(ctx, asp_quirk_descs, + NO_STR "Disable quirk to work around interop issues\n", + "\n", "\n", 0); + install_lib_element_ve(&show_cs7_user_cmd); install_lib_element_ve(&show_cs7_xua_cmd); install_lib_element_ve(&show_cs7_config_cmd); @@ -2057,6 +2120,8 @@ install_lib_element(L_CS7_ASP_NODE, &asp_sctp_role_cmd); install_lib_element(L_CS7_ASP_NODE, &asp_block_cmd); install_lib_element(L_CS7_ASP_NODE, &asp_shutdown_cmd); + install_lib_element(L_CS7_ASP_NODE, &asp_quirk_cmd); + install_lib_element(L_CS7_ASP_NODE, &asp_no_quirk_cmd); install_node(&as_node, NULL); install_lib_element_ve(&show_cs7_as_cmd); diff --git a/src/xua_default_lm_fsm.c b/src/xua_default_lm_fsm.c index 338f4ae..ca488a7 100644 --- a/src/xua_default_lm_fsm.c +++ b/src/xua_default_lm_fsm.c @@ -1,5 +1,5 @@ /* Default XUA Layer Manager */ -/* (C) 2017 by Harald Welte +/* (C) 2017-2021 by Harald Welte * All Rights Reserved * * SPDX-License-Identifier: GPL-2.0+ @@ -170,6 +170,13 @@ restart_asp(fi); break; case T_WAIT_NOTIFY: + if (lmp->asp->cfg.quirks & OSMO_SS7_ASP_QUIRK_NO_NOTIFY) { + /* some implementations don't send the NOTIFY which they SHOULD + * according to RFC4666 (see OS#5145) */ + LOGPFSM(fi, "quirk no_notify active; locally emulate AS-INACTIVE.ind\n"); + osmo_fsm_inst_dispatch(fi, LM_E_AS_INACTIVE_IND, NULL); + break; + } /* No AS has reported via NOTIFY that is was * (statically) configured at the SG for this ASP, so * let's dynamically register */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Idd947ea39d743eb1bc9342ad9d098036821da45b Gerrit-Change-Number: 24213 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 19:59:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 19:59:03 +0000 Subject: Change in libosmo-sccp[master]: m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 ) Change subject: m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. ...................................................................... m3ua/sua: Add quirk for allowing inbound DAUD from SG in ASP role. The M3UA RFC talks about this message being used in ASP->SG direction, not the other way around. Closes: OS#5147 Change-Id: I36ff172b47142a877b37bbd149073bef35b36a74 --- M include/osmocom/sigtran/osmo_ss7.h M src/m3ua.c M src/osmo_ss7_vty.c M src/sua.c 4 files changed, 29 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index 8370dd9..a799b04 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -433,6 +433,8 @@ /*! Peer SG doesn't send NTFY(AS-INACTIVE) after ASP-UP procedure */ #define OSMO_SS7_ASP_QUIRK_NO_NOTIFY 0x00000001 +/*! Accept DAUD in ASP role (RFC states only permitted in ASP->SG role) */ +#define OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP 0x00000002 int osmo_ss7_asp_peer_snprintf(char* buf, size_t buf_len, struct osmo_ss7_asp_peer *peer); int osmo_ss7_asp_peer_set_hosts(struct osmo_ss7_asp_peer *peer, void *talloc_ctx, diff --git a/src/m3ua.c b/src/m3ua.c index 77326e0..9fe17ad 100644 --- a/src/m3ua.c +++ b/src/m3ua.c @@ -901,6 +901,18 @@ xua->hdr.msg_type); /* silently ignore those to not confuse the sender */ break; + case M3UA_SNM_DAUD: + /* RFC states only permitted in ASP->SG direction, not reverse. But some + * equipment still sends it to us as ASP ?!? */ + if (asp->cfg.quirks & OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP) { + LOGPASP(asp, DLM3UA, LOGL_NOTICE, "quirk daud_in_asp active: Accepting DAUD " + "despite being in ASP role\n"); + xua_snm_rx_daud(asp, xua); + } else { + LOGPASP(asp, DLM3UA, LOGL_ERROR, "DAUD not permitted in ASP role\n"); + return M3UA_ERR_UNSUPP_MSG_TYPE; + } + break; default: return M3UA_ERR_UNSUPP_MSG_TYPE; } diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index bc84bca..b2e3192 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -56,12 +56,14 @@ "IPA Multiplex (SCCP Lite)\n" static const struct value_string asp_quirk_names[] = { - { OSMO_SS7_ASP_QUIRK_NO_NOTIFY, "no_notify" }, + { OSMO_SS7_ASP_QUIRK_NO_NOTIFY, "no_notify" }, + { OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP, "daud_in_asp" }, { 0, NULL } }; static const struct value_string asp_quirk_descs[] = { { OSMO_SS7_ASP_QUIRK_NO_NOTIFY, "Peer SG doesn't send NTFY(AS-INACTIVE) after ASP-UP" }, + { OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP, "Allow Rx of DAUD in ASP role" }, { 0, NULL } }; @@ -762,11 +764,7 @@ CMD_ATTR_IMMEDIATE) { struct osmo_ss7_asp *asp = vty->index; -#if 0 /* we only have one quirk, so there is no argv[0] yet! */ int quirk = get_string_value(asp_quirk_names, argv[0]); -#else - int quirk = get_string_value(asp_quirk_names, "no_notify"); -#endif if (quirk < 0) return CMD_WARNING; @@ -781,11 +779,7 @@ CMD_ATTR_IMMEDIATE) { struct osmo_ss7_asp *asp = vty->index; -#if 0 /* we only have one quirk, so there is no argv[0] yet! */ int quirk = get_string_value(asp_quirk_names, argv[0]); -#else - int quirk = get_string_value(asp_quirk_names, "no_notify"); -#endif if (quirk < 0) return CMD_WARNING; diff --git a/src/sua.c b/src/sua.c index 2ff5a9a..997b511 100644 --- a/src/sua.c +++ b/src/sua.c @@ -912,6 +912,18 @@ xua->hdr.msg_type); /* silently ignore those to not confuse the sender */ break; + case SUA_SNM_DAUD: + /* RFC states only permitted in ASP->SG direction, not reverse. But some + * equipment still sends it to us as ASP ?!? */ + if (asp->cfg.quirks & OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP) { + LOGPASP(asp, DLSUA, LOGL_NOTICE, "quirk daud_in_asp active: Accepting DAUD " + "despite being in ASP role\n"); + xua_snm_rx_daud(asp, xua); + } else { + LOGPASP(asp, DLSUA, LOGL_ERROR, "DAUD not permitted in ASP role\n"); + return SUA_ERR_UNSUPP_MSG_TYPE; + } + break; default: return SUA_ERR_UNSUPP_MSG_TYPE; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I36ff172b47142a877b37bbd149073bef35b36a74 Gerrit-Change-Number: 24214 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 20:00:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 20:00:29 +0000 Subject: Change in libosmo-sccp[master]: m3ua/sua: Add new snm_inactive quirk In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24216 ) Change subject: m3ua/sua: Add new snm_inactive quirk ...................................................................... m3ua/sua: Add new snm_inactive quirk This quirk allows the M3UA + SUA code to accept SSNM/SNM traffic despite being in AS-INACTIVE state. This is forbidden by the RFCs but there are some implementations that apparently just don't care what is specified. Change-Id: I193dd546b3e3c00e29f192d0d1bf7819b3e194be Closes: OS#5148 --- M include/osmocom/sigtran/osmo_ss7.h M src/m3ua.c M src/osmo_ss7_vty.c M src/sua.c 4 files changed, 23 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index a799b04..3d13b6a 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -432,9 +432,11 @@ }; /*! Peer SG doesn't send NTFY(AS-INACTIVE) after ASP-UP procedure */ -#define OSMO_SS7_ASP_QUIRK_NO_NOTIFY 0x00000001 +#define OSMO_SS7_ASP_QUIRK_NO_NOTIFY 0x00000001 /*! Accept DAUD in ASP role (RFC states only permitted in ASP->SG role) */ -#define OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP 0x00000002 +#define OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP 0x00000002 +/*! Accept SSNM even if ASP is in AS-INACTIVE state */ +#define OSMO_SS7_ASP_QUIRK_SNM_INACTIVE 0x00000004 int osmo_ss7_asp_peer_snprintf(char* buf, size_t buf_len, struct osmo_ss7_asp_peer *peer); int osmo_ss7_asp_peer_set_hosts(struct osmo_ss7_asp_peer *peer, void *talloc_ctx, diff --git a/src/m3ua.c b/src/m3ua.c index 9fe17ad..e2db6c1 100644 --- a/src/m3ua.c +++ b/src/m3ua.c @@ -938,9 +938,15 @@ { /* SNM only permitted in ACTIVE state */ if (asp->fi->state != XUA_ASP_S_ACTIVE) { - LOGPASP(asp, DLM3UA, LOGL_NOTICE, "Received M3UA SNM while ASP in state %s\n", - osmo_fsm_inst_state_name(asp->fi)); - return M3UA_ERR_UNEXPECTED_MSG; + if (asp->fi->state == XUA_ASP_S_INACTIVE && + asp->cfg.quirks & OSMO_SS7_ASP_QUIRK_SNM_INACTIVE) { + LOGPASP(asp, DLM3UA, LOGL_NOTICE, "quirk snm_inactive active: " + "Accepting SNM in state %s\n", osmo_fsm_inst_state_name(asp->fi)); + } else { + LOGPASP(asp, DLM3UA, LOGL_ERROR, "Rx M3UA SNM not permitted " + "while ASP in state %s\n", osmo_fsm_inst_state_name(asp->fi)); + return M3UA_ERR_UNEXPECTED_MSG; + } } switch (asp->cfg.role) { diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index b2e3192..dcbe9b2 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -58,12 +58,14 @@ static const struct value_string asp_quirk_names[] = { { OSMO_SS7_ASP_QUIRK_NO_NOTIFY, "no_notify" }, { OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP, "daud_in_asp" }, + { OSMO_SS7_ASP_QUIRK_SNM_INACTIVE, "snm_inactive" }, { 0, NULL } }; static const struct value_string asp_quirk_descs[] = { { OSMO_SS7_ASP_QUIRK_NO_NOTIFY, "Peer SG doesn't send NTFY(AS-INACTIVE) after ASP-UP" }, { OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP, "Allow Rx of DAUD in ASP role" }, + { OSMO_SS7_ASP_QUIRK_SNM_INACTIVE, "Allow Rx of [S]SNM in AS-INACTIVE state" }, { 0, NULL } }; diff --git a/src/sua.c b/src/sua.c index 997b511..8415fa3 100644 --- a/src/sua.c +++ b/src/sua.c @@ -949,9 +949,14 @@ { /* SNM only permitted in ACTIVE state */ if (asp->fi->state != XUA_ASP_S_ACTIVE) { - LOGPASP(asp, DLSUA, LOGL_NOTICE, "Received M3UA SNM while ASP in state %s\n", - osmo_fsm_inst_state_name(asp->fi)); - return SUA_ERR_UNEXPECTED_MSG; + if (asp->fi->state == XUA_ASP_S_INACTIVE && asp->cfg.quirks & OSMO_SS7_ASP_QUIRK_SNM_INACTIVE) { + LOGPASP(asp, DLSUA, LOGL_NOTICE, "quirk snm_inactive active: " + "Accepting SSNM in state %s\n", osmo_fsm_inst_state_name(asp->fi)); + } else { + LOGPASP(asp, DLM3UA, LOGL_ERROR, "Rx SUA SSNM not permitted " + "while ASP in state %s\n", osmo_fsm_inst_state_name(asp->fi)); + return SUA_ERR_UNEXPECTED_MSG; + } } switch (asp->cfg.role) { -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I193dd546b3e3c00e29f192d0d1bf7819b3e194be Gerrit-Change-Number: 24216 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 20:00:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 20:00:39 +0000 Subject: Change in libosmo-sccp[master]: sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in Callin... In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24218 to look at the new patch set (#4). Change subject: sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in CallingParty ...................................................................... sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in CallingParty There are implementations out there which send us traffic, specifically in this case SCMG (SST) that has only SSN in both Called and Calling Party. This means the inbound SST message is routed correctly to the local SCCP user of libosmo-sigtran. But when that local SCCP user responds with inverting Called/Calling Party, the new destination again just contains a SSN. As a result, we don't know where to route the message (we always need a PC). Change-Id: Id66ae960ebe3cb3b09c6dd5454f9ac9c073f46d7 Closes: OS#5146 --- M src/sccp_scrc.c 1 file changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/18/24218/4 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id66ae960ebe3cb3b09c6dd5454f9ac9c073f46d7 Gerrit-Change-Number: 24218 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 20:05:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 20:05:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Add TC_clnt_no_notify_asp_act() for testing the no_notify quirk In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24228 ) Change subject: stp: Add TC_clnt_no_notify_asp_act() for testing the no_notify quirk ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24228 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: Id74972f2ca0b0101fb4666549ce14ba6fa472daf Gerrit-Change-Number: 24228 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 May 2021 20:05:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 20:05:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 20:05:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Add tests for "daud_in_asp" quirk. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24229 ) Change subject: stp: Add tests for "daud_in_asp" quirk. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24229 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: Ie7e817dc92da4b9103fa50bd3a8240fbe20ddc68 Gerrit-Change-Number: 24229 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 May 2021 20:05:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 20:05:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 20:05:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Add tests for snm_inactive quirk In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24230 ) Change subject: stp: Add tests for snm_inactive quirk ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24230 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: Ic2a41e450a44794c8cf1c5a29871655f2cca4f6b Gerrit-Change-Number: 24230 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 May 2021 20:05:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 20:05:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 20:05:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SCCP_Templates: Allow templates as Called/CallingPartyAddress in UDT In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24231 ) Change subject: SCCP_Templates: Allow templates as Called/CallingPartyAddress in UDT ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24231 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: I8d9f782ed3f4e6363f5370deb73bd2694b4c5d6a Gerrit-Change-Number: 24231 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 May 2021 20:05:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 20:05:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 20:05:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sccp: Add TC_callingparty_ssn_only() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24232 ) Change subject: sccp: Add TC_callingparty_ssn_only() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24232 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: Ided599a922fb7f6dbbfe90f817c5419ab793f293 Gerrit-Change-Number: 24232 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 May 2021 20:05:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 20:05:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 20:05:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Add TC_clnt_no_notify_asp_act() for testing the no_notify quirk In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24228 ) Change subject: stp: Add TC_clnt_no_notify_asp_act() for testing the no_notify quirk ...................................................................... stp: Add TC_clnt_no_notify_asp_act() for testing the no_notify quirk Related: OS#5145 Change-Id: Id74972f2ca0b0101fb4666549ce14ba6fa472daf --- M stp/STP_Tests_M3UA.ttcn 1 file changed, 28 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index 66a3f6f..1e55b36 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -72,6 +72,9 @@ }; integer mp_recovery_timeout_msec := 2000; charstring mp_sccp_service_type := "mtp3_itu"; + + /* does the STP support the 'asp quirk' command? */ + boolean mp_stp_has_asp_quirk := true; } type record M3uaConfig { @@ -871,6 +874,26 @@ f_M3UA_exp(0, tr_M3UA_SCON({adv_pc}, rctx0)); } +private function f_quirk(charstring quirk) runs on RAW_M3UA_CT { + f_vty_config2(VTY, {"cs7 instance 0", "asp asp-client0 10002 2906 m3ua"}, "quirk " & quirk); +} + +private function f_no_quirk(charstring quirk) runs on RAW_M3UA_CT { + f_vty_config2(VTY, {"cs7 instance 0", "asp asp-client0 10002 2906 m3ua"}, "no quirk " & quirk); +} + +/* quirk 'no_notify': Expect inbound connection from ASP/SCTP-client, followed by ASP-UP + ASP-ACT */ +testcase TC_clnt_quirk_no_notify_asp_act() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_quirk("no_notify"); + f_init_m3ua_srv(); + + f_M3UA_CLNT_asp_up_act(M3UA_SRV(0), rctx := int2oct(mp_m3ua_configs[M3UA_SRV(0)].routing_ctx, 4), + ntfy_after_up := omit, ntfy_after_act := omit); + f_no_quirk("no_notify"); + f_clear_m3ua(); +} + control { /* M3UA Tests */ @@ -904,6 +927,11 @@ execute( TC_clnt_sg_to_asp() ); execute( TC_clnt_asp_to_sg() ); + /* remove the condition if osmo-stp > 1.4.0 is released */ + if (mp_stp_has_asp_quirk) { + execute( TC_clnt_quirk_no_notify_asp_act() ); + } + /* M3UA SSNM tests */ execute( TC_ssnm_aspac_dava_aspia_duna() ); execute( TC_ssnm_distribution_dava_duna() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24228 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: Id74972f2ca0b0101fb4666549ce14ba6fa472daf Gerrit-Change-Number: 24228 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 20:05:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 20:05:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Add tests for "daud_in_asp" quirk. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24229 ) Change subject: stp: Add tests for "daud_in_asp" quirk. ...................................................................... stp: Add tests for "daud_in_asp" quirk. Change-Id: Ie7e817dc92da4b9103fa50bd3a8240fbe20ddc68 Related: OS#5147 --- M stp/STP_Tests_M3UA.ttcn 1 file changed, 38 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index 1e55b36..78819b4 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -894,6 +894,42 @@ f_clear_m3ua(); } +/* ensure that DAUD is not supported in ASP role, as required by RFC */ +testcase TC_clnt_no_daud_in_asp() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_no_quirk("daud_in_asp"); + f_init_m3ua_srv(); + + var OCT4 rctx := int2oct(mp_m3ua_configs[M3UA_SRV(0)].routing_ctx, 4); + + f_M3UA_CLNT_asp_up_act(M3UA_SRV(0), rctx := rctx); + + var template (value) M3UA_Point_Codes aff_pcs := { ts_M3UA_PC(mp_m3ua_configs[M3UA_SRV(0)].point_code) }; + f_M3UA_send(M3UA_SRV(0), ts_M3UA_DAUD(aff_pcs)); + f_M3UA_exp(M3UA_SRV(0), tr_M3UA_ERR('00000004'O, omit)); + setverdict(pass); + + f_clear_m3ua(); +} + +/* quirk 'daud_in_asp': allowing inbound DAUD from SG in ASP role */ +testcase TC_clnt_quirk_daud_in_asp() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_quirk("daud_in_asp"); + f_init_m3ua_srv(); + + var OCT4 rctx := int2oct(mp_m3ua_configs[M3UA_SRV(0)].routing_ctx, 4); + + f_M3UA_CLNT_asp_up_act(M3UA_SRV(0), rctx := rctx); + + var template (value) M3UA_Point_Codes aff_pcs := { ts_M3UA_PC(mp_m3ua_configs[M3UA_SRV(0)].point_code) }; + f_M3UA_send(M3UA_SRV(0), ts_M3UA_DAUD(aff_pcs)); + f_M3UA_exp(M3UA_SRV(0), tr_M3UA_DAVA(aff_pcs)); + setverdict(pass); + + f_no_quirk("daud_in_asp"); + f_clear_m3ua(); +} control { /* M3UA Tests */ @@ -930,6 +966,8 @@ /* remove the condition if osmo-stp > 1.4.0 is released */ if (mp_stp_has_asp_quirk) { execute( TC_clnt_quirk_no_notify_asp_act() ); + execute( TC_clnt_no_daud_in_asp() ); + execute( TC_clnt_quirk_daud_in_asp() ); } /* M3UA SSNM tests */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24229 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: Ie7e817dc92da4b9103fa50bd3a8240fbe20ddc68 Gerrit-Change-Number: 24229 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 20:05:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 20:05:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Add tests for snm_inactive quirk In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24230 ) Change subject: stp: Add tests for snm_inactive quirk ...................................................................... stp: Add tests for snm_inactive quirk Change-Id: Ic2a41e450a44794c8cf1c5a29871655f2cca4f6b Related: OS#5148 --- M stp/STP_Tests_M3UA.ttcn 1 file changed, 48 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index 78819b4..dfa82a2 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -931,6 +931,52 @@ f_clear_m3ua(); } +/* Expect a normal ASP to reject any [S]SNM messages in ASP-INACTIVE state */ +testcase TC_clnt_no_snm_inactive() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_quirk("no_notify"); + f_quirk("daud_in_asp"); + f_no_quirk("snm_inactive"); + f_init_m3ua_srv(); + + /* bring ASP only UP (into INACTIVE state), but not ACTIVE! */ + f_M3UA_CLNT_asp_up(M3UA_SRV(0)); + f_M3UA_exp(M3UA_SRV(0), tr_M3UA_ASPAC(*, *)); + + var template (value) M3UA_Point_Codes aff_pcs := { ts_M3UA_PC(mp_m3ua_configs[M3UA_SRV(0)].point_code) }; + f_M3UA_send(M3UA_SRV(0), ts_M3UA_DAUD(aff_pcs)); + f_M3UA_exp(M3UA_SRV(0), tr_M3UA_ERR('00000006'O, omit)); + setverdict(pass); + + f_no_quirk("no_notify"); + f_no_quirk("daud_in_asp"); + f_clear_m3ua(); +} + +/* quirk 'snm_inactive': Process [S]SNM in ASP-INACTIVE state */ +testcase TC_clnt_quirk_snm_inactive() runs on RAW_M3UA_CT { + f_init_m3ua(); + f_quirk("no_notify"); + f_quirk("daud_in_asp"); + f_quirk("snm_inactive"); + f_init_m3ua_srv(); + + /* bring ASP only UP (into INACTIVE state), but not ACTIVE! */ + f_M3UA_CLNT_asp_up(M3UA_SRV(0)); + f_M3UA_exp(M3UA_SRV(0), tr_M3UA_ASPAC(*, *)); + + var template (value) M3UA_Point_Codes aff_pcs := { ts_M3UA_PC(mp_m3ua_configs[M3UA_SRV(0)].point_code) }; + f_M3UA_send(M3UA_SRV(0), ts_M3UA_DAUD(aff_pcs)); + f_M3UA_exp(M3UA_SRV(0), tr_M3UA_DAVA(aff_pcs)); + setverdict(pass); + + f_no_quirk("no_notify"); + f_no_quirk("daud_in_asp"); + f_no_quirk("snm_inactive"); + f_clear_m3ua(); +} + + control { /* M3UA Tests */ execute( TC_connect_asp_up() ); @@ -968,6 +1014,8 @@ execute( TC_clnt_quirk_no_notify_asp_act() ); execute( TC_clnt_no_daud_in_asp() ); execute( TC_clnt_quirk_daud_in_asp() ); + execute( TC_clnt_no_snm_inactive() ); + execute( TC_clnt_quirk_snm_inactive() ); } /* M3UA SSNM tests */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24230 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: Ic2a41e450a44794c8cf1c5a29871655f2cca4f6b Gerrit-Change-Number: 24230 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 20:05:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 20:05:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SCCP_Templates: Allow templates as Called/CallingPartyAddress in UDT In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24231 ) Change subject: SCCP_Templates: Allow templates as Called/CallingPartyAddress in UDT ...................................................................... SCCP_Templates: Allow templates as Called/CallingPartyAddress in UDT Change-Id: I8d9f782ed3f4e6363f5370deb73bd2694b4c5d6a --- M library/SCCP_Templates.ttcn 1 file changed, 12 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/SCCP_Templates.ttcn b/library/SCCP_Templates.ttcn index 9936dd0..55bf745 100644 --- a/library/SCCP_Templates.ttcn +++ b/library/SCCP_Templates.ttcn @@ -113,6 +113,15 @@ } } +private function tr_Addr(template SCCP_PAR_Address addr := *) +return template (present) SCCP_param_CPartyAddressEnc { + if (istemplatekind(addr, "?")) { + return ?; + } else { + return ConvertASPAddressToEncodedAddress_itu(valueof(addr)); + } +} + template (value) PDU_SCCP ts_SCCP_UDT(SCCP_PAR_Address calling, SCCP_PAR_Address called, template (value) octetstring data, template (value) BIT4 msg_hdl := '0000'B) := { @@ -131,7 +140,7 @@ } } -template PDU_SCCP tr_SCCP_UDT(SCCP_PAR_Address calling, SCCP_PAR_Address called, +template PDU_SCCP tr_SCCP_UDT(template (present) SCCP_PAR_Address calling, template (present) SCCP_PAR_Address called, template octetstring data := ?, template BIT4 msg_hdl := '0000'B) := { unitdata := { @@ -140,8 +149,8 @@ pointer1 := ?, pointer2 := ?, pointer3 := ?, - calledPAddress := ConvertASPAddressToEncodedAddress_itu(called), - callingPAddress := ConvertASPAddressToEncodedAddress_itu(calling), + calledPAddress := tr_Addr(called), + callingPAddress := tr_Addr(calling), data := { paramLength := ?, data := data -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24231 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: I8d9f782ed3f4e6363f5370deb73bd2694b4c5d6a Gerrit-Change-Number: 24231 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 20:05:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 20:05:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sccp: Add TC_callingparty_ssn_only() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24232 ) Change subject: sccp: Add TC_callingparty_ssn_only() ...................................................................... sccp: Add TC_callingparty_ssn_only() This test verifies that libosmo-sccp will properly respond to SCCP traffic that only has a SSN in the CallingPartyAddress. That situation poses the unique challenge of how to route a response, as we lack a GT and a PC to do the routing. In order to support this, libosm-sccp now adds the PC into the CallingPartyAddr when passing such messages from M3UA to SCCP. This way the recipient can simply respond back to that address and it will be routed on PC. Change-Id: Ided599a922fb7f6dbbfe90f817c5419ab793f293 Related: OS#5146 --- M library/SCCP_Templates.ttcn M sccp/SCCP_Tests_RAW.ttcn 2 files changed, 36 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/SCCP_Templates.ttcn b/library/SCCP_Templates.ttcn index 55bf745..5167e4b 100644 --- a/library/SCCP_Templates.ttcn +++ b/library/SCCP_Templates.ttcn @@ -15,6 +15,19 @@ import from SCCPasp_Types all; import from SCCP_Emulation all; +/* construct a SCCP_PAR_Address with just SSN and no PC or GT */ +template (value) SCCP_PAR_Address ts_SccpAddr_SSN(integer ssn) := { + addressIndicator := { + pointCodeIndic := '0'B, + ssnIndicator := '1'B, + globalTitleIndic := '0000'B, + routingIndicator := '1'B + }, + signPointCode := omit, + subsystemNumber := ssn, + globalTitle := omit +} + /* construct a SCCP_PAR_Address with just PC + SSN and no GT */ template (value) SCCP_PAR_Address ts_SccpAddr_PC_SSN(integer pc, integer ssn, octetstring sio, charstring sccp_srv_type) := { diff --git a/sccp/SCCP_Tests_RAW.ttcn b/sccp/SCCP_Tests_RAW.ttcn index 356fbb2..1ac82a2 100644 --- a/sccp/SCCP_Tests_RAW.ttcn +++ b/sccp/SCCP_Tests_RAW.ttcn @@ -312,7 +312,8 @@ function f_scmg_xceive(SCCP_PAR_Address calling, SCCP_PAR_Address called, template (value) PDU_SCMG_message tx, - template (omit) PDU_SCMG_message rx_exp) runs on SCCP_Test_RAW_CT + template (omit) PDU_SCMG_message rx_exp, + boolean accept_other_called_resp := false) runs on SCCP_Test_RAW_CT { var boolean exp_something := true; timer T := 5.0; @@ -328,6 +329,9 @@ [exp_something] MTP3.receive(tr_SCCP_MTP3_TRANSFERind(tr_SCCP_UDT(called, calling, decmatch rx_exp))) { setverdict(pass); } + [exp_something and accept_other_called_resp] MTP3.receive(tr_SCCP_MTP3_TRANSFERind(tr_SCCP_UDT(called, ?, decmatch rx_exp))) { + setverdict(pass); + } [] MTP3.receive(tr_SCCP_MTP3_TRANSFERind(tr_SCCP_UDT(called, calling, ?))) { setverdict(fail, "Received unexpected SCCP waiting for ", rx_exp); } @@ -402,6 +406,22 @@ f_scmg_xceive(calling, called, tx, rx_exp); } +/* Test CallingParty(only SSN) solicits response (OS#5146) */ +testcase TC_callingparty_ssn_only() runs on SCCP_Test_RAW_CT { + var SCCP_PAR_Address calling, called; + var template (value) PDU_SCMG_message tx; + var template (present) PDU_SCMG_message rx_exp; + + f_init_raw(mp_sccp_cfg[0]); + f_sleep(1.0); + + called := valueof(ts_SccpAddr_SSN(1)); + calling := valueof(ts_SccpAddr_SSN(1)); + + tx := ts_SCMG_SST(1, mp_sccp_cfg[0].peer_pc); + rx_exp := ts_SCMG_SSA(1, mp_sccp_cfg[0].peer_pc); + f_scmg_xceive(calling, called, tx, rx_exp, accept_other_called_resp:=true); +} control { @@ -413,6 +433,8 @@ execute( TC_scmg_sst_ssn1() ); execute( TC_scmg_sst_ssn_valid() ); execute( TC_scmg_sst_ssn_invalid() ); + + execute( TC_callingparty_ssn_only() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24232 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: Ided599a922fb7f6dbbfe90f817c5419ab793f293 Gerrit-Change-Number: 24232 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 20:05:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 20:05:58 +0000 Subject: Change in docker-playground[master]: ttcn3-stp-test: Add mp_stp_has_asp_quirk:=false for latest References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24233 ) Change subject: ttcn3-stp-test: Add mp_stp_has_asp_quirk:=false for latest ...................................................................... ttcn3-stp-test: Add mp_stp_has_asp_quirk:=false for latest Change-Id: Ib9a07a96f1adf871150e63eaf49a7e18c57d067e --- M ttcn3-stp-test/STP_Tests.cfg M ttcn3-stp-test/jenkins.sh 2 files changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/33/24233/1 diff --git a/ttcn3-stp-test/STP_Tests.cfg b/ttcn3-stp-test/STP_Tests.cfg index 5a95e9a..edc07ed 100644 --- a/ttcn3-stp-test/STP_Tests.cfg +++ b/ttcn3-stp-test/STP_Tests.cfg @@ -13,7 +13,7 @@ STP_Tests_M3UA.mp_stp_m3ua_ip := { "172.18.19.200", "fd02:db8:19::200" }; STP_Tests_IPA.mp_local_ipa_ip := "172.18.19.203"; STP_Tests_M3UA.mp_local_m3ua_ip := { "172.18.19.203", "fd02:db8:19::203" }; - +STP_Tests_M3UA.mp_stp_has_asp_quirk := true; [MAIN_CONTROLLER] diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh index db2ffdd..9d8dc8c 100755 --- a/ttcn3-stp-test/jenkins.sh +++ b/ttcn3-stp-test/jenkins.sh @@ -15,6 +15,11 @@ mkdir $VOL_BASE_DIR/stp cp osmo-stp.cfg $VOL_BASE_DIR/stp/ +# Disable until osmo-stp release > 1.4.0 +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed -i "s/^STP_Tests_M3UA.mp_stp_has_asp_quirk.*/STP_Tests_M3UA.mp_stp_has_asp_quirk := false;/" $VOL_BASE_DIR/stp-tester/STP_Tests.cfg +fi + SUBNET=19 network_create $SUBNET -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib9a07a96f1adf871150e63eaf49a7e18c57d067e Gerrit-Change-Number: 24233 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 20:06:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 20:06:16 +0000 Subject: Change in docker-playground[master]: ttcn3-stp-test: Add mp_stp_has_asp_quirk:=false for latest In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24233 ) Change subject: ttcn3-stp-test: Add mp_stp_has_asp_quirk:=false for latest ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib9a07a96f1adf871150e63eaf49a7e18c57d067e Gerrit-Change-Number: 24233 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 May 2021 20:06:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 20:41:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 20:41:03 +0000 Subject: Change in docker-playground[master]: ttcn3-stp-test: Add mp_stp_has_asp_quirk:=false for latest In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24233 ) Change subject: ttcn3-stp-test: Add mp_stp_has_asp_quirk:=false for latest ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib9a07a96f1adf871150e63eaf49a7e18c57d067e Gerrit-Change-Number: 24233 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 May 2021 20:41:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 13 20:41:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 May 2021 20:41:05 +0000 Subject: Change in docker-playground[master]: ttcn3-stp-test: Add mp_stp_has_asp_quirk:=false for latest In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24233 ) Change subject: ttcn3-stp-test: Add mp_stp_has_asp_quirk:=false for latest ...................................................................... ttcn3-stp-test: Add mp_stp_has_asp_quirk:=false for latest Change-Id: Ib9a07a96f1adf871150e63eaf49a7e18c57d067e --- M ttcn3-stp-test/STP_Tests.cfg M ttcn3-stp-test/jenkins.sh 2 files changed, 6 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ttcn3-stp-test/STP_Tests.cfg b/ttcn3-stp-test/STP_Tests.cfg index 5a95e9a..edc07ed 100644 --- a/ttcn3-stp-test/STP_Tests.cfg +++ b/ttcn3-stp-test/STP_Tests.cfg @@ -13,7 +13,7 @@ STP_Tests_M3UA.mp_stp_m3ua_ip := { "172.18.19.200", "fd02:db8:19::200" }; STP_Tests_IPA.mp_local_ipa_ip := "172.18.19.203"; STP_Tests_M3UA.mp_local_m3ua_ip := { "172.18.19.203", "fd02:db8:19::203" }; - +STP_Tests_M3UA.mp_stp_has_asp_quirk := true; [MAIN_CONTROLLER] diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh index db2ffdd..9d8dc8c 100755 --- a/ttcn3-stp-test/jenkins.sh +++ b/ttcn3-stp-test/jenkins.sh @@ -15,6 +15,11 @@ mkdir $VOL_BASE_DIR/stp cp osmo-stp.cfg $VOL_BASE_DIR/stp/ +# Disable until osmo-stp release > 1.4.0 +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed -i "s/^STP_Tests_M3UA.mp_stp_has_asp_quirk.*/STP_Tests_M3UA.mp_stp_has_asp_quirk := false;/" $VOL_BASE_DIR/stp-tester/STP_Tests.cfg +fi + SUBNET=19 network_create $SUBNET -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib9a07a96f1adf871150e63eaf49a7e18c57d067e Gerrit-Change-Number: 24233 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 14 10:36:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 14 May 2021 10:36:38 +0000 Subject: Change in libosmo-sccp[master]: sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in Callin... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24218 ) Change subject: sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in CallingParty ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id66ae960ebe3cb3b09c6dd5454f9ac9c073f46d7 Gerrit-Change-Number: 24218 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-Comment-Date: Fri, 14 May 2021 10:36:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 14 10:55:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 14 May 2021 10:55:01 +0000 Subject: Change in osmo-pcu[master]: Move TBF list from BTS to the TRX structure In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/24227 to look at the new patch set (#3). Change subject: Move TBF list from BTS to the TRX structure ...................................................................... Move TBF list from BTS to the TRX structure The TBFs are managed per TRX. Move the global list from BTS to TRX. Related: OS#1541 Change-Id: Id3c59c11d57d765fe68aaebaac94290c0d84feb2 --- M src/bts.cpp M src/bts.h M src/gprs_rlcmac_sched.cpp M src/pcu_vty_functions.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M tests/alloc/AllocTest.cpp M tests/ulc/PdchUlcTest.cpp 10 files changed, 47 insertions(+), 40 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/27/24227/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id3c59c11d57d765fe68aaebaac94290c0d84feb2 Gerrit-Change-Number: 24227 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 14 16:12:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 14 May 2021 16:12:57 +0000 Subject: Change in osmo-pcu[master]: MsTest: Set up tbf talloc destructor References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24234 ) Change subject: MsTest: Set up tbf talloc destructor ...................................................................... MsTest: Set up tbf talloc destructor This is right now not an issue, but it will be whenever talloc destructor contains extra steps like freeing an FSM. Change-Id: I096ff56321c8ae5e66634537aae8b95804282c65 --- M tests/ms/MsTest.cpp 1 file changed, 42 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/34/24234/1 diff --git a/tests/ms/MsTest.cpp b/tests/ms/MsTest.cpp index 498c835..2ff2fc2 100644 --- a/tests/ms/MsTest.cpp +++ b/tests/ms/MsTest.cpp @@ -46,6 +46,36 @@ int16_t spoof_mnc = 0, spoof_mcc = 0; bool spoof_mnc_3_digits = false; +static int ul_tbf_dtor(struct gprs_rlcmac_ul_tbf *tbf) +{ + tbf->~gprs_rlcmac_ul_tbf(); + return 0; +} + +static int dl_tbf_dtor(struct gprs_rlcmac_dl_tbf *tbf) +{ + tbf->~gprs_rlcmac_dl_tbf(); + return 0; +} + +static gprs_rlcmac_ul_tbf *alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms) +{ + gprs_rlcmac_ul_tbf *ul_tbf; + ul_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_ul_tbf); + talloc_set_destructor(ul_tbf, ul_tbf_dtor); + new (ul_tbf) gprs_rlcmac_ul_tbf(bts, ms); + return ul_tbf; +} + +static gprs_rlcmac_dl_tbf *alloc_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms) +{ + gprs_rlcmac_dl_tbf *dl_tbf; + dl_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); + talloc_set_destructor(dl_tbf, dl_tbf_dtor); + new (dl_tbf) gprs_rlcmac_dl_tbf(bts, ms); + return dl_tbf; +} + static void test_ms_state() { uint32_t tlli = 0xffeeddbb; @@ -59,10 +89,8 @@ ms = ms_alloc(bts, tlli); OSMO_ASSERT(ms_is_idle(ms)); - dl_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); - new (dl_tbf) gprs_rlcmac_dl_tbf(bts, ms); - ul_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_ul_tbf); - new (ul_tbf) gprs_rlcmac_ul_tbf(bts, ms); + dl_tbf = alloc_dl_tbf(bts, ms); + ul_tbf = alloc_ul_tbf(bts, ms); ms_attach_tbf(ms, ul_tbf); OSMO_ASSERT(!ms_is_idle(ms)); @@ -125,10 +153,8 @@ OSMO_ASSERT(ms_is_idle(ms)); - dl_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); - new (dl_tbf) gprs_rlcmac_dl_tbf(bts, ms); - ul_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_ul_tbf); - new (ul_tbf) gprs_rlcmac_ul_tbf(bts, ms); + dl_tbf = alloc_dl_tbf(bts, ms); + ul_tbf = alloc_ul_tbf(bts, ms); OSMO_ASSERT(last_cb == CB_UNKNOWN); @@ -199,12 +225,9 @@ OSMO_ASSERT(ms_is_idle(ms)); was_idle = false; - dl_tbf[0] = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); - new (dl_tbf[0]) gprs_rlcmac_dl_tbf(bts, ms); - dl_tbf[1] = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); - new (dl_tbf[1]) gprs_rlcmac_dl_tbf(bts, ms); - ul_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_ul_tbf); - new (ul_tbf) gprs_rlcmac_ul_tbf(bts, ms); + dl_tbf[0] = alloc_dl_tbf(bts, ms); + dl_tbf[1] = alloc_dl_tbf(bts, ms); + ul_tbf = alloc_ul_tbf(bts, ms); ms_attach_tbf(ms, dl_tbf[0]); OSMO_ASSERT(!ms_is_idle(ms)); @@ -419,8 +442,7 @@ /* delete ms */ ms = store.get_ms(tlli + 0); OSMO_ASSERT(ms != NULL); - ul_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_ul_tbf); - new (ul_tbf) gprs_rlcmac_ul_tbf(bts, ms); + ul_tbf = alloc_ul_tbf(bts, ms); ms_attach_tbf(ms, ul_tbf); ms_detach_tbf(ms, ul_tbf); ms = store.get_ms(tlli + 0); @@ -458,10 +480,8 @@ OSMO_ASSERT(ms_is_idle(ms)); - dl_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); - new (dl_tbf) gprs_rlcmac_dl_tbf(bts, ms); - ul_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_ul_tbf); - new (ul_tbf) gprs_rlcmac_ul_tbf(bts, ms); + dl_tbf = alloc_dl_tbf(bts, ms); + ul_tbf = alloc_ul_tbf(bts, ms); OSMO_ASSERT(last_cb == CB_UNKNOWN); @@ -516,8 +536,7 @@ OSMO_ASSERT(ms_is_idle(ms)); - dl_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); - new (dl_tbf) gprs_rlcmac_dl_tbf(bts, ms); + dl_tbf = alloc_dl_tbf(bts, ms); ms_attach_tbf(ms, dl_tbf); OSMO_ASSERT(!ms_is_idle(ms)); @@ -562,8 +581,7 @@ ms2 = ms_alloc(bts, tlli + 1); dump_ms(ms2, "2: with BTS defaults"); - dl_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); - new (dl_tbf) gprs_rlcmac_dl_tbf(bts, ms2); + dl_tbf = alloc_dl_tbf(bts, ms2); ms_attach_tbf(ms2, dl_tbf); dump_ms(ms2, "2: after TBF attach "); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I096ff56321c8ae5e66634537aae8b95804282c65 Gerrit-Change-Number: 24234 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 14 16:13:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 14 May 2021 16:13:02 +0000 Subject: Change in osmo-pcu[master]: tbf: Move existing tbf_state implementation to osmo_fsm References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24235 ) Change subject: tbf: Move existing tbf_state implementation to osmo_fsm ...................................................................... tbf: Move existing tbf_state implementation to osmo_fsm This is only an initial implementation, where all state changes are still done outside the FSM itself. The idea is to do the move in several commits so that they can be digested better in logical steps and avoid major break up. Change-Id: I6bb4baea2dee191ba5bbcbec2ea9dcf681aa1237 --- M doc/tbf.txt M src/Makefile.am M src/gprs_ms.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp A src/tbf_fsm.c A src/tbf_fsm.h M src/tbf_ul.cpp M tests/alloc/AllocTest.cpp M tests/alloc/AllocTest.err M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.cpp M tests/types/TypesTest.err 17 files changed, 125,013 insertions(+), 364 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/35/24235/1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6bb4baea2dee191ba5bbcbec2ea9dcf681aa1237 Gerrit-Change-Number: 24235 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 14 16:14:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 14 May 2021 16:14:45 +0000 Subject: Change in osmo-pcu[master]: tbf: Move existing tbf_state implementation to osmo_fsm In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-pcu/+/24235 ) Change subject: tbf: Move existing tbf_state implementation to osmo_fsm ...................................................................... tbf: Move existing tbf_state implementation to osmo_fsm This is only an initial implementation, where all state changes are still done outside the FSM itself. The idea is to do the move in several commits so that they can be digested better in logical steps and avoid major break up. Related: OS#2709 Change-Id: I6bb4baea2dee191ba5bbcbec2ea9dcf681aa1237 --- M doc/tbf.txt M src/Makefile.am M src/gprs_ms.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp A src/tbf_fsm.c A src/tbf_fsm.h M src/tbf_ul.cpp M tests/alloc/AllocTest.cpp M tests/alloc/AllocTest.err M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.cpp M tests/types/TypesTest.err 17 files changed, 125,013 insertions(+), 364 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/35/24235/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6bb4baea2dee191ba5bbcbec2ea9dcf681aa1237 Gerrit-Change-Number: 24235 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Fri May 14 18:45:02 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Fri, 14 May 2021 18:45:02 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-opencm3-projects_=C2=BB_a1=3Ddef?= =?UTF-8?Q?ault,a2=3Ddefault,a3=3Ddefault,a4=3Dd?= =?UTF-8?Q?efault,osmocom-master-debian9_#8?= In-Reply-To: <1359866719.938.1620931502007@jenkins.osmocom.org> References: <1359866719.938.1620931502007@jenkins.osmocom.org> Message-ID: <421359216.1001.1621017902064@jenkins.osmocom.org> See Changes: ------------------------------------------ Started by upstream project "master-osmo-opencm3-projects" build number 8 originally caused by: Started by timer Running as SYSTEM Building remotely on build2-deb9build-ansible (ttcn3 osmocom-gerrit-debian9 osmocom-master-debian9 repo-install-test coverity) in workspace The recommended git tool is: NONE No credentials specified > git rev-parse --resolve-git-dir # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git://git.osmocom.org/osmo-opencm3-projects # timeout=10 Fetching upstream changes from git://git.osmocom.org/osmo-opencm3-projects > git --version # timeout=10 > git --version # 'git version 2.11.0' > git fetch --tags --progress -- git://git.osmocom.org/osmo-opencm3-projects +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision 7527cab6d8364b2022bd4fa2fd03039eac2a99bb (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 Commit message: "add missing libcommon.mk" > git rev-list --no-walk 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.libopencm3.url # timeout=10 > git config -f .gitmodules --get submodule.libopencm3.path # timeout=10 > git config --get submodule.librfn.url # timeout=10 > git config -f .gitmodules --get submodule.librfn.path # timeout=10 > git submodule update --init --recursive libopencm3 # timeout=10 > git submodule update --init --recursive librfn # timeout=10 [osmocom-master-debian9] $ /bin/sh -xe /tmp/jenkins8222665052630626886.sh + ARTIFACT_STORE=/home/osmocom-build/jenkins_build_artifact_store + mkdir -p /home/osmocom-build/jenkins_build_artifact_store + docker run --rm=true --cap-add SYS_PTRACE -e ARTIFACT_STORE=/artifact_store -e ASCIIDOC_WARNINGS_CHECK=1 -e HOME=/build -e JOB_NAME=master-osmo-opencm3-projects/a1=default,a2=default,a3=default,a4=default,label=osmocom-master-debian9 -e MAKE=make -e OSMOPY_DEBUG_TCP_SOCKETS=1 -e OSMO_GSM_MANUALS_DIR=/opt/osmo-gsm-manuals -e PARALLEL_MAKE=-j 8 -e PUBLISH=1 -e WITH_MANUALS=1 -w /build -i -u build -v :/build -v /home/osmocom-build/jenkins_build_artifact_store:/artifact_store -v /home/osmocom-build/.ssh:/home/build/.ssh:ro osmocom-build/debian-stretch-jenkins /build/contrib/jenkins.sh --publish =============== relay-driver START ============== CLEAN CC console.c arm-none-eabi-gcc: error: /usr/lib/picolibc/arm-none-eabi/picolibc.specs: No such file or directory make: *** [console.o] Error 1 ../../mk/libopencm3.mk:227: recipe for target 'console.o' failed Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From jenkins at lists.osmocom.org Sat May 15 18:45:02 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sat, 15 May 2021 18:45:02 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-opencm3-projects_=C2=BB_a1=3Ddef?= =?UTF-8?Q?ault,a2=3Ddefault,a3=3Ddefault,a4=3Dd?= =?UTF-8?Q?efault,osmocom-master-debian9_#9?= In-Reply-To: <421359216.1001.1621017902064@jenkins.osmocom.org> References: <421359216.1001.1621017902064@jenkins.osmocom.org> Message-ID: <854901169.1059.1621104302179@jenkins.osmocom.org> See Changes: ------------------------------------------ Started by upstream project "master-osmo-opencm3-projects" build number 9 originally caused by: Started by timer Running as SYSTEM Building remotely on build2-deb9build-ansible (ttcn3 osmocom-gerrit-debian9 osmocom-master-debian9 repo-install-test coverity) in workspace The recommended git tool is: NONE No credentials specified > git rev-parse --resolve-git-dir # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git://git.osmocom.org/osmo-opencm3-projects # timeout=10 Fetching upstream changes from git://git.osmocom.org/osmo-opencm3-projects > git --version # timeout=10 > git --version # 'git version 2.11.0' > git fetch --tags --progress -- git://git.osmocom.org/osmo-opencm3-projects +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision 7527cab6d8364b2022bd4fa2fd03039eac2a99bb (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 Commit message: "add missing libcommon.mk" > git rev-list --no-walk 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.libopencm3.url # timeout=10 > git config -f .gitmodules --get submodule.libopencm3.path # timeout=10 > git config --get submodule.librfn.url # timeout=10 > git config -f .gitmodules --get submodule.librfn.path # timeout=10 > git submodule update --init --recursive libopencm3 # timeout=10 > git submodule update --init --recursive librfn # timeout=10 [osmocom-master-debian9] $ /bin/sh -xe /tmp/jenkins933323617091036742.sh + ARTIFACT_STORE=/home/osmocom-build/jenkins_build_artifact_store + mkdir -p /home/osmocom-build/jenkins_build_artifact_store + docker run --rm=true --cap-add SYS_PTRACE -e ARTIFACT_STORE=/artifact_store -e ASCIIDOC_WARNINGS_CHECK=1 -e HOME=/build -e JOB_NAME=master-osmo-opencm3-projects/a1=default,a2=default,a3=default,a4=default,label=osmocom-master-debian9 -e MAKE=make -e OSMOPY_DEBUG_TCP_SOCKETS=1 -e OSMO_GSM_MANUALS_DIR=/opt/osmo-gsm-manuals -e PARALLEL_MAKE=-j 8 -e PUBLISH=1 -e WITH_MANUALS=1 -w /build -i -u build -v :/build -v /home/osmocom-build/jenkins_build_artifact_store:/artifact_store -v /home/osmocom-build/.ssh:/home/build/.ssh:ro osmocom-build/debian-stretch-jenkins /build/contrib/jenkins.sh --publish =============== relay-driver START ============== CLEAN CC console.c arm-none-eabi-gcc: error: /usr/lib/picolibc/arm-none-eabi/picolibc.specs: No such file or directory make: *** [console.o] Error 1 ../../mk/libopencm3.mk:227: recipe for target 'console.o' failed Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Sun May 16 01:51:54 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sun, 16 May 2021 01:51:54 +0000 Subject: Change in osmo-msc[master]: Add support for LCLS to the MSC References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/24236 ) Change subject: Add support for LCLS to the MSC ...................................................................... Add support for LCLS to the MSC This commit is largely based on work by Max Adds LCLS parameters for A-interface transactions This commit also adds a vty option to facilitate globally disabling LCLS for all calls on this MSC. Add a global call reference (GCR) to MNCC and therefore bump the MNCC version to version 8. (This commit has to be merged at the same time as the corresponing commit in the osmo-sip-connector for mncc-external use.) Change-Id: I705c860e51637b4537cad65a330ecbaaca96dd5b --- M include/osmocom/msc/debug.h M include/osmocom/msc/gsm_data.h M include/osmocom/msc/mncc.h M include/osmocom/msc/ran_msg.h M include/osmocom/msc/transaction.h M src/libmsc/gsm_04_08_cc.c M src/libmsc/msc_a.c M src/libmsc/msc_vty.c M src/libmsc/ran_msg_a.c M src/libmsc/transaction.c M src/osmo-msc/msc_main.c M tests/mncc/mncc_test.ok M tests/test_nodes.vty 13 files changed, 129 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/36/24236/1 diff --git a/include/osmocom/msc/debug.h b/include/osmocom/msc/debug.h index 3347e20..0d08ceb 100644 --- a/include/osmocom/msc/debug.h +++ b/include/osmocom/msc/debug.h @@ -8,6 +8,7 @@ DCC, DMM, DRR, + DLCLS, DMNCC, DPAG, DMSC, diff --git a/include/osmocom/msc/gsm_data.h b/include/osmocom/msc/gsm_data.h index 1870804..f796004 100644 --- a/include/osmocom/msc/gsm_data.h +++ b/include/osmocom/msc/gsm_data.h @@ -257,6 +257,7 @@ /* Whether to use call waiting on the network */ bool call_waiting; char *sms_db_file_path; + bool lcls_disable; }; struct osmo_esme; diff --git a/include/osmocom/msc/mncc.h b/include/osmocom/msc/mncc.h index 1c8aff0..5002227 100644 --- a/include/osmocom/msc/mncc.h +++ b/include/osmocom/msc/mncc.h @@ -26,6 +26,7 @@ #include #include +#include #include #include @@ -160,7 +161,7 @@ unsigned char lchan_type; unsigned char lchan_mode; - + struct osmo_gcr_parsed gcr; /* A buffer to contain SDP ('\0' terminated) */ char sdp[1024]; }; @@ -171,7 +172,7 @@ unsigned char data[0]; }; -#define MNCC_SOCK_VERSION 7 +#define MNCC_SOCK_VERSION 8 struct gsm_mncc_hello { uint32_t msg_type; uint32_t version; diff --git a/include/osmocom/msc/ran_msg.h b/include/osmocom/msc/ran_msg.h index 1303ba3..fd2439f 100644 --- a/include/osmocom/msc/ran_msg.h +++ b/include/osmocom/msc/ran_msg.h @@ -88,6 +88,7 @@ uint8_t osmux_cid; bool call_id_present; uint32_t call_id; + struct osmo_lcls *lcls; }; struct ran_cipher_mode_command { diff --git a/include/osmocom/msc/transaction.h b/include/osmocom/msc/transaction.h index 928b137..14b89bb 100644 --- a/include/osmocom/msc/transaction.h +++ b/include/osmocom/msc/transaction.h @@ -100,6 +100,7 @@ struct osmo_timer_list timer_guard; struct gsm_mncc msg; /* stores setup/disconnect/release message */ bool mncc_initiated; /* Whether an MNCC Release is necessary on failure */ + struct osmo_lcls *lcls; } cc; struct { struct gsm411_smc_inst smc_inst; @@ -145,6 +146,8 @@ const struct vlr_subscr *vsub, uint8_t sm_rp_mr); +struct osmo_lcls *trans_lcls_compose(const struct gsm_trans *trans, bool use_lac); + struct gsm_trans *trans_alloc(struct gsm_network *net, struct vlr_subscr *vsub, enum trans_type type, uint8_t trans_id, diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c index 704e596..6eb5fee 100644 --- a/src/libmsc/gsm_04_08_cc.c +++ b/src/libmsc/gsm_04_08_cc.c @@ -500,6 +500,15 @@ memset(&setup, 0, sizeof(struct gsm_mncc)); setup.callref = trans->callref; + /* New Global Call Reference */ + if (!trans->cc.lcls) { + trans->cc.lcls = trans_lcls_compose(trans, true); + } + + /* Pass the LCLS GCR on to the MT call leg via MNCC */ + if (trans->cc.lcls) + setup.gcr = trans->cc.lcls->gcr; + tlv_parse(&tp, &gsm48_att_tlvdef, gh->data, payload_len, 0, 0); /* emergency setup is identified by msg_type */ if (msg_type == GSM48_MT_CC_EMERG_SETUP) { @@ -1969,6 +1978,16 @@ log_set_context(LOG_CTX_VLR_SUBSCR, trans->vsub); } + /* Get the GCR from the MO call leg (if any). + * First make room for the LCLS info, then insert the MO call leg's GCR. */ + if (!trans->cc.lcls) { + trans->cc.lcls = trans_lcls_compose(trans, true); + if (trans->cc.lcls) { + trans->cc.lcls->gcr = trans->cc.msg.gcr; + trans->cc.lcls->gcr_available = true; + } + } + LOG_TRANS_CAT(trans, DMNCC, LOGL_DEBUG, "rx %s\n", get_mncc_name(msg->msg_type)); gsm48_start_guard_timer(trans); diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index daa5bc7..9675734 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -549,6 +549,7 @@ .osmux_cid = msc_a->cc.call_leg->rtp[RTP_TO_RAN]->local_osmux_cid, .call_id_present = true, .call_id = cc_trans->callref, + .lcls = cc_trans->cc.lcls, }, }; if (msc_a_ran_down(msc_a, MSC_ROLE_I, &msg)) { @@ -1484,6 +1485,13 @@ rc = msc_a_up_ho(msc_a, d, MSC_HO_EV_RX_FAILURE); break; + case RAN_MSG_LCLS_STATUS: + /* The BSS sends us LCLS_STATUS. We do nothing for now, but it is not an error. */ + LOG_MSC_A(msc_a, LOGL_DEBUG, "LCLS_STATUS (%s) received from MSC-I\n", + gsm0808_lcls_status_name(msg->lcls_status.status)); + rc = 0; + break; + default: LOG_MSC_A(msc_a, LOGL_ERROR, "Message from MSC-I not implemented: %s\n", ran_msg_type_name(msg->msg_type)); rc = -ENOTSUP; diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 79b4daa..ed119f1 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -498,6 +498,22 @@ return CMD_SUCCESS; } +DEFUN(cfg_msc_lcls_disable, cfg_msc_lcls_disable_cmd, + "lcls-disable", + "Globally disable LCLS (Local Call Local Switch) for all calls on this MSC.\n") +{ + gsmnet->lcls_disable = 1; + return CMD_SUCCESS; +} + +DEFUN(cfg_msc_no_lcls_disable, cfg_msc_no_lcls_disable_cmd, + "no lcls-disable", + NO_STR "Globally disable LCLS (Local Call Local Switch) for all calls on this MSC.\n") +{ + gsmnet->lcls_disable = 0; + return CMD_SUCCESS; +} + DEFUN(cfg_msc_cs7_instance_a, cfg_msc_cs7_instance_a_cmd, "cs7-instance-a <0-15>", @@ -763,6 +779,8 @@ gsmnet->ncss_guard_timeout, VTY_NEWLINE); vty_out(vty, " %sassign-tmsi%s", gsmnet->vlr->cfg.assign_tmsi? "" : "no ", VTY_NEWLINE); + vty_out(vty, " %slcls-disable%s", + gsmnet->lcls_disable? "" : "no ", VTY_NEWLINE); vty_out(vty, " cs7-instance-a %u%s", gsmnet->a.cs7_instance, VTY_NEWLINE); @@ -2082,6 +2100,8 @@ install_node(&msc_node, config_write_msc); install_element(MSC_NODE, &cfg_sms_database_cmd); install_element(MSC_NODE, &cfg_msc_assign_tmsi_cmd); + install_element(MSC_NODE, &cfg_msc_lcls_disable_cmd); + install_element(MSC_NODE, &cfg_msc_no_lcls_disable_cmd); install_element(MSC_NODE, &cfg_msc_mncc_internal_cmd); install_element(MSC_NODE, &cfg_msc_mncc_external_cmd); install_element(MSC_NODE, &cfg_msc_mncc_guard_timeout_cmd); diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c index 4cce289..da650bb 100644 --- a/src/libmsc/ran_msg_a.c +++ b/src/libmsc/ran_msg_a.c @@ -997,7 +997,8 @@ if(ac->call_id_present == true) call_id = &ac->call_id; - msg = gsm0808_create_ass(ac->channel_type, NULL, use_rtp_addr, use_scl, call_id); + msg = gsm0808_create_ass2(ac->channel_type, NULL, use_rtp_addr, use_scl, call_id, + NULL, ac->lcls); if (ac->osmux_present) _gsm0808_assignment_extend_osmux(msg, ac->osmux_cid); return msg; diff --git a/src/libmsc/transaction.c b/src/libmsc/transaction.c index 94712cc..799c496 100644 --- a/src/libmsc/transaction.c +++ b/src/libmsc/transaction.c @@ -110,6 +110,66 @@ return NULL; } +struct osmo_lcls *trans_lcls_compose(const struct gsm_trans *trans, bool use_lac) +{ + if (!trans->net->a.sri->sccp) { + return NULL; + } + struct osmo_ss7_instance *ss7 = osmo_sccp_get_ss7(trans->net->a.sri->sccp); + struct osmo_lcls *lcls; + uint8_t w = osmo_ss7_pc_width(&ss7->cfg.pc_fmt); + + if (!trans) { + LOGP(DCC, LOGL_ERROR, "LCLS: unable to fill parameters for unallocated transaction\n"); + return NULL; + } + + if (trans->net->lcls_disable) { + LOGP(DCC, LOGL_NOTICE, "LCLS disabled globally\n"); + return NULL; + } + + if (!trans->msc_a) { + LOGP(DCC, LOGL_ERROR, "LCLS: unable to fill parameters for transaction without connection\n"); + return NULL; + } + + if (trans->msc_a->c.ran->type != OSMO_RAT_GERAN_A) { + LOGP(DCC, LOGL_ERROR, "LCLS: only A interface is supported at the moment\n"); + return NULL; + } + + lcls = talloc_zero(trans, struct osmo_lcls); + if (!lcls) { + LOGP(DCC, LOGL_ERROR, "LCLS: failed to allocate osmo_lcls\n"); + return NULL; + } + + LOGP(DCC, LOGL_INFO, "LCLS: using %u bits (%u bytes) for node ID\n", w, w / 8); + + lcls->gcr.net_len = 3; + lcls->gcr.node = ss7->cfg.primary_pc; + + /* net id from Q.1902.3 3-5 bytes, this function gives 3 bytes exactly */ + osmo_plmn_to_bcd(lcls->gcr.net, &trans->net->plmn); + + osmo_store32be(trans->callref, lcls->gcr.cr); + osmo_store16be(use_lac ? trans->msc_a->via_cell.lai.lac : trans->msc_a->via_cell.cell_identity, lcls->gcr.cr + 3); + + LOGP(DCC, LOGL_INFO, "LCLS: allocated %s-based CR-ID %s\n", use_lac ? "LAC" : "CI", + osmo_hexdump(lcls->gcr.cr, 5)); + + lcls->config = GSM0808_LCLS_CFG_BOTH_WAY; + lcls->control = GSM0808_LCLS_CSC_CONNECT; + lcls->corr_needed = true; + lcls->gcr_available = true; + + LOGP(DCC, LOGL_DEBUG, "Filled %s\n", osmo_lcls_dump(lcls)); + LOGP(DCC, LOGL_DEBUG, "Filled %s\n", osmo_gcr_dump(lcls)); + + return lcls; +} + static const char *trans_vsub_use(enum trans_type type) { return get_value_string_or_null(trans_type_names, type) ? : "trans-type-unknown"; diff --git a/src/osmo-msc/msc_main.c b/src/osmo-msc/msc_main.c index fcca101..ac81532 100644 --- a/src/osmo-msc/msc_main.c +++ b/src/osmo-msc/msc_main.c @@ -258,6 +258,7 @@ mgcp_client_conf_init(&net->mgw.conf); net->call_waiting = true; + net->lcls_disable = 1; net->mgw.tdefs = g_mgw_tdefs; osmo_tdefs_reset(net->mgw.tdefs); diff --git a/tests/mncc/mncc_test.ok b/tests/mncc/mncc_test.ok index 9334706..7cb1201 100644 --- a/tests/mncc/mncc_test.ok +++ b/tests/mncc/mncc_test.ok @@ -1,15 +1,15 @@ test_sdp_termination() struct gsm_mncc: -empty SDP: len=1860 sdplen=1026 sdp="\0" rc=0 -empty SDP, shortest possible: len=835 sdplen=1 sdp="\0" rc=0 -empty SDP, zero len: len=834 sdplen=0 sdp=- rc=-22 -terminated SDP str: len=1860 sdplen=1026 sdp="Privacy is a desirable marketing option\0" rc=0 -terminated SDP str, shortest possible: len=874 sdplen=40 sdp="Privacy is a desirable marketing option\0" rc=0 -terminated SDP str, but len excludes nul: len=873 sdplen=39 sdp="Privacy is a desirable marketing option" rc=-22 -terminated SDP str, but len too short: len=857 sdplen=23 sdp="Privacy is a desirable " rc=-22 -len way too short: len=10 sdplen=-824 sdp=- rc=-22 -len zero: len=0 sdplen=-834 sdp=- rc=-22 +empty SDP: len=1872 sdplen=1024 sdp="\0" rc=0 +empty SDP, shortest possible: len=849 sdplen=1 sdp="\0" rc=0 +empty SDP, zero len: len=848 sdplen=0 sdp=- rc=-22 +terminated SDP str: len=1872 sdplen=1024 sdp="Privacy is a desirable marketing option\0" rc=0 +terminated SDP str, shortest possible: len=888 sdplen=40 sdp="Privacy is a desirable marketing option\0" rc=0 +terminated SDP str, but len excludes nul: len=887 sdplen=39 sdp="Privacy is a desirable marketing option" rc=-22 +terminated SDP str, but len too short: len=871 sdplen=23 sdp="Privacy is a desirable " rc=-22 +len way too short: len=10 sdplen=-838 sdp=- rc=-22 +len zero: len=0 sdplen=-848 sdp=- rc=-22 struct gsm_mncc_rtp: empty SDP: len=1168 sdplen=1024 sdp="\0" rc=0 diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index f956a12..70f77f8 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -48,6 +48,7 @@ ... sms-database PATH assign-tmsi + lcls disable <0-1> mncc internal mncc external MNCC_SOCKET_PATH mncc guard-timeout <0-255> -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I705c860e51637b4537cad65a330ecbaaca96dd5b Gerrit-Change-Number: 24236 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 16 01:52:57 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sun, 16 May 2021 01:52:57 +0000 Subject: Change in osmo-msc[master]: Add vty option to globally enable LCLS In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/13421 ) Change subject: Add vty option to globally enable LCLS ...................................................................... Patch Set 15: superseded by https://gerrit.osmocom.org/c/osmo-msc/+/24236 This patch should be abandoned. (but I don't have permission to do so) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ibb587e6ae47cff71f5bf2e2d22c1da86cd7e1762 Gerrit-Change-Number: 13421 Gerrit-PatchSet: 15 Gerrit-Owner: Max Gerrit-Assignee: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: Hoernchen Gerrit-Comment-Date: Sun, 16 May 2021 01:52:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Sun May 16 09:11:37 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 16 May 2021 09:11:37 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <60a0e1d444dd8_602b2add512f65f8298884f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/Debian_9.0/armv7l Package network:osmocom:nightly/libosmo-abis failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 0s] [ 0s] armbuild04 started "build libosmo-abis_1.1.1.6.df08.202105160026.dsc" at Sun May 16 09:11:30 UTC 2021. [ 0s] [ 0s] Building libosmo-abis for project 'network:osmocom:nightly' repository 'Debian_9.0' arch 'armv7l' srcmd5 'a6704eb46aa292e38347903fd4ac7441' [ 0s] [ 0s] processing recipe /var/cache/obs/worker/root_2/.build-srcdir/libosmo-abis_1.1.1.6.df08.202105160026.dsc ... [ 0s] running changelog2spec --target debian --file /var/cache/obs/worker/root_2/.build-srcdir/libosmo-abis_1.1.1.6.df08.202105160026.dsc [ 0s] init_buildsystem --configdir /var/run/obs/worker/2/build/configs --cachedir /var/cache/build --prepare --clean --rpmlist /var/cache/obs/worker/root_2/.build.rpmlist /var/cache/obs/worker/root_2/.build-srcdir/libosmo-abis_1.1.1.6.df08.202105160026.dsc build ... [ 0s] unknown keyword in config: [ 0s] could not autodetect package type [ 0s] [ 0s] armbuild04 failed "build libosmo-abis_1.1.1.6.df08.202105160026.dsc" at Sun May 16 09:11:30 UTC 2021. [ 0s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun May 16 10:42:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 May 2021 10:42:54 +0000 Subject: Change in osmo-msc[master]: Add vty option to globally enable LCLS In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/13421 ) Change subject: Add vty option to globally enable LCLS ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ibb587e6ae47cff71f5bf2e2d22c1da86cd7e1762 Gerrit-Change-Number: 13421 Gerrit-PatchSet: 15 Gerrit-Owner: Max Gerrit-Assignee: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: Hoernchen Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Sun May 16 18:45:02 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sun, 16 May 2021 18:45:02 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-opencm3-projects_=C2=BB_a1=3Ddefa?= =?UTF-8?Q?ult,a2=3Ddefault,a3=3Ddefault,a4=3Dde?= =?UTF-8?Q?fault,osmocom-master-debian9_#10?= In-Reply-To: <854901169.1059.1621104302179@jenkins.osmocom.org> References: <854901169.1059.1621104302179@jenkins.osmocom.org> Message-ID: <1339800078.1119.1621190702134@jenkins.osmocom.org> See Changes: ------------------------------------------ Started by upstream project "master-osmo-opencm3-projects" build number 10 originally caused by: Started by timer Running as SYSTEM Building remotely on build2-deb9build-ansible (ttcn3 osmocom-gerrit-debian9 osmocom-master-debian9 repo-install-test coverity) in workspace The recommended git tool is: NONE No credentials specified > git rev-parse --resolve-git-dir # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git://git.osmocom.org/osmo-opencm3-projects # timeout=10 Fetching upstream changes from git://git.osmocom.org/osmo-opencm3-projects > git --version # timeout=10 > git --version # 'git version 2.11.0' > git fetch --tags --progress -- git://git.osmocom.org/osmo-opencm3-projects +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision 7527cab6d8364b2022bd4fa2fd03039eac2a99bb (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 Commit message: "add missing libcommon.mk" > git rev-list --no-walk 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.libopencm3.url # timeout=10 > git config -f .gitmodules --get submodule.libopencm3.path # timeout=10 > git config --get submodule.librfn.url # timeout=10 > git config -f .gitmodules --get submodule.librfn.path # timeout=10 > git submodule update --init --recursive libopencm3 # timeout=10 > git submodule update --init --recursive librfn # timeout=10 [osmocom-master-debian9] $ /bin/sh -xe /tmp/jenkins4571326588256970506.sh + ARTIFACT_STORE=/home/osmocom-build/jenkins_build_artifact_store + mkdir -p /home/osmocom-build/jenkins_build_artifact_store + docker run --rm=true --cap-add SYS_PTRACE -e ARTIFACT_STORE=/artifact_store -e ASCIIDOC_WARNINGS_CHECK=1 -e HOME=/build -e JOB_NAME=master-osmo-opencm3-projects/a1=default,a2=default,a3=default,a4=default,label=osmocom-master-debian9 -e MAKE=make -e OSMOPY_DEBUG_TCP_SOCKETS=1 -e OSMO_GSM_MANUALS_DIR=/opt/osmo-gsm-manuals -e PARALLEL_MAKE=-j 8 -e PUBLISH=1 -e WITH_MANUALS=1 -w /build -i -u build -v :/build -v /home/osmocom-build/jenkins_build_artifact_store:/artifact_store -v /home/osmocom-build/.ssh:/home/build/.ssh:ro osmocom-build/debian-stretch-jenkins /build/contrib/jenkins.sh --publish =============== relay-driver START ============== CLEAN CC console.c arm-none-eabi-gcc: error: /usr/lib/picolibc/arm-none-eabi/picolibc.specs: No such file or directory ../../mk/libopencm3.mk:227: recipe for target 'console.o' failed make: *** [console.o] Error 1 Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Sun May 16 20:50:55 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sun, 16 May 2021 20:50:55 +0000 Subject: Change in openbsc[master]: Moving mncc related declarations to libosmocore In-Reply-To: References: Message-ID: keith has abandoned this change. ( https://gerrit.osmocom.org/c/openbsc/+/11188 ) Change subject: Moving mncc related declarations to libosmocore ...................................................................... Abandoned If I even come back to this, it won't include updating openbsc at this point. -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/11188 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: I38b7141a26d57c076f58f241cbc25c5ed2d77940 Gerrit-Change-Number: 11188 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 00:02:07 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 17 May 2021 00:02:07 +0000 Subject: Change in osmo-ggsn[master]: Implement ICMP response for inactive IP address. References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24237 ) Change subject: Implement ICMP response for inactive IP address. ...................................................................... Implement ICMP response for inactive IP address. Send ICMP Host Unreachable packets back on the tun device in reponse to a packet received for an IP address that is not active in our pool (No active pdp context) Only IPv4 implemented. Change-Id: Ia2c708feab14bb4cada00b0a90e0cb56d680d1aa --- M ggsn/ggsn.c 1 file changed, 63 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/37/24237/1 diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c index 0cde543..a0479a1 100644 --- a/ggsn/ggsn.c +++ b/ggsn/ggsn.c @@ -40,6 +40,7 @@ #include #include #include +#include #include #include @@ -584,6 +585,64 @@ return 0; } +static uint16_t inet_checksum(void *data, int len) { + + int nleft = len; + int sum = 0; + unsigned short *w = data; + unsigned short checksum = 0; + + while (nleft > 1) { + sum += *w++; + nleft -= 2; + } + if (nleft == 1){ + *(unsigned char *)(&checksum) = *(unsigned char *)w; + sum += checksum; + } + + sum = (sum >> 16) + (sum & 0xffff); + sum += (sum >> 16); + checksum = ~sum; + return (checksum); +} + +/* Generate and send an ICMP HOST UNREACHABLE Packet */ +static void ipv4_host_unreach(struct tun_t *tun, void *pack, unsigned len) +{ + char send_buf[sizeof(struct ip) + sizeof(struct icmp) + len]; + len = len - 20; + struct iphdr *iph = (struct iphdr *)pack; + + memset(send_buf, 0, sizeof(send_buf)); + + struct ip *ip = (struct ip *)send_buf; + struct icmp *icmp = (struct icmp *)(ip + 1); + + ip->ip_v = 4; + ip->ip_hl = 5; + ip->ip_tos = 0; + ip->ip_len = htons(sizeof(send_buf)); + ip->ip_id = rand(); + ip->ip_off = 0; + ip->ip_ttl = 64; + ip->ip_sum = 0; + ip->ip_p = IPPROTO_ICMP; + ip->ip_src.s_addr = iph->daddr; + ip->ip_dst.s_addr = iph->saddr; + ip->ip_sum = inet_checksum(ip, sizeof(send_buf)); + + icmp->icmp_type = ICMP_DEST_UNREACH; + icmp->icmp_code = ICMP_HOST_UNREACH; + icmp->icmp_id = 0; + icmp->icmp_seq = 0; + icmp->icmp_cksum = 0; + + memcpy(send_buf + sizeof(ip) + sizeof(icmp) + 12, pack, len); + icmp->icmp_cksum = inet_checksum(icmp, sizeof(icmp) + 12 + len); + tun_encaps(tun, send_buf, sizeof(send_buf)); +} + /* Internet-originated IP packet, needs to be sent via GTP towards MS */ static int cb_tun_ind(struct tun_t *tun, void *pack, unsigned len) { @@ -660,6 +719,10 @@ iph->version == 4 ? inet_ntop(AF_INET, &iph->saddr, straddr[1], sizeof(straddr[1])) : inet_ntop(AF_INET6, &ip6h->ip6_src, straddr[1], sizeof(straddr[1]))); + /* TODO: Implement ipv6 */ + if (iph->version != 4) + return 0; + ipv4_host_unreach(tun, pack, len); } return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ia2c708feab14bb4cada00b0a90e0cb56d680d1aa Gerrit-Change-Number: 24237 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 00:53:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 May 2021 00:53:32 +0000 Subject: Change in osmo-bts[master]: scheduler.h: cosmetic: use #pragma once References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24238 ) Change subject: scheduler.h: cosmetic: use #pragma once ...................................................................... scheduler.h: cosmetic: use #pragma once Change-Id: I551ce74f8cec8ec8d80768ec6c0559a203a8143c --- M include/osmo-bts/scheduler.h 1 file changed, 1 insertion(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/38/24238/1 diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 10359f1..4b1731a 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -1,5 +1,4 @@ -#ifndef TRX_SCHEDULER_H -#define TRX_SCHEDULER_H +#pragma once #include #include @@ -312,5 +311,3 @@ void trx_sched_meas_avg(const struct l1sched_chan_state *chan_state, struct l1sched_meas_set *avg, enum sched_meas_avg_mode mode); - -#endif /* TRX_SCHEDULER_H */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I551ce74f8cec8ec8d80768ec6c0559a203a8143c Gerrit-Change-Number: 24238 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 00:53:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 May 2021 00:53:33 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: remove redundant assert() in bts_sched_fn() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24239 ) Change subject: osmo-bts-trx: remove redundant assert() in bts_sched_fn() ...................................................................... osmo-bts-trx: remove redundant assert() in bts_sched_fn() trx_phy_instance() does assert() that the given TRX pointer is not NULL. In bts_sched_fn() it can never be NULL, so drop it. Change-Id: I896ff5117588f2229cc54619ce62fd027a9ef25f --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/39/24239/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index bfe8d5c..cd6579b 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -106,7 +106,7 @@ /* process every TRX */ llist_for_each_entry(trx, &bts->trx_list, list) { - struct phy_instance *pinst = trx_phy_instance(trx); + struct phy_instance *pinst = trx->pinst; struct phy_link *plink = pinst->phy_link; struct trx_l1h *l1h = pinst->u.osmotrx.hdl; struct l1sched_trx *l1t = &l1h->l1s; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I896ff5117588f2229cc54619ce62fd027a9ef25f Gerrit-Change-Number: 24239 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 00:53:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 May 2021 00:53:34 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24240 ) Change subject: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() ...................................................................... osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() In change [1] together with the actual implementation I introduced a serious bug to bts_sched_fn(): if a timeslot is configured to use frequency hopping, both 'pinst' and 'l1h' pointers are *overwriten* in the inner loop, so the Downlink burst is re-directed to the approproate PHY instance. However, if a subsequent timeslot is not hopping, the Downlink burst would be re-directed to the wrong PHY instance because both pointers were overwriten during a previous iteration. Let's move the 'struct phy_instance' pointer to the inner loop, so it's properly re-initialized for each timeslot iteration. Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Fixes: [1] I68f4ae09fd0789ad0d8f1c1e17e17dfc4de8e462 Related: SYS#4868, OS#4546 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/40/24240/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index cd6579b..b029d8c 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -106,9 +106,8 @@ /* process every TRX */ llist_for_each_entry(trx, &bts->trx_list, list) { - struct phy_instance *pinst = trx->pinst; - struct phy_link *plink = pinst->phy_link; - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; + const struct phy_link *plink = trx->pinst->phy_link; + struct trx_l1h *l1h = trx->pinst->u.osmotrx.hdl; struct l1sched_trx *l1t = &l1h->l1s; /* we don't schedule, if power is off */ @@ -121,6 +120,8 @@ /* process every TS of TRX */ for (tn = 0; tn < ARRAY_SIZE(l1t->ts); tn++) { + const struct phy_instance *pinst = trx->pinst; + /* ready-to-send */ _sched_rts(l1t, tn, GSM_TDMA_FN_SUM(sched_fn, plink->u.osmotrx.rts_advance)); @@ -142,7 +143,6 @@ pinst = dlfh_route_br(&br, &trx->ts[tn]); if (pinst == NULL) continue; - l1h = pinst->u.osmotrx.hdl; } if (pinst->trx == bts->c0) { @@ -152,7 +152,7 @@ br.att = 0; } - trx_if_send_burst(l1h, &br); + trx_if_send_burst(pinst->u.osmotrx.hdl, &br); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24240 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 00:58:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 May 2021 00:58:29 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24240 ) Change subject: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() ...................................................................... Patch Set 1: We may want to back-port this fix to the latest release... -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24240 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 May 2021 00:58:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 00:59:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 May 2021 00:59:33 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24240 ) Change subject: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24240/1/src/osmo-bts-trx/scheduler_trx.c File src/osmo-bts-trx/scheduler_trx.c: https://gerrit.osmocom.org/c/osmo-bts/+/24240/1/src/osmo-bts-trx/scheduler_trx.c at 143 PS1, Line 143: pinst = dlfh_route_br(&br, &trx->ts[tn]); This is where we overwrite the 'pinst' pointer affecting next iterations. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24240 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 May 2021 00:59:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 01:04:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 May 2021 01:04:43 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24241 ) Change subject: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g ...................................................................... osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/41/24241/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index bfe8d5c..f9355a5 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -93,7 +93,7 @@ } /* schedule all frames of all TRX for given FN */ -static void trx_sched_fn(struct gsm_bts *bts, const uint32_t fn) +static void bts_sched_fn(struct gsm_bts *bts, const uint32_t fn) { struct trx_dl_burst_req br; struct gsm_bts_trx *trx; @@ -305,9 +305,9 @@ goto no_clock; } - /* call trx_sched_fn() for all expired FN */ + /* call bts_sched_fn() for all expired FN */ for (i = 0; i < expire_count; i++) - trx_sched_fn(bts, GSM_TDMA_FN_INC(tcs->last_fn_timer.fn)); + bts_sched_fn(bts, GSM_TDMA_FN_INC(tcs->last_fn_timer.fn)); return 0; @@ -375,7 +375,7 @@ tcs->last_fn_timer.fn = fn; tcs->last_fn_timer.tv = *tv_now; /* call trx scheduler function for new 'last' FN */ - trx_sched_fn(bts, tcs->last_fn_timer.fn); + bts_sched_fn(bts, tcs->last_fn_timer.fn); return 0; } @@ -450,7 +450,7 @@ /* transmit what we still need to transmit */ while (fn != tcs->last_fn_timer.fn) { - trx_sched_fn(bts, GSM_TDMA_FN_INC(tcs->last_fn_timer.fn)); + bts_sched_fn(bts, GSM_TDMA_FN_INC(tcs->last_fn_timer.fn)); fn_caught_up++; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 Gerrit-Change-Number: 24241 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 01:07:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 May 2021 01:07:01 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Re-organize osmo-bts-trx specific structures In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24179 to look at the new patch set (#4). Change subject: [VAMOS] Re-organize osmo-bts-trx specific structures ...................................................................... [VAMOS] Re-organize osmo-bts-trx specific structures Together with the 'generic' structures which used to be shared between osmo-bsc and osmo-bts some time ago, we also have the following osmo-bts-trx specific structures (in hierarchical order): - struct l1sched_trx (struct gsm_bts_trx), - struct l1sched_ts (struct gsm_bts_trx_ts), - struct l1sched_chan_state (struct gsm_lchan). These structures are not integrated into the tree of the generic structures, but maintained in a _separate tree_ instead. Until recently, only the 'l1sched_trx' had a pointer to generic 'gsm_bts_trx', so in order to find the corresponding 'gsm_lchan' for 'l1sched_chan_state' one would need to traverse all the way up to 'l1sched_trx' and then tracerse another three backwards. + gsm_network | --+ gsm_bts (0..255) | --+ l1sched_trx --------------------> gsm_bts_trx (0..255) | | --+ l1sched_trx_ts --+ gsm_bts_trx_ts (8) | | --+ l1sched_chan_state --+ gsm_lchan (up to 8) I find this architecture a bit over-complicated, especially given that 'l1sched_trx' is kind of a dummy node containing nothing else than a pointer to 'gsm_bts_trx' and the list of 'l1sched_trx_ts'. In this path I slightly change the architecture as follows: + gsm_network | --+ gsm_bts (0..255) | --+ gsm_bts_trx (0..255) | --+ l1sched_trx_ts <----------------> gsm_bts_trx_ts (8) | | --+ l1sched_chan_state --+ gsm_lchan (up to 8) Note that unfortunately we cannot 1:1 map 'l1sched_chan_state' to 'gsm_lchan' (like we do for 'l1sched_trx_ts' and 'gsm_bts_trx_ts') because there is no direct mapping. The former is a higl-level representation of a logical channel, while the later represents one specific logical channel type like FCCH, SDCCH/0 or SACCH/0. osmo-bts-virtual re-uses the osmo-bts-trx hierarchy, so it's also affected by this change. Change-Id: I7c4379e43a25e9d858d582a99bf6c4b65c9af481 --- M include/osmo-bts/gsm_data.h M include/osmo-bts/phy_link.h M include/osmo-bts/scheduler.h M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/loops.c M src/osmo-bts-trx/loops.h M src/osmo-bts-trx/sched_lchan_fcch_sch.c M src/osmo-bts-trx/sched_lchan_pdtch.c M src/osmo-bts-trx/sched_lchan_rach.c M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_lchan_xcch.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-trx/trx_if.c M src/osmo-bts-virtual/bts_model.c M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/l1_if.h M src/osmo-bts-virtual/scheduler_virtbts.c 21 files changed, 399 insertions(+), 510 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/79/24179/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7c4379e43a25e9d858d582a99bf6c4b65c9af481 Gerrit-Change-Number: 24179 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 06:10:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 06:10:25 +0000 Subject: Change in osmo-ci[master]: layer1-headers: change git.sysmocom.de to https References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24242 ) Change subject: layer1-headers: change git.sysmocom.de to https ...................................................................... layer1-headers: change git.sysmocom.de to https after migrating to gitea, we don't offer classic git:// anymore Change-Id: I61b3b5508031b5b1f1dd521833096a84ab7c9c0f --- M scripts/osmo-layer1-headers.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/42/24242/1 diff --git a/scripts/osmo-layer1-headers.sh b/scripts/osmo-layer1-headers.sh index 59cad87..f23a888 100755 --- a/scripts/osmo-layer1-headers.sh +++ b/scripts/osmo-layer1-headers.sh @@ -11,7 +11,7 @@ case "$1" in sysmo) - uri="git://git.sysmocom.de/sysmo-bts/layer1-api" + uri="https://git.sysmocom.de/sysmo-bts/layer1-api" version_prefix="" version="origin/master" ;; -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I61b3b5508031b5b1f1dd521833096a84ab7c9c0f Gerrit-Change-Number: 24242 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 06:10:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 06:10:26 +0000 Subject: Change in osmo-ci[master]: ansible/hosts: new IPs for GTP0 slaves References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24243 ) Change subject: ansible/hosts: new IPs for GTP0 slaves ...................................................................... ansible/hosts: new IPs for GTP0 slaves the old ones were DHCP-allocated and after a power outage, they changed. I've now moved to static allocated addresses. Change-Id: I0d77cc8ae72d854312b742c6c64b10a731a9f5ba --- M ansible/hosts 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/43/24243/1 diff --git a/ansible/hosts b/ansible/hosts index 892428b..d88147a 100644 --- a/ansible/hosts +++ b/ansible/hosts @@ -12,7 +12,8 @@ build2-deb9build-ansible ansible_host=2a01:4f8:10b:2ad9::1:6 osmocom_jenkins_slave_fstrim=True build2-deb10build-ansible ansible_host=2a01:4f8:10b:2ad9::1:10 osmocom_jenkins_slave_fstrim=True host2-deb9build-ansible ansible_host=2a01:4f8:120:8470::1:3 osmocom_jenkins_slave_fstrim=True -gtp0-deb9build ansible_host=10.34.2.147 osmocom_jenkins_slave_fstrim=True +gtp0-deb9build ansible_host=10.34.2.102 osmocom_jenkins_slave_fstrim=True +gtp0-deb10build ansible_host=10.34.2.101 osmocom_jenkins_slave_fstrim=True rpi4-raspbian10build-ansible-1 ansible_host=10.9.25.50 rpi4-raspbian10build-ansible-2 ansible_host=10.9.25.60 rpi4-raspbian10build-ansible-3 ansible_host=10.9.25.70 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0d77cc8ae72d854312b742c6c64b10a731a9f5ba Gerrit-Change-Number: 24243 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 06:11:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 06:11:10 +0000 Subject: Change in osmo-ci[master]: layer1-headers: change git.sysmocom.de to https In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24242 ) Change subject: layer1-headers: change git.sysmocom.de to https ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I61b3b5508031b5b1f1dd521833096a84ab7c9c0f Gerrit-Change-Number: 24242 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 May 2021 06:11:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 06:11:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 06:11:12 +0000 Subject: Change in osmo-ci[master]: layer1-headers: change git.sysmocom.de to https In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24242 ) Change subject: layer1-headers: change git.sysmocom.de to https ...................................................................... layer1-headers: change git.sysmocom.de to https after migrating to gitea, we don't offer classic git:// anymore Change-Id: I61b3b5508031b5b1f1dd521833096a84ab7c9c0f --- M scripts/osmo-layer1-headers.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/scripts/osmo-layer1-headers.sh b/scripts/osmo-layer1-headers.sh index 59cad87..f23a888 100755 --- a/scripts/osmo-layer1-headers.sh +++ b/scripts/osmo-layer1-headers.sh @@ -11,7 +11,7 @@ case "$1" in sysmo) - uri="git://git.sysmocom.de/sysmo-bts/layer1-api" + uri="https://git.sysmocom.de/sysmo-bts/layer1-api" version_prefix="" version="origin/master" ;; -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I61b3b5508031b5b1f1dd521833096a84ab7c9c0f Gerrit-Change-Number: 24242 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 06:11:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 06:11:18 +0000 Subject: Change in osmo-ci[master]: ansible/hosts: new IPs for GTP0 slaves In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24243 ) Change subject: ansible/hosts: new IPs for GTP0 slaves ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0d77cc8ae72d854312b742c6c64b10a731a9f5ba Gerrit-Change-Number: 24243 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 May 2021 06:11:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 06:11:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 06:11:20 +0000 Subject: Change in osmo-ci[master]: ansible/hosts: new IPs for GTP0 slaves In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24243 ) Change subject: ansible/hosts: new IPs for GTP0 slaves ...................................................................... ansible/hosts: new IPs for GTP0 slaves the old ones were DHCP-allocated and after a power outage, they changed. I've now moved to static allocated addresses. Change-Id: I0d77cc8ae72d854312b742c6c64b10a731a9f5ba --- M ansible/hosts 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ansible/hosts b/ansible/hosts index 892428b..d88147a 100644 --- a/ansible/hosts +++ b/ansible/hosts @@ -12,7 +12,8 @@ build2-deb9build-ansible ansible_host=2a01:4f8:10b:2ad9::1:6 osmocom_jenkins_slave_fstrim=True build2-deb10build-ansible ansible_host=2a01:4f8:10b:2ad9::1:10 osmocom_jenkins_slave_fstrim=True host2-deb9build-ansible ansible_host=2a01:4f8:120:8470::1:3 osmocom_jenkins_slave_fstrim=True -gtp0-deb9build ansible_host=10.34.2.147 osmocom_jenkins_slave_fstrim=True +gtp0-deb9build ansible_host=10.34.2.102 osmocom_jenkins_slave_fstrim=True +gtp0-deb10build ansible_host=10.34.2.101 osmocom_jenkins_slave_fstrim=True rpi4-raspbian10build-ansible-1 ansible_host=10.9.25.50 rpi4-raspbian10build-ansible-2 ansible_host=10.9.25.60 rpi4-raspbian10build-ansible-3 ansible_host=10.9.25.70 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0d77cc8ae72d854312b742c6c64b10a731a9f5ba Gerrit-Change-Number: 24243 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 06:16:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 06:16:44 +0000 Subject: Change in osmo-ci[master]: some more git.sysmocom.de https (+path) changes due to gitea migration References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24244 ) Change subject: some more git.sysmocom.de https (+path) changes due to gitea migration ...................................................................... some more git.sysmocom.de https (+path) changes due to gitea migration Change-Id: Ie1599b356932ffa83d70e08b96179b7ca4909b14 --- M ansible/roles/gsm-tester/tasks/main.yml M ansible/roles/osmocom-workstation/tasks/git-repos.yml M coverity/prepare_source_Osmcocom.sh M jobs/master-builds.yml 4 files changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/44/24244/1 diff --git a/ansible/roles/gsm-tester/tasks/main.yml b/ansible/roles/gsm-tester/tasks/main.yml index 418509e..7d28558 100644 --- a/ansible/roles/gsm-tester/tasks/main.yml +++ b/ansible/roles/gsm-tester/tasks/main.yml @@ -132,7 +132,7 @@ - name: setup ofono repository git: - repo: 'git://git.sysmocom.de/ofono' + repo: 'https://git.sysmocom.de/sysmocom/ofono' dest: /root/ofono version: osmo-gsm-tester clone: yes diff --git a/ansible/roles/osmocom-workstation/tasks/git-repos.yml b/ansible/roles/osmocom-workstation/tasks/git-repos.yml index 79f7f31..d829892 100644 --- a/ansible/roles/osmocom-workstation/tasks/git-repos.yml +++ b/ansible/roles/osmocom-workstation/tasks/git-repos.yml @@ -104,16 +104,16 @@ chdir: "{{ git_destination }}/osmo-ttcn3-hacks" - name: install sysmocom git repos - git: repo=git://git.sysmocom.de/{{ item }}.git + git: repo=https://git.sysmocom.de/{{ item }}.git dest={{ git_destination }}/{{ item }} accept_hostkey=yes force=yes recursive=no with_items: - sysmo-bts/layer1-api - - poky/meta-sysmocom-bsp - - rs-backup-suite - - sysmo-usim-tool + - sysmo-bts/meta-sysmocom-bsp + - hwelte/rs-backup-suite + - sysmocom/sysmo-usim-tool - name: install github git repos diff --git a/coverity/prepare_source_Osmcocom.sh b/coverity/prepare_source_Osmcocom.sh index f7129fe..ab1525e 100755 --- a/coverity/prepare_source_Osmcocom.sh +++ b/coverity/prepare_source_Osmcocom.sh @@ -37,4 +37,4 @@ fi done -git clone git://git.sysmocom.de/sysmo-bts/layer1-api +git clone https://git.sysmocom.de/sysmo-bts/layer1-api diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index 22fcf15..7c43bb5 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -358,7 +358,7 @@ concurrent: false cmd: cd ./tests; ./run-tests slave_axis: !!python/tuple [simtester] - git_base_url: git.sysmocom.de + git_base_url: git.sysmocom.de/sysmocom jobs: - 'master-{repos}' -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24244 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie1599b356932ffa83d70e08b96179b7ca4909b14 Gerrit-Change-Number: 24244 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 06:17:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 06:17:18 +0000 Subject: Change in osmo-ci[master]: some more git.sysmocom.de https (+path) changes due to gitea migration In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24244 ) Change subject: some more git.sysmocom.de https (+path) changes due to gitea migration ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24244 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie1599b356932ffa83d70e08b96179b7ca4909b14 Gerrit-Change-Number: 24244 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 May 2021 06:17:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 06:17:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 06:17:21 +0000 Subject: Change in osmo-ci[master]: some more git.sysmocom.de https (+path) changes due to gitea migration In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24244 ) Change subject: some more git.sysmocom.de https (+path) changes due to gitea migration ...................................................................... some more git.sysmocom.de https (+path) changes due to gitea migration Change-Id: Ie1599b356932ffa83d70e08b96179b7ca4909b14 --- M ansible/roles/gsm-tester/tasks/main.yml M ansible/roles/osmocom-workstation/tasks/git-repos.yml M coverity/prepare_source_Osmcocom.sh M jobs/master-builds.yml 4 files changed, 7 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ansible/roles/gsm-tester/tasks/main.yml b/ansible/roles/gsm-tester/tasks/main.yml index 418509e..7d28558 100644 --- a/ansible/roles/gsm-tester/tasks/main.yml +++ b/ansible/roles/gsm-tester/tasks/main.yml @@ -132,7 +132,7 @@ - name: setup ofono repository git: - repo: 'git://git.sysmocom.de/ofono' + repo: 'https://git.sysmocom.de/sysmocom/ofono' dest: /root/ofono version: osmo-gsm-tester clone: yes diff --git a/ansible/roles/osmocom-workstation/tasks/git-repos.yml b/ansible/roles/osmocom-workstation/tasks/git-repos.yml index 79f7f31..d829892 100644 --- a/ansible/roles/osmocom-workstation/tasks/git-repos.yml +++ b/ansible/roles/osmocom-workstation/tasks/git-repos.yml @@ -104,16 +104,16 @@ chdir: "{{ git_destination }}/osmo-ttcn3-hacks" - name: install sysmocom git repos - git: repo=git://git.sysmocom.de/{{ item }}.git + git: repo=https://git.sysmocom.de/{{ item }}.git dest={{ git_destination }}/{{ item }} accept_hostkey=yes force=yes recursive=no with_items: - sysmo-bts/layer1-api - - poky/meta-sysmocom-bsp - - rs-backup-suite - - sysmo-usim-tool + - sysmo-bts/meta-sysmocom-bsp + - hwelte/rs-backup-suite + - sysmocom/sysmo-usim-tool - name: install github git repos diff --git a/coverity/prepare_source_Osmcocom.sh b/coverity/prepare_source_Osmcocom.sh index f7129fe..ab1525e 100755 --- a/coverity/prepare_source_Osmcocom.sh +++ b/coverity/prepare_source_Osmcocom.sh @@ -37,4 +37,4 @@ fi done -git clone git://git.sysmocom.de/sysmo-bts/layer1-api +git clone https://git.sysmocom.de/sysmo-bts/layer1-api diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index 22fcf15..7c43bb5 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -358,7 +358,7 @@ concurrent: false cmd: cd ./tests; ./run-tests slave_axis: !!python/tuple [simtester] - git_base_url: git.sysmocom.de + git_base_url: git.sysmocom.de/sysmocom jobs: - 'master-{repos}' -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24244 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie1599b356932ffa83d70e08b96179b7ca4909b14 Gerrit-Change-Number: 24244 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 08:27:04 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 17 May 2021 08:27:04 +0000 Subject: Change in osmo-ci[master]: OBS: conflict: allow overriding pkgver In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24212 ) Change subject: OBS: conflict: allow overriding pkgver ...................................................................... Patch Set 1: Verified+1 Code-Review+2 1+1=2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iae45d7462aab8227ed3756e6cccfa3e64cb04211 Gerrit-Change-Number: 24212 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 May 2021 08:27:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 08:27:17 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 17 May 2021 08:27:17 +0000 Subject: Change in osmo-ci[master]: OBS: conflict: allow overriding pkgver In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24212 ) Change subject: OBS: conflict: allow overriding pkgver ...................................................................... OBS: conflict: allow overriding pkgver Allow overriding OSMO_OBS_CONFLICT_PKGVER, so we can increase the version of the osmocom-2021q1 package whenever something changes on one of the 2021q1 branches. Related: SYS#5370 Change-Id: Iae45d7462aab8227ed3756e6cccfa3e64cb04211 --- M scripts/common-obs-conflict.sh M scripts/osmocom-packages-docker.sh 2 files changed, 2 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/scripts/common-obs-conflict.sh b/scripts/common-obs-conflict.sh index a4fc98d..b6b381a 100644 --- a/scripts/common-obs-conflict.sh +++ b/scripts/common-obs-conflict.sh @@ -2,7 +2,7 @@ # Create conflicting dummy packages in OBS (opensuse build service), so users can't mix packages # built from different branches by accident -OSMO_OBS_CONFLICT_PKGVER="1.0.0" +OSMO_OBS_CONFLICT_PKGVER="${OSMO_OBS_CONFLICT_PKGVER:-1.0.0}" # Create the conflicting package for debian # diff --git a/scripts/osmocom-packages-docker.sh b/scripts/osmocom-packages-docker.sh index 66eb311..4465d20 100755 --- a/scripts/osmocom-packages-docker.sh +++ b/scripts/osmocom-packages-docker.sh @@ -26,6 +26,7 @@ docker run \ -e "FEED=$FEED" \ + -e "OSMO_OBS_CONFLICT_PKGVER=$OSMO_OBS_CONFLICT_PKGVER" \ -e "PACKAGES=$PACKAGES" \ -e "PROJ=$PROJ" \ -v "$SCRIPTS:/scripts" \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iae45d7462aab8227ed3756e6cccfa3e64cb04211 Gerrit-Change-Number: 24212 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 09:43:10 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 17 May 2021 09:43:10 +0000 Subject: Change in libosmo-sccp[master]: sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in Callin... In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24218 ) Change subject: sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in CallingParty ...................................................................... Patch Set 4: Code-Review+1 The logic of this patch sounds reasonable to me. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id66ae960ebe3cb3b09c6dd5454f9ac9c073f46d7 Gerrit-Change-Number: 24218 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-Comment-Date: Mon, 17 May 2021 09:43:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Mon May 17 10:20:29 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 17 May 2021 10:20:29 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gsm-manuals in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <60a2438371eaa_602b2add512f65f833879b0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gsm-manuals/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-gsm-manuals failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-gsm-manuals Last lines of build log: [ 1s] [ 1s] armbuild04 started "build osmo-gsm-manuals-dev_1.1.0.13.5533.202105170026.dsc" at Mon May 17 10:20:23 UTC 2021. [ 1s] [ 1s] Building osmo-gsm-manuals for project 'network:osmocom:nightly' repository 'Debian_9.0' arch 'armv7l' srcmd5 '89b6be688d8dcb10f50cc712d05afc4a' [ 1s] [ 1s] processing recipe /var/cache/obs/worker/root_2/.build-srcdir/osmo-gsm-manuals-dev_1.1.0.13.5533.202105170026.dsc ... [ 1s] running changelog2spec --target debian --file /var/cache/obs/worker/root_2/.build-srcdir/osmo-gsm-manuals-dev_1.1.0.13.5533.202105170026.dsc [ 1s] init_buildsystem --configdir /var/run/obs/worker/2/build/configs --cachedir /var/cache/build --prepare --clean --rpmlist /var/cache/obs/worker/root_2/.build.rpmlist /var/cache/obs/worker/root_2/.build-srcdir/osmo-gsm-manuals-dev_1.1.0.13.5533.202105170026.dsc build ... [ 1s] unknown keyword in config: [ 1s] could not autodetect package type [ 1s] [ 1s] armbuild04 failed "build osmo-gsm-manuals-dev_1.1.0.13.5533.202105170026.dsc" at Mon May 17 10:20:23 UTC 2021. [ 1s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon May 17 10:49:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 May 2021 10:49:38 +0000 Subject: Change in osmo-bts[master]: sysmo, oc2g, lc15: Make RadioChannel MO depend on RadioCarrier MO References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24245 ) Change subject: sysmo,oc2g,lc15: Make RadioChannel MO depend on RadioCarrier MO ...................................................................... sysmo,oc2g,lc15: Make RadioChannel MO depend on RadioCarrier MO lower layer specific APIs require first to enable the TRX object (GsmL1_PrimId_MphInitReq, which requires ARFCN received during Set Radio Carrier Attributes) before enabling the per-TS structure. Hence, OPSTART must happen in RCARRIER MO before OPSTART can be sent to the Radio Channel MOs, otherwise the initialization of the TS objet will fail and OPSTART for the RadioChannel MO will send back a NACK. In order to avoid this, we need to keep the RadioChannel MO announced as "Disabled Dependency" until RCARRIER is OPSTARTed. Related: OS#5157 Change-Id: I8c6e5ff98c32a3cd5006f5e5ed6875bcabb1d85f --- M include/osmo-bts/bts.h M include/osmo-bts/nm_common_fsm.h M src/common/nm_channel_fsm.c M src/common/nm_radio_carrier_fsm.c M src/osmo-bts-lc15/main.c M src/osmo-bts-oc2g/main.c M src/osmo-bts-sysmo/main.c 7 files changed, 55 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/45/24245/1 diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index 7a1085e..2fedd4a 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -57,6 +57,9 @@ * measurement data is passed using a separate MPH INFO MEAS IND. * (See also ticket: OS#2977) */ #define BTS_INTERNAL_FLAG_MEAS_PAYLOAD_COMB (1 << 1) +/* Whether the BTS model requires RadioCarrier MO to be in Enabled state + (OPSTARTed) before OPSTARTing the RadioChannel MOs. See OS#5157 */ +#define BTS_INTERNAL_FLAG_NM_RCHANNEL_DEPENDS_RCARRIER (1 << 2) /* BTS implementation flags (internal use, not exposed via OML) */ #define bts_internal_flag_get(bts, flag) \ diff --git a/include/osmo-bts/nm_common_fsm.h b/include/osmo-bts/nm_common_fsm.h index 4a82757..4679b23 100644 --- a/include/osmo-bts/nm_common_fsm.h +++ b/include/osmo-bts/nm_common_fsm.h @@ -39,7 +39,8 @@ NM_EV_BBTRANSC_INSTALLED, /* Radio Channel only */ NM_EV_BBTRANSC_ENABLED, /* Radio Channel only */ NM_EV_BBTRANSC_DISABLED, /* Radio Channel only */ - + NM_EV_RCARRIER_ENABLED, /* Radio Channel only */ + NM_EV_RCARRIER_DISABLED, /* Radio Channel only */ }; extern const struct value_string nm_fsm_event_names[]; diff --git a/src/common/nm_channel_fsm.c b/src/common/nm_channel_fsm.c index 4925959..8b3af72 100644 --- a/src/common/nm_channel_fsm.c +++ b/src/common/nm_channel_fsm.c @@ -40,6 +40,14 @@ #define nm_chan_fsm_state_chg(fi, NEXT_STATE) \ osmo_fsm_inst_state_chg(fi, NEXT_STATE, 0, 0) +/* Can the TS be enabled (OPSTARTed)? aka should it stay in "Disabled Dependency" state? */ +bool ts_can_be_enabled(const struct gsm_bts_trx_ts *ts) +{ + return (ts->trx->bb_transc.mo.nm_state.operational == NM_OPSTATE_ENABLED && + (!bts_internal_flag_get(ts->trx->bts, BTS_INTERNAL_FLAG_NM_RCHANNEL_DEPENDS_RCARRIER) || + ts->trx->mo.nm_state.operational == NM_OPSTATE_ENABLED)); +} + ////////////////////////// // FSM STATE ACTIONS ////////////////////////// @@ -58,7 +66,7 @@ switch (event) { case NM_EV_BBTRANSC_INSTALLED: oml_mo_tx_sw_act_rep(&ts->mo); - if (ts->trx->bb_transc.mo.nm_state.operational == NM_OPSTATE_ENABLED) + if (ts_can_be_enabled(ts)) nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_OFFLINE); else nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_DEPENDENCY); @@ -92,7 +100,13 @@ oml_mo_opstart_nack(&ts->mo, (int)(intptr_t)data); return; case NM_EV_BBTRANSC_ENABLED: - nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_OFFLINE); + case NM_EV_RCARRIER_ENABLED: + if (ts_can_be_enabled(ts)) + nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_OFFLINE); + return; + case NM_EV_BBTRANSC_DISABLED: + case NM_EV_RCARRIER_DISABLED: + /* do nothing, we are simply waiting for (potentially) both to be enabled */ return; default: OSMO_ASSERT(0); @@ -121,7 +135,9 @@ oml_mo_opstart_nack(&ts->mo, (int)(intptr_t)data); return; case NM_EV_BBTRANSC_DISABLED: - nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_DEPENDENCY); + case NM_EV_RCARRIER_DISABLED: + if (!ts_can_be_enabled(ts)) + nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_DEPENDENCY); return; default: OSMO_ASSERT(0); @@ -136,9 +152,13 @@ static void st_op_enabled(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + struct gsm_bts_trx_ts *ts = (struct gsm_bts_trx_ts *)fi->priv; + switch (event) { case NM_EV_BBTRANSC_DISABLED: - nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_DEPENDENCY); + case NM_EV_RCARRIER_DISABLED: + if (!ts_can_be_enabled(ts)) + nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_DEPENDENCY); return; case NM_EV_DISABLE: nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_OFFLINE); @@ -163,7 +183,10 @@ .in_event_mask = X(NM_EV_OPSTART_ACK) | /* backward compatibility, buggy BSC */ X(NM_EV_OPSTART_NACK) | - X(NM_EV_BBTRANSC_ENABLED), + X(NM_EV_BBTRANSC_ENABLED) | + X(NM_EV_RCARRIER_ENABLED) | + X(NM_EV_BBTRANSC_DISABLED) | + X(NM_EV_RCARRIER_DISABLED), .out_state_mask = X(NM_CHAN_ST_OP_DISABLED_OFFLINE) | X(NM_CHAN_ST_OP_ENABLED), /* backward compatibility, buggy BSC */ @@ -175,7 +198,8 @@ .in_event_mask = X(NM_EV_OPSTART_ACK) | X(NM_EV_OPSTART_NACK) | - X(NM_EV_BBTRANSC_DISABLED), + X(NM_EV_BBTRANSC_DISABLED) | + X(NM_EV_RCARRIER_DISABLED), .out_state_mask = X(NM_CHAN_ST_OP_ENABLED) | X(NM_CHAN_ST_OP_DISABLED_DEPENDENCY), @@ -186,6 +210,7 @@ [NM_CHAN_ST_OP_ENABLED] = { .in_event_mask = X(NM_EV_BBTRANSC_DISABLED) | + X(NM_EV_RCARRIER_DISABLED) | X(NM_EV_DISABLE), .out_state_mask = X(NM_CHAN_ST_OP_DISABLED_OFFLINE) | diff --git a/src/common/nm_radio_carrier_fsm.c b/src/common/nm_radio_carrier_fsm.c index d8291f8..4cbdf68 100644 --- a/src/common/nm_radio_carrier_fsm.c +++ b/src/common/nm_radio_carrier_fsm.c @@ -79,8 +79,17 @@ static void st_op_disabled_offline_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_bts_trx *trx = (struct gsm_bts_trx *)fi->priv; + unsigned int i; + trx->mo.opstart_success = false; oml_mo_state_chg(&trx->mo, NM_OPSTATE_DISABLED, NM_AVSTATE_OFF_LINE); + + if (prev_state == NM_RCARRIER_ST_OP_ENABLED) { + for (i = 0; i < TRX_NR_TS; i++) { + struct gsm_bts_trx_ts *ts = &trx->ts[i]; + osmo_fsm_inst_dispatch(ts->mo.fi, NM_EV_RCARRIER_DISABLED, NULL); + } + } } static void st_op_disabled_offline(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -136,7 +145,14 @@ static void st_op_enabled_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_bts_trx *trx = (struct gsm_bts_trx *)fi->priv; + unsigned int tn; + oml_mo_state_chg(&trx->mo, NM_OPSTATE_ENABLED, NM_AVSTATE_OK); + /* Mark Dependency TS as Offline (ready to be Opstarted) */ + for (tn = 0; tn < TRX_NR_TS; tn++) { + struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + osmo_fsm_inst_dispatch(ts->mo.fi, NM_EV_RCARRIER_ENABLED, NULL); + } } static void st_op_enabled(struct osmo_fsm_inst *fi, uint32_t event, void *data) diff --git a/src/osmo-bts-lc15/main.c b/src/osmo-bts-lc15/main.c index 985d7db..3e119f6 100644 --- a/src/osmo-bts-lc15/main.c +++ b/src/osmo-bts-lc15/main.c @@ -111,6 +111,7 @@ osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_AMR); bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_MS_PWR_CTRL_DSP); + bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_NM_RCHANNEL_DEPENDS_RCARRIER); return 0; } diff --git a/src/osmo-bts-oc2g/main.c b/src/osmo-bts-oc2g/main.c index 12c489f..9a4bbfe 100644 --- a/src/osmo-bts-oc2g/main.c +++ b/src/osmo-bts-oc2g/main.c @@ -112,6 +112,7 @@ osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_AMR); bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_MS_PWR_CTRL_DSP); + bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_NM_RCHANNEL_DEPENDS_RCARRIER); return 0; } diff --git a/src/osmo-bts-sysmo/main.c b/src/osmo-bts-sysmo/main.c index 2057a05..2bf1068 100644 --- a/src/osmo-bts-sysmo/main.c +++ b/src/osmo-bts-sysmo/main.c @@ -79,6 +79,7 @@ bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_MS_PWR_CTRL_DSP); bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_MEAS_PAYLOAD_COMB); + bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_NM_RCHANNEL_DEPENDS_RCARRIER); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8c6e5ff98c32a3cd5006f5e5ed6875bcabb1d85f Gerrit-Change-Number: 24245 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 10:58:04 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 17 May 2021 10:58:04 +0000 Subject: Change in osmo-pcu[master]: RIM: Refactor Rx path to decode stack in proper order In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24169 ) Change subject: RIM: Refactor Rx path to decode stack in proper order ...................................................................... Patch Set 1: Code-Review+1 (2 comments) Just some cosmetics, looks good otherwise https://gerrit.osmocom.org/c/osmo-pcu/+/24169/1/src/gprs_bssgp_rim.c File src/gprs_bssgp_rim.c: https://gerrit.osmocom.org/c/osmo-pcu/+/24169/1/src/gprs_bssgp_rim.c at 172 PS1, Line 172: static int handle_ran_info_request(const struct bssgp_ran_information_pdu *pdu, struct gprs_rlcmac_bts *bts, uint16_t nsei) (line length) https://gerrit.osmocom.org/c/osmo-pcu/+/24169/1/src/gprs_bssgp_rim.c at 182 PS1, Line 182: received Rx and "received" are redundant, same below. maybe fix this while at it? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe017c1a6e789f45d74c4a5f5f4608298c8c9f91 Gerrit-Change-Number: 24169 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 17 May 2021 10:58:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 11:07:52 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 17 May 2021 11:07:52 +0000 Subject: Change in osmo-pcu[master]: RIM: Refactor Rx path to decode stack in proper order In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24169 ) Change subject: RIM: Refactor Rx path to decode stack in proper order ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe017c1a6e789f45d74c4a5f5f4608298c8c9f91 Gerrit-Change-Number: 24169 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 17 May 2021 11:07:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 11:09:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 May 2021 11:09:45 +0000 Subject: Change in osmo-ggsn[master]: Implement ICMP response for inactive IP address. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24237 ) Change subject: Implement ICMP response for inactive IP address. ...................................................................... Patch Set 1: Code-Review-1 (5 comments) https://gerrit.osmocom.org/c/osmo-ggsn/+/24237/1/ggsn/ggsn.c File ggsn/ggsn.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/24237/1/ggsn/ggsn.c at 588 PS1, Line 588: static uint16_t inet_checksum(void *data, int len) { We already have a lib/icmpv6.c/h files, so it makes sense to move these helper functions to lib/icmpv4.c/h. Also have a look at lib/checksum.h in case you can reuse something. https://gerrit.osmocom.org/c/osmo-ggsn/+/24237/1/ggsn/ggsn.c at 611 PS1, Line 611: static void ipv4_host_unreach(struct tun_t *tun, void *pack, unsigned len) const void *pack https://gerrit.osmocom.org/c/osmo-ggsn/+/24237/1/ggsn/ggsn.c at 613 PS1, Line 613: char send_buf[sizeof(struct ip) + sizeof(struct icmp) + len]; I'm not sure it's really portable to define stack buffers with variable size. In a general case you could use "alloca()" instead, see "man alloca". In this case I think it makes more sense to use a msgb structure. You can then construct something similar to existing APi for icmpv6 "icmpv6_prepend_ip6hdr()", which can be used generically to prepend icmpv6 header to different messages. https://gerrit.osmocom.org/c/osmo-ggsn/+/24237/1/ggsn/ggsn.c at 614 PS1, Line 614: len = len - 20; this deserves an explanation ;) https://gerrit.osmocom.org/c/osmo-ggsn/+/24237/1/ggsn/ggsn.c at 723 PS1, Line 723: if (iph->version != 4) Since we already have icmpv6.c/h, it may be quick to implement the ipv6 part too. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ia2c708feab14bb4cada00b0a90e0cb56d680d1aa Gerrit-Change-Number: 24237 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 May 2021 11:09:45 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 11:09:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 May 2021 11:09:57 +0000 Subject: Change in osmo-bts[master]: scheduler.h: cosmetic: use #pragma once In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24238 ) Change subject: scheduler.h: cosmetic: use #pragma once ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I551ce74f8cec8ec8d80768ec6c0559a203a8143c Gerrit-Change-Number: 24238 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 May 2021 11:09:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 11:10:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 May 2021 11:10:24 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: remove redundant assert() in bts_sched_fn() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24239 ) Change subject: osmo-bts-trx: remove redundant assert() in bts_sched_fn() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I896ff5117588f2229cc54619ce62fd027a9ef25f Gerrit-Change-Number: 24239 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 May 2021 11:10:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 11:14:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 May 2021 11:14:04 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24240 ) Change subject: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24240 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 May 2021 11:14:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 11:15:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 May 2021 11:15:22 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24241 ) Change subject: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 Gerrit-Change-Number: 24241 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 May 2021 11:15:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 11:16:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 May 2021 11:16:41 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Re-organize osmo-bts-trx specific structures In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24179 ) Change subject: [VAMOS] Re-organize osmo-bts-trx specific structures ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7c4379e43a25e9d858d582a99bf6c4b65c9af481 Gerrit-Change-Number: 24179 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 May 2021 11:16:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 12:19:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 May 2021 12:19:38 +0000 Subject: Change in osmo-bts[master]: sysmo, oc2g, lc15: Make RadioChannel MO depend on RadioCarrier MO In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24245 ) Change subject: sysmo,oc2g,lc15: Make RadioChannel MO depend on RadioCarrier MO ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24245/1/include/osmo-bts/bts.h File include/osmo-bts/bts.h: https://gerrit.osmocom.org/c/osmo-bts/+/24245/1/include/osmo-bts/bts.h at 60 PS1, Line 60: /* Whether the BTS model requires RadioCarrier MO to be in Enabled state Inconsistent comment formatting. https://gerrit.osmocom.org/c/osmo-bts/+/24245/1/include/osmo-bts/bts.h at 62 PS1, Line 62: tab https://gerrit.osmocom.org/c/osmo-bts/+/24245/1/src/common/nm_channel_fsm.c File src/common/nm_channel_fsm.c: https://gerrit.osmocom.org/c/osmo-bts/+/24245/1/src/common/nm_channel_fsm.c at 44 PS1, Line 44: bool ts_can_be_enabled(const struct gsm_bts_trx_ts *ts) static? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8c6e5ff98c32a3cd5006f5e5ed6875bcabb1d85f Gerrit-Change-Number: 24245 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 17 May 2021 12:19:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 12:21:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 May 2021 12:21:24 +0000 Subject: Change in osmo-pcu[master]: RIM: Refactor Rx path to decode stack in proper order In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/24169 to look at the new patch set (#2). Change subject: RIM: Refactor Rx path to decode stack in proper order ...................................................................... RIM: Refactor Rx path to decode stack in proper order Previous implementation of the Rx path was first checking the APP ID before checking the lower layer (container type), which was confusing because the information is then not verified in ascending order in the protocol stack. Let's instead, first, pass the pdu to the correct container type handler, and only once there, let each container type handler verify the available applications. Change-Id: Ibe017c1a6e789f45d74c4a5f5f4608298c8c9f91 --- M src/gprs_bssgp_rim.c 1 file changed, 47 insertions(+), 63 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/69/24169/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe017c1a6e789f45d74c4a5f5f4608298c8c9f91 Gerrit-Change-Number: 24169 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 12:21:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 May 2021 12:21:46 +0000 Subject: Change in osmo-pcu[master]: RIM: Refactor Rx path to decode stack in proper order In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24169 ) Change subject: RIM: Refactor Rx path to decode stack in proper order ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe017c1a6e789f45d74c4a5f5f4608298c8c9f91 Gerrit-Change-Number: 24169 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 May 2021 12:21:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 12:23:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 May 2021 12:23:33 +0000 Subject: Change in osmo-bts[master]: sysmo, oc2g, lc15: Make RadioChannel MO depend on RadioCarrier MO In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24245 to look at the new patch set (#2). Change subject: sysmo,oc2g,lc15: Make RadioChannel MO depend on RadioCarrier MO ...................................................................... sysmo,oc2g,lc15: Make RadioChannel MO depend on RadioCarrier MO lower layer specific APIs require first to enable the TRX object (GsmL1_PrimId_MphInitReq, which requires ARFCN received during Set Radio Carrier Attributes) before enabling the per-TS structure. Hence, OPSTART must happen in RCARRIER MO before OPSTART can be sent to the Radio Channel MOs, otherwise the initialization of the TS objet will fail and OPSTART for the RadioChannel MO will send back a NACK. In order to avoid this, we need to keep the RadioChannel MO announced as "Disabled Dependency" until RCARRIER is OPSTARTed. Related: OS#5157 Change-Id: I8c6e5ff98c32a3cd5006f5e5ed6875bcabb1d85f --- M include/osmo-bts/bts.h M include/osmo-bts/nm_common_fsm.h M src/common/nm_channel_fsm.c M src/common/nm_radio_carrier_fsm.c M src/osmo-bts-lc15/main.c M src/osmo-bts-oc2g/main.c M src/osmo-bts-sysmo/main.c 7 files changed, 55 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/45/24245/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8c6e5ff98c32a3cd5006f5e5ed6875bcabb1d85f Gerrit-Change-Number: 24245 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 12:24:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 May 2021 12:24:38 +0000 Subject: Change in osmo-bts[master]: sysmo, oc2g, lc15: Make RadioChannel MO depend on RadioCarrier MO In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24245 ) Change subject: sysmo,oc2g,lc15: Make RadioChannel MO depend on RadioCarrier MO ...................................................................... Patch Set 2: Code-Review+1 I'll quickly test it and V+1 if it works. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8c6e5ff98c32a3cd5006f5e5ed6875bcabb1d85f Gerrit-Change-Number: 24245 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 17 May 2021 12:24:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 12:25:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 May 2021 12:25:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_rim_ran_info_req_single_rep_eutran In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24170 ) Change subject: pcu: Introduce test TC_rim_ran_info_req_single_rep_eutran ...................................................................... Patch Set 4: It's been 11 days with no comments, I'll merge it later today if I see no more reviews. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24170 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: I87f3daba1521d2dc8eed78ffdc6de5744484ba7a Gerrit-Change-Number: 24170 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 May 2021 12:25:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 12:29:45 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 May 2021 12:29:45 +0000 Subject: Change in osmo-ggsn[master]: Implement ICMP response for inactive IP address. In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24237 ) Change subject: Implement ICMP response for inactive IP address. ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/24237/1/ggsn/ggsn.c File ggsn/ggsn.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/24237/1/ggsn/ggsn.c at 614 PS1, Line 614: len = len - 20; > this deserves an explanation ;) My software security background immediately tells me: pass a value < 20! -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ia2c708feab14bb4cada00b0a90e0cb56d680d1aa Gerrit-Change-Number: 24237 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 17 May 2021 12:29:45 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 12:46:21 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 May 2021 12:46:21 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24240 ) Change subject: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24240 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 May 2021 12:46:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 12:46:31 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 May 2021 12:46:31 +0000 Subject: Change in osmo-bts[master]: scheduler.h: cosmetic: use #pragma once In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24238 ) Change subject: scheduler.h: cosmetic: use #pragma once ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I551ce74f8cec8ec8d80768ec6c0559a203a8143c Gerrit-Change-Number: 24238 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 May 2021 12:46:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 12:50:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 May 2021 12:50:41 +0000 Subject: Change in osmo-sgsn[master]: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 ) Change subject: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN ...................................................................... Patch Set 7: I'm missing the show-running-config part, marking as WIP -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 Gerrit-Change-Number: 24164 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 17 May 2021 12:50:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 13:15:01 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 17 May 2021 13:15:01 +0000 Subject: Change in osmo-pcu[master]: RIM: Refactor Rx path to decode stack in proper order In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24169 ) Change subject: RIM: Refactor Rx path to decode stack in proper order ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe017c1a6e789f45d74c4a5f5f4608298c8c9f91 Gerrit-Change-Number: 24169 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 May 2021 13:15:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 13:30:54 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 May 2021 13:30:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: add first a5/4 tests References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24246 ) Change subject: bts: add first a5/4 tests ...................................................................... bts: add first a5/4 tests Not much to do here, bts just passes the key. Change-Id: I38e8a1cf15eb41a621b457b39024283a767c94be --- M bts/BTS_Tests.ttcn M bts/expected-results.xml 2 files changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/46/24246/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 8ae8eb2..eff1277 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -6706,6 +6706,11 @@ pars.encr := valueof(ts_RSL_IE_EncrInfo(RSL_ALG_ID_A5_3, f_rnd_octstring(8))); f_testmatrix_each_chan(pars, refers(f_TC_chan_act_encr)); } +testcase TC_chan_act_a54() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + pars.encr := valueof(ts_RSL_IE_EncrInfo(RSL_ALG_ID_A5_4, f_rnd_octstring(16))); + f_testmatrix_each_chan(pars, refers(f_TC_chan_act_encr)); +} /* Test channel activation with A5/n right from the beginning and RSL MODE MODIFY which should break the en/decryption on purpose by supplying a new key that is unknown to the MS*/ @@ -6827,6 +6832,11 @@ pars.encr := valueof(ts_RSL_IE_EncrInfo(RSL_ALG_ID_A5_3, f_rnd_octstring(8))); f_testmatrix_each_chan(pars, refers(f_TC_encr_cmd)); } +testcase TC_encr_cmd_a54() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + pars.encr := valueof(ts_RSL_IE_EncrInfo(RSL_ALG_ID_A5_4, f_rnd_octstring(16))); + f_testmatrix_each_chan(pars, refers(f_TC_encr_cmd)); +} private function f_assert_lapdm(octetstring enc, template LapdmFrame exp_match, charstring name := "") { var LapdmFrame lf; diff --git a/bts/expected-results.xml b/bts/expected-results.xml index 6142e40..b81358d 100644 --- a/bts/expected-results.xml +++ b/bts/expected-results.xml @@ -124,9 +124,11 @@ + + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24246 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: I38e8a1cf15eb41a621b457b39024283a767c94be Gerrit-Change-Number: 24246 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 13:30:55 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 May 2021 13:30:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add first a5/4 tests References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 ) Change subject: msc: add first a5/4 tests ...................................................................... msc: add first a5/4 tests All msc tests involving classmarks suffer from the same problem: if a existing subscriber is reused the old classmarks will stick, since the msc only overwrites updated parts of the cm when receiving a new cm, so "downgrading" the existing classmark information is not possible. Change-Id: Idc055a006b325f58a5eafa88bc4415181b3500a2 --- M library/BSSMAP_Templates.ttcn M msc/BSC_ConnectionHandler.ttcn M msc/MSC_Tests.ttcn M msc/expected-results.xml M msc/gen_links.sh M msc/regen_makefile.sh 6 files changed, 165 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/47/24247/1 diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index 2b99a5b..06aa351 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -1474,6 +1474,13 @@ } } + +template BSSMAP_IE_ClassmarkInformationType3 ts_CM3_default := { + elementIdentifier := '13'O, + lengthIndicator := 0, /* overwritten */ + classmark3ValuePart := '01'O /* A5/4 supported */ +} + template PDU_BSSAP ts_BSSMAP_ClassmarkUpd(template BSSMAP_IE_ClassmarkInformationType2 cm2 := ts_CM2_default, template BSSMAP_IE_ClassmarkInformationType3 cm3 := omit) modifies ts_BSSAP_BSSMAP := { @@ -1516,6 +1523,18 @@ } } +template PDU_BSSAP tr_BSSMAP_ClassmarkRequest +modifies tr_BSSAP_BSSMAP := { + pdu := { + bssmap := { + classmarkRequest := { + messageType := '58'O, + talkerPriority := * + } + } + } +} + /* return Layer3 octetstring inside BSSAP PDU */ function f_bssap_extract_l3(PDU_BSSAP bssap) return template octetstring { if (ischosen(bssap.pdu.bssmap)) { diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index 30adb03..70f2b14 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -12,6 +12,7 @@ module BSC_ConnectionHandler { +import from TCCOpenSecurity_Functions all; import from General_Types all; import from Osmocom_Types all; import from Native_Functions all; @@ -110,7 +111,7 @@ }; /* get a one-octet bitmaks of supported algorithms based on Classmark information */ -function f_alg_mask_from_cm(BSSMAP_IE_ClassmarkInformationType2 cm2) return OCT1 { +function f_alg_mask_from_cm(BSSMAP_IE_ClassmarkInformationType2 cm2, template (omit) BSSMAP_IE_ClassmarkInformationType3 cm3 := omit) return OCT1 { var BIT8 res := '00000001'B; /* A5/0 always supported */ if (cm2.a5_1 == '0'B) { @@ -122,7 +123,12 @@ if (cm2.classmarkInformationType2_oct5.a5_3 == '1'B) { res := res or4b '00001000'B; } - /* TODO: CM3 for A5/4 and beyond */ + if (not istemplatekind(cm3, "omit")) { + var BSSMAP_IE_ClassmarkInformationType3 v := valueof(cm3); + var BIT8 tmp := oct2bit(v.classmark3ValuePart[0]) and4b '00001111'B; + res := res or4b (tmp << 4); + } + return bit2oct(res); } @@ -154,6 +160,15 @@ return -1; } +/* return true for A5/x supported by OCT1 bitmask */ +function f_alg_supported_by_mask(OCT1 mask_in, integer whicha5) return boolean { + var BIT8 mask := oct2bit(mask_in); + if (mask and4b ('00000001'B << whicha5) != '00000000'B) { + return true; + } + return false; +} + /* altstep for the global guard timer */ private altstep as_Tguard() runs on BSC_ConnHdlr { [] g_Tguard.timeout { @@ -419,6 +434,7 @@ g_pars.vec.autn, g_pars.vec.res)); GSUP.send(ts_GSUP_SAI_RES(g_pars.imsi, auth_tuple)); + g_pars.vec.kc := f_auth3g_kc(); } else { g_pars.vec := f_gen_auth_vec_2g(); auth_tuple := valueof(ts_GSUP_IE_AuthTuple2G(g_pars.vec.rand, @@ -530,15 +546,49 @@ } } +function f_auth3g_kc() runs on BSC_ConnHdlr return OCT8 { + var integer i; + var octetstring res := g_pars.vec.ck[0] xor4b g_pars.vec.ck[0 + 8] xor4b g_pars.vec.ik[0] xor4b g_pars.vec.ik[0 + 8]; + for (i := 1; i < 8; i := i + 1) { + var octetstring a := g_pars.vec.ck[i] xor4b g_pars.vec.ck[i + 8] xor4b g_pars.vec.ik[i] xor4b g_pars.vec.ik[i + 8]; + res := res & a; + } + + return res; +} + + function f_mm_common() runs on BSC_ConnHdlr { f_mm_auth(); if (g_pars.ran_is_geran) { if (g_pars.net.expect_ciph) { - var OCT1 a5_net := f_alg_mask_from_cm(g_pars.cm2); + var OCT1 a5_net := f_alg_mask_from_cm(g_pars.cm2, g_pars.cm3); var OCT1 a5_intersect := g_pars.net.kc_support and4b a5_net; + var boolean has_a54 := f_alg_supported_by_mask(a5_intersect, 4); + + var PDU_BSSAP pdu; alt { - [] BSSAP.receive(tr_BSSMAP_CipherModeCmd(a5_intersect, g_pars.vec.kc)) { + [] BSSAP.receive(tr_BSSMAP_CipherModeCmd(a5_intersect, g_pars.vec.kc)) -> value pdu { + var PDU_BSSMAP_CipherModeCommand ciphmodcmd := pdu.pdu.bssmap.cipherModeCommand; + if (g_pars.use_umts_aka and has_a54) { + var OCT32 fulloutput := f_calculate_HMAC_SHA256(g_pars.vec.ck & g_pars.vec.ik, '32'O, 32); + var OCT16 kc128 := substr(fulloutput, 0, 16); + if (not ispresent(ciphmodcmd.kC128)) { + setverdict(fail, "kc128 missing in CiphModCmd"); + mtc.stop; + } + if (ciphmodcmd.kC128.kC128_Value != kc128) { + setverdict(fail, "kc128 wrong in CiphModCmd?!", kc128); + mtc.stop; + } + } else { + if (ispresent(ciphmodcmd.kC128)) { + setverdict(fail, "kc128 present in CiphModCmd, but should not exist!"); + mtc.stop; + } + } + var OCT1 a5_chosen := f_best_alg_from_mask(a5_intersect); var integer a5_nr := f_alg_from_mask(a5_chosen); BSSAP.send(ts_BSSMAP_CipherModeCompl(int2oct(a5_nr+1, 1))); @@ -547,6 +597,10 @@ setverdict(fail, "Wrong ciphering algorithm mask in CiphModCmd"); mtc.stop; } + [] BSSAP.receive(tr_BSSMAP_ClassmarkRequest) { + BSSAP.send(ts_BSSMAP_ClassmarkUpd(g_pars.cm2, g_pars.cm3)) + repeat; + } } /* FIXME: Send the best available algorithm */ } diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 8325625..3ab1745 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -2007,6 +2007,84 @@ vc_conn.done; } +/* A5/0 + A5/1 + A5/3 + a5/4 only permitted on network side, and MS with only A5/1 support */ +private function f_tc_lu_imsi_auth_tmsi_encr_0134_1(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + pars.net.expect_auth := true; + pars.net.expect_ciph := true; + pars.net.kc_support := '03'O; /* A5/0 + A5/1 */ + pars.cm1.a5_1 := '0'B; + pars.cm2.a5_1 := '0'B; + pars.cm2.classmarkInformationType2_oct5.a5_3 := '0'B; + pars.cm2.classmarkInformationType2_oct5.a5_2 := '0'B; + pars.cm2.classmarkInformationType2_oct5.cm3 := '0'B; + pars.cm3 := omit; + pars.use_umts_aka := true; + + f_init_handler(pars, 15.0); + f_perform_lu(); +} +testcase TC_lu_imsi_auth_tmsi_encr_0134_1() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + f_vty_config(MSCVTY, "network", "authentication required"); + f_vty_config(MSCVTY, "network", "encryption a5 0 1 3 4"); + + vc_conn := f_start_handler(refers(f_tc_lu_imsi_auth_tmsi_encr_0134_1), 39); + vc_conn.done; +} + +/* A5/0 + A5/1 + A5/3 + a5/4 only permitted on network side, and MS with A5/3 + A5/4 support */ +private function f_tc_lu_imsi_auth_tmsi_encr_0134_34(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + pars.net.expect_auth := true; + pars.net.expect_ciph := true; + pars.net.kc_support := '19'O; /* A5/3 + A5/4 */ + pars.cm1.a5_1 := '1'B; + pars.cm2.a5_1 := '1'B; + pars.cm2.classmarkInformationType2_oct5.a5_3 := '1'B; + pars.cm2.classmarkInformationType2_oct5.a5_2 := '0'B; + pars.cm2.classmarkInformationType2_oct5.cm3 := '1'B; + pars.cm3 := valueof(ts_CM3_default); + pars.use_umts_aka := true; + + f_init_handler(pars, 15.0); + f_perform_lu(); +} +testcase TC_lu_imsi_auth_tmsi_encr_0134_34() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + f_vty_config(MSCVTY, "network", "authentication required"); + f_vty_config(MSCVTY, "network", "encryption a5 0 1 3 4"); + + vc_conn := f_start_handler(refers(f_tc_lu_imsi_auth_tmsi_encr_0134_34), 40); + vc_conn.done; +} + +/* A5/0 + A5/1 + A5/3 + a5/4 only permitted on network side, and MS with A5/3 support but no CM3 */ +private function f_tc_lu_imsi_auth_tmsi_encr_0134_34_no_cm3(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + pars.net.expect_auth := true; + pars.net.expect_ciph := true; + pars.net.kc_support := '19'O; /* A5/3 + A5/4 */ + pars.cm1.a5_1 := '1'B; + pars.cm2.a5_1 := '1'B; + pars.cm2.classmarkInformationType2_oct5.a5_3 := '1'B; + pars.cm2.classmarkInformationType2_oct5.a5_2 := '0'B; + pars.cm2.classmarkInformationType2_oct5.cm3 := '0'B; + pars.cm3 := omit; + pars.use_umts_aka := true; + + f_init_handler(pars, 15.0); + f_perform_lu(); +} +testcase TC_lu_imsi_auth_tmsi_encr_0134_34_no_cm3() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + f_vty_config(MSCVTY, "network", "authentication required"); + f_vty_config(MSCVTY, "network", "encryption a5 0 1 3 4"); + + vc_conn := f_start_handler(refers(f_tc_lu_imsi_auth_tmsi_encr_0134_34_no_cm3), 41); + vc_conn.done; +} + /* A5/0 + A5/1 + A5/3 only permitted on network side, and MS with only A5/2 support */ private function f_tc_lu_imsi_auth_tmsi_encr_013_2(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { pars.net.expect_auth := true; @@ -6435,6 +6513,10 @@ execute( TC_lu_imsi_auth_tmsi_encr_3_1_no_cm() ); execute( TC_lu_imsi_auth_tmsi_encr_13_2() ); execute( TC_lu_imsi_auth_tmsi_encr_013_2() ); + execute( TC_lu_imsi_auth_tmsi_encr_0134_1() ); + execute( TC_lu_imsi_auth_tmsi_encr_0134_34() ); + execute( TC_lu_imsi_auth_tmsi_encr_0134_34_no_cm3() ); + execute( TC_mo_release_timeout() ); execute( TC_lu_and_mt_call_no_dlcx_resp() ); execute( TC_reset_two() ); diff --git a/msc/expected-results.xml b/msc/expected-results.xml index a01cd22..4e2eeba 100644 --- a/msc/expected-results.xml +++ b/msc/expected-results.xml @@ -56,6 +56,9 @@ + + + diff --git a/msc/gen_links.sh b/msc/gen_links.sh index 221110e..b112a67 100755 --- a/msc/gen_links.sh +++ b/msc/gen_links.sh @@ -11,6 +11,7 @@ DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCInterface.cc TCCInterface_ip.h" FILES+=" TCCEncoding_Functions.ttcn TCCEncoding.cc " # GSM 7-bit coding +FILES+=" TCCOpenSecurity_Functions.ttcn TCCOpenSecurity.cc TCCOpenSecurity_Functions.hh" gen_links $DIR $FILES DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src diff --git a/msc/regen_makefile.sh b/msc/regen_makefile.sh index 6ee3ef5..cbb491d 100755 --- a/msc/regen_makefile.sh +++ b/msc/regen_makefile.sh @@ -1,9 +1,9 @@ #!/bin/sh -FILES="*.ttcn *.ttcnpp SCCP_EncDec.cc SCTPasp_PT.cc TCCConversion.cc TCCInterface.cc UD_PT.cc MNCC_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc SDP_EncDec.cc RTP_EncDec.cc IPA_CodecPort_CtrlFunctDef.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc TELNETasp_PT.cc Native_FunctionDefs.cc SMPP_EncDec.cc SMPP_CodecPort_CtrlFunctDef.cc MAP_EncDec.cc SS_EncDec.cc TCCEncoding.cc SGsAP_CodecPort_CtrlFunctDef.cc RANAP_EncDec.cc *.c *.asn" +FILES="*.ttcn *.ttcnpp SCCP_EncDec.cc SCTPasp_PT.cc TCCConversion.cc TCCInterface.cc UD_PT.cc MNCC_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc SDP_EncDec.cc RTP_EncDec.cc IPA_CodecPort_CtrlFunctDef.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc TELNETasp_PT.cc Native_FunctionDefs.cc SMPP_EncDec.cc SMPP_CodecPort_CtrlFunctDef.cc MAP_EncDec.cc SS_EncDec.cc TCCEncoding.cc SGsAP_CodecPort_CtrlFunctDef.cc RANAP_EncDec.cc TCCOpenSecurity.cc *.c *.asn" export CPPFLAGS_TTCN3="-DIPA_EMULATION_MGCP -DIPA_EMULATION_CTRL -DIPA_EMULATION_GSUP -DIPA_EMULATION_SCCP -DRAN_EMULATION_BSSAP -DRAN_EMULATION_MGCP -DRAN_EMULATION_CTRL -DRAN_EMULATION_RANAP -DUSE_MTP3_DISTRIBUTOR" ../regen-makefile.sh MSC_Tests.ttcn $FILES -sed -i -e 's/^LINUX_LIBS = -lxml2 -lsctp/LINUX_LIBS = -lxml2 -lsctp -lfftranscode/' Makefile +sed -i -e 's/^LINUX_LIBS = -lxml2 -lsctp/LINUX_LIBS = -lxml2 -lsctp -lfftranscode -lssl/' Makefile -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 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: Idc055a006b325f58a5eafa88bc4415181b3500a2 Gerrit-Change-Number: 24247 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 13:44:11 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 May 2021 13:44:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add first a5/4 tests In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 to look at the new patch set (#2). Change subject: msc: add first a5/4 tests ...................................................................... msc: add first a5/4 tests All msc tests involving classmarks suffer from the same problem: if a existing subscriber is reused the old classmarks will stick, since the msc only overwrites updated parts of the cm when receiving a new cm, so "downgrading" the existing classmark information is not possible. Related: SYS#5324 Change-Id: Idc055a006b325f58a5eafa88bc4415181b3500a2 --- M library/BSSMAP_Templates.ttcn M msc/BSC_ConnectionHandler.ttcn M msc/MSC_Tests.ttcn M msc/expected-results.xml M msc/gen_links.sh M msc/regen_makefile.sh 6 files changed, 165 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/47/24247/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 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: Idc055a006b325f58a5eafa88bc4415181b3500a2 Gerrit-Change-Number: 24247 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 13:44:21 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 May 2021 13:44:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: add first a5/4 tests In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24246 to look at the new patch set (#2). Change subject: bts: add first a5/4 tests ...................................................................... bts: add first a5/4 tests Not much to do here, bts just passes the key. Related: SYS#5324 Change-Id: I38e8a1cf15eb41a621b457b39024283a767c94be --- M bts/BTS_Tests.ttcn M bts/expected-results.xml 2 files changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/46/24246/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24246 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: I38e8a1cf15eb41a621b457b39024283a767c94be Gerrit-Change-Number: 24246 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 13:50:08 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 17 May 2021 13:50:08 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24241 ) Change subject: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 Gerrit-Change-Number: 24241 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 May 2021 13:50:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 13:52:13 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 May 2021 13:52:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: add first a5/4 tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24246 ) Change subject: bts: add first a5/4 tests ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24246 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: I38e8a1cf15eb41a621b457b39024283a767c94be Gerrit-Change-Number: 24246 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 17 May 2021 13:52:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 14:25:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 May 2021 14:25:57 +0000 Subject: Change in osmo-pcu[master]: RIM: Refactor Rx path to decode stack in proper order In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24169 ) Change subject: RIM: Refactor Rx path to decode stack in proper order ...................................................................... RIM: Refactor Rx path to decode stack in proper order Previous implementation of the Rx path was first checking the APP ID before checking the lower layer (container type), which was confusing because the information is then not verified in ascending order in the protocol stack. Let's instead, first, pass the pdu to the correct container type handler, and only once there, let each container type handler verify the available applications. Change-Id: Ibe017c1a6e789f45d74c4a5f5f4608298c8c9f91 --- M src/gprs_bssgp_rim.c 1 file changed, 47 insertions(+), 63 deletions(-) Approvals: pespin: Looks good to me, approved osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs_bssgp_rim.c b/src/gprs_bssgp_rim.c index e9b9ef8..c19ed81 100644 --- a/src/gprs_bssgp_rim.c +++ b/src/gprs_bssgp_rim.c @@ -136,34 +136,6 @@ resp_pdu->rim_cont_iei = BSSGP_IE_RI_ERROR_RIM_COINTAINER; } -/* Check if the application ID in the request PDU is actually BSSGP_RAN_INF_APP_ID_NACC */ -static const enum bssgp_ran_inf_app_id *get_app_id(const struct bssgp_ran_information_pdu *pdu) -{ - switch (pdu->rim_cont_iei) { - case BSSGP_IE_RI_REQ_RIM_CONTAINER: - return &pdu->decoded.req_rim_cont.app_id; - case BSSGP_IE_RI_RIM_CONTAINER: - return &pdu->decoded.rim_cont.app_id; - case BSSGP_IE_RI_APP_ERROR_RIM_CONT: - return &pdu->decoded.app_err_rim_cont.app_id; - case BSSGP_IE_RI_ACK_RIM_CONTAINER: - return &pdu->decoded.ack_rim_cont.app_id; - case BSSGP_IE_RI_ERROR_RIM_COINTAINER: - return &pdu->decoded.err_rim_cont.app_id; - default: - return NULL; - } -} - -/* Check if the application ID in the request PDU is of a certain type */ -static bool match_app_id(const struct bssgp_ran_information_pdu *pdu, enum bssgp_ran_inf_app_id exp_app_id) -{ - const enum bssgp_ran_inf_app_id *app_id = get_app_id(pdu); - if (app_id && *app_id == exp_app_id) - return true; - return false; -} - static int handle_ran_info_response_nacc(const struct bssgp_ran_inf_app_cont_nacc *nacc, struct gprs_rlcmac_bts *bts) { struct si_cache_value val; @@ -197,11 +169,56 @@ return 0; } +static int handle_ran_info_request(const struct bssgp_ran_information_pdu *pdu, + struct gprs_rlcmac_bts *bts, uint16_t nsei) +{ + const struct bssgp_ran_inf_req_rim_cont *ri_req = &pdu->decoded.req_rim_cont; + const struct bssgp_ran_inf_req_app_cont_nacc *nacc_req; + struct bssgp_ran_information_pdu resp_pdu; + int rc; + + /* Check if we support the application ID */ + if (ri_req->app_id != BSSGP_RAN_INF_APP_ID_NACC) { + LOGPRIM(nsei, LOGL_ERROR, + "Rx RAN-INFO-REQ for cell %s with unknown/wrong application ID %s -- reject.\n", + osmo_cgi_ps_name(&bts->cgi_ps), bssgp_ran_inf_app_id_str(ri_req->app_id)); + format_response_pdu_err(&resp_pdu, pdu); + rc = -ENOTSUP; + goto tx_ret; + } + + nacc_req = &ri_req->u.app_cont_nacc; + rc = osmo_cgi_ps_cmp(&bts->cgi_ps, &nacc_req->reprt_cell); + if (rc != 0) { + LOGPRIM(nsei, LOGL_ERROR, "reporting cell in RIM application container %s " + "does not match destination cell in RIM routing info %s -- rejected.\n", + osmo_cgi_ps_name(&nacc_req->reprt_cell), + osmo_cgi_ps_name2(&bts->cgi_ps)); + format_response_pdu_err(&resp_pdu, pdu); + } else { + LOGPRIM(nsei, LOGL_INFO, "Responding to RAN INFORMATION REQUEST %s ...\n", + osmo_cgi_ps_name(&nacc_req->reprt_cell)); + format_response_pdu(&resp_pdu, pdu, bts); + } + +tx_ret: + bssgp_tx_rim(&resp_pdu, nsei); + return rc; +} + static int handle_ran_info_response(const struct bssgp_ran_information_pdu *pdu, struct gprs_rlcmac_bts *bts) { const struct bssgp_ran_inf_rim_cont *ran_info = &pdu->decoded.rim_cont; char ri_src_str[64]; + /* Check if we support the application ID */ + if (ran_info->app_id != BSSGP_RAN_INF_APP_ID_NACC) { + LOGP(DRIM, LOGL_ERROR, + "Rx RAN-INFO for cell %s with unknown/wrong application ID %s received -- reject.\n", + osmo_cgi_ps_name(&bts->cgi_ps), bssgp_ran_inf_app_id_str(ran_info->app_id)); + return -1; + } + if (ran_info->app_err) { LOGP(DRIM, LOGL_ERROR, "%s Rx RAN-INFO with an app error! cause: %s\n", @@ -210,16 +227,7 @@ return -1; } - switch (pdu->decoded.rim_cont.app_id) { - case BSSGP_RAN_INF_APP_ID_NACC: - handle_ran_info_response_nacc(&ran_info->u.app_cont_nacc, bts); - break; - default: - LOGP(DRIM, LOGL_ERROR, "%s Rx RAN-INFO with unknown/wrong application ID %s received\n", - bssgp_rim_ri_name_buf(ri_src_str, sizeof(ri_src_str), &pdu->routing_info_src), - bssgp_ran_inf_app_id_str(pdu->decoded.rim_cont.app_id)); - return -1; - } + handle_ran_info_response_nacc(&ran_info->u.app_cont_nacc, bts); return 0; } @@ -231,7 +239,6 @@ struct bssgp_ran_information_pdu resp_pdu; struct osmo_cell_global_id_ps dst_addr; struct gprs_rlcmac_bts *bts; - int rc; OSMO_ASSERT (bp->oph.sap == SAP_BSSGP_RIM); @@ -265,33 +272,10 @@ return 0; } - /* Check if the RIM container inside the incoming RIM PDU has the correct - * application ID */ - if (!match_app_id(pdu, BSSGP_RAN_INF_APP_ID_NACC)) { - LOGPRIM(nsei, LOGL_ERROR, - "RIM PDU for cell %s with unknown/wrong application ID received -- reject.\n", - osmo_cgi_ps_name(&dst_addr)); - format_response_pdu_err(&resp_pdu, pdu); - return 0; - } - /* Handle incoming RIM container */ switch (pdu->rim_cont_iei) { case BSSGP_IE_RI_REQ_RIM_CONTAINER: - rc = osmo_cgi_ps_cmp(&dst_addr, &pdu->decoded.req_rim_cont.u.app_cont_nacc.reprt_cell); - if (rc != 0) { - LOGPRIM(nsei, LOGL_ERROR, "reporting cell in RIM application container %s " - "does not match destination cell in RIM routing info %s -- rejected.\n", - osmo_cgi_ps_name(&pdu->decoded.req_rim_cont.u.app_cont_nacc.reprt_cell), - osmo_cgi_ps_name2(&dst_addr)); - format_response_pdu_err(&resp_pdu, pdu); - } else { - LOGPRIM(nsei, LOGL_INFO, "Responding to RAN INFORMATION REQUEST %s ...\n", - osmo_cgi_ps_name(&pdu->decoded.req_rim_cont.u.app_cont_nacc.reprt_cell)); - format_response_pdu(&resp_pdu, pdu, bts); - } - bssgp_tx_rim(&resp_pdu, nsei); - break; + return handle_ran_info_request(pdu, bts, nsei); case BSSGP_IE_RI_RIM_CONTAINER: return handle_ran_info_response(pdu, bts); case BSSGP_IE_RI_APP_ERROR_RIM_CONT: -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe017c1a6e789f45d74c4a5f5f4608298c8c9f91 Gerrit-Change-Number: 24169 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 14:39:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 May 2021 14:39:04 +0000 Subject: Change in osmo-sgsn[master]: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 ) Change subject: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN ...................................................................... Patch Set 8: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 Gerrit-Change-Number: 24164 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 17 May 2021 14:39:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 16:08:59 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Mon, 17 May 2021 16:08:59 +0000 Subject: Change in pysim[master]: Update README References: Message-ID: Falkenber9 has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24248 ) Change subject: Update README ...................................................................... Update README * Add instructions for convenient install on Archlinux * Update hyperlinks, replace http with https * Fix incorrect implicit code markup by explicit markup * Fix Typos, etc. * Adjust headlines Change-Id: I96ac0f7caea8a28d2bbeba9e54911b4bd44aaad5 --- M README.md 1 file changed, 70 insertions(+), 50 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/48/24248/1 diff --git a/README.md b/README.md index 274ab11..3751078 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -pySim-prog - Utility for programmable SIM/USIM-Cards +pySim - Read, Write and Browse Programmable SIM/USIM Cards ==================================================== -This repository contains a Python-language program that can be used -to program (write) certain fields/parameters on so-called programmable +This repository contains Python programs that can be used +to read, program (write) and browse certain fields/parameters on so-called programmable SIM/USIM cards. Such SIM/USIM cards are special cards, which - unlike those issued by @@ -13,50 +13,73 @@ network, and want to issue your own SIM/USIM cards for that network. -Homepage --------- +Homepage and Manual +------------------- -The official homepage of the project is - +Please visit the [official homepage](https://osmocom.org/projects/pysim/wiki) for usage instructions, manual and examples. -GIT Repository +Git Repository -------------- -You can clone from the official libosmocore.git repository using +You can clone from the official Osmocom git repository using +``` +git clone git://git.osmocom.org/pysim.git +``` - git clone git://git.osmocom.org/pysim.git - -There is a cgit interface at +There is a cgit interface at -Dependencies +Installation ------------ -pysim requires: +Please install the following dependencies: -- pyscard -- serial -- pytlv -- cmd2 -- jsonpath-ng -- bidict + - pyscard + - serial + - pytlv + - cmd2 + - jsonpath-ng + - construct + - bidict + - gsm0338 Example for Debian: - - apt-get install python3-pyscard python3-serial python3-cmd2 python3-pip python3-yaml - pip3 install pytlv bidict +``` +apt-get install python3-pyscard python3-serial python3-cmd2 python3-pip python3-yaml +pip3 install pytlv jsonpath-ng construct bidict gsm0338 +``` Alternatively, everything can be installed using pip: +``` +pip3 install -r requirements.txt +``` - pip3 install -r requirements.txt +After installing all dependencies, the pySim applications ``pySim-read.py``, ``pySim-prog.py`` and ``pySim-shell.py`` may be started directly from the cloned repository. + +### Archlinux Package + +Archlinux users may install the package ``python-pysim-git`` +[![](https://img.shields.io/aur/version/python-pysim-git)](https://aur.archlinux.org/packages/python-pysim-git) +from the [Arch User Repository (AUR)](https://aur.archlinux.org). +The most convenient way is the use of an [AUR Helper](https://wiki.archlinux.org/index.php/AUR_helpers), +e.g. [yay](https://aur.archlinux.org/packages/yay) or [pacaur](https://aur.archlinux.org/packages/pacaur). +The following example shows the installation with ``yay``. + +```sh +# Install +yay -Sy python-pysim-git + +# Uninstall +sudo pacman -Rs python-pysim-git +``` Mailing List ------------ -There is no separate mailing list for this project. However, +There is no separate mailing list for this project. However, discussions related to pysim-prog are happening on the -openbsc at lists.osmocom.org mailing list, please see + mailing list, please see for subscription options and the list archive. @@ -64,6 +87,7 @@ Rules](https://osmocom.org/projects/cellular-infrastructure/wiki/Mailing_List_Rules) when posting. + Contributing ------------ @@ -74,40 +98,35 @@ -Manual ------- -p -Please see the sphinx based documentation in the 'docs' sub-directory -of the source. A PDF rendering of the user manual is available from - - - -Usage ------ +Usage Examples +-------------- * Program customizable SIMs. Two modes are possible: - - one where you specify every parameter manually : - + - one where you specify every parameter manually: +``` ./pySim-prog.py -n 26C3 -c 49 -x 262 -y 42 -i -s +``` - - - one where they are generated from some minimal set : - + - one where they are generated from some minimal set: +``` ./pySim-prog.py -n 26C3 -c 49 -x 262 -y 42 -z -j +``` - With and , the soft will generate - 'predictable' IMSI and ICCID, so make sure you choose them so as not to - conflict with anyone. (for eg. your name as and - 0 1 2 ... for ). +With ```` and ````, the soft will generate +'predictable' IMSI and ICCID, so make sure you choose them so as not to +conflict with anyone. (for e.g. your name as ```` and +0 1 2 ... for ````). - You also need to enter some parameters to select the device : - -t TYPE : type of card (supersim, magicsim, fakemagicsim or try 'auto') - -d DEV : Serial port device (default /dev/ttyUSB0) - -b BAUD : Baudrate (default 9600) +You also need to enter some parameters to select the device: - * Interact with SIMs from a python interactive shell (ipython for eg :) + -t TYPE : type of card (``supersim``, ``magicsim``, ``fakemagicsim`` or try ``auto``) + -d DEV : Serial port device (default ``/dev/ttyUSB0``) + -b BAUD : Baudrate (default 9600) + * Interact with SIMs from a python interactive shell (e.g. ipython): + +``` from pySim.transport.serial import SerialSimLink from pySim.commands import SimCardCommands @@ -121,3 +140,4 @@ # Run A3/A8 print(sc.run_gsm('00112233445566778899aabbccddeeff')) +``` -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24248 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96ac0f7caea8a28d2bbeba9e54911b4bd44aaad5 Gerrit-Change-Number: 24248 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 16:10:38 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 17 May 2021 16:10:38 +0000 Subject: Change in osmo-ggsn[master]: Implement ICMP response for inactive IP address. In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24237 ) Change subject: Implement ICMP response for inactive IP address. ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/24237/1/ggsn/ggsn.c File ggsn/ggsn.c: https://gerrit.osmocom.org/c/osmo-ggsn/+/24237/1/ggsn/ggsn.c at 614 PS1, Line 614: len = len - 20; > My software security background immediately tells me: pass a value < 20! People complain about PHP, but I think maybe trying to learn from C code examples on the internet is WAY more dangerous. I had a comment in my draft code here: http://git.osmocom.org/osmo-ggsn/tree/ggsn/ggsn.c?h=whyteks/icmp2&id=33680054c374cfac57335b1abe0bf276c3309ce6#n618 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ia2c708feab14bb4cada00b0a90e0cb56d680d1aa Gerrit-Change-Number: 24237 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 17 May 2021 16:10:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 16:24:31 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 May 2021 16:24:31 +0000 Subject: Change in osmo-bts[master]: sysmo, oc2g, lc15: Make RadioChannel MO depend on RadioCarrier MO In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24245 ) Change subject: sysmo,oc2g,lc15: Make RadioChannel MO depend on RadioCarrier MO ...................................................................... Patch Set 2: Verified+1 Works for me. Here is what I see in the output of 'show trx 0': Radio Carrier NM State: Oper 'Disabled', Admin 'Locked', Avail 'Off line' RF-unlocking works: OsmoBSC(config-net-bts-trx)# rf_locked 0 OsmoBSC(config-net-bts-trx)# do show trx 0 Radio Carrier NM State: Oper 'Enabled', Admin 'Unlocked', Avail 'OK' RF-locking again works: OsmoBSC(config-net-bts-trx)# rf_locked 1 OsmoBSC(config-net-bts-trx)# do show trx 0 Radio Carrier NM State: Oper 'Enabled', Admin 'Locked', Avail 'OK' -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8c6e5ff98c32a3cd5006f5e5ed6875bcabb1d85f Gerrit-Change-Number: 24245 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 17 May 2021 16:24:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 16:24:43 2021 From: gerrit-no-reply at lists.osmocom.org (Falkenber9) Date: Mon, 17 May 2021 16:24:43 +0000 Subject: Change in pysim[master]: pySim-read: adjust meaning of HPLMN/OPLMN flags in EF_SPN References: Message-ID: Falkenber9 has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24249 ) Change subject: pySim-read: adjust meaning of HPLMN/OPLMN flags in EF_SPN ...................................................................... pySim-read: adjust meaning of HPLMN/OPLMN flags in EF_SPN The updated wording better reflects the actual meaning of a set or unset flag, especially as OPLMN is inverted. Change-Id: I65c6f0e9bc1a12a4a74c4274eebb8e612296888f --- M pySim-read.py M pysim-testdata/Fairwaves-SIM.ok M pysim-testdata/Wavemobile-SIM.ok M pysim-testdata/fakemagicsim.ok M pysim-testdata/sysmoISIM-SJA2.ok M pysim-testdata/sysmoUSIM-SJS1.ok M pysim-testdata/sysmosim-gr1.ok 7 files changed, 14 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/49/24249/1 diff --git a/pySim-read.py b/pySim-read.py index 9feef9d..88a5651 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -126,8 +126,8 @@ (res, sw) = card.read_spn() if sw == '9000': print("SPN: %s" % (res[0] or "Not available")) - print("Display HPLMN: %s" % (res[1],)) - print("Display OPLMN: %s" % (res[2],)) + print("Show in HPLMN: %s" % (res[1],)) + print("Hide in OPLMN: %s" % (res[2],)) else: print("SPN: Can't read, response code = %s" % (sw,)) except Exception as e: diff --git a/pysim-testdata/Fairwaves-SIM.ok b/pysim-testdata/Fairwaves-SIM.ok index eebf965..2a912e2 100644 --- a/pysim-testdata/Fairwaves-SIM.ok +++ b/pysim-testdata/Fairwaves-SIM.ok @@ -7,8 +7,8 @@ GID2: ffffffffffffffff SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff SPN: Fairwaves -Display HPLMN: False -Display OPLMN: False +Show in HPLMN: False +Hide in OPLMN: False PLMNsel: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: ffffff0000 # unused diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok index a6bdeaa..0eb8cc8 100644 --- a/pysim-testdata/Wavemobile-SIM.ok +++ b/pysim-testdata/Wavemobile-SIM.ok @@ -7,8 +7,8 @@ GID2: Can't read file -- SW match failed! Expected 9000 and got 6a82. SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff SPN: wavemobile -Display HPLMN: False -Display OPLMN: False +Show in HPLMN: False +Hide in OPLMN: False PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN WB-S1, E-UTRAN NB-S1, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT diff --git a/pysim-testdata/fakemagicsim.ok b/pysim-testdata/fakemagicsim.ok index 11296f5..805b360 100644 --- a/pysim-testdata/fakemagicsim.ok +++ b/pysim-testdata/fakemagicsim.ok @@ -8,8 +8,8 @@ GID2: Can't read file -- SW match failed! Expected 9000 and got 9404. SMSP: ffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Magic -Display HPLMN: True -Display OPLMN: False +Show in HPLMN: True +Hide in OPLMN: False PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: Can't read file -- SW match failed! Expected 9000 and got 9404. OPLMNwAcT: Can't read file -- SW match failed! Expected 9000 and got 9404. diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index 8a5d30a..87cb857 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -7,8 +7,8 @@ GID2: ffffffffffffffffffff SMSP: ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Magic -Display HPLMN: True -Display OPLMN: True +Show in HPLMN: True +Hide in OPLMN: True PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN WB-S1, E-UTRAN NB-S1, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT diff --git a/pysim-testdata/sysmoUSIM-SJS1.ok b/pysim-testdata/sysmoUSIM-SJS1.ok index ab15f10..e65f276 100644 --- a/pysim-testdata/sysmoUSIM-SJS1.ok +++ b/pysim-testdata/sysmoUSIM-SJS1.ok @@ -7,8 +7,8 @@ GID2: ffffffffffffffffffff SMSP: ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Magic -Display HPLMN: True -Display OPLMN: True +Show in HPLMN: True +Hide in OPLMN: True PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN WB-S1, E-UTRAN NB-S1, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT diff --git a/pysim-testdata/sysmosim-gr1.ok b/pysim-testdata/sysmosim-gr1.ok index 3aff2a3..60c568b 100644 --- a/pysim-testdata/sysmosim-gr1.ok +++ b/pysim-testdata/sysmosim-gr1.ok @@ -8,8 +8,8 @@ GID2: Can't read file -- SW match failed! Expected 9000 and got 9404. SMSP: ffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Not available -Display HPLMN: False -Display OPLMN: False +Show in HPLMN: False +Hide in OPLMN: False PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: Can't read file -- SW match failed! Expected 9000 and got 9404. OPLMNwAcT: Can't read file -- SW match failed! Expected 9000 and got 9404. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I65c6f0e9bc1a12a4a74c4274eebb8e612296888f Gerrit-Change-Number: 24249 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 16:43:37 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 17 May 2021 16:43:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: fix TC_one_crcx_loopback_rtp_implicit References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24250 ) Change subject: MGCP_Test: fix TC_one_crcx_loopback_rtp_implicit ...................................................................... MGCP_Test: fix TC_one_crcx_loopback_rtp_implicit The testcase TC_one_crcx_loopback_rtp_implicit uses f_TC_one_crcx_loopback_rtp, which creates the RTP flow with IPv4 addresses but since we do not send a local RTP IP address with the CRCX to the MGW, the MGW will prefer IPv6, which means that we get an IPv6 address back while the RTP strem is IPv4 on the TTCN3 side. Related: OS#5123 Change-Id: I80498737d5b32f28b62e0c17cce1969b54af948c --- M mgw/MGCP_Test.ttcn 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/50/24250/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index c4f97a8..5575f7a 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -1693,14 +1693,14 @@ /* Create one connection in loopback mode, test if the RTP packets are * actually reflected */ - function f_TC_one_crcx_loopback_rtp(boolean one_phase := true) runs on dummy_CT { + function f_TC_one_crcx_loopback_rtp(charstring local_ip, charstring remote_ip, boolean one_phase := true) runs on dummy_CT { var RtpFlowData flow; var MgcpEndpoint ep := c_mgw_ep_rtpbridge & "1@" & c_mgw_domain; var MgcpCallId call_id := '1225'H; var RtpemStats stats; f_init(ep); - flow := valueof(t_RtpFlow(mp_local_ipv4, mp_remote_ipv4, 111, "GSM-HR-08/8000/1")); + flow := valueof(t_RtpFlow(local_ip, remote_ip, 111, "GSM-HR-08/8000/1")); flow.em.portnr := 10000; f_flow_create(RTPEM[0], ep, call_id, "loopback", flow, one_phase := one_phase); @@ -1725,7 +1725,7 @@ /* Create one connection in loopback mode, test if the RTP packets are * actually reflected */ testcase TC_one_crcx_loopback_rtp() runs on dummy_CT { - f_TC_one_crcx_loopback_rtp(one_phase := true) + f_TC_one_crcx_loopback_rtp(mp_local_ipv4, mp_remote_ipv4, one_phase := true) } /* Same as above, but we will intenionally not tell the MGW where to @@ -1733,7 +1733,7 @@ * loopback mode, so the MGW should take the originating address from * the incoming RTP packet and send it back to the source */ testcase TC_one_crcx_loopback_rtp_implicit() runs on dummy_CT { - f_TC_one_crcx_loopback_rtp(one_phase := false) + f_TC_one_crcx_loopback_rtp(mp_local_ipv6, mp_remote_ipv6, one_phase := false) } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24250 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: I80498737d5b32f28b62e0c17cce1969b54af948c Gerrit-Change-Number: 24250 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 16:43:38 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 17 May 2021 16:43:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: add testcase TC_one_crcx_loopback_rtp_ipv6 References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24251 ) Change subject: MGCP_Test: add testcase TC_one_crcx_loopback_rtp_ipv6 ...................................................................... MGCP_Test: add testcase TC_one_crcx_loopback_rtp_ipv6 There is an TC_one_crcx_loopback_rtp, an ipv6 variant can be added with minimal effort. Change-Id: If16ee5186fa697caa9cc404b7159be054cac5196 --- M mgw/MGCP_Test.ttcn 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/51/24251/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 5575f7a..c1e263a 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -1727,6 +1727,9 @@ testcase TC_one_crcx_loopback_rtp() runs on dummy_CT { f_TC_one_crcx_loopback_rtp(mp_local_ipv4, mp_remote_ipv4, one_phase := true) } + testcase TC_one_crcx_loopback_rtp_ipv6() runs on dummy_CT { + f_TC_one_crcx_loopback_rtp(mp_local_ipv6, mp_remote_ipv6, one_phase := true) + } /* Same as above, but we will intenionally not tell the MGW where to * send the outgoing traffic. The connection is still created in @@ -2441,6 +2444,7 @@ execute(TC_one_crcx_receive_only_rtp()); execute(TC_one_crcx_loopback_rtp()); + execute(TC_one_crcx_loopback_rtp_ipv6()); execute(TC_one_crcx_loopback_rtp_implicit()); execute(TC_two_crcx_and_rtp()); execute(TC_two_crcx_and_rtp_bidir()); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24251 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: If16ee5186fa697caa9cc404b7159be054cac5196 Gerrit-Change-Number: 24251 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 16:54:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 May 2021 16:54:39 +0000 Subject: Change in libosmocore[master]: vty: Implement missing public API host_config_file() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24252 ) Change subject: vty: Implement missing public API host_config_file() ...................................................................... vty: Implement missing public API host_config_file() The API was defined in the header file but not implemented. Change-Id: I69de9864fa7cd421557b9fc630beefea6d90b4cc --- M include/osmocom/vty/command.h M src/vty/command.c 2 files changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/52/24252/1 diff --git a/include/osmocom/vty/command.h b/include/osmocom/vty/command.h index 228dc5b..81333b4 100644 --- a/include/osmocom/vty/command.h +++ b/include/osmocom/vty/command.h @@ -457,7 +457,7 @@ extern struct cmd_element config_help_cmd; extern struct cmd_element config_list_cmd; extern struct cmd_element config_end_cmd; -char *host_config_file(); +const char *host_config_file(void); void host_config_set(const char *); char *osmo_asciidoc_escape(const char *inp); diff --git a/src/vty/command.c b/src/vty/command.c index 4825109..6d63d84 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -4219,6 +4219,11 @@ host.config = talloc_strdup(tall_vty_cmd_ctx, filename); } +const char *host_config_file(void) +{ + return host.config; +} + /*! Deprecated, now happens implicitly when calling install_node(). * Users of the API may still attempt to call this function, hence * leave it here as a no-op. */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24252 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I69de9864fa7cd421557b9fc630beefea6d90b4cc Gerrit-Change-Number: 24252 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Mon May 17 18:45:02 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Mon, 17 May 2021 18:45:02 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-opencm3-projects_=C2=BB_a1=3Ddefa?= =?UTF-8?Q?ult,a2=3Ddefault,a3=3Ddefault,a4=3Dde?= =?UTF-8?Q?fault,osmocom-master-debian9_#11?= In-Reply-To: <1339800078.1119.1621190702134@jenkins.osmocom.org> References: <1339800078.1119.1621190702134@jenkins.osmocom.org> Message-ID: <15340642.1225.1621277102057@jenkins.osmocom.org> See Changes: ------------------------------------------ Started by upstream project "master-osmo-opencm3-projects" build number 11 originally caused by: Started by timer Running as SYSTEM Building remotely on build2-deb9build-ansible (ttcn3 osmocom-gerrit-debian9 osmocom-master-debian9 repo-install-test coverity) in workspace The recommended git tool is: NONE No credentials specified > git rev-parse --resolve-git-dir # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git://git.osmocom.org/osmo-opencm3-projects # timeout=10 Fetching upstream changes from git://git.osmocom.org/osmo-opencm3-projects > git --version # timeout=10 > git --version # 'git version 2.11.0' > git fetch --tags --progress -- git://git.osmocom.org/osmo-opencm3-projects +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision 7527cab6d8364b2022bd4fa2fd03039eac2a99bb (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 Commit message: "add missing libcommon.mk" > git rev-list --no-walk 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.libopencm3.url # timeout=10 > git config -f .gitmodules --get submodule.libopencm3.path # timeout=10 > git config --get submodule.librfn.url # timeout=10 > git config -f .gitmodules --get submodule.librfn.path # timeout=10 > git submodule update --init --recursive libopencm3 # timeout=10 > git submodule update --init --recursive librfn # timeout=10 [osmocom-master-debian9] $ /bin/sh -xe /tmp/jenkins2164283055931603181.sh + ARTIFACT_STORE=/home/osmocom-build/jenkins_build_artifact_store + mkdir -p /home/osmocom-build/jenkins_build_artifact_store + docker run --rm=true --cap-add SYS_PTRACE -e ARTIFACT_STORE=/artifact_store -e ASCIIDOC_WARNINGS_CHECK=1 -e HOME=/build -e JOB_NAME=master-osmo-opencm3-projects/a1=default,a2=default,a3=default,a4=default,label=osmocom-master-debian9 -e MAKE=make -e OSMOPY_DEBUG_TCP_SOCKETS=1 -e OSMO_GSM_MANUALS_DIR=/opt/osmo-gsm-manuals -e PARALLEL_MAKE=-j 8 -e PUBLISH=1 -e WITH_MANUALS=1 -w /build -i -u build -v :/build -v /home/osmocom-build/jenkins_build_artifact_store:/artifact_store -v /home/osmocom-build/.ssh:/home/build/.ssh:ro osmocom-build/debian-stretch-jenkins /build/contrib/jenkins.sh --publish =============== relay-driver START ============== CLEAN CC console.c arm-none-eabi-gcc: error: /usr/lib/picolibc/arm-none-eabi/picolibc.specs: No such file or directory make: *** [console.o] Error 1 ../../mk/libopencm3.mk:227: recipe for target 'console.o' failed Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Mon May 17 19:51:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 May 2021 19:51:07 +0000 Subject: Change in libosmocore[master]: vty: Implement missing public API host_config_file() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24252 ) Change subject: vty: Implement missing public API host_config_file() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24252 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I69de9864fa7cd421557b9fc630beefea6d90b4cc Gerrit-Change-Number: 24252 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 17 May 2021 19:51:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 19:52:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 May 2021 19:52:00 +0000 Subject: Change in pysim[master]: Update README In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24248 ) Change subject: Update README ...................................................................... Patch Set 1: Code-Review+1 Nice! -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24248 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96ac0f7caea8a28d2bbeba9e54911b4bd44aaad5 Gerrit-Change-Number: 24248 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 17 May 2021 19:52:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:27:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:27:29 +0000 Subject: Change in libosmo-sccp[master]: sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in Callin... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24218 ) Change subject: sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in CallingParty ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id66ae960ebe3cb3b09c6dd5454f9ac9c073f46d7 Gerrit-Change-Number: 24218 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-Comment-Date: Mon, 17 May 2021 20:27:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:27:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:27:40 +0000 Subject: Change in libosmo-sccp[master]: sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in Callin... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24218 ) Change subject: sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in CallingParty ...................................................................... sccp_scrc: Ensure we have not just SSN but at least OPC+SSN in CallingParty There are implementations out there which send us traffic, specifically in this case SCMG (SST) that has only SSN in both Called and Calling Party. This means the inbound SST message is routed correctly to the local SCCP user of libosmo-sigtran. But when that local SCCP user responds with inverting Called/Calling Party, the new destination again just contains a SSN. As a result, we don't know where to route the message (we always need a PC). Change-Id: Id66ae960ebe3cb3b09c6dd5454f9ac9c073f46d7 Closes: OS#5146 --- M src/sccp_scrc.c 1 file changed, 23 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/sccp_scrc.c b/src/sccp_scrc.c index b46b4f2..1da3890 100644 --- a/src/sccp_scrc.c +++ b/src/sccp_scrc.c @@ -440,6 +440,26 @@ return scrc_local_out_common(inst, xua, &called); } +/* ensure the CallingParty address doesn't just contain SSN, but at least SSN+PC */ +static void ensure_opc_in_calling_ssn(struct osmo_sccp_instance *inst, + struct xua_msg *xua) +{ + struct osmo_sccp_addr calling; + + sua_addr_parse(&calling, xua, SUA_IEI_SRC_ADDR); + + /* if we route on SSN and only have a SSN in the address... */ + if (calling.ri == OSMO_SCCP_RI_SSN_PC && + calling.presence == OSMO_SCCP_ADDR_T_SSN) { + /* add the M3UA OPC to the address to ensure that the recipient + * can actually respond back to the source */ + calling.presence |= OSMO_SCCP_ADDR_T_PC; + calling.pc = xua->mtp.opc; + xua_msg_free_tag(xua, SUA_IEI_SRC_ADDR); + xua_msg_add_sccp_addr(xua, SUA_IEI_SRC_ADDR, &calling); + } +} + /* Figure C.1/Q.714 Sheet 1 of 12, after we converted the * MTP-TRANSFER.ind to SUA. */ int scrc_rx_mtp_xfer_ind_xua(struct osmo_sccp_instance *inst, @@ -461,6 +481,9 @@ } /* We only treat connectionless and CR below */ + /* ensure we have at least OPC+SSN and not just SSN in CallingParty (OS#5146) */ + ensure_opc_in_calling_ssn(inst, xua); + sua_addr_parse(&called, xua, SUA_IEI_DEST_ADDR); /* Route on GT? */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id66ae960ebe3cb3b09c6dd5454f9ac9c073f46d7 Gerrit-Change-Number: 24218 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:28:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:28:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: add first a5/4 tests In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24246 ) Change subject: bts: add first a5/4 tests ...................................................................... bts: add first a5/4 tests Not much to do here, bts just passes the key. Related: SYS#5324 Change-Id: I38e8a1cf15eb41a621b457b39024283a767c94be --- M bts/BTS_Tests.ttcn M bts/expected-results.xml 2 files changed, 12 insertions(+), 0 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 8ae8eb2..eff1277 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -6706,6 +6706,11 @@ pars.encr := valueof(ts_RSL_IE_EncrInfo(RSL_ALG_ID_A5_3, f_rnd_octstring(8))); f_testmatrix_each_chan(pars, refers(f_TC_chan_act_encr)); } +testcase TC_chan_act_a54() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + pars.encr := valueof(ts_RSL_IE_EncrInfo(RSL_ALG_ID_A5_4, f_rnd_octstring(16))); + f_testmatrix_each_chan(pars, refers(f_TC_chan_act_encr)); +} /* Test channel activation with A5/n right from the beginning and RSL MODE MODIFY which should break the en/decryption on purpose by supplying a new key that is unknown to the MS*/ @@ -6827,6 +6832,11 @@ pars.encr := valueof(ts_RSL_IE_EncrInfo(RSL_ALG_ID_A5_3, f_rnd_octstring(8))); f_testmatrix_each_chan(pars, refers(f_TC_encr_cmd)); } +testcase TC_encr_cmd_a54() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + pars.encr := valueof(ts_RSL_IE_EncrInfo(RSL_ALG_ID_A5_4, f_rnd_octstring(16))); + f_testmatrix_each_chan(pars, refers(f_TC_encr_cmd)); +} private function f_assert_lapdm(octetstring enc, template LapdmFrame exp_match, charstring name := "") { var LapdmFrame lf; diff --git a/bts/expected-results.xml b/bts/expected-results.xml index 6142e40..b81358d 100644 --- a/bts/expected-results.xml +++ b/bts/expected-results.xml @@ -124,9 +124,11 @@ + + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24246 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: I38e8a1cf15eb41a621b457b39024283a767c94be Gerrit-Change-Number: 24246 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:28:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:28:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add first a5/4 tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 ) Change subject: msc: add first a5/4 tests ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 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: Idc055a006b325f58a5eafa88bc4415181b3500a2 Gerrit-Change-Number: 24247 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 May 2021 20:28:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:29:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:29:10 +0000 Subject: Change in osmo-sgsn[master]: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 ) Change subject: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 Gerrit-Change-Number: 24164 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 17 May 2021 20:29:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:29:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:29:54 +0000 Subject: Change in osmo-bts[master]: sysmo, oc2g, lc15: Make RadioChannel MO depend on RadioCarrier MO In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24245 ) Change subject: sysmo,oc2g,lc15: Make RadioChannel MO depend on RadioCarrier MO ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8c6e5ff98c32a3cd5006f5e5ed6875bcabb1d85f Gerrit-Change-Number: 24245 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 May 2021 20:29:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:30:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:30:28 +0000 Subject: Change in pysim[master]: pySim-read: adjust meaning of HPLMN/OPLMN flags in EF_SPN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24249 ) Change subject: pySim-read: adjust meaning of HPLMN/OPLMN flags in EF_SPN ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I65c6f0e9bc1a12a4a74c4274eebb8e612296888f Gerrit-Change-Number: 24249 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 May 2021 20:30:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:31:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:31:04 +0000 Subject: Change in pysim[master]: Update README In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24248 ) Change subject: Update README ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24248 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96ac0f7caea8a28d2bbeba9e54911b4bd44aaad5 Gerrit-Change-Number: 24248 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 May 2021 20:31:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:31:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:31:06 +0000 Subject: Change in pysim[master]: Update README In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24248 ) Change subject: Update README ...................................................................... Update README * Add instructions for convenient install on Archlinux * Update hyperlinks, replace http with https * Fix incorrect implicit code markup by explicit markup * Fix Typos, etc. * Adjust headlines Change-Id: I96ac0f7caea8a28d2bbeba9e54911b4bd44aaad5 --- M README.md 1 file changed, 70 insertions(+), 50 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/README.md b/README.md index 274ab11..3751078 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -pySim-prog - Utility for programmable SIM/USIM-Cards +pySim - Read, Write and Browse Programmable SIM/USIM Cards ==================================================== -This repository contains a Python-language program that can be used -to program (write) certain fields/parameters on so-called programmable +This repository contains Python programs that can be used +to read, program (write) and browse certain fields/parameters on so-called programmable SIM/USIM cards. Such SIM/USIM cards are special cards, which - unlike those issued by @@ -13,50 +13,73 @@ network, and want to issue your own SIM/USIM cards for that network. -Homepage --------- +Homepage and Manual +------------------- -The official homepage of the project is - +Please visit the [official homepage](https://osmocom.org/projects/pysim/wiki) for usage instructions, manual and examples. -GIT Repository +Git Repository -------------- -You can clone from the official libosmocore.git repository using +You can clone from the official Osmocom git repository using +``` +git clone git://git.osmocom.org/pysim.git +``` - git clone git://git.osmocom.org/pysim.git - -There is a cgit interface at +There is a cgit interface at -Dependencies +Installation ------------ -pysim requires: +Please install the following dependencies: -- pyscard -- serial -- pytlv -- cmd2 -- jsonpath-ng -- bidict + - pyscard + - serial + - pytlv + - cmd2 + - jsonpath-ng + - construct + - bidict + - gsm0338 Example for Debian: - - apt-get install python3-pyscard python3-serial python3-cmd2 python3-pip python3-yaml - pip3 install pytlv bidict +``` +apt-get install python3-pyscard python3-serial python3-cmd2 python3-pip python3-yaml +pip3 install pytlv jsonpath-ng construct bidict gsm0338 +``` Alternatively, everything can be installed using pip: +``` +pip3 install -r requirements.txt +``` - pip3 install -r requirements.txt +After installing all dependencies, the pySim applications ``pySim-read.py``, ``pySim-prog.py`` and ``pySim-shell.py`` may be started directly from the cloned repository. + +### Archlinux Package + +Archlinux users may install the package ``python-pysim-git`` +[![](https://img.shields.io/aur/version/python-pysim-git)](https://aur.archlinux.org/packages/python-pysim-git) +from the [Arch User Repository (AUR)](https://aur.archlinux.org). +The most convenient way is the use of an [AUR Helper](https://wiki.archlinux.org/index.php/AUR_helpers), +e.g. [yay](https://aur.archlinux.org/packages/yay) or [pacaur](https://aur.archlinux.org/packages/pacaur). +The following example shows the installation with ``yay``. + +```sh +# Install +yay -Sy python-pysim-git + +# Uninstall +sudo pacman -Rs python-pysim-git +``` Mailing List ------------ -There is no separate mailing list for this project. However, +There is no separate mailing list for this project. However, discussions related to pysim-prog are happening on the -openbsc at lists.osmocom.org mailing list, please see + mailing list, please see for subscription options and the list archive. @@ -64,6 +87,7 @@ Rules](https://osmocom.org/projects/cellular-infrastructure/wiki/Mailing_List_Rules) when posting. + Contributing ------------ @@ -74,40 +98,35 @@ -Manual ------- -p -Please see the sphinx based documentation in the 'docs' sub-directory -of the source. A PDF rendering of the user manual is available from - - - -Usage ------ +Usage Examples +-------------- * Program customizable SIMs. Two modes are possible: - - one where you specify every parameter manually : - + - one where you specify every parameter manually: +``` ./pySim-prog.py -n 26C3 -c 49 -x 262 -y 42 -i -s +``` - - - one where they are generated from some minimal set : - + - one where they are generated from some minimal set: +``` ./pySim-prog.py -n 26C3 -c 49 -x 262 -y 42 -z -j +``` - With and , the soft will generate - 'predictable' IMSI and ICCID, so make sure you choose them so as not to - conflict with anyone. (for eg. your name as and - 0 1 2 ... for ). +With ```` and ````, the soft will generate +'predictable' IMSI and ICCID, so make sure you choose them so as not to +conflict with anyone. (for e.g. your name as ```` and +0 1 2 ... for ````). - You also need to enter some parameters to select the device : - -t TYPE : type of card (supersim, magicsim, fakemagicsim or try 'auto') - -d DEV : Serial port device (default /dev/ttyUSB0) - -b BAUD : Baudrate (default 9600) +You also need to enter some parameters to select the device: - * Interact with SIMs from a python interactive shell (ipython for eg :) + -t TYPE : type of card (``supersim``, ``magicsim``, ``fakemagicsim`` or try ``auto``) + -d DEV : Serial port device (default ``/dev/ttyUSB0``) + -b BAUD : Baudrate (default 9600) + * Interact with SIMs from a python interactive shell (e.g. ipython): + +``` from pySim.transport.serial import SerialSimLink from pySim.commands import SimCardCommands @@ -121,3 +140,4 @@ # Run A3/A8 print(sc.run_gsm('00112233445566778899aabbccddeeff')) +``` -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24248 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96ac0f7caea8a28d2bbeba9e54911b4bd44aaad5 Gerrit-Change-Number: 24248 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:31:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:31:28 +0000 Subject: Change in libosmocore[master]: vty: Implement missing public API host_config_file() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24252 ) Change subject: vty: Implement missing public API host_config_file() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24252 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I69de9864fa7cd421557b9fc630beefea6d90b4cc Gerrit-Change-Number: 24252 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 May 2021 20:31:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:31:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:31:32 +0000 Subject: Change in libosmocore[master]: vty: Implement missing public API host_config_file() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24252 ) Change subject: vty: Implement missing public API host_config_file() ...................................................................... vty: Implement missing public API host_config_file() The API was defined in the header file but not implemented. Change-Id: I69de9864fa7cd421557b9fc630beefea6d90b4cc --- M include/osmocom/vty/command.h M src/vty/command.c 2 files changed, 6 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/vty/command.h b/include/osmocom/vty/command.h index 228dc5b..81333b4 100644 --- a/include/osmocom/vty/command.h +++ b/include/osmocom/vty/command.h @@ -457,7 +457,7 @@ extern struct cmd_element config_help_cmd; extern struct cmd_element config_list_cmd; extern struct cmd_element config_end_cmd; -char *host_config_file(); +const char *host_config_file(void); void host_config_set(const char *); char *osmo_asciidoc_escape(const char *inp); diff --git a/src/vty/command.c b/src/vty/command.c index 4825109..6d63d84 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -4219,6 +4219,11 @@ host.config = talloc_strdup(tall_vty_cmd_ctx, filename); } +const char *host_config_file(void) +{ + return host.config; +} + /*! Deprecated, now happens implicitly when calling install_node(). * Users of the API may still attempt to call this function, hence * leave it here as a no-op. */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24252 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I69de9864fa7cd421557b9fc630beefea6d90b4cc Gerrit-Change-Number: 24252 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:31:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:31:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: fix TC_one_crcx_loopback_rtp_implicit In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24250 ) Change subject: MGCP_Test: fix TC_one_crcx_loopback_rtp_implicit ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24250 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: I80498737d5b32f28b62e0c17cce1969b54af948c Gerrit-Change-Number: 24250 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 May 2021 20:31:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:32:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:32:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: add testcase TC_one_crcx_loopback_rtp_ipv6 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24251 ) Change subject: MGCP_Test: add testcase TC_one_crcx_loopback_rtp_ipv6 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24251 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: If16ee5186fa697caa9cc404b7159be054cac5196 Gerrit-Change-Number: 24251 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 May 2021 20:32:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:32:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:32:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: fix TC_one_crcx_loopback_rtp_implicit In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24250 ) Change subject: MGCP_Test: fix TC_one_crcx_loopback_rtp_implicit ...................................................................... MGCP_Test: fix TC_one_crcx_loopback_rtp_implicit The testcase TC_one_crcx_loopback_rtp_implicit uses f_TC_one_crcx_loopback_rtp, which creates the RTP flow with IPv4 addresses but since we do not send a local RTP IP address with the CRCX to the MGW, the MGW will prefer IPv6, which means that we get an IPv6 address back while the RTP strem is IPv4 on the TTCN3 side. Related: OS#5123 Change-Id: I80498737d5b32f28b62e0c17cce1969b54af948c --- M mgw/MGCP_Test.ttcn 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index c4f97a8..5575f7a 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -1693,14 +1693,14 @@ /* Create one connection in loopback mode, test if the RTP packets are * actually reflected */ - function f_TC_one_crcx_loopback_rtp(boolean one_phase := true) runs on dummy_CT { + function f_TC_one_crcx_loopback_rtp(charstring local_ip, charstring remote_ip, boolean one_phase := true) runs on dummy_CT { var RtpFlowData flow; var MgcpEndpoint ep := c_mgw_ep_rtpbridge & "1@" & c_mgw_domain; var MgcpCallId call_id := '1225'H; var RtpemStats stats; f_init(ep); - flow := valueof(t_RtpFlow(mp_local_ipv4, mp_remote_ipv4, 111, "GSM-HR-08/8000/1")); + flow := valueof(t_RtpFlow(local_ip, remote_ip, 111, "GSM-HR-08/8000/1")); flow.em.portnr := 10000; f_flow_create(RTPEM[0], ep, call_id, "loopback", flow, one_phase := one_phase); @@ -1725,7 +1725,7 @@ /* Create one connection in loopback mode, test if the RTP packets are * actually reflected */ testcase TC_one_crcx_loopback_rtp() runs on dummy_CT { - f_TC_one_crcx_loopback_rtp(one_phase := true) + f_TC_one_crcx_loopback_rtp(mp_local_ipv4, mp_remote_ipv4, one_phase := true) } /* Same as above, but we will intenionally not tell the MGW where to @@ -1733,7 +1733,7 @@ * loopback mode, so the MGW should take the originating address from * the incoming RTP packet and send it back to the source */ testcase TC_one_crcx_loopback_rtp_implicit() runs on dummy_CT { - f_TC_one_crcx_loopback_rtp(one_phase := false) + f_TC_one_crcx_loopback_rtp(mp_local_ipv6, mp_remote_ipv6, one_phase := false) } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24250 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: I80498737d5b32f28b62e0c17cce1969b54af948c Gerrit-Change-Number: 24250 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:32:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:32:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: add testcase TC_one_crcx_loopback_rtp_ipv6 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24251 ) Change subject: MGCP_Test: add testcase TC_one_crcx_loopback_rtp_ipv6 ...................................................................... MGCP_Test: add testcase TC_one_crcx_loopback_rtp_ipv6 There is an TC_one_crcx_loopback_rtp, an ipv6 variant can be added with minimal effort. Change-Id: If16ee5186fa697caa9cc404b7159be054cac5196 --- M mgw/MGCP_Test.ttcn 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 5575f7a..c1e263a 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -1727,6 +1727,9 @@ testcase TC_one_crcx_loopback_rtp() runs on dummy_CT { f_TC_one_crcx_loopback_rtp(mp_local_ipv4, mp_remote_ipv4, one_phase := true) } + testcase TC_one_crcx_loopback_rtp_ipv6() runs on dummy_CT { + f_TC_one_crcx_loopback_rtp(mp_local_ipv6, mp_remote_ipv6, one_phase := true) + } /* Same as above, but we will intenionally not tell the MGW where to * send the outgoing traffic. The connection is still created in @@ -2441,6 +2444,7 @@ execute(TC_one_crcx_receive_only_rtp()); execute(TC_one_crcx_loopback_rtp()); + execute(TC_one_crcx_loopback_rtp_ipv6()); execute(TC_one_crcx_loopback_rtp_implicit()); execute(TC_two_crcx_and_rtp()); execute(TC_two_crcx_and_rtp_bidir()); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24251 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: If16ee5186fa697caa9cc404b7159be054cac5196 Gerrit-Change-Number: 24251 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:32:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:32:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_rim_ran_info_req_single_rep_eutran In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24170 ) Change subject: pcu: Introduce test TC_rim_ran_info_req_single_rep_eutran ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24170 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: I87f3daba1521d2dc8eed78ffdc6de5744484ba7a Gerrit-Change-Number: 24170 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 May 2021 20:32:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:32:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:32:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn: Introduce test TC_rim_eutran_to_geran In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24129 ) Change subject: sgsn: Introduce test TC_rim_eutran_to_geran ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24129 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: I9dcf6ee2dc55bc6aba178eca30080233254f025e Gerrit-Change-Number: 24129 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 May 2021 20:32:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:33:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:33:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn: Introduce test TC_rim_eutran_to_geran In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24129 ) Change subject: sgsn: Introduce test TC_rim_eutran_to_geran ...................................................................... sgsn: Introduce test TC_rim_eutran_to_geran GTP_Templates.ttcn new templates use BssgpCellId, hence it depends on Osmocom_Gb_Types.ttcn. Related: SYS#5314 Change-Id: I9dcf6ee2dc55bc6aba178eca30080233254f025e --- M deps/Makefile M ggsn_tests/gen_links.sh M library/GTP_Emulation.ttcn M library/GTP_Templates.ttcn M pgw/gen_links.sh M sgsn/SGSN_Tests.ttcn M sgsn/osmo-sgsn.cfg 7 files changed, 580 insertions(+), 17 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/deps/Makefile b/deps/Makefile index 8dc2a82..3d49a68 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -15,6 +15,7 @@ ECLIPSEGITHUB:=https://github.com/eclipse ECLIPSEGIT2:=https://git.eclipse.org/r/titan +ECLIPSEGITLAB:=https://gitlab.eclipse.org/eclipse/titan OSMOGITHUB:=https://github.com/osmocom OSMOGIT:=git://git.osmocom.org @@ -51,7 +52,6 @@ titan.ProtocolModules.SUA \ titan.ProtocolModules.SDP \ titan.ProtocolModules.BSSAPP_v7.3.0 \ - titan.ProtocolModules.GTP_v13.5.0 \ titan.ProtocolModules.GTPv2_v13.7.0 \ titan.ProtocolModules.ISUP_Q.762 \ titan.ProtocolModules.LLC_v7.1.0 \ @@ -61,6 +61,8 @@ titan.ProtocolModules.SGsAP_13.2.0 \ titan.ProtocolModules.SNDCP_v7.0.0 +ECLIPSEGITLAB_REPOS= titan.ProtocolModules.GTP_v13.5.0 + OSMOGITHUB_REPOS= titan.TestPorts.SCTPasp \ titan.TestPorts.MTP3asp \ titan.TestPorts.UDPasp \ @@ -73,7 +75,7 @@ titan.TestPorts.AF_PACKET \ osmo-uecups -ALL_REPOS=$(ECLIPSEGITHUB_REPOS) $(ECLIPSEGIT2_REPOS) $(OSMOGITHUB_REPOS) $(OSMOGIT_REPOS) +ALL_REPOS=$(ECLIPSEGITHUB_REPOS) $(ECLIPSEGIT2_REPOS) $(ECLIPSEGITLAB_REPOS) $(OSMOGITHUB_REPOS) $(OSMOGIT_REPOS) # Tag names from 'git-describe --tags'; if not available, a commit hash may be used instead. # Do not put references to branches here, except for local testing: this breaks the caching @@ -87,7 +89,7 @@ titan.ProtocolModules.BSSMAP_commit= 24f967b2f77bfdd2e6eabf1e82fa76239095f772 titan.ProtocolModules.DNS_commit= R.7.B titan.ProtocolModules.GRE_commit= R.2.A-5-g654c446 -titan.ProtocolModules.GTP_v13.5.0_commit= R.2.A-5-ge120ace +titan.ProtocolModules.GTP_v13.5.0_commit= 54219599037626c675610d3a44433d01af264fbb titan.ProtocolModules.GTPv2_v13.7.0_commit= R.2.A-5-g85cb124 titan.ProtocolModules.ICMP_commit= e49d9fb9f7de637b4bf4803dc6b6e911a8661640 titan.ProtocolModules.ICMPv6_commit= 46f4d9b6e1e3c794294a92588401a81e4881dd27 @@ -187,6 +189,9 @@ $(foreach dir,$(ECLIPSEGIT2_REPOS), \ $(eval $(call GIT_template,$(dir),$(ECLIPSEGIT2)))) +$(foreach dir,$(ECLIPSEGITLAB_REPOS), \ + $(eval $(call GIT_template,$(dir),$(ECLIPSEGITLAB)))) + $(foreach dir,$(OSMOGITHUB_REPOS), \ $(eval $(call GIT_template,$(dir),$(OSMOGITHUB)))) diff --git a/ggsn_tests/gen_links.sh b/ggsn_tests/gen_links.sh index 1b54e9d..f9bae1c 100755 --- a/ggsn_tests/gen_links.sh +++ b/ggsn_tests/gen_links.sh @@ -44,9 +44,17 @@ FILES="TELNETasp_PT.cc TELNETasp_PT.hh TELNETasp_PortType.ttcn" gen_links $DIR $FILES +DIR=$BASEDIR/titan.ProtocolModules.NS_v7.3.0/src +FILES="NS_Types.ttcn" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.ProtocolModules.BSSGP_v13.0.0/src +FILES="BSSGP_EncDec.cc BSSGP_Types.ttcn" +gen_links $DIR $FILES + DIR=../library FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn Osmocom_Types.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPCP_Types.ttcn PAP_Types.ttcn " -FILES+="GTP_CodecPort.ttcn GTP_CodecPort_CtrlFunct.ttcn GTP_CodecPort_CtrlFunctDef.cc GTP_Templates.ttcn " +FILES+="GTP_CodecPort.ttcn GTP_CodecPort_CtrlFunct.ttcn GTP_CodecPort_CtrlFunctDef.cc GTP_Templates.ttcn Osmocom_Gb_Types.ttcn " FILES+="Osmocom_VTY_Functions.ttcn " gen_links $DIR $FILES diff --git a/library/GTP_Emulation.ttcn b/library/GTP_Emulation.ttcn index 43c034b..b67e828 100644 --- a/library/GTP_Emulation.ttcn +++ b/library/GTP_Emulation.ttcn @@ -43,6 +43,7 @@ /* Communication with Clients */ port GTPEM_PT CLIENT; port GTPEM_PROC_PT CLIENT_PROC; + port GTPEM_PT CLIENT_DEFAULT; /* Configuration by the user */ var GtpEmulationCfg g_gtp_cfg; @@ -199,11 +200,16 @@ vc_conn := f_comp_by_teid(g1c_ud.gtpc.teid); CLIENT.send(g1c_ud) to vc_conn; } else { - /* Send to all clients */ - var integer i; - for (i := 0; i < sizeof(TidTable); i := i+1) { - if (isbound(TidTable[i].teid) and TidTable[i].teid == teid) { - CLIENT.send(g1c_ud) to TidTable[i].vc_conn; + /* Check if a default port is set: */ + if (CLIENT_DEFAULT.checkstate("Connected")) { + CLIENT_DEFAULT.send(g1c_ud); + } else { + /* Send to all clients */ + var integer i; + for (i := 0; i < sizeof(TidTable); i := i+1) { + if (isbound(TidTable[i].teid) and TidTable[i].teid == teid) { + CLIENT.send(g1c_ud) to TidTable[i].vc_conn; + } } } } @@ -220,7 +226,9 @@ [] CLIENT.receive(Gtp1uUnitdata:?) -> value g1u_ud sender vc_conn { GTPU.send(g1u_ud); } - + [] CLIENT_DEFAULT.receive(Gtp1cUnitdata:?) -> value g1c_ud sender vc_conn { + GTPC.send(g1c_ud); + } [] CLIENT_PROC.getcall(GTPEM_register_imsi:{?}) -> param(imsi) sender vc_conn { f_imsi_tbl_add(imsi, vc_conn); diff --git a/library/GTP_Templates.ttcn b/library/GTP_Templates.ttcn index aa42759..1bd56e1 100644 --- a/library/GTP_Templates.ttcn +++ b/library/GTP_Templates.ttcn @@ -17,6 +17,7 @@ import from GTPU_Types all; import from GTP_CodecPort all; import from IPCP_Types all; + import from Osmocom_Gb_Types all; // BssgpCellId /* Table 38 of 3GPP TS 29.060 */ type enumerated GTP_Cause { @@ -30,6 +31,28 @@ /* FIXME */ }; + private function f_oct_or_wc(template integer inp, integer len) return template octetstring { + if (istemplatekind(inp, "omit")) { + return omit; + } else if (istemplatekind(inp, "*")) { + return *; + } else if (istemplatekind(inp, "?")) { + return ?; + } + return int2oct(valueof(inp), len); + } + + private function f_hex_or_wc(template integer inp, integer len) return template hexstring { + if (istemplatekind(inp, "omit")) { + return omit; + } else if (istemplatekind(inp, "*")) { + return *; + } else if (istemplatekind(inp, "?")) { + return ?; + } + return int2hex(valueof(inp), len); + } + /* generalized GTP-C receive template */ template PDU_GTPC tr_GTP1C_PDU(template OCT1 msg_type, template OCT4 teid, template GTPC_PDUs pdu := ?) := { /* N-PDU Number flag (PN) shall be set to '0'. A GTP-C receiver shall not return an @@ -612,6 +635,408 @@ } + /* GTP-C RIM */ + + template (value) RIM_Application_Identity_GTPC ts_GTPC_RIM_Application_Identity(OCT1 app_id) := { + iEI := '4B'O, + ext := '1'B, + lengthIndicator := { + length1 := 1 + }, + rIMApplicationIdentity := app_id + } + /* 3GPP TS 48.018 11.3.62 */ + template (value) RIM_Sequence_Number_GTPC ts_GTPC_RIM_Sequence_Number(integer seq) := { + iEI := '4C'O, + ext := '1'B, + lengthIndicator := { + length1 := 4 + }, + rIMSequenceNumber := int2oct(seq, 4) + } + template (value) RIM_PDU_Indications_GTPC ts_GTPC_RIM_PDU_Indications(boolean ack, BIT3 type_ext) := { + iEI := '4F'O, + ext := '1'B, + lengthIndicator := { + length1 := 1 + }, + ack := bool2bit(ack), + pDU_Type_Extension := type_ext, + reserved := '0000'B + } + /* 3GPP TS 48.018 11.3.67 */ + template (value) RIM_Protocol_Version_Number_GTPC ts_GTPC_RIM_Protocol_Version_Number(integer ver) := { + iEI := '55'O, + ext := '1'B, + lengthIndicator := { + length1 := 1 + }, + rIMProtocolVersionNumber := int2oct(ver, 1) + } + function tr_GTPC_Cell_Identifier_V(template BssgpCellId cid) return template Cell_Identifier_V_GTPC { + var template Cell_Identifier_V_GTPC ret := { + mccDigit1 := ?, + mccDigit2 := ?, + mccDigit3 := ?, + mncDigit3 := ?, + mncDigit1 := ?, + mncDigit2 := ?, + lac := ?, + rac := ?, + cI_value := ? + } + if (istemplatekind(cid, "omit")) { + return omit; + } else if (istemplatekind(cid, "*")) { + return *; + } else if (istemplatekind(cid, "?")) { + return ?; + } + if (isvalue(cid) and isvalue(cid.ra_id) and isvalue(cid.ra_id.lai)) { + if (isvalue(cid.ra_id.lai.mcc_mnc)) { + ret.mccDigit1 := cid.ra_id.lai.mcc_mnc[0]; + ret.mccDigit2 := cid.ra_id.lai.mcc_mnc[1]; + ret.mccDigit3 := cid.ra_id.lai.mcc_mnc[2]; + ret.mncDigit3 := cid.ra_id.lai.mcc_mnc[3]; + ret.mncDigit1 := cid.ra_id.lai.mcc_mnc[4]; + ret.mncDigit2 := cid.ra_id.lai.mcc_mnc[5]; + } + if (isvalue(cid.ra_id.lai.lac)) { + ret.lac := f_oct_or_wc(cid.ra_id.lai.lac, 2); + } + } + if (isvalue(cid) and isvalue(cid.ra_id)) { + ret.rac := f_oct_or_wc(cid.ra_id.rac, 1); + } + if (isvalue(cid)) { + ret.cI_value := f_oct_or_wc(cid.cell_id, 2); + } + return ret; + } + template (value) Cell_Identifier_V_GTPC ts_GTPC_Cell_Identifier_V(BssgpCellId cid) := { + mccDigit1 := cid.ra_id.lai.mcc_mnc[0], + mccDigit2 := cid.ra_id.lai.mcc_mnc[1], + mccDigit3 := cid.ra_id.lai.mcc_mnc[2], + mncDigit3 := cid.ra_id.lai.mcc_mnc[3], + mncDigit1 := cid.ra_id.lai.mcc_mnc[4], + mncDigit2 := cid.ra_id.lai.mcc_mnc[5], + lac := int2oct(cid.ra_id.lai.lac, 2), + rac := int2oct(cid.ra_id.rac, 1), + cI_value := int2oct(cid.cell_id, 2) + } + template RIM_Routing_Address_GTPC t_GTPC_RIM_Routing_Address_cid(BssgpCellId cid) := { + cell_Identifier := ts_GTPC_Cell_Identifier_V(cid) + } + function tr_GTPC_ENB_Identifier(template BssgpCellId cid, template integer tac, template octetstring gnbid) return template ENB_Identifier { + var template ENB_Identifier ret := { + mccDigit1 := ?, + mccDigit2 := ?, + mccDigit3 := ?, + mncDigit3 := ?, + mncDigit1 := ?, + mncDigit2 := ?, + tAC := ?, + globalENB_ID := ? + } + if (istemplatekind(cid, "omit") and istemplatekind(tac, "omit") and istemplatekind(gnbid, "omit")) { + return omit; + } else if (istemplatekind(cid, "*") and istemplatekind(tac, "*") and istemplatekind(gnbid, "*")) { + return *; + } else if (istemplatekind(cid, "?") and istemplatekind(tac, "?") and istemplatekind(gnbid, "?")) { + return ?; + } + if (isvalue(cid) and isvalue(cid.ra_id) and isvalue(cid.ra_id.lai)) { + if (isvalue(cid.ra_id.lai.mcc_mnc)) { + ret.mccDigit1 := cid.ra_id.lai.mcc_mnc[0]; + ret.mccDigit2 := cid.ra_id.lai.mcc_mnc[1]; + ret.mccDigit3 := cid.ra_id.lai.mcc_mnc[2]; + ret.mncDigit3 := cid.ra_id.lai.mcc_mnc[3]; + ret.mncDigit1 := cid.ra_id.lai.mcc_mnc[4]; + ret.mncDigit2 := cid.ra_id.lai.mcc_mnc[5]; + } + } + if (isvalue(tac)) { + ret.tAC := int2oct(valueof(tac), 2); + } + if (isvalue(gnbid)) { + ret.globalENB_ID := gnbid; + } + + return ret; + } + template (value) ENB_Identifier ts_GTPC_ENB_Identifier(BssgpCellId cid, integer tac, octetstring gnbid) := { + mccDigit1 := cid.ra_id.lai.mcc_mnc[0], + mccDigit2 := cid.ra_id.lai.mcc_mnc[1], + mccDigit3 := cid.ra_id.lai.mcc_mnc[2], + mncDigit3 := cid.ra_id.lai.mcc_mnc[3], + mncDigit1 := cid.ra_id.lai.mcc_mnc[4], + mncDigit2 := cid.ra_id.lai.mcc_mnc[5], + tAC := int2oct(tac, 2), + globalENB_ID := gnbid + } + template RIM_Routing_Address_GTPC t_GTPC_RIM_Routing_Address_enbid(BssgpCellId cid, integer tac, octetstring gnbid) := { + eNB_Identifier := ts_GTPC_ENB_Identifier(cid, tac, gnbid) + } + template RIM_Routing_Information_GTPC + tr_GTPC_RIM_Routing_Information(HEX1 addr_discr, template RIM_Routing_Address_GTPC addr) := { + iEI := '54'O, + ext := '1'B, + lengthIndicator := { + length1 := ? + }, + rIMRoutingAddressDiscriminator := addr_discr, + spare := '0'H, + rIM_Routing_Address := addr + } + template (value) RIM_Routing_Information_GTPC + ts_GTPC_RIM_Routing_Information(HEX1 addr_discr, template (value) RIM_Routing_Address_GTPC addr) := { + iEI := '54'O, + ext := '1'B, + lengthIndicator := { + length1 := 0 /* overwritten */ + }, + rIMRoutingAddressDiscriminator := addr_discr, + spare := '0'H, + rIM_Routing_Address := addr + } + /* 3GPP TS 48.018 11.3.63.1.1 */ + template RAN_Information_Request_Application_Container_NACC_GTPC + tr_GTPC_RAN_Information_Request_Application_Container_NACC(template BssgpCellId cid) := { + iEI := '4D'O, + ext := '1'B, + lengthIndicator := { + length1 := ? + }, + reporting_Cell_Identifier := tr_GTPC_Cell_Identifier_V(cid) + } + template (value) RAN_Information_Request_Application_Container_NACC_GTPC + ts_GTPC_RAN_Information_Request_Application_Container_NACC(BssgpCellId cid) := { + iEI := '4D'O, + ext := '1'B, + lengthIndicator := { + length1 := 0 /* overwritten */ + }, + reporting_Cell_Identifier := ts_GTPC_Cell_Identifier_V(cid) + } + /* 3GPP TS 48.018 11.3.63.1 */ + template RAN_Information_Request_Application_Container_GTPC + tru_GTPC_RAN_Information_Request_Application_Container_NACC(template BssgpCellId cid) := { + nacc := tr_GTPC_RAN_Information_Request_Application_Container_NACC(cid) + } + template (value) RAN_Information_Request_Application_Container_GTPC + tsu_GTPC_RAN_Information_Request_Application_Container_NACC(BssgpCellId cid) := { + nacc := ts_GTPC_RAN_Information_Request_Application_Container_NACC(cid) + } + /* 3GPP TS 48.018 11.3.63.2.1 */ + template RAN_Information_Application_Container_NACC_GTPC + tr_GTPC_RAN_Information_Application_Container_NACC(template BssgpCellId cid, boolean psi_type, integer si_psi_num, octetstring si_psi) := { + iEI := '4E'O, + ext := '1'B, + lengthIndicator := { + length1 := ? + }, + reporting_Cell_Identifier := tr_GTPC_Cell_Identifier_V(cid), + typeBit := bool2bit(psi_type), + number_of_SI_PSI := int2bit(si_psi_num, 7), + sI_PSI := si_psi + } + template (value) RAN_Information_Application_Container_NACC_GTPC + ts_GTPC_RAN_Information_Application_Container_NACC(BssgpCellId cid, boolean psi_type, integer si_psi_num, octetstring si_psi) := { + iEI := '4E'O, + ext := '1'B, + lengthIndicator := { + length1 := 0 /* overwritten */ + }, + reporting_Cell_Identifier := ts_GTPC_Cell_Identifier_V(cid), + typeBit := bool2bit(psi_type), + number_of_SI_PSI := int2bit(si_psi_num, 7), + sI_PSI := si_psi + } + + /* RAN_Information_Request */ + template (value) RAN_Information_Request_RIM_Container_GTPC + ts_GTPC_RAN_Information_Request_RIM_Container(template (value) RIM_Application_Identity_GTPC app_id, + template (value) RIM_Sequence_Number_GTPC seq, + template (value) RIM_PDU_Indications_GTPC ind, + template (omit) RIM_Protocol_Version_Number_GTPC ver := omit, + template (omit) RAN_Information_Request_Application_Container_GTPC app_cont := omit, + template (omit) SON_TransferApplicationIdentity son_app_id := omit) := { + iEI := '57'O, + ext := '1'B, + lengthIndicator := { + length1 := 0 /* overwritten */ + }, + rIM_Application_Identity := app_id, + rIM_Sequence_Number := seq, + rIM_PDU_Indications := ind, + rIM_Protocol_Version_Number := ver, + application_Container := app_cont, + sON_TransferApplicationIdentity := son_app_id + } + template (value) PDU_BSSGP_RAN_INFORMATION_REQUEST_GTPC + ts_GTPC_RAN_Information_Request(template (value) RIM_Routing_Information_GTPC dest, + template (value) RIM_Routing_Information_GTPC src, + template (value) RAN_Information_Request_RIM_Container_GTPC cont) := { + bssgpPduType := '71'O, + destination_Cell_Identifier := dest, + source_Cell_Identifier := src, + rIM_Container := cont + } + template (value) RANTransparentContainer ts_RANTransparentContainer_RAN_INFO_REQ(template (value) PDU_BSSGP_RAN_INFORMATION_REQUEST_GTPC pdu) := { + type_gtpc := '90'O, + lengthf := 0, /* FIXME */ + rANTransparentContainerField := { + pDU_BSSGP_RAN_INFORMATION_REQUEST := pdu + } + } + + /* RAN_Information */ + template ApplContainer_or_ApplErrContainer_NACC_GTPC + tru_GTPC_ApplContainer_NACC(BssgpCellId cid, boolean psi_type, integer si_psi_num, octetstring si_psi) := { + application_Container := tr_GTPC_RAN_Information_Application_Container_NACC(cid, psi_type, si_psi_num, si_psi) + } + template (value) ApplContainer_or_ApplErrContainer_NACC_GTPC + tsu_GTPC_ApplContainer_NACC(BssgpCellId cid, boolean psi_type, integer si_psi_num, octetstring si_psi) := { + application_Container := ts_GTPC_RAN_Information_Application_Container_NACC(cid, psi_type, si_psi_num, si_psi) + } + template ApplContainer_or_ApplErrContainer_GTPC + tru_GTPC_ApplContainer_or_ApplErrContainer_NACC(template ApplContainer_or_ApplErrContainer_NACC_GTPC cont) := { + nacc := cont + } + template (value) ApplContainer_or_ApplErrContainer_GTPC + tsu_GTPC_ApplContainer_or_ApplErrContainer_NACC(template (value) ApplContainer_or_ApplErrContainer_NACC_GTPC cont) := { + nacc := cont + } + template RAN_Information_RIM_Container_GTPC + tr_GTPC_RAN_Information_RIM_Container(template RIM_Application_Identity_GTPC app_id, + template RIM_Sequence_Number_GTPC seq, + template RIM_PDU_Indications_GTPC ind, + template RIM_Protocol_Version_Number_GTPC ver := omit, + template ApplContainer_or_ApplErrContainer_GTPC app_cont := omit, + template SON_TransferApplicationIdentity son_app_id := omit) := { + iEI := '58'O, + ext := '1'B, + lengthIndicator := { + length1 := ? + }, + rIM_Application_Identity := app_id, + rIM_Sequence_Number := seq, + rIM_PDU_Indications := ind, + rIM_Protocol_Version_Number := ver, + applContainer_or_ApplErrContainer := app_cont, + sON_TransferApplicationIdentity := son_app_id + } + template (value) RAN_Information_RIM_Container_GTPC + ts_GTPC_RAN_Information_RIM_Container(template (value) RIM_Application_Identity_GTPC app_id, + template (value) RIM_Sequence_Number_GTPC seq, + template (value) RIM_PDU_Indications_GTPC ind, + template (omit) RIM_Protocol_Version_Number_GTPC ver := omit, + template (omit) ApplContainer_or_ApplErrContainer_GTPC app_cont := omit, + template (omit) SON_TransferApplicationIdentity son_app_id := omit) := { + iEI := '58'O, + ext := '1'B, + lengthIndicator := { + length1 := 0 /* overwritten */ + }, + rIM_Application_Identity := app_id, + rIM_Sequence_Number := seq, + rIM_PDU_Indications := ind, + rIM_Protocol_Version_Number := ver, + applContainer_or_ApplErrContainer := app_cont, + sON_TransferApplicationIdentity := son_app_id + } + template PDU_BSSGP_RAN_INFORMATION_GTPC + tr_GTPC_RAN_Information(template RIM_Routing_Information_GTPC dest, + template RIM_Routing_Information_GTPC src, + template RAN_Information_RIM_Container_GTPC cont) := { + bssgpPduType := '70'O, + destination_Cell_Identifier := dest, + source_Cell_Identifier := src, + rIM_Container := cont + } + template (value) PDU_BSSGP_RAN_INFORMATION_GTPC + ts_GTPC_RAN_Information(template (value) RIM_Routing_Information_GTPC dest, + template (value) RIM_Routing_Information_GTPC src, + template (value) RAN_Information_RIM_Container_GTPC cont) := { + bssgpPduType := '70'O, + destination_Cell_Identifier := dest, + source_Cell_Identifier := src, + rIM_Container := cont + } + template RANTransparentContainer tr_RANTransparentContainer_RAN_INFO(template PDU_BSSGP_RAN_INFORMATION_GTPC pdu) := { + type_gtpc := '90'O, + lengthf := ?, + rANTransparentContainerField := { + pDU_BSSGP_RAN_INFORMATION := pdu + } + } + template (value) RANTransparentContainer ts_RANTransparentContainer_RAN_INFO(template (value) PDU_BSSGP_RAN_INFORMATION_GTPC pdu) := { + type_gtpc := '90'O, + lengthf := 0, /* overwritten */ + rANTransparentContainerField := { + pDU_BSSGP_RAN_INFORMATION := pdu + } + } + + template RANTransparentContainer tr_RANTransparentContainer(template RANTransparentContainerField rANTransparentContainerField) := { + type_gtpc := '90'O, + lengthf := ?, + rANTransparentContainerField := rANTransparentContainerField + } + template (value) RANTransparentContainer ts_RANTransparentContainer(template (value) RANTransparentContainerField rANTransparentContainerField) := { + type_gtpc := '90'O, + lengthf := 0, /* overwritten */ + rANTransparentContainerField := rANTransparentContainerField + } + template GTPC_PDUs tr_RANInfoRelay(template RANTransparentContainer transparentContainer) := { + ranInformationRelay := { + transparentContainer := transparentContainer, + rIM_RoutingAddress := *, + rIM_RoutingAddress_Discriminator := *, + private_extension_gtpc := * + } + } + template (value) GTPC_PDUs ts_RANInfoRelay(template (value) RANTransparentContainer transparentContainer) := { + ranInformationRelay := { + transparentContainer := transparentContainer, + rIM_RoutingAddress := omit, + rIM_RoutingAddress_Discriminator := omit, + private_extension_gtpc := omit + } + } + template Gtp1cUnitdata + tr_GTPC_RANInfoRelay(template GtpPeer peer, + template RANTransparentContainer transparentContainer) := { + peer := peer, + gtpc := tr_GTP1C_PDU(rANInformationRelay, '00000000'O, tr_RANInfoRelay(transparentContainer)) + } + template (value) Gtp1cUnitdata + ts_GTPC_RANInfoRelay(template (value) GtpPeer peer, + template (value) RANTransparentContainer transparentContainer) := { + peer := peer, + gtpc := ts_GTP1C_PDU(rANInformationRelay, '00000000'O, valueof(ts_RANInfoRelay(transparentContainer)), 0) + } + + + template RAN_Information_Request_RIM_Container_GTPC + tr_GTPC_RAN_Information_Request_RIM_Container(template RIM_Application_Identity_GTPC app_id := ?, + template RIM_Sequence_Number_GTPC seq := ?, + template RIM_PDU_Indications_GTPC ind := ?, + template RIM_Protocol_Version_Number_GTPC ver := *, + template RAN_Information_Request_Application_Container_GTPC app_cont := *, + template SON_TransferApplicationIdentity son_app_id := *) := { + iEI := '57'O, + ext := '1'B, + lengthIndicator := { + length1 := ? + }, + rIM_Application_Identity := app_id, + rIM_Sequence_Number := seq, + rIM_PDU_Indications := ind, + rIM_Protocol_Version_Number := ver, + application_Container := app_cont, + sON_TransferApplicationIdentity := son_app_id + } /* GTP-U */ diff --git a/pgw/gen_links.sh b/pgw/gen_links.sh index a0f1281..b061fea 100755 --- a/pgw/gen_links.sh +++ b/pgw/gen_links.sh @@ -32,6 +32,14 @@ FILES="UDP_EncDec.cc UDP_Types.ttcn" gen_links $DIR $FILES +DIR=$BASEDIR/titan.ProtocolModules.NS_v7.3.0/src +FILES="NS_Types.ttcn" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.ProtocolModules.BSSGP_v13.0.0/src +FILES="BSSGP_EncDec.cc BSSGP_Types.ttcn" +gen_links $DIR $FILES + DIR=$BASEDIR/titan.ProtocolModules.GTP_v13.5.0/src FILES="GTPC_EncDec.cc GTPC_Types.ttcn GTPU_EncDec.cc GTPU_Types.ttcn" gen_links $DIR $FILES @@ -50,7 +58,7 @@ DIR=../library FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn Osmocom_Types.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPCP_Types.ttcn PAP_Types.ttcn " -FILES+="GTP_CodecPort.ttcn GTP_CodecPort_CtrlFunct.ttcn GTP_CodecPort_CtrlFunctDef.cc GTP_Templates.ttcn " +FILES+="GTP_CodecPort.ttcn GTP_CodecPort_CtrlFunct.ttcn GTP_CodecPort_CtrlFunctDef.cc GTP_Templates.ttcn Osmocom_Gb_Types.ttcn " FILES+="GTPv2_PrivateExtensions.ttcn GTPv2_Templates.ttcn " FILES+="GTPv2_CodecPort.ttcn GTPv2_CodecPort_CtrlFunctDef.cc GTPv2_CodecPort_CtrlFunct.ttcn GTPv2_Emulation.ttcn " FILES+="DNS_Helpers.ttcn " diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index dded390..d760e58 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -66,6 +66,7 @@ integer mp_hlr_port := 4222; charstring mp_ggsn_ip := "127.0.0.103"; integer mp_echo_interval := 5; /* in seconds. Only used in test enabling g_use_echo */ + charstring mp_sgsn_gtp_ip := "127.0.0.10"; NSConfigurations mp_nsconfig := { { @@ -179,6 +180,7 @@ /* used by RIM related test */ port BSSGP_PT RIM[NUM_GB]; + port GTPEM_PT GTPC; var GTP_Emulation_CT vc_GTP; @@ -225,6 +227,12 @@ SCCP_PAR_Address sccp_addr_peer optional }; +/* Passed in RAN-INFO message from emulated neighbor using RIM */ +const octetstring si1_default := '198fb100000000000000000000000000007900002b'O; +const octetstring si3_default := '1b753000f110236ec9033c2747407900003c0b2b2b'O; +const octetstring si13_default := '009000185a6fc9e08410ab2b2b2b2b2b2b2b2b2b2b'O; +const octetstring si_default := si1_default & si3_default & si13_default; + private function f_cellid_to_RAI(in BssgpCellId cell_id) return RoutingAreaIdentificationV { /* mcc_mnc is encoded as of 24.008 10.5.5.15 */ var BcdMccMnc mcc_mnc := cell_id.ra_id.lai.mcc_mnc; @@ -3207,16 +3215,11 @@ /* Now also emulate also the response as well and send it back on GB interface #1. Expect the result on * GB interface #0 */ - var octetstring si1 := '198fb100000000000000000000000000007900002b'O; - var octetstring si3 := '1b753000f110236ec9033c2747407900003c0b2b2b'O; - var octetstring si13 := '009000185a6fc9e08410ab2b2b2b2b2b2b2b2b2b2b'O; - var octetstring si := si1 & si3 & si13; - res_cont := ts_RAN_Information_RIM_Container(ts_RIM_Application_Identity(RIM_APP_ID_NACC), ts_RIM_Sequence_Number(2), ts_RIM_PDU_Indications(false, RIM_PDU_TYPE_SING_REP), ts_RIM_Protocol_Version_Number(1), - tsu_ApplContainer_or_ApplErrContainer_NACC(tsu_ApplContainer_NACC(g_gb[0].cfg.bvc[0].cell_id, false, 3, si)), + tsu_ApplContainer_or_ApplErrContainer_NACC(tsu_ApplContainer_NACC(g_gb[0].cfg.bvc[0].cell_id, false, 3, si_default)), omit); bssgp_rim_pdu := ts_PDU_BSSGP_RAN_INFORMATION(ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, src_addr), ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, dst_addr), @@ -3242,6 +3245,108 @@ f_cleanup(); } +testcase TC_rim_eutran_to_geran() runs on test_CT { + var BSSGP_ConnHdlr vc_conn; + f_init(); + /* connect RIM related port */ + connect(vc_GTP:CLIENT_DEFAULT, self:GTPC); + + var GtpPeer peer := { + connId := 1, + remName := mp_sgsn_gtp_ip, + remPort := GTP1C_PORT + } + + var template (value) RIM_Routing_Address_GTPC gtpc_dst_addr, gtpc_src_addr; + var template (value) RAN_Information_Request_RIM_Container_GTPC gtpc_rim_req_cont; + var template (value) PDU_BSSGP_RAN_INFORMATION_REQUEST_GTPC gtpc_bssgp_cont; + var template (value) Gtp1cUnitdata gtpc_pdu; + + gtpc_dst_addr := t_GTPC_RIM_Routing_Address_cid(g_gb[1].cfg.bvc[0].cell_id); + gtpc_src_addr := t_GTPC_RIM_Routing_Address_enbid(g_gb[1].cfg.bvc[0].cell_id, tac := 3, gnbid := '12345678123456'O); + + gtpc_rim_req_cont := ts_GTPC_RAN_Information_Request_RIM_Container(ts_GTPC_RIM_Application_Identity(RIM_APP_ID_NACC), + ts_GTPC_RIM_Sequence_Number(1), + ts_GTPC_RIM_PDU_Indications(false, RIM_PDU_TYPE_SING_REP), + ts_GTPC_RIM_Protocol_Version_Number(1), + tsu_GTPC_RAN_Information_Request_Application_Container_NACC(g_gb[1].cfg.bvc[0].cell_id), + omit); + gtpc_bssgp_cont := ts_GTPC_RAN_Information_Request(ts_GTPC_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, gtpc_dst_addr), + ts_GTPC_RIM_Routing_Information(RIM_ADDR_EUTRAN_NODEB_ID, gtpc_src_addr), + gtpc_rim_req_cont); + gtpc_pdu := ts_GTPC_RANInfoRelay(peer, ts_RANTransparentContainer_RAN_INFO_REQ(gtpc_bssgp_cont)); + GTPC.send(gtpc_pdu); + + var template RIM_Routing_Address bssgp_dst_addr, bssgp_src_addr; + var template PDU_BSSGP bssgp_rim_pdu_expect; + bssgp_dst_addr := t_RIM_Routing_Address_cid(g_gb[1].cfg.bvc[0].cell_id); + bssgp_src_addr := t_RIM_Routing_Address_enbid(g_gb[1].cfg.bvc[0].cell_id, tac := 3, gnbid := '12345678123456'O); + bssgp_rim_pdu_expect := tr_RAN_INFORMATION_REQUEST(tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, bssgp_dst_addr), + tr_RIM_Routing_Information(RIM_ADDR_EUTRAN_NODEB_ID, bssgp_src_addr), + tr_RAN_Information_Request_RIM_Container); + timer T := 2.0; + T.start; + alt { + [] RIM[1].receive(bssgp_rim_pdu_expect) { + setverdict(pass); + T.stop; + } + [] RIM[1].receive { + setverdict(fail, "Unexpected BSSGP RIM PDU received"); + } + [] T.timeout { + setverdict(fail, "No BSSGP RIM PDU received"); + mtc.stop; + } + } + + /* Now also emulate also the response as well and send it back on GB + interface #1. Expect the result on * GTPC */ + var template RAN_Information_RIM_Container res_cont; + var template PDU_BSSGP bssgp_rim_pdu; + res_cont := ts_RAN_Information_RIM_Container(ts_RIM_Application_Identity(RIM_APP_ID_NACC), + ts_RIM_Sequence_Number(2), + ts_RIM_PDU_Indications(false, RIM_PDU_TYPE_SING_REP), + ts_RIM_Protocol_Version_Number(1), + tsu_ApplContainer_or_ApplErrContainer_NACC(tsu_ApplContainer_NACC(g_gb[1].cfg.bvc[0].cell_id, false, 3, si_default)), + omit); + bssgp_rim_pdu := ts_PDU_BSSGP_RAN_INFORMATION(ts_RIM_Routing_Information(RIM_ADDR_EUTRAN_NODEB_ID, bssgp_src_addr), + ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, bssgp_dst_addr), + res_cont); + RIM[1].send(bssgp_rim_pdu); + + var template RAN_Information_RIM_Container_GTPC rim_cont; + var template PDU_BSSGP_RAN_INFORMATION_GTPC gtpc_bssgp_cont_ack; + var template Gtp1cUnitdata gtpc_pdu_exp; + rim_cont := tr_GTPC_RAN_Information_RIM_Container(ts_GTPC_RIM_Application_Identity(RIM_APP_ID_NACC), + ts_GTPC_RIM_Sequence_Number(2), + ts_GTPC_RIM_PDU_Indications(false, RIM_PDU_TYPE_SING_REP), + ts_GTPC_RIM_Protocol_Version_Number(1), + tru_GTPC_ApplContainer_or_ApplErrContainer_NACC(tru_GTPC_ApplContainer_NACC(g_gb[1].cfg.bvc[0].cell_id, false, 3, si_default)), + omit); + gtpc_bssgp_cont_ack := tr_GTPC_RAN_Information(tr_GTPC_RIM_Routing_Information(RIM_ADDR_EUTRAN_NODEB_ID, gtpc_src_addr), + tr_GTPC_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, gtpc_dst_addr), + rim_cont); + gtpc_pdu_exp := tr_GTPC_RANInfoRelay(peer, tr_RANTransparentContainer_RAN_INFO(gtpc_bssgp_cont_ack)); + + T.start; + alt { + [] GTPC.receive(gtpc_pdu_exp) { + setverdict(pass); + T.stop; + } + [] GTPC.receive { + setverdict(fail, "Unexpected GTPC RIM PDU received"); + } + [] T.timeout { + setverdict(fail, "No GTPC RIM PDU received"); + mtc.stop; + } + } + + f_cleanup(); +} + /* Test if the SGSN routes traffic to new cell after the MS attached to it */ private function f_TC_cell_change_different_rai_ci_attach(charstring id) runs on BSSGP_ConnHdlr { var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip)); @@ -3436,6 +3541,7 @@ execute( TC_paging_ps() ); execute( TC_bssgp_rim_single_report() ); + execute( TC_rim_eutran_to_geran() ); execute( TC_cell_change_different_rai_ci_attach() ); execute( TC_cell_change_different_rai_ci_data() ); diff --git a/sgsn/osmo-sgsn.cfg b/sgsn/osmo-sgsn.cfg index 082a353..7941007 100644 --- a/sgsn/osmo-sgsn.cfg +++ b/sgsn/osmo-sgsn.cfg @@ -101,3 +101,6 @@ timer t3397 8 no compression rfc1144 no compression v42bis + mme test-mme0 + gtp remote-ip 127.0.0.103 + gtp ran-info-relay 262 42 3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24129 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: I9dcf6ee2dc55bc6aba178eca30080233254f025e Gerrit-Change-Number: 24129 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:33:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 May 2021 20:33:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_rim_ran_info_req_single_rep_eutran In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24170 ) Change subject: pcu: Introduce test TC_rim_ran_info_req_single_rep_eutran ...................................................................... pcu: Introduce test TC_rim_ran_info_req_single_rep_eutran Related: SYS#5314 Change-Id: I87f3daba1521d2dc8eed78ffdc6de5744484ba7a --- M pcu/PCU_Tests.ttcn 1 file changed, 56 insertions(+), 29 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 333a68d..4df5515 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -5569,21 +5569,15 @@ f_dl_block_ack_fn(dl_block, dl_fn)); } -/* Send a RIM RAN info request to the PCU and verify the response, we expect - * getting the system information back which we have transfered to the PCU via - * PCUIF on startup. */ -testcase TC_rim_ran_info_req_single_rep() runs on RAW_PCU_Test_CT { - const BssgpBvci bvci := mp_gb_cfg.bvc[0].bvci; - timer T := 2.0; - /* Initialize NS/BSSGP side */ - f_init_bssgp(); - - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - - /* Establish BSSGP connection to the PCU */ - f_bssgp_establish(); +function f_do_inbound_nacc(template (value) RIM_Routing_Information tx_src_addr, template RIM_Routing_Information rx_dst_addr) +runs on RAW_PCU_Test_CT +{ + var template (value) RAN_Information_Request_RIM_Container req_cont; + var template (value) PDU_BSSGP bssgp_rim_pdu; + var template PDU_BSSGP bssgp_rim_pdu_expect; + var template RAN_Information_RIM_Container rim_cont_expect; + var RIM_Routing_Address bts_addr; /* Send sysinfo to the PCU */ var template PCUIF_Message si1_data_ind := ts_PCUIF_DATA_IND(0, 0, 0, 0, PCU_IF_SAPI_BCCH, '5506'O & si1_default, 0, 0, 0, 0, 32767); @@ -5594,16 +5588,7 @@ BTS.send(si13_data_ind); f_sleep(1.0); - var RIM_Routing_Address dst_addr; - var RIM_Routing_Address src_addr; - var template (value) RAN_Information_Request_RIM_Container req_cont; - var template (value) PDU_BSSGP bssgp_rim_pdu; - var template PDU_BSSGP bssgp_rim_pdu_expect; - var template RAN_Information_RIM_Container rim_cont_expect; - - var BssgpCellId src_cid := {ra_id := { lai := { mcc_mnc := '262F42'H, lac := 12345}, rac := 0 }, cell_id := 20962 }; - src_addr := valueof(t_RIM_Routing_Address_cid(src_cid)); - dst_addr := valueof(t_RIM_Routing_Address_cid(mp_gb_cfg.bvc[0].cell_id)); + bts_addr := valueof(t_RIM_Routing_Address_cid(mp_gb_cfg.bvc[0].cell_id)); req_cont := ts_RAN_Information_Request_RIM_Container(ts_RIM_Application_Identity(RIM_APP_ID_NACC), ts_RIM_Sequence_Number(1), @@ -5611,9 +5596,8 @@ ts_RIM_Protocol_Version_Number(1), tsu_RAN_Information_Request_Application_Container_NACC(mp_gb_cfg.bvc[0].cell_id), omit); - bssgp_rim_pdu := ts_RAN_INFORMATION_REQUEST(ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, dst_addr), - ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, src_addr), - req_cont); + bssgp_rim_pdu := ts_RAN_INFORMATION_REQUEST(ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, bts_addr), + tx_src_addr, req_cont); rim_cont_expect := tr_RAN_Information_RIM_Container(tr_RIM_Application_Identity(RIM_APP_ID_NACC), tr_RIM_Sequence_Number(1), @@ -5622,10 +5606,11 @@ tru_ApplContainer_or_ApplErrContainer_NACC(tru_ApplContainer_NACC(mp_gb_cfg.bvc[0].cell_id, false, 3, si_default)), omit); - bssgp_rim_pdu_expect := tr_PDU_BSSGP_RAN_INFORMATION(tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, src_addr), - tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, dst_addr), + bssgp_rim_pdu_expect := tr_PDU_BSSGP_RAN_INFORMATION(rx_dst_addr, + tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, bts_addr), rim_cont_expect); RIM.send(bssgp_rim_pdu); + timer T := 2.0; T.start; alt { [] RIM.receive(bssgp_rim_pdu_expect) { } @@ -5637,6 +5622,47 @@ mtc.stop; } } +} +/* Send a RIM RAN info request to the PCU and verify the response, we expect + * getting the system information back which we have transfered to the PCU via + * PCUIF on startup. */ +testcase TC_rim_ran_info_req_single_rep() runs on RAW_PCU_Test_CT { + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + + var BssgpCellId src_cid := {ra_id := { lai := { mcc_mnc := '262F42'H, lac := 12345}, rac := 0 }, cell_id := 20962 }; + var RIM_Routing_Address src_addr := valueof(t_RIM_Routing_Address_cid(src_cid)); + + f_do_inbound_nacc(ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, src_addr), + tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, src_addr)); + + f_shutdown(__BFILE__, __LINE__, final := true); +} + +/* Same as TC_rim_ran_info_req_single_rep, but using an EUTRAN eNodeB ID as + * Routing information, to verify PCU handles that kind of address just fine + */ +testcase TC_rim_ran_info_req_single_rep_eutran() runs on RAW_PCU_Test_CT { + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + + var BssgpCellId src_cid := {ra_id := { lai := { mcc_mnc := '262F42'H, lac := 12345}, rac := 0 }, cell_id := 20962 }; + var RIM_Routing_Address src_addr := valueof(t_RIM_Routing_Address_enbid(src_cid, tac := 3, gnbid := '12345678123456'O)); + + f_do_inbound_nacc(ts_RIM_Routing_Information(RIM_ADDR_EUTRAN_NODEB_ID, src_addr), + tr_RIM_Routing_Information(RIM_ADDR_EUTRAN_NODEB_ID, src_addr)); f_shutdown(__BFILE__, __LINE__, final := true); } @@ -5812,6 +5838,7 @@ execute( TC_nacc_outbound_pkt_cell_chg_notif_unassigned_dl_tbf() ); execute( TC_rim_ran_info_req_single_rep() ); + execute( TC_rim_ran_info_req_single_rep_eutran() ); execute( TC_rim_ran_info_req_single_rep_no_si() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24170 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: I87f3daba1521d2dc8eed78ffdc6de5744484ba7a Gerrit-Change-Number: 24170 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 20:35:26 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 May 2021 20:35:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add first a5/4 tests In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 to look at the new patch set (#3). Change subject: msc: add first a5/4 tests ...................................................................... msc: add first a5/4 tests All msc tests involving classmarks suffer from the same problem: if a existing subscriber is reused the old classmarks will stick, since the msc only overwrites updated parts of the cm when receiving a new cm, so "downgrading" the existing classmark information is not possible. This is circumvented here here by using different imsi suffixes, the last param passed to f_start_handler. Additionally the handler will now properly respond to cm requests by the msc, i.e. in case the early cm is not sufficient for a5/4 because it lacks cm3, so the msc attempts once to query the cm, hoping to get a cm3. Related: SYS#5324 Change-Id: Idc055a006b325f58a5eafa88bc4415181b3500a2 --- M library/BSSMAP_Templates.ttcn M msc/BSC_ConnectionHandler.ttcn M msc/MSC_Tests.ttcn M msc/expected-results.xml M msc/gen_links.sh M msc/regen_makefile.sh 6 files changed, 165 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/47/24247/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 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: Idc055a006b325f58a5eafa88bc4415181b3500a2 Gerrit-Change-Number: 24247 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 17 23:50:58 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 May 2021 23:50:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add first a5/4 tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 ) Change subject: msc: add first a5/4 tests ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247/3/msc/BSC_ConnectionHandler.ttcn File msc/BSC_ConnectionHandler.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247/3/msc/BSC_ConnectionHandler.ttcn at 166 PS3, Line 166: if (mask and4b ('00000001'B << whicha5) != '00000000'B) { This could be done easier: return mask[7 - whicha5] == '1'B; https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247/3/msc/BSC_ConnectionHandler.ttcn at 572 PS3, Line 572: No need to change spacing here, it's similar to switch() in C. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 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: Idc055a006b325f58a5eafa88bc4415181b3500a2 Gerrit-Change-Number: 24247 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 17 May 2021 23:50:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 07:35:15 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 18 May 2021 07:35:15 +0000 Subject: Change in osmo-ci[master]: OBS: move verify_feed to common References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24254 ) Change subject: OBS: move verify_feed to common ...................................................................... OBS: move verify_feed to common Prepare to move the 2021q1 feed from latest to nightly. Related: SYS#5370 Change-Id: I91e4c36d4a04d465fc9ccb933e8060511b7cd145 --- M scripts/common-obs.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 3 files changed, 21 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/54/24254/1 diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index 34f2549..3a5c0c1 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -280,3 +280,17 @@ echo -n "$version" } + +# Verify that $FEED is in $FEEDS +osmo_obs_verify_feed() { + local i + + for i in $FEEDS; do + if [ "$i" = "$FEED" ]; then + return + fi + done + + echo "unsupported feed: $FEED" + exit 1 +} diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index d942e9d..31fc877 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -24,19 +24,6 @@ DEBSRCDIR="$TOP/debsrc" FEED="${FEED:-latest}" -verify_feed() { - local i - - for i in $FEEDS; do - if [ "$i" = "$FEED" ]; then - return - fi - done - - echo "unsupported feed: $FEED" - exit 1 -} - ### OBS build prepare() { # start with a checkout of the project @@ -259,5 +246,5 @@ osc ci -m "$FEED versions of $DT" --noservice } -verify_feed +osmo_obs_verify_feed build_osmocom diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index ef2d7ef..62528c2 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -11,6 +11,11 @@ . "$(dirname "$0")/common.sh" . "$(dirname "$0")/common-obs.sh" +FEEDS=" + next + nightly +" + set -e set -x @@ -19,11 +24,6 @@ TOP=$(pwd)/$(mktemp -d nightly-3g_XXXXXX) FEED="${FEED:-nightly}" -if [ "$FEED" != "nightly" ] && [ "$FEED" != "next" ]; then - echo "unsupported feed: $FEED" - exit 1 -fi - ### OBS build prepare() { # clean up the whole space @@ -269,4 +269,5 @@ post } +osmo_obs_verify_feed build_osmocom -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I91e4c36d4a04d465fc9ccb933e8060511b7cd145 Gerrit-Change-Number: 24254 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 07:35:15 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 18 May 2021 07:35:15 +0000 Subject: Change in osmo-ci[master]: OBS: refactor osmo_obs_prepare_conflict References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24255 ) Change subject: OBS: refactor osmo_obs_prepare_conflict ...................................................................... OBS: refactor osmo_obs_prepare_conflict Determine the package name of the conflict package itself and all conflicting packages automatically, so we don't need to have it duplicated in the OBS latest and OBS nightly scripts. This is in preparation to move osmocom-2021q1 from latest to nightly. With the current logic in nightly for the conflict package, it would not be possible. Related: SYS#5370 Change-Id: I183b9040250e66e0d7d17ef4b95af9e7d4a26f04 --- M scripts/common-obs-conflict.sh M scripts/common-obs.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 4 files changed, 40 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/55/24255/1 diff --git a/scripts/common-obs-conflict.sh b/scripts/common-obs-conflict.sh index b6b381a..98c8b70 100644 --- a/scripts/common-obs-conflict.sh +++ b/scripts/common-obs-conflict.sh @@ -113,18 +113,28 @@ } -# Create conflicting packages -# $1: name of dummy package (e.g. "osmocom-nightly") -# $2-*: name of conflicting packages (e.g. "osmocom-latest") +# Print names of packages that the conflict package from the current feed +# (e.g. osmocom-nightly) should conflict with (e.g. osmocom-latest, +# osmocom-next, osmocom-2021q1) +osmo_obs_prepare_conflict_args() { + for i in $FEEDS_ALL; do + if [ "$i" != "$FEED" ]; then + echo "osmocom-$i" + fi + done +} + +# Create conflicting packages, based on global $FEED and $FEEDS_ALL vars osmo_obs_prepare_conflict() { - local pkgname="$1" + local pkgname="osmocom-$FEED" + local conflict_args="$(osmo_obs_prepare_conflict_args)" local oldpwd="$PWD" mkdir -p "$pkgname" cd "$pkgname" - osmo_obs_prepare_conflict_deb "$@" - osmo_obs_prepare_conflict_rpm "$@" + osmo_obs_prepare_conflict_deb "$pkgname" $conflict_args + osmo_obs_prepare_conflict_rpm "$pkgname" $conflict_args # Put in git repository git init . diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index 3a5c0c1..1a10eb6 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -2,6 +2,13 @@ # Various common code used in the OBS (opensuse build service) related osmo-ci shell scripts . "$(dirname "$0")/common-obs-conflict.sh" +FEEDS_ALL=" + 2021q1 + latest + next + nightly +" + osmo_cmd_require \ dch \ dh \ @@ -281,14 +288,24 @@ echo -n "$version" } -# Verify that $FEED is in $FEEDS +# Verify that $FEED is in $FEEDS and $FEEDS_ALL osmo_obs_verify_feed() { local i + local j for i in $FEEDS; do - if [ "$i" = "$FEED" ]; then - return + if [ "$i" != "$FEED" ]; then + continue fi + + for j in $FEEDS_ALL; do + if [ "$j" = "$i" ]; then + return + fi + done + + echo "feed found in FEEDS but not FEEDS_ALL: $FEED" + exit 1 done echo "unsupported feed: $FEED" diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 31fc877..c5c19c4 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -11,6 +11,7 @@ . "$(dirname "$0")/common.sh" . "$(dirname "$0")/common-obs.sh" +# Values for FEED env var. Adjust FEEDS_ALL in common-obs when changing. FEEDS=" 2021q1 latest @@ -36,15 +37,7 @@ mkdir "$DEBSRCDIR" cd "$TOP" - - local conflict_args="osmocom-nightly osmocom-next" - local i - for i in $FEEDS; do - if [ "$i" != "$FEED" ]; then - conflict_args="$conflict_args osmocom-$i" - fi - done - osmo_obs_prepare_conflict "osmocom-$FEED" $conflict_args + osmo_obs_prepare_conflict } get_last_tag() { diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index 62528c2..b9a56a3 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -11,6 +11,7 @@ . "$(dirname "$0")/common.sh" . "$(dirname "$0")/common-obs.sh" +# Values for FEED env var. Adjust FEEDS_ALL in common-obs when changing. FEEDS=" next nightly @@ -32,14 +33,7 @@ osc co "$PROJ" cd "$REPO" - case "$FEED" in - nightly) - osmo_obs_prepare_conflict "osmocom-nightly" "osmocom-latest" "osmocom-next" - ;; - next) - osmo_obs_prepare_conflict "osmocom-next" "osmocom-latest" "osmocom-nightly" - ;; - esac + osmo_obs_prepare_conflict } get_last_tag() { -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I183b9040250e66e0d7d17ef4b95af9e7d4a26f04 Gerrit-Change-Number: 24255 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 07:35:15 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 18 May 2021 07:35:15 +0000 Subject: Change in osmo-ci[master]: OBS: use nightly script to build 2021q1 feed References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24256 ) Change subject: OBS: use nightly script to build 2021q1 feed ...................................................................... OBS: use nightly script to build 2021q1 feed Use the nightly script instead of latest, so all packages get upgraded when upgrading osmocom-2021q1. Related: SYS#5370 Change-Id: If8de585652997aae1edb586c948c181f564f6994 --- M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh M scripts/osmocom-packages-docker.sh 3 files changed, 14 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/56/24256/1 diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index c5c19c4..bbdc5a1 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -5,15 +5,14 @@ # * PROJ: the OBS namespace to upload to (e.g. "network:osmocom:latest") # * FEED: # * "latest": use latest tagged release (default) -# * other (e.g. "2021q1"): use last commit of branch of same name, exit with -# error if it does not exist +# * other: use last commit of branch of same name, exit with error if it does +# not exist # * PACKAGES: set to a space-separated list of packages to skip all others . "$(dirname "$0")/common.sh" . "$(dirname "$0")/common-obs.sh" # Values for FEED env var. Adjust FEEDS_ALL in common-obs when changing. FEEDS=" - 2021q1 latest " diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index b9a56a3..cd50c7d 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -7,12 +7,15 @@ # * FEED: controls the source branch that is used: # * "nightly": use "master" branch (default) # * "next": use "next" branch if it exists, otherwise use "master" branch +# * other (e.g. "2021q1"): use last commit of branch of same name, exit with +# error if it does not exist # * PACKAGES: set to a space-separated list of packages to skip all others . "$(dirname "$0")/common.sh" . "$(dirname "$0")/common-obs.sh" # Values for FEED env var. Adjust FEEDS_ALL in common-obs when changing. FEEDS=" + 2021q1 next nightly " @@ -61,6 +64,13 @@ url="$(osmo_git_clone_url "$name")" fi + if [ -z "$branch" ]; then + case "$FEED" in + nightly|next) ;; + *) branch="$FEED" ;; # e.g. 2021q1 + esac + fi + cd "$REPO" if [ -n "$branch" ] ; then diff --git a/scripts/osmocom-packages-docker.sh b/scripts/osmocom-packages-docker.sh index 4465d20..a7a804b 100755 --- a/scripts/osmocom-packages-docker.sh +++ b/scripts/osmocom-packages-docker.sh @@ -19,8 +19,8 @@ SCRIPT="osmocom-$FEED-packages.sh" ;; *) - # "2021q1" etc, osmocom-latest.sh verifies and uses $FEED - SCRIPT="osmocom-latest-packages.sh" + # "2021q1" etc, osmocom-nightly-packages.sh verifies and uses $FEED + SCRIPT="osmocom-nightly-packages.sh" ;; esac -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24256 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If8de585652997aae1edb586c948c181f564f6994 Gerrit-Change-Number: 24256 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 08:13:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 08:13:31 +0000 Subject: Change in osmo-bts[master]: sysmo, oc2g, lc15: Make RadioChannel MO depend on RadioCarrier MO In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24245 ) Change subject: sysmo,oc2g,lc15: Make RadioChannel MO depend on RadioCarrier MO ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8c6e5ff98c32a3cd5006f5e5ed6875bcabb1d85f Gerrit-Change-Number: 24245 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 08:13:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 08:13:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 08:13:33 +0000 Subject: Change in osmo-bts[master]: sysmo, oc2g, lc15: Make RadioChannel MO depend on RadioCarrier MO In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24245 ) Change subject: sysmo,oc2g,lc15: Make RadioChannel MO depend on RadioCarrier MO ...................................................................... sysmo,oc2g,lc15: Make RadioChannel MO depend on RadioCarrier MO lower layer specific APIs require first to enable the TRX object (GsmL1_PrimId_MphInitReq, which requires ARFCN received during Set Radio Carrier Attributes) before enabling the per-TS structure. Hence, OPSTART must happen in RCARRIER MO before OPSTART can be sent to the Radio Channel MOs, otherwise the initialization of the TS objet will fail and OPSTART for the RadioChannel MO will send back a NACK. In order to avoid this, we need to keep the RadioChannel MO announced as "Disabled Dependency" until RCARRIER is OPSTARTed. Related: OS#5157 Change-Id: I8c6e5ff98c32a3cd5006f5e5ed6875bcabb1d85f --- M include/osmo-bts/bts.h M include/osmo-bts/nm_common_fsm.h M src/common/nm_channel_fsm.c M src/common/nm_radio_carrier_fsm.c M src/osmo-bts-lc15/main.c M src/osmo-bts-oc2g/main.c M src/osmo-bts-sysmo/main.c 7 files changed, 55 insertions(+), 7 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve; Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index 7a1085e..141dce2 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -57,6 +57,9 @@ * measurement data is passed using a separate MPH INFO MEAS IND. * (See also ticket: OS#2977) */ #define BTS_INTERNAL_FLAG_MEAS_PAYLOAD_COMB (1 << 1) +/* Whether the BTS model requires RadioCarrier MO to be in Enabled state + * (OPSTARTed) before OPSTARTing the RadioChannel MOs. See OS#5157 */ +#define BTS_INTERNAL_FLAG_NM_RCHANNEL_DEPENDS_RCARRIER (1 << 2) /* BTS implementation flags (internal use, not exposed via OML) */ #define bts_internal_flag_get(bts, flag) \ diff --git a/include/osmo-bts/nm_common_fsm.h b/include/osmo-bts/nm_common_fsm.h index 4a82757..4679b23 100644 --- a/include/osmo-bts/nm_common_fsm.h +++ b/include/osmo-bts/nm_common_fsm.h @@ -39,7 +39,8 @@ NM_EV_BBTRANSC_INSTALLED, /* Radio Channel only */ NM_EV_BBTRANSC_ENABLED, /* Radio Channel only */ NM_EV_BBTRANSC_DISABLED, /* Radio Channel only */ - + NM_EV_RCARRIER_ENABLED, /* Radio Channel only */ + NM_EV_RCARRIER_DISABLED, /* Radio Channel only */ }; extern const struct value_string nm_fsm_event_names[]; diff --git a/src/common/nm_channel_fsm.c b/src/common/nm_channel_fsm.c index 4925959..15be6c6 100644 --- a/src/common/nm_channel_fsm.c +++ b/src/common/nm_channel_fsm.c @@ -40,6 +40,14 @@ #define nm_chan_fsm_state_chg(fi, NEXT_STATE) \ osmo_fsm_inst_state_chg(fi, NEXT_STATE, 0, 0) +/* Can the TS be enabled (OPSTARTed)? aka should it stay in "Disabled Dependency" state? */ +static bool ts_can_be_enabled(const struct gsm_bts_trx_ts *ts) +{ + return (ts->trx->bb_transc.mo.nm_state.operational == NM_OPSTATE_ENABLED && + (!bts_internal_flag_get(ts->trx->bts, BTS_INTERNAL_FLAG_NM_RCHANNEL_DEPENDS_RCARRIER) || + ts->trx->mo.nm_state.operational == NM_OPSTATE_ENABLED)); +} + ////////////////////////// // FSM STATE ACTIONS ////////////////////////// @@ -58,7 +66,7 @@ switch (event) { case NM_EV_BBTRANSC_INSTALLED: oml_mo_tx_sw_act_rep(&ts->mo); - if (ts->trx->bb_transc.mo.nm_state.operational == NM_OPSTATE_ENABLED) + if (ts_can_be_enabled(ts)) nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_OFFLINE); else nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_DEPENDENCY); @@ -92,7 +100,13 @@ oml_mo_opstart_nack(&ts->mo, (int)(intptr_t)data); return; case NM_EV_BBTRANSC_ENABLED: - nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_OFFLINE); + case NM_EV_RCARRIER_ENABLED: + if (ts_can_be_enabled(ts)) + nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_OFFLINE); + return; + case NM_EV_BBTRANSC_DISABLED: + case NM_EV_RCARRIER_DISABLED: + /* do nothing, we are simply waiting for (potentially) both to be enabled */ return; default: OSMO_ASSERT(0); @@ -121,7 +135,9 @@ oml_mo_opstart_nack(&ts->mo, (int)(intptr_t)data); return; case NM_EV_BBTRANSC_DISABLED: - nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_DEPENDENCY); + case NM_EV_RCARRIER_DISABLED: + if (!ts_can_be_enabled(ts)) + nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_DEPENDENCY); return; default: OSMO_ASSERT(0); @@ -136,9 +152,13 @@ static void st_op_enabled(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + struct gsm_bts_trx_ts *ts = (struct gsm_bts_trx_ts *)fi->priv; + switch (event) { case NM_EV_BBTRANSC_DISABLED: - nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_DEPENDENCY); + case NM_EV_RCARRIER_DISABLED: + if (!ts_can_be_enabled(ts)) + nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_DEPENDENCY); return; case NM_EV_DISABLE: nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_OFFLINE); @@ -163,7 +183,10 @@ .in_event_mask = X(NM_EV_OPSTART_ACK) | /* backward compatibility, buggy BSC */ X(NM_EV_OPSTART_NACK) | - X(NM_EV_BBTRANSC_ENABLED), + X(NM_EV_BBTRANSC_ENABLED) | + X(NM_EV_RCARRIER_ENABLED) | + X(NM_EV_BBTRANSC_DISABLED) | + X(NM_EV_RCARRIER_DISABLED), .out_state_mask = X(NM_CHAN_ST_OP_DISABLED_OFFLINE) | X(NM_CHAN_ST_OP_ENABLED), /* backward compatibility, buggy BSC */ @@ -175,7 +198,8 @@ .in_event_mask = X(NM_EV_OPSTART_ACK) | X(NM_EV_OPSTART_NACK) | - X(NM_EV_BBTRANSC_DISABLED), + X(NM_EV_BBTRANSC_DISABLED) | + X(NM_EV_RCARRIER_DISABLED), .out_state_mask = X(NM_CHAN_ST_OP_ENABLED) | X(NM_CHAN_ST_OP_DISABLED_DEPENDENCY), @@ -186,6 +210,7 @@ [NM_CHAN_ST_OP_ENABLED] = { .in_event_mask = X(NM_EV_BBTRANSC_DISABLED) | + X(NM_EV_RCARRIER_DISABLED) | X(NM_EV_DISABLE), .out_state_mask = X(NM_CHAN_ST_OP_DISABLED_OFFLINE) | diff --git a/src/common/nm_radio_carrier_fsm.c b/src/common/nm_radio_carrier_fsm.c index d8291f8..4cbdf68 100644 --- a/src/common/nm_radio_carrier_fsm.c +++ b/src/common/nm_radio_carrier_fsm.c @@ -79,8 +79,17 @@ static void st_op_disabled_offline_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_bts_trx *trx = (struct gsm_bts_trx *)fi->priv; + unsigned int i; + trx->mo.opstart_success = false; oml_mo_state_chg(&trx->mo, NM_OPSTATE_DISABLED, NM_AVSTATE_OFF_LINE); + + if (prev_state == NM_RCARRIER_ST_OP_ENABLED) { + for (i = 0; i < TRX_NR_TS; i++) { + struct gsm_bts_trx_ts *ts = &trx->ts[i]; + osmo_fsm_inst_dispatch(ts->mo.fi, NM_EV_RCARRIER_DISABLED, NULL); + } + } } static void st_op_disabled_offline(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -136,7 +145,14 @@ static void st_op_enabled_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_bts_trx *trx = (struct gsm_bts_trx *)fi->priv; + unsigned int tn; + oml_mo_state_chg(&trx->mo, NM_OPSTATE_ENABLED, NM_AVSTATE_OK); + /* Mark Dependency TS as Offline (ready to be Opstarted) */ + for (tn = 0; tn < TRX_NR_TS; tn++) { + struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + osmo_fsm_inst_dispatch(ts->mo.fi, NM_EV_RCARRIER_ENABLED, NULL); + } } static void st_op_enabled(struct osmo_fsm_inst *fi, uint32_t event, void *data) diff --git a/src/osmo-bts-lc15/main.c b/src/osmo-bts-lc15/main.c index 985d7db..3e119f6 100644 --- a/src/osmo-bts-lc15/main.c +++ b/src/osmo-bts-lc15/main.c @@ -111,6 +111,7 @@ osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_AMR); bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_MS_PWR_CTRL_DSP); + bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_NM_RCHANNEL_DEPENDS_RCARRIER); return 0; } diff --git a/src/osmo-bts-oc2g/main.c b/src/osmo-bts-oc2g/main.c index 12c489f..9a4bbfe 100644 --- a/src/osmo-bts-oc2g/main.c +++ b/src/osmo-bts-oc2g/main.c @@ -112,6 +112,7 @@ osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_AMR); bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_MS_PWR_CTRL_DSP); + bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_NM_RCHANNEL_DEPENDS_RCARRIER); return 0; } diff --git a/src/osmo-bts-sysmo/main.c b/src/osmo-bts-sysmo/main.c index 2057a05..2bf1068 100644 --- a/src/osmo-bts-sysmo/main.c +++ b/src/osmo-bts-sysmo/main.c @@ -79,6 +79,7 @@ bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_MS_PWR_CTRL_DSP); bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_MEAS_PAYLOAD_COMB); + bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_NM_RCHANNEL_DEPENDS_RCARRIER); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8c6e5ff98c32a3cd5006f5e5ed6875bcabb1d85f Gerrit-Change-Number: 24245 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:06:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 09:06:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add first a5/4 tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 ) Change subject: msc: add first a5/4 tests ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 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: Idc055a006b325f58a5eafa88bc4415181b3500a2 Gerrit-Change-Number: 24247 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 18 May 2021 09:06:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:07:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 09:07:36 +0000 Subject: Change in osmo-ci[master]: OBS: move verify_feed to common In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24254 ) Change subject: OBS: move verify_feed to common ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I91e4c36d4a04d465fc9ccb933e8060511b7cd145 Gerrit-Change-Number: 24254 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 09:07:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:09:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 09:09:01 +0000 Subject: Change in osmo-ci[master]: OBS: refactor osmo_obs_prepare_conflict In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24255 ) Change subject: OBS: refactor osmo_obs_prepare_conflict ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I183b9040250e66e0d7d17ef4b95af9e7d4a26f04 Gerrit-Change-Number: 24255 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 09:09:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:09:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 09:09:47 +0000 Subject: Change in osmo-ci[master]: OBS: use nightly script to build 2021q1 feed In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24256 ) Change subject: OBS: use nightly script to build 2021q1 feed ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24256 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If8de585652997aae1edb586c948c181f564f6994 Gerrit-Change-Number: 24256 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 09:09:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:13:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 09:13:07 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn: Update config to test RIM over GTPCv1 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24167 ) Change subject: ttcn3-sgsn: Update config to test RIM over GTPCv1 ...................................................................... Patch Set 1: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I002da9afe5a7a3263fa4fda5d82fbc8d0faa0e18 Gerrit-Change-Number: 24167 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Comment-Date: Tue, 18 May 2021 09:13:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:37:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 09:37:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ggsn: Fix build broken since recent commit References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24257 ) Change subject: ggsn: Fix build broken since recent commit ...................................................................... ggsn: Fix build broken since recent commit Fixes: 8c74cbbf5a7534f6aa2d28a30a4b6bff7fe8067b Change-Id: Id6238a3b79a4439ab3b17909c7b1c65028efbec3 --- M ggsn_tests/regen_makefile.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/57/24257/1 diff --git a/ggsn_tests/regen_makefile.sh b/ggsn_tests/regen_makefile.sh index 6db1a3d..6afd5d9 100755 --- a/ggsn_tests/regen_makefile.sh +++ b/ggsn_tests/regen_makefile.sh @@ -1,5 +1,5 @@ #!/bin/sh -FILES="*.ttcn IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc GTPC_EncDec.cc GTPU_EncDec.cc GTP_CodecPort_CtrlFunctDef.cc ICMPv6_EncDec.cc IP_EncDec.cc Native_FunctionDefs.cc UDP_EncDec.cc ICMP_EncDec.cc TELNETasp_PT.cc" +FILES="*.ttcn IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc GTPC_EncDec.cc GTPU_EncDec.cc GTP_CodecPort_CtrlFunctDef.cc ICMPv6_EncDec.cc IP_EncDec.cc Native_FunctionDefs.cc UDP_EncDec.cc ICMP_EncDec.cc TELNETasp_PT.cc BSSGP_EncDec.cc" ../regen-makefile.sh GGSN_Tests.ttcn $FILES -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24257 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: Id6238a3b79a4439ab3b17909c7b1c65028efbec3 Gerrit-Change-Number: 24257 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:39:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 09:39:24 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn: Update config to test RIM over GTPCv1 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24167 ) Change subject: ttcn3-sgsn: Update config to test RIM over GTPCv1 ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I002da9afe5a7a3263fa4fda5d82fbc8d0faa0e18 Gerrit-Change-Number: 24167 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 09:39:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:42:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 09:42:08 +0000 Subject: Change in osmo-mgw[master]: Fix OSMO_ASSERT() in case rtp.end.addr is still uninitialized In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/23812 ) Change subject: Fix OSMO_ASSERT() in case rtp.end.addr is still uninitialized ...................................................................... Patch Set 4: This patch can be abandoned, dexter fixed it here: https://gerrit.osmocom.org/c/osmo-mgw/+/24174 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/23812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ecf81447e6a92fb566baba53fcf819f4029d54d Gerrit-Change-Number: 23812 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 09:42:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:45:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 09:45:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ggsn: Fix build broken since recent commit In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24257 ) Change subject: ggsn: Fix build broken since recent commit ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24257 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: Id6238a3b79a4439ab3b17909c7b1c65028efbec3 Gerrit-Change-Number: 24257 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 May 2021 09:45:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:45:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 09:45:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ggsn: Fix build broken since recent commit In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24257 ) Change subject: ggsn: Fix build broken since recent commit ...................................................................... ggsn: Fix build broken since recent commit Fixes: 8c74cbbf5a7534f6aa2d28a30a4b6bff7fe8067b Change-Id: Id6238a3b79a4439ab3b17909c7b1c65028efbec3 --- M ggsn_tests/regen_makefile.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ggsn_tests/regen_makefile.sh b/ggsn_tests/regen_makefile.sh index 6db1a3d..6afd5d9 100755 --- a/ggsn_tests/regen_makefile.sh +++ b/ggsn_tests/regen_makefile.sh @@ -1,5 +1,5 @@ #!/bin/sh -FILES="*.ttcn IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc GTPC_EncDec.cc GTPU_EncDec.cc GTP_CodecPort_CtrlFunctDef.cc ICMPv6_EncDec.cc IP_EncDec.cc Native_FunctionDefs.cc UDP_EncDec.cc ICMP_EncDec.cc TELNETasp_PT.cc" +FILES="*.ttcn IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc GTPC_EncDec.cc GTPU_EncDec.cc GTP_CodecPort_CtrlFunctDef.cc ICMPv6_EncDec.cc IP_EncDec.cc Native_FunctionDefs.cc UDP_EncDec.cc ICMP_EncDec.cc TELNETasp_PT.cc BSSGP_EncDec.cc" ../regen-makefile.sh GGSN_Tests.ttcn $FILES -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24257 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: Id6238a3b79a4439ab3b17909c7b1c65028efbec3 Gerrit-Change-Number: 24257 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:46:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 09:46:02 +0000 Subject: Change in osmo-mgw[master]: Fix OSMO_ASSERT() in case rtp.end.addr is still uninitialized In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/23812 ) Change subject: Fix OSMO_ASSERT() in case rtp.end.addr is still uninitialized ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/23812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ecf81447e6a92fb566baba53fcf819f4029d54d Gerrit-Change-Number: 23812 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:46:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 09:46:37 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn: Update config to test RIM over GTPCv1 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24167 ) Change subject: ttcn3-sgsn: Update config to test RIM over GTPCv1 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I002da9afe5a7a3263fa4fda5d82fbc8d0faa0e18 Gerrit-Change-Number: 24167 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 09:46:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:46:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 09:46:54 +0000 Subject: Change in osmo-ci[master]: OBS: move verify_feed to common In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24254 ) Change subject: OBS: move verify_feed to common ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I91e4c36d4a04d465fc9ccb933e8060511b7cd145 Gerrit-Change-Number: 24254 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 09:46:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:47:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 09:47:04 +0000 Subject: Change in osmo-ci[master]: OBS: refactor osmo_obs_prepare_conflict In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24255 ) Change subject: OBS: refactor osmo_obs_prepare_conflict ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I183b9040250e66e0d7d17ef4b95af9e7d4a26f04 Gerrit-Change-Number: 24255 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 09:47:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:47:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 09:47:16 +0000 Subject: Change in osmo-ci[master]: OBS: use nightly script to build 2021q1 feed In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24256 ) Change subject: OBS: use nightly script to build 2021q1 feed ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24256 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If8de585652997aae1edb586c948c181f564f6994 Gerrit-Change-Number: 24256 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 09:47:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:47:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 09:47:46 +0000 Subject: Change in osmo-pcu[master]: Move TBF list from BTS to the TRX structure In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24227 ) Change subject: Move TBF list from BTS to the TRX structure ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id3c59c11d57d765fe68aaebaac94290c0d84feb2 Gerrit-Change-Number: 24227 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 May 2021 09:47:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:48:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 09:48:03 +0000 Subject: Change in osmo-pcu[master]: MsTest: Set up tbf talloc destructor In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24234 ) Change subject: MsTest: Set up tbf talloc destructor ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I096ff56321c8ae5e66634537aae8b95804282c65 Gerrit-Change-Number: 24234 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 May 2021 09:48:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:57:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 09:57:10 +0000 Subject: Change in osmo-ci[master]: master-builds: Use https when linking to git repos from description References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24258 ) Change subject: master-builds: Use https when linking to git repos from description ...................................................................... master-builds: Use https when linking to git repos from description Change-Id: I3a0a3d779ce456ce359e33bc1305f63271deb87e --- M jobs/master-builds.yml 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/58/24258/1 diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index 7c43bb5..974bb8c 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -377,7 +377,7 @@ artifact-num-to-keep: -1 description: | Automatic jenkins test job of - {repos} + {repos}

Auto-generated using Jenkins Job Builder. DO NOT EDIT MANUALLY! -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I3a0a3d779ce456ce359e33bc1305f63271deb87e Gerrit-Change-Number: 24258 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:57:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 09:57:10 +0000 Subject: Change in osmo-ci[master]: master-builds: turn git_base_url actually in a URL, not just hostname. References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24259 ) Change subject: master-builds: turn git_base_url actually in a URL, not just hostname. ...................................................................... master-builds: turn git_base_url actually in a URL, not just hostname. Let's include the 'protocol' part itno the git_base_url variable, so it actually becomes an URL, not just a hostname-with-path-prefix. This way we can keep using git:// for osmocom and use https:// for github and sysmocom. Change-Id: I7befd1dd1445e0aa4d42434dbc8e001f904ae196 --- M jobs/master-builds.yml 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/59/24259/1 diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index 974bb8c..56e2065 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -46,7 +46,7 @@ wrappers: [] trigger: email: jenkins-notifications at lists.osmocom.org laforge at gnumonks.org - git_base_url: git.osmocom.org + git_base_url: git://git.osmocom.org # in alphabetical order repos: @@ -207,7 +207,7 @@ docker_img: 'registry.osmocom.org/$USER/fpga-build' cmd: 'docker pull {docker_img} && {docker_run} {docker_img} /build/contrib/jenkins.sh --publish' - no2bootloader: - git_base_url: github.com/no2fpga + git_base_url: https://github.com/no2fpga docker_img: 'registry.osmocom.org/$USER/fpga-build' cmd: 'docker pull {docker_img} && {docker_run} {docker_img} /build/contrib/jenkins.sh --publish' email: gerrit-log at lists.osmocom.org laforge at gnumonks.org kredon at sysmocom.de 246tnt at gmail.com @@ -358,7 +358,7 @@ concurrent: false cmd: cd ./tests; ./run-tests slave_axis: !!python/tuple [simtester] - git_base_url: git.sysmocom.de/sysmocom + git_base_url: https://git.sysmocom.de/sysmocom jobs: - 'master-{repos}' @@ -377,7 +377,7 @@ artifact-num-to-keep: -1 description: | Automatic jenkins test job of - {repos} + {repos}

Auto-generated using Jenkins Job Builder. DO NOT EDIT MANUALLY! @@ -410,7 +410,7 @@ scm: - git: - url: git://{git_base_url}/{repos} + url: "{git_base_url}/{repos}" branches: - 'origin/master' refspec: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7befd1dd1445e0aa4d42434dbc8e001f904ae196 Gerrit-Change-Number: 24259 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:57:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 09:57:53 +0000 Subject: Change in osmo-ci[master]: master-builds: Use https when linking to git repos from description In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24258 ) Change subject: master-builds: Use https when linking to git repos from description ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I3a0a3d779ce456ce359e33bc1305f63271deb87e Gerrit-Change-Number: 24258 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 09:57:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 09:58:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 09:58:25 +0000 Subject: Change in osmo-ci[master]: master-builds: turn git_base_url actually in a URL, not just hostname. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24259 ) Change subject: master-builds: turn git_base_url actually in a URL, not just hostname. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7befd1dd1445e0aa4d42434dbc8e001f904ae196 Gerrit-Change-Number: 24259 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 09:58:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 10:05:30 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 18 May 2021 10:05:30 +0000 Subject: Change in osmo-e1-recorder[master]: tests: adjust slot numbers References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1-recorder/+/24260 ) Change subject: tests: adjust slot numbers ...................................................................... tests: adjust slot numbers The vty ts slot number was adjusted in commmit df088b0ea93d3d5851ee680ae95afa30a9359730 in libosmo-abis Change-Id: I97fc56461f800afb067f815bb85fbfab102d86f0 --- M tests/test_nodes.vty 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-e1-recorder refs/changes/60/24260/1 diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index 651079c..fdb79f6 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -4,6 +4,7 @@ E1 Line Number 1, Name , Driver dahdi DAHDI Span 2 non-existent osmo-e1-recorder> show e1_timeslot +E1 Timeslot 0 of Line 0 is Type RAW E1 Timeslot 1 of Line 0 is Type RAW E1 Timeslot 2 of Line 0 is Type RAW E1 Timeslot 3 of Line 0 is Type RAW @@ -26,7 +27,7 @@ E1 Timeslot 20 of Line 0 is Type RAW E1 Timeslot 21 of Line 0 is Type RAW E1 Timeslot 22 of Line 0 is Type RAW -E1 Timeslot 23 of Line 0 is Type RAW +E1 Timeslot 0 of Line 1 is Type RAW E1 Timeslot 1 of Line 1 is Type RAW E1 Timeslot 2 of Line 1 is Type RAW E1 Timeslot 3 of Line 1 is Type RAW @@ -49,7 +50,6 @@ E1 Timeslot 20 of Line 1 is Type RAW E1 Timeslot 21 of Line 1 is Type RAW E1 Timeslot 22 of Line 1 is Type RAW -E1 Timeslot 23 of Line 1 is Type RAW osmo-e1-recorder> enable osmo-e1-recorder# configure terminal osmo-e1-recorder(config)# list -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-recorder/+/24260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-recorder Gerrit-Branch: master Gerrit-Change-Id: I97fc56461f800afb067f815bb85fbfab102d86f0 Gerrit-Change-Number: 24260 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 10:06:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 10:06:47 +0000 Subject: Change in osmo-e1-recorder[master]: tests: adjust slot numbers In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1-recorder/+/24260 ) Change subject: tests: adjust slot numbers ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-recorder/+/24260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-recorder Gerrit-Branch: master Gerrit-Change-Id: I97fc56461f800afb067f815bb85fbfab102d86f0 Gerrit-Change-Number: 24260 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 10:06:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 10:29:13 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 18 May 2021 10:29:13 +0000 Subject: Change in osmo-e1-recorder[master]: tests: adjust slot numbers In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1-recorder/+/24260 ) Change subject: tests: adjust slot numbers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-recorder/+/24260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-recorder Gerrit-Branch: master Gerrit-Change-Id: I97fc56461f800afb067f815bb85fbfab102d86f0 Gerrit-Change-Number: 24260 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 10:29:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 10:29:52 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 18 May 2021 10:29:52 +0000 Subject: Change in osmo-e1-recorder[master]: tests: adjust slot numbers In-Reply-To: References: Message-ID: Hoernchen has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1-recorder/+/24260 ) Change subject: tests: adjust slot numbers ...................................................................... tests: adjust slot numbers The vty ts slot number was adjusted in commmit df088b0ea93d3d5851ee680ae95afa30a9359730 in libosmo-abis Change-Id: I97fc56461f800afb067f815bb85fbfab102d86f0 --- M tests/test_nodes.vty 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve Hoernchen: Looks good to me, approved diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index 651079c..fdb79f6 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -4,6 +4,7 @@ E1 Line Number 1, Name , Driver dahdi DAHDI Span 2 non-existent osmo-e1-recorder> show e1_timeslot +E1 Timeslot 0 of Line 0 is Type RAW E1 Timeslot 1 of Line 0 is Type RAW E1 Timeslot 2 of Line 0 is Type RAW E1 Timeslot 3 of Line 0 is Type RAW @@ -26,7 +27,7 @@ E1 Timeslot 20 of Line 0 is Type RAW E1 Timeslot 21 of Line 0 is Type RAW E1 Timeslot 22 of Line 0 is Type RAW -E1 Timeslot 23 of Line 0 is Type RAW +E1 Timeslot 0 of Line 1 is Type RAW E1 Timeslot 1 of Line 1 is Type RAW E1 Timeslot 2 of Line 1 is Type RAW E1 Timeslot 3 of Line 1 is Type RAW @@ -49,7 +50,6 @@ E1 Timeslot 20 of Line 1 is Type RAW E1 Timeslot 21 of Line 1 is Type RAW E1 Timeslot 22 of Line 1 is Type RAW -E1 Timeslot 23 of Line 1 is Type RAW osmo-e1-recorder> enable osmo-e1-recorder# configure terminal osmo-e1-recorder(config)# list -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-recorder/+/24260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-recorder Gerrit-Branch: master Gerrit-Change-Id: I97fc56461f800afb067f815bb85fbfab102d86f0 Gerrit-Change-Number: 24260 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 10:30:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 10:30:24 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_ipa: Fix parsing ERROR msgs in CTRL iface References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/24261 ) Change subject: osmo_ipa: Fix parsing ERROR msgs in CTRL iface ...................................................................... osmo_ipa: Fix parsing ERROR msgs in CTRL iface The UserManual documentation specifies errors to use the "ERROR" keyword, not the "ERR" one. Furthermore, libosmocore (reference implementation) sends "ERROR" too. Change-Id: I82cbe8ad0ab51fa073ac3b2d0b959a1610f683b1 --- M osmopy/osmo_ipa.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/python/osmo-python-tests refs/changes/61/24261/1 diff --git a/osmopy/osmo_ipa.py b/osmopy/osmo_ipa.py index 5538d27..a95a05b 100755 --- a/osmopy/osmo_ipa.py +++ b/osmopy/osmo_ipa.py @@ -41,7 +41,7 @@ CTRL_GET = 'GET' CTRL_SET = 'SET' CTRL_REP = 'REPLY' - CTRL_ERR = 'ERR' + CTRL_ERR = 'ERROR' CTRL_TRAP = 'TRAP' CTRL_TRAP_ID = 0 -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/24261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: I82cbe8ad0ab51fa073ac3b2d0b959a1610f683b1 Gerrit-Change-Number: 24261 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 12:57:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 12:57:53 +0000 Subject: Change in libosmocore[master]: vty: Introduce API vty_read_config_filep References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24262 ) Change subject: vty: Introduce API vty_read_config_filep ...................................................................... vty: Introduce API vty_read_config_filep This new API doesn't use host_config_set(), and allows passing a FILE* from any source, not only a filesystem path. Related: SYS#5369 Change-Id: I720ac04386261628c0798a1bfcaa91e2490a86c3 --- M TODO-RELEASE M include/osmocom/vty/vty.h M src/vty/vty.c 3 files changed, 11 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/62/24262/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index c5d4ee8..e57ffab 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -11,3 +11,4 @@ libosmogsm gsm0808_old_bss_to_new_bss_info ABI break (struct changes size), gsm0808_old_bss_to_new_bss_info_att_tlvdef symbol added libosmosim osim_card_hdl ABI + API breakage due to new struct members libosmocore osmo_tdef_fsm_inst_state_chg change default_timeout arg from unsigned long to long type (API breakage, not ABI) +libosmovty vty_read_config_filep New API diff --git a/include/osmocom/vty/vty.h b/include/osmocom/vty/vty.h index d34433f..3e6178f 100644 --- a/include/osmocom/vty/vty.h +++ b/include/osmocom/vty/vty.h @@ -141,7 +141,7 @@ #define TELNET_NAWS_SB_LEN 5 /*! sub-negotiation buffer */ unsigned char sb_buf[TELNET_NAWS_SB_LEN]; - /*! How many subnegotiation characters have we received? + /*! How many subnegotiation characters have we received? * * We just drop those that do not fit in the buffer. */ size_t sb_len; @@ -210,6 +210,7 @@ /* Prototypes. */ void vty_init(struct vty_app_info *app_info); int vty_read_config_file(const char *file_name, void *priv); +int vty_read_config_filep(FILE *confp, void *priv); void vty_init_vtysh (void); void vty_reset (void); struct vty *vty_new (void); diff --git a/src/vty/vty.c b/src/vty/vty.c index f4e8e80..76c6ef5 100644 --- a/src/vty/vty.c +++ b/src/vty/vty.c @@ -1462,9 +1462,13 @@ return 0; } -/* Read up configuration file */ -static int -vty_read_file(FILE *confp, void *priv) +/* Read up configuration from a file stream */ +/*! Read up VTY configuration from a file stream + * \param[in] confp file pointer of the stream for the configuration file + * \param[in] priv private data to be passed to \ref vty_read_file + * \returns Zero on success, non-zero on error + */ +int vty_read_config_filep(FILE *confp, void *priv) { int ret; struct vty *vty; @@ -1870,7 +1874,7 @@ if (!cfile) return -ENOENT; - rc = vty_read_file(cfile, priv); + rc = vty_read_config_filep(cfile, priv); fclose(cfile); host_config_set(file_name); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I720ac04386261628c0798a1bfcaa91e2490a86c3 Gerrit-Change-Number: 24262 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 12:58:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 12:58:41 +0000 Subject: Change in osmo-bsc[master]: ctrl: Introduce CTRL SET cmd to apply VTY cfg file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24253 ) Change subject: ctrl: Introduce CTRL SET cmd to apply VTY cfg file ...................................................................... Patch Set 4: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c6c13418e5f7b4681b0e2a5cc8bb3bc6d8d17c3 Gerrit-Change-Number: 24253 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 18 May 2021 12:58:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 14:33:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 14:33:20 +0000 Subject: Change in osmo-bsc[master]: Fix bts->description field not printed in config write References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24263 ) Change subject: Fix bts->description field not printed in config write ...................................................................... Fix bts->description field not printed in config write A recent commit removed the references to the per-TRX description, but wrongly removed the per-BTS in this place too. Fixes: defb5b12008006ce1c5fcca3baf23e068a23a498 Change-Id: Iacaa2a25633a8706bfde9e0c196fee3e5bff1639 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/63/24263/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 3c60f5f..ab883f4 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -981,6 +981,8 @@ vty_out(vty, " bts %u%s", bts->nr, VTY_NEWLINE); vty_out(vty, " type %s%s", btstype2str(bts->type), VTY_NEWLINE); + if (bts->description) + vty_out(vty, " description %s%s", bts->description, VTY_NEWLINE); vty_out(vty, " band %s%s", gsm_band_name(bts->band), VTY_NEWLINE); vty_out(vty, " cell_identity %u%s", bts->cell_identity, VTY_NEWLINE); vty_out(vty, " location_area_code %u%s", bts->location_area_code, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iacaa2a25633a8706bfde9e0c196fee3e5bff1639 Gerrit-Change-Number: 24263 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 14:50:50 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 18 May 2021 14:50:50 +0000 Subject: Change in osmo-bts[master]: main, abis: change model name from sysmoBTS to osmo-bts References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24264 ) Change subject: main,abis: change model name from sysmoBTS to osmo-bts ...................................................................... main,abis: change model name from sysmoBTS to osmo-bts The model name when used when abis_open() is called is sysmoBTS, since we recently decided to deprecate the type name "sysmobts" in osmo-bsc we might consider the same thing here. Change-Id: I3c61d92f5527ae0145316b5ff92660f8b467a8dc --- M src/common/abis.c M src/common/main.c 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/64/24264/1 diff --git a/src/common/abis.c b/src/common/abis.c index be7e906..b88d228 100644 --- a/src/common/abis.c +++ b/src/common/abis.c @@ -235,7 +235,7 @@ static struct ipaccess_unit bts_dev_info = { - .unit_name = "sysmoBTS", + .unit_name = "osmo-bts", .equipvers = "", /* FIXME: read this from hw */ .swversion = PACKAGE_VERSION, .location1 = "", diff --git a/src/common/main.c b/src/common/main.c index 73efc25..0b7d3fb 100644 --- a/src/common/main.c +++ b/src/common/main.c @@ -402,7 +402,7 @@ exit(1); } - line = abis_open(g_bts, g_bts->bsc_oml_host, "sysmoBTS"); + line = abis_open(g_bts, g_bts->bsc_oml_host, "osmo-bts"); if (!line) { fprintf(stderr, "unable to connect to BSC\n"); exit(2); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24264 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3c61d92f5527ae0145316b5ff92660f8b467a8dc Gerrit-Change-Number: 24264 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 15:11:05 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 May 2021 15:11:05 +0000 Subject: Change in libosmocore[master]: vty: Introduce API vty_read_config_filep In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24262 ) Change subject: vty: Introduce API vty_read_config_filep ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I720ac04386261628c0798a1bfcaa91e2490a86c3 Gerrit-Change-Number: 24262 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 18 May 2021 15:11:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 15:20:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 May 2021 15:20:41 +0000 Subject: Change in osmo-bsc[master]: Fix bts->description field not printed in config write In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24263 ) Change subject: Fix bts->description field not printed in config write ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24263/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24263/1/src/osmo-bsc/bsc_vty.c at 984 PS1, Line 984: if (bts->description) Shouldn't description be the first entry after 'bts N' (before the 'type')? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iacaa2a25633a8706bfde9e0c196fee3e5bff1639 Gerrit-Change-Number: 24263 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 18 May 2021 15:20:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 16:23:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 16:23:09 +0000 Subject: Change in osmo-bts[master]: main, abis: change model name from sysmoBTS to osmo-bts In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24264 ) Change subject: main,abis: change model name from sysmoBTS to osmo-bts ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24264 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3c61d92f5527ae0145316b5ff92660f8b467a8dc Gerrit-Change-Number: 24264 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 16:23:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 16:24:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 May 2021 16:24:47 +0000 Subject: Change in osmo-bsc[master]: Fix bts->description field not printed in config write In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24263 ) Change subject: Fix bts->description field not printed in config write ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24263/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24263/1/src/osmo-bsc/bsc_vty.c at 984 PS1, Line 984: if (bts->description) > Shouldn't description be the first entry after 'bts N' (before the 'type')? I just reverted the relevant part in https://git.osmocom.org/osmo-bsc/commit/?id=defb5b12008006ce1c5fcca3baf23e068a23a498 (see "Fixes:" in commit description). -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iacaa2a25633a8706bfde9e0c196fee3e5bff1639 Gerrit-Change-Number: 24263 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 18 May 2021 16:24:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Tue May 18 18:45:02 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Tue, 18 May 2021 18:45:02 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-opencm3-projects_=C2=BB_a1=3Ddefa?= =?UTF-8?Q?ult,a2=3Ddefault,a3=3Ddefault,a4=3Dde?= =?UTF-8?Q?fault,osmocom-master-debian9_#12?= In-Reply-To: <15340642.1225.1621277102057@jenkins.osmocom.org> References: <15340642.1225.1621277102057@jenkins.osmocom.org> Message-ID: <1811893321.1289.1621363502058@jenkins.osmocom.org> See Changes: ------------------------------------------ Started by upstream project "master-osmo-opencm3-projects" build number 12 originally caused by: Started by timer Running as SYSTEM Building remotely on build2-deb9build-ansible (ttcn3 osmocom-gerrit-debian9 osmocom-master-debian9 repo-install-test coverity) in workspace The recommended git tool is: NONE No credentials specified > git rev-parse --resolve-git-dir # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git://git.osmocom.org/osmo-opencm3-projects # timeout=10 Fetching upstream changes from git://git.osmocom.org/osmo-opencm3-projects > git --version # timeout=10 > git --version # 'git version 2.11.0' > git fetch --tags --progress -- git://git.osmocom.org/osmo-opencm3-projects +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision 7527cab6d8364b2022bd4fa2fd03039eac2a99bb (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 Commit message: "add missing libcommon.mk" > git rev-list --no-walk 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.libopencm3.url # timeout=10 > git config -f .gitmodules --get submodule.libopencm3.path # timeout=10 > git config --get submodule.librfn.url # timeout=10 > git config -f .gitmodules --get submodule.librfn.path # timeout=10 > git submodule update --init --recursive libopencm3 # timeout=10 > git submodule update --init --recursive librfn # timeout=10 [osmocom-master-debian9] $ /bin/sh -xe /tmp/jenkins8065686163997228596.sh + ARTIFACT_STORE=/home/osmocom-build/jenkins_build_artifact_store + mkdir -p /home/osmocom-build/jenkins_build_artifact_store + docker run --rm=true --cap-add SYS_PTRACE -e ARTIFACT_STORE=/artifact_store -e ASCIIDOC_WARNINGS_CHECK=1 -e HOME=/build -e JOB_NAME=master-osmo-opencm3-projects/a1=default,a2=default,a3=default,a4=default,label=osmocom-master-debian9 -e MAKE=make -e OSMOPY_DEBUG_TCP_SOCKETS=1 -e OSMO_GSM_MANUALS_DIR=/opt/osmo-gsm-manuals -e PARALLEL_MAKE=-j 8 -e PUBLISH=1 -e WITH_MANUALS=1 -w /build -i -u build -v :/build -v /home/osmocom-build/jenkins_build_artifact_store:/artifact_store -v /home/osmocom-build/.ssh:/home/build/.ssh:ro osmocom-build/debian-stretch-jenkins /build/contrib/jenkins.sh --publish =============== relay-driver START ============== CLEAN CC console.c arm-none-eabi-gcc: error: /usr/lib/picolibc/arm-none-eabi/picolibc.specs: No such file or directory make: *** [console.o] Error 1 ../../mk/libopencm3.mk:227: recipe for target 'console.o' failed Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Tue May 18 18:49:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 18:49:50 +0000 Subject: Change in osmo-bsc[master]: Fix bts->description field not printed in config write In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24263 ) Change subject: Fix bts->description field not printed in config write ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iacaa2a25633a8706bfde9e0c196fee3e5bff1639 Gerrit-Change-Number: 24263 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 May 2021 18:49:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 18:49:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 18:49:52 +0000 Subject: Change in osmo-bsc[master]: Fix bts->description field not printed in config write In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24263 ) Change subject: Fix bts->description field not printed in config write ...................................................................... Fix bts->description field not printed in config write A recent commit removed the references to the per-TRX description, but wrongly removed the per-BTS in this place too. Fixes: defb5b12008006ce1c5fcca3baf23e068a23a498 Change-Id: Iacaa2a25633a8706bfde9e0c196fee3e5bff1639 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 3c60f5f..ab883f4 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -981,6 +981,8 @@ vty_out(vty, " bts %u%s", bts->nr, VTY_NEWLINE); vty_out(vty, " type %s%s", btstype2str(bts->type), VTY_NEWLINE); + if (bts->description) + vty_out(vty, " description %s%s", bts->description, VTY_NEWLINE); vty_out(vty, " band %s%s", gsm_band_name(bts->band), VTY_NEWLINE); vty_out(vty, " cell_identity %u%s", bts->cell_identity, VTY_NEWLINE); vty_out(vty, " location_area_code %u%s", bts->location_area_code, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iacaa2a25633a8706bfde9e0c196fee3e5bff1639 Gerrit-Change-Number: 24263 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 18:52:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 18:52:18 +0000 Subject: Change in osmo-bts[master]: main, abis: change model name from sysmoBTS to osmo-bts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24264 ) Change subject: main,abis: change model name from sysmoBTS to osmo-bts ...................................................................... Patch Set 1: Code-Review+2 ideally we would use the exact backend used, ie. osmo-bts-{sysmo,lc15,oc2g,trx,...} to provide some useful information. This would probbly mean that the call to abis_open() would move to the backend-specific part in some way, sor the related string can be passed along. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24264 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3c61d92f5527ae0145316b5ff92660f8b467a8dc Gerrit-Change-Number: 24264 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 18:52:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 18:52:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 18:52:43 +0000 Subject: Change in osmo-ci[master]: master-builds: Use https when linking to git repos from description In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24258 ) Change subject: master-builds: Use https when linking to git repos from description ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I3a0a3d779ce456ce359e33bc1305f63271deb87e Gerrit-Change-Number: 24258 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 18:52:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 18:52:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 18:52:58 +0000 Subject: Change in osmo-ci[master]: master-builds: turn git_base_url actually in a URL, not just hostname. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24259 ) Change subject: master-builds: turn git_base_url actually in a URL, not just hostname. ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7befd1dd1445e0aa4d42434dbc8e001f904ae196 Gerrit-Change-Number: 24259 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 18:52:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 18:53:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 18:53:01 +0000 Subject: Change in osmo-ci[master]: master-builds: Use https when linking to git repos from description In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24258 ) Change subject: master-builds: Use https when linking to git repos from description ...................................................................... master-builds: Use https when linking to git repos from description Change-Id: I3a0a3d779ce456ce359e33bc1305f63271deb87e --- M jobs/master-builds.yml 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved laforge: Verified diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index 7c43bb5..974bb8c 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -377,7 +377,7 @@ artifact-num-to-keep: -1 description: | Automatic jenkins test job of - {repos} + {repos}

Auto-generated using Jenkins Job Builder. DO NOT EDIT MANUALLY! -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I3a0a3d779ce456ce359e33bc1305f63271deb87e Gerrit-Change-Number: 24258 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 18:53:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 18:53:02 +0000 Subject: Change in osmo-ci[master]: master-builds: turn git_base_url actually in a URL, not just hostname. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24259 ) Change subject: master-builds: turn git_base_url actually in a URL, not just hostname. ...................................................................... master-builds: turn git_base_url actually in a URL, not just hostname. Let's include the 'protocol' part itno the git_base_url variable, so it actually becomes an URL, not just a hostname-with-path-prefix. This way we can keep using git:// for osmocom and use https:// for github and sysmocom. Change-Id: I7befd1dd1445e0aa4d42434dbc8e001f904ae196 --- M jobs/master-builds.yml 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved; Verified diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index 974bb8c..56e2065 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -46,7 +46,7 @@ wrappers: [] trigger: email: jenkins-notifications at lists.osmocom.org laforge at gnumonks.org - git_base_url: git.osmocom.org + git_base_url: git://git.osmocom.org # in alphabetical order repos: @@ -207,7 +207,7 @@ docker_img: 'registry.osmocom.org/$USER/fpga-build' cmd: 'docker pull {docker_img} && {docker_run} {docker_img} /build/contrib/jenkins.sh --publish' - no2bootloader: - git_base_url: github.com/no2fpga + git_base_url: https://github.com/no2fpga docker_img: 'registry.osmocom.org/$USER/fpga-build' cmd: 'docker pull {docker_img} && {docker_run} {docker_img} /build/contrib/jenkins.sh --publish' email: gerrit-log at lists.osmocom.org laforge at gnumonks.org kredon at sysmocom.de 246tnt at gmail.com @@ -358,7 +358,7 @@ concurrent: false cmd: cd ./tests; ./run-tests slave_axis: !!python/tuple [simtester] - git_base_url: git.sysmocom.de/sysmocom + git_base_url: https://git.sysmocom.de/sysmocom jobs: - 'master-{repos}' @@ -377,7 +377,7 @@ artifact-num-to-keep: -1 description: | Automatic jenkins test job of - {repos} + {repos}

Auto-generated using Jenkins Job Builder. DO NOT EDIT MANUALLY! @@ -410,7 +410,7 @@ scm: - git: - url: git://{git_base_url}/{repos} + url: "{git_base_url}/{repos}" branches: - 'origin/master' refspec: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7befd1dd1445e0aa4d42434dbc8e001f904ae196 Gerrit-Change-Number: 24259 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 18:53:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 18:53:21 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_ipa: Fix parsing ERROR msgs in CTRL iface In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/24261 ) Change subject: osmo_ipa: Fix parsing ERROR msgs in CTRL iface ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/24261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: I82cbe8ad0ab51fa073ac3b2d0b959a1610f683b1 Gerrit-Change-Number: 24261 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 May 2021 18:53:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 18:54:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 18:54:17 +0000 Subject: Change in libosmocore[master]: vty: Introduce API vty_read_config_filep In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24262 ) Change subject: vty: Introduce API vty_read_config_filep ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24262/1/include/osmocom/vty/vty.h File include/osmocom/vty/vty.h: https://gerrit.osmocom.org/c/libosmocore/+/24262/1/include/osmocom/vty/vty.h at 144 PS1, Line 144: /*! How many subnegotiation characters have we received? unrelated ws change. We can ignore it this once... -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I720ac04386261628c0798a1bfcaa91e2490a86c3 Gerrit-Change-Number: 24262 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 May 2021 18:54:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 18:54:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 18:54:20 +0000 Subject: Change in libosmocore[master]: vty: Introduce API vty_read_config_filep In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24262 ) Change subject: vty: Introduce API vty_read_config_filep ...................................................................... vty: Introduce API vty_read_config_filep This new API doesn't use host_config_set(), and allows passing a FILE* from any source, not only a filesystem path. Related: SYS#5369 Change-Id: I720ac04386261628c0798a1bfcaa91e2490a86c3 --- M TODO-RELEASE M include/osmocom/vty/vty.h M src/vty/vty.c 3 files changed, 11 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index c5d4ee8..e57ffab 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -11,3 +11,4 @@ libosmogsm gsm0808_old_bss_to_new_bss_info ABI break (struct changes size), gsm0808_old_bss_to_new_bss_info_att_tlvdef symbol added libosmosim osim_card_hdl ABI + API breakage due to new struct members libosmocore osmo_tdef_fsm_inst_state_chg change default_timeout arg from unsigned long to long type (API breakage, not ABI) +libosmovty vty_read_config_filep New API diff --git a/include/osmocom/vty/vty.h b/include/osmocom/vty/vty.h index d34433f..3e6178f 100644 --- a/include/osmocom/vty/vty.h +++ b/include/osmocom/vty/vty.h @@ -141,7 +141,7 @@ #define TELNET_NAWS_SB_LEN 5 /*! sub-negotiation buffer */ unsigned char sb_buf[TELNET_NAWS_SB_LEN]; - /*! How many subnegotiation characters have we received? + /*! How many subnegotiation characters have we received? * * We just drop those that do not fit in the buffer. */ size_t sb_len; @@ -210,6 +210,7 @@ /* Prototypes. */ void vty_init(struct vty_app_info *app_info); int vty_read_config_file(const char *file_name, void *priv); +int vty_read_config_filep(FILE *confp, void *priv); void vty_init_vtysh (void); void vty_reset (void); struct vty *vty_new (void); diff --git a/src/vty/vty.c b/src/vty/vty.c index f4e8e80..76c6ef5 100644 --- a/src/vty/vty.c +++ b/src/vty/vty.c @@ -1462,9 +1462,13 @@ return 0; } -/* Read up configuration file */ -static int -vty_read_file(FILE *confp, void *priv) +/* Read up configuration from a file stream */ +/*! Read up VTY configuration from a file stream + * \param[in] confp file pointer of the stream for the configuration file + * \param[in] priv private data to be passed to \ref vty_read_file + * \returns Zero on success, non-zero on error + */ +int vty_read_config_filep(FILE *confp, void *priv) { int ret; struct vty *vty; @@ -1870,7 +1874,7 @@ if (!cfile) return -ENOENT; - rc = vty_read_file(cfile, priv); + rc = vty_read_config_filep(cfile, priv); fclose(cfile); host_config_set(file_name); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I720ac04386261628c0798a1bfcaa91e2490a86c3 Gerrit-Change-Number: 24262 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 18:55:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 18:55:04 +0000 Subject: Change in osmo-bsc[master]: ctrl: Introduce CTRL SET cmd to apply VTY cfg file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24253 ) Change subject: ctrl: Introduce CTRL SET cmd to apply VTY cfg file ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c6c13418e5f7b4681b0e2a5cc8bb3bc6d8d17c3 Gerrit-Change-Number: 24253 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 May 2021 18:55:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 18:57:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 18:57:53 +0000 Subject: Change in osmo-pcu[master]: tbf: Move existing tbf_state implementation to osmo_fsm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24235 ) Change subject: tbf: Move existing tbf_state implementation to osmo_fsm ...................................................................... Patch Set 2: Code-Review+1 I think the commitlog is a bit preposterous in that it states you move to osmo_fsm when in reality ist is just a preparation :P -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6bb4baea2dee191ba5bbcbec2ea9dcf681aa1237 Gerrit-Change-Number: 24235 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 May 2021 18:57:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 18:59:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 18:59:27 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not crash when lco/sdp can not be generated In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24182 ) Change subject: mgcp_client: do not crash when lco/sdp can not be generated ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24182/1/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24182/1/src/libosmo-mgcp-client/mgcp_client.c at 1122 PS1, Line 1122: rc += -1; > Can you explain this line here? I don't get where this -1 comes from. Agree with pau, it's not clear why we subtract. also, if you want to subtract one, "rc -= 1" would be more usual than adding the negation of 1. https://gerrit.osmocom.org/c/osmo-mgw/+/24182/1/src/libosmo-mgcp-client/mgcp_client.c at 1234 PS1, Line 1234: rc += -1; > Same here. +1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb788343e0bec9c0eaf33e6e4727d4d36c100017 Gerrit-Change-Number: 24182 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 18:59:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 19:00:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 19:00:24 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: remove redundant assert() in bts_sched_fn() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24239 ) Change subject: osmo-bts-trx: remove redundant assert() in bts_sched_fn() ...................................................................... Patch Set 2: Code-Review+1 not sure checking a second time is really such a bad idea, but well... -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I896ff5117588f2229cc54619ce62fd027a9ef25f Gerrit-Change-Number: 24239 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 19:00:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 19:00:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 19:00:40 +0000 Subject: Change in osmo-bts[master]: scheduler.h: cosmetic: use #pragma once In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24238 ) Change subject: scheduler.h: cosmetic: use #pragma once ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I551ce74f8cec8ec8d80768ec6c0559a203a8143c Gerrit-Change-Number: 24238 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 19:00:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 19:00:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 19:00:53 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24241 ) Change subject: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 Gerrit-Change-Number: 24241 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 19:00:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 19:00:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 19:00:55 +0000 Subject: Change in osmo-bts[master]: scheduler.h: cosmetic: use #pragma once In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24238 ) Change subject: scheduler.h: cosmetic: use #pragma once ...................................................................... scheduler.h: cosmetic: use #pragma once Change-Id: I551ce74f8cec8ec8d80768ec6c0559a203a8143c --- M include/osmo-bts/scheduler.h 1 file changed, 1 insertion(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Hoernchen: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 10359f1..4b1731a 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -1,5 +1,4 @@ -#ifndef TRX_SCHEDULER_H -#define TRX_SCHEDULER_H +#pragma once #include #include @@ -312,5 +311,3 @@ void trx_sched_meas_avg(const struct l1sched_chan_state *chan_state, struct l1sched_meas_set *avg, enum sched_meas_avg_mode mode); - -#endif /* TRX_SCHEDULER_H */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I551ce74f8cec8ec8d80768ec6c0559a203a8143c Gerrit-Change-Number: 24238 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 19:00:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 19:00:55 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24241 ) Change subject: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g ...................................................................... osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index bfe8d5c..f9355a5 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -93,7 +93,7 @@ } /* schedule all frames of all TRX for given FN */ -static void trx_sched_fn(struct gsm_bts *bts, const uint32_t fn) +static void bts_sched_fn(struct gsm_bts *bts, const uint32_t fn) { struct trx_dl_burst_req br; struct gsm_bts_trx *trx; @@ -305,9 +305,9 @@ goto no_clock; } - /* call trx_sched_fn() for all expired FN */ + /* call bts_sched_fn() for all expired FN */ for (i = 0; i < expire_count; i++) - trx_sched_fn(bts, GSM_TDMA_FN_INC(tcs->last_fn_timer.fn)); + bts_sched_fn(bts, GSM_TDMA_FN_INC(tcs->last_fn_timer.fn)); return 0; @@ -375,7 +375,7 @@ tcs->last_fn_timer.fn = fn; tcs->last_fn_timer.tv = *tv_now; /* call trx scheduler function for new 'last' FN */ - trx_sched_fn(bts, tcs->last_fn_timer.fn); + bts_sched_fn(bts, tcs->last_fn_timer.fn); return 0; } @@ -450,7 +450,7 @@ /* transmit what we still need to transmit */ while (fn != tcs->last_fn_timer.fn) { - trx_sched_fn(bts, GSM_TDMA_FN_INC(tcs->last_fn_timer.fn)); + bts_sched_fn(bts, GSM_TDMA_FN_INC(tcs->last_fn_timer.fn)); fn_caught_up++; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 Gerrit-Change-Number: 24241 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 19:01:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 19:01:26 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24240 ) Change subject: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24240 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 19:01:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 19:02:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 19:02:38 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Re-organize osmo-bts-trx specific structures In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24179 ) Change subject: [VAMOS] Re-organize osmo-bts-trx specific structures ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7c4379e43a25e9d858d582a99bf6c4b65c9af481 Gerrit-Change-Number: 24179 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 19:02:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 19:04:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 19:04:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_t3141 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24208 ) Change subject: pcu: Introduce test TC_t3141 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24208 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: I5f30e93de4a109d60577394da4e00a15ab23d1d6 Gerrit-Change-Number: 24208 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 18 May 2021 19:04:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 19:04:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 19:04:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_t3141 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24208 ) Change subject: pcu: Introduce test TC_t3141 ...................................................................... pcu: Introduce test TC_t3141 Change-Id: I5f30e93de4a109d60577394da4e00a15ab23d1d6 Related: OS#1940 --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 116 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index d3ace4d..5cf9104 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -241,6 +241,17 @@ return 51 * ((st.t3 - st.t2) mod 26) + st.t3 + 51 * 26 * st.t1; } +function fn2bn(GsmFrameNumber fn) return uint32_t { + return (fn mod 52) / 4; +} +function f_next_pdch_block(GsmFrameNumber fn) return GsmFrameNumber +{ + var uint32_t bn := fn2bn(fn) + 1; + fn := fn - (fn mod 52); + fn := fn + bn * 4 + bn / 3; + return fn mod GsmMaxFrameNumber; +} + function f_ultbf_new_from_rr_imm_ass(in GsmRrMessage rr_imm_ass) runs on MS_BTS_IFACE_CT return UlTbf { var UlTbf ul_tbf := valueof(t_UlTbf_def); diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 4df5515..3d374d0 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1270,6 +1270,110 @@ f_dl_data_exp_cs(f_rlcmac_block_int2cs_mcs(g_mcs_max_dl, true), bssgp_ms_racap_egprs_def); } +/* Verify PCU drops TBF after some time of inactivity. */ +testcase TC_t3141() runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var template (value) TsTrxBtsNum nr; + var BTS_PDTCH_Block data_msg; + var GprsMS ms; + var uint3_t rx_usf; + timer T_3141 := 1.0; + var boolean ul_tbf_usf_req := false; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ + + info_ind := valueof(ts_PCUIF_INFO_default(c_PCUIF_Flags_noMCS)); + /* Only use 1 PDCH to simplify test: */ + f_PCUIF_PDCHMask_set(info_ind, '00000001'B, 0); + f_PCUIF_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename(), info_ind); + + f_vty_config2(PCUVTY, {"pcu"}, "timer T3141 1"); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* Establish a one-phase access Uplink TBF */ + f_ms_establish_ul_tbf(ms); + + T_3141.start; + + /* Now we wait for PCU to transmit our USF */ + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + + alt { + [] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, + tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH), + ?)) -> value data_msg { + if (ms.ul_tbf.usf[valueof(nr.ts_nr)] == USF_UNUSED) { + setverdict(fail, "Unexpected ts_nr ", valueof(nr.ts_nr), " without USF allocated"); + f_shutdown(__BFILE__, __LINE__); + } + + rx_usf := f_rlcmac_dl_block_get_usf(data_msg.dl_block); + if (rx_usf == ms.ul_tbf.usf[valueof(nr.ts_nr)]) { + /* PCU requests our USF, transmit WITHOUT tlli to avoid contention resolution success */ + ul_tbf_usf_req := true; + f_ms_tx_ul_data_block(ms, f_rnd_octstring(10), cv := 15, with_tlli := false, fn := f_next_pdch_block(data_msg.raw.fn)) + } else if (rx_usf == USF_UNUSED) { + if (data_msg.raw.fn >= ms.ul_tbf.start_time_fn) { + if (ul_tbf_usf_req) { + /* TBF was dropped by T3141, success */ + setverdict(pass); + break; + } else { + log("PCU never requested USF, unexpected"); + f_shutdown(__BFILE__, __LINE__); + } + } /* else: Keep waiting for TBF to be active by network */ + } else { + log("PCU requests ", rx_usf, ", we have ", ms.ul_tbf.usf[valueof(nr.ts_nr)]); + f_shutdown(__BFILE__, __LINE__); + } + + /* Make sure we don't receive a Ul ACK/NACK with TLLI set: */ + if (match(data_msg.dl_block, + tr_RLCMAC_UL_ACK_NACK_GPRS(ms.ul_tbf.tfi, + tr_UlAckNackGprs(tlli := ?, + acknack_desc := ?, + rel99 := *)))) + { + log("Received UL ACK/NACK with TLLI set"); + f_shutdown(__BFILE__, __LINE__); + } + + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + repeat; + } + [] T_3141.timeout { + log("T_3141 expired but TBF is still active, unexpected"); + f_shutdown(__BFILE__, __LINE__); + } + [] BTS.receive { + /* We should never receive non-dummy messages, aka UL ACK/NACK, + * because we never sent the TLLI to the PCU */ + setverdict(fail, "Unexpected BTS message"); + f_shutdown(__BFILE__, __LINE__); + } + } + + f_shutdown(__BFILE__, __LINE__, final := true); +} + /* Validate what happens when RACH to get UL TBF and then PCU receives no UL * data. It should end up in N3101 reaching N3101_MAX and finally triggering * T3169. See OS#5033 */ @@ -5758,6 +5862,7 @@ execute( TC_mcs_max_ul() ); execute( TC_mcs_initial_dl() ); execute( TC_mcs_max_dl() ); + execute( TC_t3141() ); execute( TC_n3101_max_t3169() ); execute( TC_n3103_max_t3169() ); execute( TC_x2031_t3191() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24208 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: I5f30e93de4a109d60577394da4e00a15ab23d1d6 Gerrit-Change-Number: 24208 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 19:04:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 May 2021 19:04:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add first a5/4 tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 ) Change subject: msc: add first a5/4 tests ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 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: Idc055a006b325f58a5eafa88bc4415181b3500a2 Gerrit-Change-Number: 24247 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 18 May 2021 19:04:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 19:05:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 May 2021 19:05:37 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: remove redundant assert() in bts_sched_fn() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24239 ) Change subject: osmo-bts-trx: remove redundant assert() in bts_sched_fn() ...................................................................... Patch Set 2: > Patch Set 2: Code-Review+1 > > not sure checking a second time is really such a bad idea, but well... The point is that 'trx' can never be NULL in this context, so the assert(trx) makes no sense. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I896ff5117588f2229cc54619ce62fd027a9ef25f Gerrit-Change-Number: 24239 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 19:05:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 19:10:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 May 2021 19:10:37 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: remove redundant assert() in bts_sched_fn() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24239 ) Change subject: osmo-bts-trx: remove redundant assert() in bts_sched_fn() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I896ff5117588f2229cc54619ce62fd027a9ef25f Gerrit-Change-Number: 24239 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 19:10:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 19:10:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 May 2021 19:10:46 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Re-organize osmo-bts-trx specific structures In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24179 ) Change subject: [VAMOS] Re-organize osmo-bts-trx specific structures ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7c4379e43a25e9d858d582a99bf6c4b65c9af481 Gerrit-Change-Number: 24179 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 May 2021 19:10:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 19:11:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 May 2021 19:11:06 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: remove redundant assert() in bts_sched_fn() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24239 ) Change subject: osmo-bts-trx: remove redundant assert() in bts_sched_fn() ...................................................................... osmo-bts-trx: remove redundant assert() in bts_sched_fn() trx_phy_instance() does assert() that the given TRX pointer is not NULL. In bts_sched_fn() it can never be NULL, so drop it. Change-Id: I896ff5117588f2229cc54619ce62fd027a9ef25f --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index f9355a5..8858136 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -106,7 +106,7 @@ /* process every TRX */ llist_for_each_entry(trx, &bts->trx_list, list) { - struct phy_instance *pinst = trx_phy_instance(trx); + struct phy_instance *pinst = trx->pinst; struct phy_link *plink = pinst->phy_link; struct trx_l1h *l1h = pinst->u.osmotrx.hdl; struct l1sched_trx *l1t = &l1h->l1s; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I896ff5117588f2229cc54619ce62fd027a9ef25f Gerrit-Change-Number: 24239 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 19:11:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 May 2021 19:11:07 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24240 ) Change subject: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() ...................................................................... osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() In change [1] together with the actual implementation I introduced a serious bug to bts_sched_fn(): if a timeslot is configured to use frequency hopping, both 'pinst' and 'l1h' pointers are *overwriten* in the inner loop, so the Downlink burst is re-directed to the approproate PHY instance. However, if a subsequent timeslot is not hopping, the Downlink burst would be re-directed to the wrong PHY instance because both pointers were overwriten during a previous iteration. Let's move the 'struct phy_instance' pointer to the inner loop, so it's properly re-initialized for each timeslot iteration. Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Fixes: [1] I68f4ae09fd0789ad0d8f1c1e17e17dfc4de8e462 Related: SYS#4868, OS#4546 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Hoernchen: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 8858136..3c29fcb 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -106,9 +106,8 @@ /* process every TRX */ llist_for_each_entry(trx, &bts->trx_list, list) { - struct phy_instance *pinst = trx->pinst; - struct phy_link *plink = pinst->phy_link; - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; + const struct phy_link *plink = trx->pinst->phy_link; + struct trx_l1h *l1h = trx->pinst->u.osmotrx.hdl; struct l1sched_trx *l1t = &l1h->l1s; /* we don't schedule, if power is off */ @@ -121,6 +120,8 @@ /* process every TS of TRX */ for (tn = 0; tn < ARRAY_SIZE(l1t->ts); tn++) { + const struct phy_instance *pinst = trx->pinst; + /* ready-to-send */ _sched_rts(l1t, tn, GSM_TDMA_FN_SUM(sched_fn, plink->u.osmotrx.rts_advance)); @@ -142,7 +143,6 @@ pinst = dlfh_route_br(&br, &trx->ts[tn]); if (pinst == NULL) continue; - l1h = pinst->u.osmotrx.hdl; } if (pinst->trx == bts->c0) { @@ -152,7 +152,7 @@ br.att = 0; } - trx_if_send_burst(l1h, &br); + trx_if_send_burst(pinst->u.osmotrx.hdl, &br); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24240 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 19:11:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 May 2021 19:11:07 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Re-organize osmo-bts-trx specific structures In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24179 ) Change subject: [VAMOS] Re-organize osmo-bts-trx specific structures ...................................................................... [VAMOS] Re-organize osmo-bts-trx specific structures Together with the 'generic' structures which used to be shared between osmo-bsc and osmo-bts some time ago, we also have the following osmo-bts-trx specific structures (in hierarchical order): - struct l1sched_trx (struct gsm_bts_trx), - struct l1sched_ts (struct gsm_bts_trx_ts), - struct l1sched_chan_state (struct gsm_lchan). These structures are not integrated into the tree of the generic structures, but maintained in a _separate tree_ instead. Until recently, only the 'l1sched_trx' had a pointer to generic 'gsm_bts_trx', so in order to find the corresponding 'gsm_lchan' for 'l1sched_chan_state' one would need to traverse all the way up to 'l1sched_trx' and then tracerse another three backwards. + gsm_network | --+ gsm_bts (0..255) | --+ l1sched_trx --------------------> gsm_bts_trx (0..255) | | --+ l1sched_trx_ts --+ gsm_bts_trx_ts (8) | | --+ l1sched_chan_state --+ gsm_lchan (up to 8) I find this architecture a bit over-complicated, especially given that 'l1sched_trx' is kind of a dummy node containing nothing else than a pointer to 'gsm_bts_trx' and the list of 'l1sched_trx_ts'. In this path I slightly change the architecture as follows: + gsm_network | --+ gsm_bts (0..255) | --+ gsm_bts_trx (0..255) | --+ l1sched_trx_ts <----------------> gsm_bts_trx_ts (8) | | --+ l1sched_chan_state --+ gsm_lchan (up to 8) Note that unfortunately we cannot 1:1 map 'l1sched_chan_state' to 'gsm_lchan' (like we do for 'l1sched_trx_ts' and 'gsm_bts_trx_ts') because there is no direct mapping. The former is a higl-level representation of a logical channel, while the later represents one specific logical channel type like FCCH, SDCCH/0 or SACCH/0. osmo-bts-virtual re-uses the osmo-bts-trx hierarchy, so it's also affected by this change. Change-Id: I7c4379e43a25e9d858d582a99bf6c4b65c9af481 --- M include/osmo-bts/gsm_data.h M include/osmo-bts/phy_link.h M include/osmo-bts/scheduler.h M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/loops.c M src/osmo-bts-trx/loops.h M src/osmo-bts-trx/sched_lchan_fcch_sch.c M src/osmo-bts-trx/sched_lchan_pdtch.c M src/osmo-bts-trx/sched_lchan_rach.c M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_lchan_xcch.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-trx/trx_if.c M src/osmo-bts-virtual/bts_model.c M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/l1_if.h M src/osmo-bts-virtual/scheduler_virtbts.c 21 files changed, 399 insertions(+), 510 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index ff0c89c..be18007 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -455,6 +455,9 @@ /* Transceiver "cache" for frequency hopping */ const struct gsm_bts_trx *fh_trx_list[64]; + /* Implementation specific structure(s) */ + void *priv; + struct gsm_lchan lchan[TS_MAX_LCHAN]; }; diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index 467ad52..c4b60f3 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -115,9 +115,6 @@ bool sw_act_reported; } osmotrx; struct { - struct l1sched_trx sched; - } virt; - struct { /* logical transceiver number within one PHY */ uint32_t trx_id; /* trx lock state variable */ diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 4b1731a..3ea08d9 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -136,6 +136,8 @@ }; struct l1sched_ts { + struct gsm_bts_trx_ts *ts; /* timeslot we belong to */ + uint8_t mf_index; /* selected multiframe index */ uint8_t mf_period; /* period of multiframe */ const struct trx_sched_frame *mf_frames; /* pointer to frame layout */ @@ -148,25 +150,18 @@ struct l1sched_chan_state chan_state[_TRX_CHAN_MAX]; }; -struct l1sched_trx { - struct gsm_bts_trx *trx; - struct l1sched_ts ts[TRX_NR_TS]; -}; - -struct l1sched_ts *l1sched_trx_get_ts(struct l1sched_trx *l1t, uint8_t tn); - /*! \brief Initialize the scheduler data structures */ -int trx_sched_init(struct l1sched_trx *l1t, struct gsm_bts_trx *trx); +void trx_sched_init(struct gsm_bts_trx *trx); /*! \brief De-initialize the scheduler data structures */ -void trx_sched_exit(struct l1sched_trx *l1t); +void trx_sched_clean(struct gsm_bts_trx *trx); /*! \brief Handle a PH-DATA.req from L2 down to L1 */ -int trx_sched_ph_data_req(struct l1sched_trx *l1t, struct osmo_phsap_prim *l1sap); +int trx_sched_ph_data_req(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap); /*! \brief Handle a PH-TCH.req from L2 down to L1 */ -int trx_sched_tch_req(struct l1sched_trx *l1t, struct osmo_phsap_prim *l1sap); +int trx_sched_tch_req(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap); /*! \brief PHY informs us of new (current) GSM frame number */ int trx_sched_clock(struct gsm_bts *bts, uint32_t fn); @@ -178,21 +173,19 @@ int trx_sched_clock_stopped(struct gsm_bts *bts); /*! \brief set multiframe scheduler to given physical channel config */ -int trx_sched_set_pchan(struct l1sched_trx *l1t, uint8_t tn, - enum gsm_phys_chan_config pchan); +int trx_sched_set_pchan(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config pchan); /*! \brief set all matching logical channels active/inactive */ -int trx_sched_set_lchan(struct l1sched_trx *l1t, uint8_t chan_nr, uint8_t link_id, bool active); +int trx_sched_set_lchan(struct gsm_lchan *lchan, uint8_t chan_nr, uint8_t link_id, bool active); /*! \brief set mode of all matching logical channels to given mode(s) */ -int trx_sched_set_mode(struct l1sched_trx *l1t, uint8_t chan_nr, uint8_t rsl_cmode, +int trx_sched_set_mode(struct gsm_bts_trx_ts *ts, uint8_t chan_nr, uint8_t rsl_cmode, uint8_t tch_mode, int codecs, uint8_t codec0, uint8_t codec1, uint8_t codec2, uint8_t codec3, uint8_t initial_codec, uint8_t handover); /*! \brief set ciphering on given logical channels */ -int trx_sched_set_cipher(struct l1sched_trx *l1t, uint8_t chan_nr, int downlink, - int algo, uint8_t *key, int key_len); +int trx_sched_set_cipher(struct gsm_lchan *lchan, uint8_t chan_nr, bool downlink); /* frame structures */ struct trx_sched_frame { @@ -287,8 +280,8 @@ }; /*! Handle an UL burst received by PHY */ -int trx_sched_route_burst_ind(struct trx_ul_burst_ind *bi, struct l1sched_trx *l1t); -int trx_sched_ul_burst(struct l1sched_trx *l1t, struct trx_ul_burst_ind *bi); +int trx_sched_route_burst_ind(const struct gsm_bts_trx *trx, struct trx_ul_burst_ind *bi); +int trx_sched_ul_burst(struct l1sched_ts *l1ts, struct trx_ul_burst_ind *bi); /* Averaging mode for trx_sched_meas_avg() */ enum sched_meas_avg_mode { diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index 13ca71b..2a0dd11 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -1,21 +1,18 @@ #pragma once -#define LOGL1S(subsys, level, l1t, tn, chan, fn, fmt, args ...) \ +#define LOGL1S(subsys, level, l1ts, chan, fn, fmt, args ...) \ LOGP(subsys, level, "%s %s %s: " fmt, \ gsm_fn_as_gsmtime_str(fn), \ - gsm_ts_name(&(l1t)->trx->ts[tn]), \ + gsm_ts_name((l1ts)->ts), \ chan >=0 ? trx_chan_desc[chan].name : "", ## args) /* Logging helper adding context from trx_{ul,dl}_burst_{ind,req} */ -#define LOGL1SB(subsys, level, l1t, b, fmt, args ...) \ - LOGL1S(subsys, level, l1t, (b)->tn, (b)->chan, (b)->fn, fmt, ## args) +#define LOGL1SB(subsys, level, l1ts, b, fmt, args ...) \ + LOGL1S(subsys, level, l1ts, (b)->chan, (b)->fn, fmt, ## args) -typedef int trx_sched_rts_func(struct l1sched_trx *l1t, uint8_t tn, - uint32_t fn, enum trx_chan_type chan); - -typedef int trx_sched_dl_func(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); - -typedef int trx_sched_ul_func(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); +typedef int trx_sched_rts_func(const struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br); +typedef int trx_sched_dl_func(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); +typedef int trx_sched_ul_func(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi); struct trx_chan_desc { /*! \brief Human-readable name */ @@ -42,35 +39,34 @@ extern const ubit_t _sched_egprs_tsc[8][78]; extern const ubit_t _sched_sch_train[64]; -struct msgb *_sched_dequeue_prim(struct l1sched_trx *l1t, - const struct trx_dl_burst_req *br); +struct msgb *_sched_dequeue_prim(struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br); -int _sched_compose_ph_data_ind(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, +int _sched_compose_ph_data_ind(struct l1sched_ts *l1ts, uint32_t fn, enum trx_chan_type chan, uint8_t *l2, uint8_t l2_len, float rssi, int16_t ta_offs_256bits, int16_t link_qual_cb, uint16_t ber10k, enum osmo_ph_pres_info_type presence_info); -int _sched_compose_tch_ind(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, +int _sched_compose_tch_ind(struct l1sched_ts *l1ts, uint32_t fn, enum trx_chan_type chan, uint8_t *tch, uint8_t tch_len, int16_t ta_offs_256bits, uint16_t ber10k, float rssi, uint8_t is_sub); -int tx_idle_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); -int tx_fcch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); -int tx_sch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); -int tx_data_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); -int tx_pdtch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); -int tx_tchf_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); -int tx_tchh_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); +int tx_idle_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); +int tx_fcch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); +int tx_sch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); +int tx_data_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); +int tx_pdtch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); +int tx_tchf_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); +int tx_tchh_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); -int rx_rach_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); -int rx_data_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); -int rx_pdtch_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); -int rx_tchf_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); -int rx_tchh_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); +int rx_rach_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi); +int rx_data_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi); +int rx_pdtch_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi); +int rx_tchf_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi); +int rx_tchh_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi); -void _sched_dl_burst(struct l1sched_trx *l1t, struct trx_dl_burst_req *br); -int _sched_rts(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn); -void _sched_act_rach_det(struct l1sched_trx *l1t, uint8_t tn, uint8_t ss, int activate); +void _sched_dl_burst(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br); +int _sched_rts(const struct l1sched_ts *l1ts, uint32_t fn); +void _sched_act_rach_det(struct gsm_bts_trx *trx, uint8_t tn, uint8_t ss, int activate); diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 87a1f60..f5a5b89 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -3,6 +3,7 @@ /* (C) 2013 by Andreas Eversberg * (C) 2015 by Alexander Chemeris * (C) 2015 by Harald Welte + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -46,12 +47,9 @@ extern void *tall_bts_ctx; -static int rts_data_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan); -static int rts_tchf_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan); -static int rts_tchh_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan); +static int rts_data_fn(const struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br); +static int rts_tchf_fn(const struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br); +static int rts_tchh_fn(const struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br); /*! \brief Dummy Burst (TS 05.02 Chapter 5.2.6) */ const ubit_t _sched_dummy_burst[GSM_BURST_LEN] = { @@ -576,20 +574,20 @@ * init / exit */ -int trx_sched_init(struct l1sched_trx *l1t, struct gsm_bts_trx *trx) +void trx_sched_init(struct gsm_bts_trx *trx) { - uint8_t tn; - unsigned int i; + unsigned int tn, i; - if (!trx) - return -EINVAL; + LOGPTRX(trx, DL1C, LOGL_DEBUG, "Init scheduler structures\n"); - l1t->trx = trx; + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + struct l1sched_ts *l1ts; - LOGP(DL1C, LOGL_NOTICE, "Init scheduler for trx=%u\n", l1t->trx->nr); + l1ts = talloc_zero(trx, struct l1sched_ts); + OSMO_ASSERT(l1ts != NULL); - for (tn = 0; tn < ARRAY_SIZE(l1t->ts); tn++) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + trx->ts[tn].priv = l1ts; + l1ts->ts = &trx->ts[tn]; l1ts->mf_index = 0; l1ts->ctrs = rate_ctr_group_alloc(trx, &l1sched_ts_ctrg_desc, (trx->nr + 1) * 10 + tn); @@ -601,20 +599,18 @@ chan_state->active = false; } } - - return 0; } -void trx_sched_exit(struct l1sched_trx *l1t) +void trx_sched_clean(struct gsm_bts_trx *trx) { - struct gsm_bts_trx_ts *ts; - uint8_t tn; - int i; + unsigned int tn, i; - LOGP(DL1C, LOGL_NOTICE, "Exit scheduler for trx=%u\n", l1t->trx->nr); + LOGPTRX(trx, DL1C, LOGL_DEBUG, "Clean scheduler structures\n"); - for (tn = 0; tn < ARRAY_SIZE(l1t->ts); tn++) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + struct l1sched_ts *l1ts = ts->priv; + msgb_queue_flush(&l1ts->dl_prims); rate_ctr_group_free(l1ts->ctrs); l1ts->ctrs = NULL; @@ -631,19 +627,16 @@ } } /* clear lchan channel states */ - ts = &l1t->trx->ts[tn]; for (i = 0; i < ARRAY_SIZE(ts->lchan); i++) lchan_set_state(&ts->lchan[i], LCHAN_S_NONE); } } -struct msgb *_sched_dequeue_prim(struct l1sched_trx *l1t, - const struct trx_dl_burst_req *br) +struct msgb *_sched_dequeue_prim(struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br) { struct msgb *msg, *msg2; uint32_t prim_fn, l1sap_fn; uint8_t chan_nr, link_id; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); /* get prim of current fn from queue */ llist_for_each_entry_safe(msg, msg2, &l1ts->dl_prims, list) { @@ -660,17 +653,17 @@ l1sap_fn = l1sap->u.tch.fn; break; default: - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Prim has wrong type.\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Prim has wrong type.\n"); goto free_msg; } prim_fn = GSM_TDMA_FN_SUB(l1sap_fn, br->fn); if (prim_fn > 100) { /* l1sap_fn < fn */ - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Prim %u is out of range (%u vs exp %u), or channel %s with " "type %s is already disabled. If this happens in " "conjunction with PCU, increase 'rts-advance' by 5.\n", prim_fn, l1sap_fn, br->fn, - get_lchan_by_chan_nr(l1t->trx, chan_nr)->name, + get_lchan_by_chan_nr(l1ts->ts->trx, chan_nr)->name, trx_chan_desc[br->chan].name); rate_ctr_inc2(l1ts->ctrs, L1SCHED_TS_CTR_DL_LATE); /* unlink and free message */ @@ -684,7 +677,7 @@ /* l1sap_fn == fn */ if ((chan_nr ^ (trx_chan_desc[br->chan].chan_nr | br->tn)) || ((link_id & 0xc0) ^ trx_chan_desc[br->chan].link_id)) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Prim has wrong chan_nr=0x%02x link_id=%02x, " + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Prim has wrong chan_nr=0x%02x link_id=%02x, " "expecting chan_nr=0x%02x link_id=%02x.\n", chan_nr, link_id, trx_chan_desc[br->chan].chan_nr | br->tn, trx_chan_desc[br->chan].link_id); goto free_msg; @@ -706,7 +699,7 @@ return NULL; } -int _sched_compose_ph_data_ind(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, +int _sched_compose_ph_data_ind(struct l1sched_ts *l1ts, uint32_t fn, enum trx_chan_type chan, uint8_t *l2, uint8_t l2_len, float rssi, int16_t ta_offs_256bits, int16_t link_qual_cb, @@ -715,8 +708,7 @@ { struct msgb *msg; struct osmo_phsap_prim *l1sap; - uint8_t chan_nr = trx_chan_desc[chan].chan_nr | tn; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + uint8_t chan_nr = trx_chan_desc[chan].chan_nr | l1ts->ts->nr; /* compose primitive */ msg = l1sap_msgb_alloc(l2_len); @@ -739,22 +731,20 @@ l1ts->chan_state[chan].lost_frames = 0; /* forward primitive */ - l1sap_up(l1t->trx, l1sap); + l1sap_up(l1ts->ts->trx, l1sap); return 0; } -int _sched_compose_tch_ind(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, +int _sched_compose_tch_ind(struct l1sched_ts *l1ts, uint32_t fn, enum trx_chan_type chan, uint8_t *tch, uint8_t tch_len, int16_t ta_offs_256bits, uint16_t ber10k, float rssi, uint8_t is_sub) { struct msgb *msg; struct osmo_phsap_prim *l1sap; - struct gsm_bts_trx *trx = l1t->trx; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); - uint8_t chan_nr = trx_chan_desc[chan].chan_nr | tn; - struct gsm_lchan *lchan = &trx->ts[L1SAP_CHAN2TS(chan_nr)].lchan[l1sap_chan2ss(chan_nr)]; + uint8_t chan_nr = trx_chan_desc[chan].chan_nr | l1ts->ts->nr; + struct gsm_lchan *lchan = &l1ts->ts->lchan[l1sap_chan2ss(chan_nr)]; /* compose primitive */ msg = l1sap_msgb_alloc(tch_len); @@ -775,11 +765,10 @@ if (l1ts->chan_state[chan].lost_frames) l1ts->chan_state[chan].lost_frames--; - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, -1, l1sap->u.data.fn, - "%s Rx -> RTP: %s\n", + LOGL1S(DL1P, LOGL_DEBUG, l1ts, chan, l1sap->u.data.fn, "%s Rx -> RTP: %s\n", gsm_lchan_name(lchan), osmo_hexdump(msgb_l2(msg), msgb_l2len(msg))); /* forward primitive */ - l1sap_up(l1t->trx, l1sap); + l1sap_up(l1ts->ts->trx, l1sap); return 0; } @@ -790,12 +779,12 @@ * data request (from upper layer) */ -int trx_sched_ph_data_req(struct l1sched_trx *l1t, struct osmo_phsap_prim *l1sap) +int trx_sched_ph_data_req(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) { - uint8_t tn = l1sap->u.data.chan_nr & 7; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + uint8_t tn = L1SAP_CHAN2TS(l1sap->u.data.chan_nr); + struct l1sched_ts *l1ts = trx->ts[tn].priv; - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, -1, l1sap->u.data.fn, + LOGL1S(DL1P, LOGL_DEBUG, l1ts, -1, l1sap->u.data.fn, "PH-DATA.req: chan_nr=0x%02x link_id=0x%02x\n", l1sap->u.data.chan_nr, l1sap->u.data.link_id); @@ -813,13 +802,13 @@ return 0; } -int trx_sched_tch_req(struct l1sched_trx *l1t, struct osmo_phsap_prim *l1sap) +int trx_sched_tch_req(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) { - uint8_t tn = l1sap->u.tch.chan_nr & 7; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + uint8_t tn = L1SAP_CHAN2TS(l1sap->u.data.chan_nr); + struct l1sched_ts *l1ts = trx->ts[tn].priv; - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, -1, l1sap->u.tch.fn, "TCH.req: chan_nr=0x%02x\n", - l1sap->u.tch.chan_nr); + LOGL1S(DL1P, LOGL_DEBUG, l1ts, -1, l1sap->u.tch.fn, + "TCH.req: chan_nr=0x%02x\n", l1sap->u.tch.chan_nr); OSMO_ASSERT(l1sap->oph.operation == PRIM_OP_REQUEST); OSMO_ASSERT(l1sap->oph.msg); @@ -841,31 +830,28 @@ */ /* RTS for data frame */ -static int rts_data_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan) +static int rts_data_fn(const struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br) { uint8_t chan_nr, link_id; struct msgb *msg; struct osmo_phsap_prim *l1sap; /* get data for RTS indication */ - chan_nr = trx_chan_desc[chan].chan_nr | tn; - link_id = trx_chan_desc[chan].link_id; + chan_nr = trx_chan_desc[br->chan].chan_nr | br->tn; + link_id = trx_chan_desc[br->chan].link_id; if (!chan_nr) { - LOGL1S(DL1P, LOGL_FATAL, l1t, tn, chan, fn, - "RTS func with non-existing chan_nr %d\n", chan_nr); + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "RTS func with non-existing chan_nr 0x%02x\n", chan_nr); return -ENODEV; } /* For handover detection, there are cases where the SACCH should remain inactive until the first RACH * indicating the TA is received. */ if (L1SAP_IS_LINK_SACCH(link_id) - && !l1t->ts[tn].chan_state[chan].lchan->want_dl_sacch_active) + && !l1ts->chan_state[br->chan].lchan->want_dl_sacch_active) return 0; - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, - "PH-RTS.ind: chan_nr=0x%02x link_id=0x%02x\n", chan_nr, link_id); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "PH-RTS.ind: chan_nr=0x%02x link_id=0x%02x\n", chan_nr, link_id); /* generate prim */ msg = l1sap_msgb_alloc(200); @@ -876,31 +862,30 @@ PRIM_OP_INDICATION, msg); l1sap->u.data.chan_nr = chan_nr; l1sap->u.data.link_id = link_id; - l1sap->u.data.fn = fn; + l1sap->u.data.fn = br->fn; - return l1sap_up(l1t->trx, l1sap); + return l1sap_up(l1ts->ts->trx, l1sap); } -static int rts_tch_common(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, int facch) +static int rts_tch_common(const struct l1sched_ts *l1ts, + const struct trx_dl_burst_req *br, + bool facch) { uint8_t chan_nr, link_id; struct msgb *msg; struct osmo_phsap_prim *l1sap; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); int rc = 0; /* get data for RTS indication */ - chan_nr = trx_chan_desc[chan].chan_nr | tn; - link_id = trx_chan_desc[chan].link_id; + chan_nr = trx_chan_desc[br->chan].chan_nr | br->tn; + link_id = trx_chan_desc[br->chan].link_id; if (!chan_nr) { - LOGL1S(DL1P, LOGL_FATAL, l1t, tn, chan, fn, - "RTS func with non-existing chan_nr %d\n", chan_nr); + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "RTS func with non-existing chan_nr 0x%02x\n", chan_nr); return -ENODEV; } - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, "TCH RTS.ind: chan_nr=0x%02x\n", chan_nr); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "TCH RTS.ind: chan_nr=0x%02x\n", chan_nr); /* only send, if FACCH is selected */ if (facch) { @@ -913,13 +898,13 @@ PRIM_OP_INDICATION, msg); l1sap->u.data.chan_nr = chan_nr; l1sap->u.data.link_id = link_id; - l1sap->u.data.fn = fn; + l1sap->u.data.fn = br->fn; - rc = l1sap_up(l1t->trx, l1sap); + rc = l1sap_up(l1ts->ts->trx, l1sap); } /* don't send, if TCH is in signalling only mode */ - if (l1ts->chan_state[chan].rsl_cmode != RSL_CMOD_SPD_SIGN) { + if (l1ts->chan_state[br->chan].rsl_cmode != RSL_CMOD_SPD_SIGN) { /* generate prim */ msg = l1sap_msgb_alloc(200); if (!msg) @@ -928,49 +913,44 @@ osmo_prim_init(&l1sap->oph, SAP_GSM_PH, PRIM_TCH_RTS, PRIM_OP_INDICATION, msg); l1sap->u.tch.chan_nr = chan_nr; - l1sap->u.tch.fn = fn; + l1sap->u.tch.fn = br->fn; - return l1sap_up(l1t->trx, l1sap); + return l1sap_up(l1ts->ts->trx, l1sap); } return rc; } /* RTS for full rate traffic frame */ -static int rts_tchf_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan) +static int rts_tchf_fn(const struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br) { /* TCH/F may include FACCH on every 4th burst */ - return rts_tch_common(l1t, tn, fn, chan, 1); + return rts_tch_common(l1ts, br, true); } /* RTS for half rate traffic frame */ -static int rts_tchh_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan) +static int rts_tchh_fn(const struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br) { /* the FN 4/5, 13/14, 21/22 defines that FACCH may be included. */ - return rts_tch_common(l1t, tn, fn, chan, ((fn % 26) >> 2) & 1); + return rts_tch_common(l1ts, br, ((br->fn % 26) >> 2) & 1); } /* set multiframe scheduler to given pchan */ -int trx_sched_set_pchan(struct l1sched_trx *l1t, uint8_t tn, - enum gsm_phys_chan_config pchan) +int trx_sched_set_pchan(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config pchan) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); - int i; - - i = find_sched_mframe_idx(pchan, tn); + struct l1sched_ts *l1ts = ts->priv; + int i = find_sched_mframe_idx(pchan, ts->nr); if (i < 0) { - LOGP(DL1C, LOGL_NOTICE, "Failed to configure multiframe " - "trx=%d ts=%d\n", l1t->trx->nr, tn); + LOGP(DL1C, LOGL_NOTICE, "%s Failed to configure multiframe\n", + gsm_ts_name(ts)); return -ENOTSUP; } l1ts->mf_index = i; l1ts->mf_period = trx_sched_multiframes[i].period; l1ts->mf_frames = trx_sched_multiframes[i].frames; - LOGP(DL1C, LOGL_NOTICE, "Configuring multiframe with %s trx=%d ts=%d\n", - trx_sched_multiframes[i].name, l1t->trx->nr, tn); + LOGP(DL1C, LOGL_NOTICE, "%s Configured multiframe with '%s'\n", + gsm_ts_name(ts), trx_sched_multiframes[i].name); return 0; } @@ -1006,10 +986,10 @@ } /* setting all logical channels given attributes to active/inactive */ -int trx_sched_set_lchan(struct l1sched_trx *l1t, uint8_t chan_nr, uint8_t link_id, bool active) +int trx_sched_set_lchan(struct gsm_lchan *lchan, uint8_t chan_nr, uint8_t link_id, bool active) { + struct l1sched_ts *l1ts = lchan->ts->priv; uint8_t tn = L1SAP_CHAN2TS(chan_nr); - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); uint8_t ss = l1sap_chan2ss(chan_nr); bool found = false; int i; @@ -1026,9 +1006,9 @@ continue; found = true; - LOGP(DL1C, LOGL_NOTICE, "%s %s on trx=%d ts=%d\n", - (active) ? "Activating" : "Deactivating", - trx_chan_desc[i].name, l1t->trx->nr, tn); + LOGPLCHAN(lchan, DL1C, LOGL_NOTICE, "%s %s\n", + (active) ? "Activating" : "Deactivating", + trx_chan_desc[i].name); /* free burst memory, to cleanly start with burst 0 */ if (chan_state->dl_bursts) { talloc_free(chan_state->dl_bursts); @@ -1044,8 +1024,7 @@ memset(chan_state, 0, sizeof(*chan_state)); /* Bind to generic 'struct gsm_lchan' */ - chan_state->lchan = get_lchan_by_chan_nr(l1t->trx, chan_nr); - OSMO_ASSERT(chan_state->lchan != NULL); + chan_state->lchan = lchan; } else { chan_state->ho_rach_detect = 0; @@ -1058,36 +1037,37 @@ /* disable handover detection (on deactivation) */ if (!active) - _sched_act_rach_det(l1t, tn, ss, 0); + _sched_act_rach_det(lchan->ts->trx, tn, ss, 0); return found ? 0 : -EINVAL; } /* setting all logical channels given attributes to active/inactive */ -int trx_sched_set_mode(struct l1sched_trx *l1t, uint8_t chan_nr, uint8_t rsl_cmode, +int trx_sched_set_mode(struct gsm_bts_trx_ts *ts, uint8_t chan_nr, uint8_t rsl_cmode, uint8_t tch_mode, int codecs, uint8_t codec0, uint8_t codec1, uint8_t codec2, uint8_t codec3, uint8_t initial_id, uint8_t handover) { + struct l1sched_ts *l1ts = ts->priv; uint8_t tn = L1SAP_CHAN2TS(chan_nr); - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); uint8_t ss = l1sap_chan2ss(chan_nr); int i; int rc = -EINVAL; - struct l1sched_chan_state *chan_state; /* no mode for PDCH */ - if (trx_sched_multiframes[l1ts->mf_index].pchan == GSM_PCHAN_PDCH) + if (ts->pchan == GSM_PCHAN_PDCH) return 0; /* look for all matching chan_nr/link_id */ for (i = 0; i < _TRX_CHAN_MAX; i++) { if (trx_chan_desc[i].chan_nr == (chan_nr & 0xf8) && trx_chan_desc[i].link_id == 0x00) { - chan_state = &l1ts->chan_state[i]; - LOGP(DL1C, LOGL_NOTICE, "Set mode %u, %u, handover %u " - "on %s of trx=%d ts=%d\n", rsl_cmode, tch_mode, - handover, trx_chan_desc[i].name, l1t->trx->nr, - tn); + struct l1sched_chan_state *chan_state = &l1ts->chan_state[i]; + + LOGP(DL1C, LOGL_NOTICE, + "%s Set mode for %s (rsl_cmode=%u, tch_mode=%u, handover=%u)\n", + gsm_ts_name(ts), trx_chan_desc[i].name, + rsl_cmode, tch_mode, handover); + chan_state->rsl_cmode = rsl_cmode; chan_state->tch_mode = tch_mode; chan_state->ho_rach_detect = handover; @@ -1114,50 +1094,49 @@ * of transceiver link). * disable handover, if state is still set, since we might not know * the actual state of transceiver (due to loss of link) */ - _sched_act_rach_det(l1t, tn, ss, handover); + _sched_act_rach_det(ts->trx, tn, ss, handover); return rc; } /* setting cipher on logical channels */ -int trx_sched_set_cipher(struct l1sched_trx *l1t, uint8_t chan_nr, int downlink, - int algo, uint8_t *key, int key_len) +int trx_sched_set_cipher(struct gsm_lchan *lchan, uint8_t chan_nr, bool downlink) { - uint8_t tn = L1SAP_CHAN2TS(chan_nr); - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); - int i; - int rc = -EINVAL; - struct l1sched_chan_state *chan_state; + int algo = lchan->encr.alg_id - 1; + int i, rc = -EINVAL; /* no cipher for PDCH */ - if (trx_sched_multiframes[l1ts->mf_index].pchan == GSM_PCHAN_PDCH) + if (lchan->ts->pchan == GSM_PCHAN_PDCH) return 0; /* no algorithm given means a5/0 */ if (algo <= 0) algo = 0; - else if (key_len != 8) { - LOGP(DL1C, LOGL_ERROR, "Algo A5/%d not supported with given " - "key len=%d\n", algo, key_len); + else if (lchan->encr.key_len != 8) { + LOGPLCHAN(lchan, DL1C, LOGL_ERROR, + "Algo A5/%d not supported with given key_len=%u\n", + algo, lchan->encr.key_len); return -ENOTSUP; } /* look for all matching chan_nr */ for (i = 0; i < _TRX_CHAN_MAX; i++) { if (trx_chan_desc[i].chan_nr == (chan_nr & RSL_CHAN_NR_MASK)) { - chan_state = &l1ts->chan_state[i]; - LOGP(DL1C, LOGL_NOTICE, "Set a5/%d %s for %s on trx=%d " - "ts=%d\n", algo, - (downlink) ? "downlink" : "uplink", - trx_chan_desc[i].name, l1t->trx->nr, tn); + struct l1sched_ts *l1ts = lchan->ts->priv; + struct l1sched_chan_state *l1cs = &l1ts->chan_state[i]; + + LOGPLCHAN(lchan, DL1C, LOGL_NOTICE, "Set A5/%d %s for %s\n", + algo, (downlink) ? "downlink" : "uplink", + trx_chan_desc[i].name); + if (downlink) { - chan_state->dl_encr_algo = algo; - memcpy(chan_state->dl_encr_key, key, key_len); - chan_state->dl_encr_key_len = key_len; + l1cs->dl_encr_algo = algo; + memcpy(l1cs->dl_encr_key, lchan->encr.key, lchan->encr.key_len); + l1cs->dl_encr_key_len = lchan->encr.key_len; } else { - chan_state->ul_encr_algo = algo; - memcpy(chan_state->ul_encr_key, key, key_len); - chan_state->ul_encr_key_len = key_len; + l1cs->ul_encr_algo = algo; + memcpy(l1cs->ul_encr_key, lchan->encr.key, lchan->encr.key_len); + l1cs->ul_encr_key_len = lchan->encr.key_len; } rc = 0; } @@ -1167,9 +1146,8 @@ } /* process ready-to-send */ -int _sched_rts(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn) +int _sched_rts(const struct l1sched_ts *l1ts, uint32_t fn) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); const struct trx_sched_frame *frame; uint8_t offset, period, bid; trx_sched_rts_func *func; @@ -1200,14 +1178,21 @@ if (!TRX_CHAN_IS_ACTIVE(&l1ts->chan_state[chan], chan)) return -EINVAL; - return func(l1t, tn, fn, frame->dl_chan); + /* There is no burst, just for logging */ + struct trx_dl_burst_req dbr = { + .fn = fn, + .tn = l1ts->ts->nr, + .bid = bid, + .chan = chan, + }; + + return func(l1ts, &dbr); } /* process downlink burst */ -void _sched_dl_burst(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +void _sched_dl_burst(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); - struct l1sched_chan_state *l1cs; + const struct l1sched_chan_state *l1cs; const struct trx_sched_frame *frame; uint8_t offset, period; trx_sched_dl_func *func; @@ -1231,7 +1216,7 @@ return; /* get burst from function */ - if (func(l1t, br) != 0) + if (func(l1ts, br) != 0) return; /* BS Power reduction (in dB) per logical channel */ @@ -1251,12 +1236,11 @@ } } -static int trx_sched_calc_frame_loss(struct l1sched_trx *l1t, +static int trx_sched_calc_frame_loss(struct l1sched_ts *l1ts, struct l1sched_chan_state *l1cs, const struct trx_ul_burst_ind *bi) { const struct trx_sched_frame *frame; - struct l1sched_ts *l1ts; uint32_t elapsed_fs; uint8_t offset, i; uint32_t fn_i; @@ -1269,9 +1253,6 @@ if (l1cs->proc_tdma_fs == 0) return 0; - /* Get current TDMA frame info */ - l1ts = l1sched_trx_get_ts(l1t, bi->tn); - /* Not applicable for some logical channels */ switch (bi->chan) { case TRXC_IDLE: @@ -1288,7 +1269,7 @@ /* How many frames elapsed since the last one? */ elapsed_fs = GSM_TDMA_FN_SUB(bi->fn, l1cs->last_tdma_fn); if (elapsed_fs > l1ts->mf_period) { /* Too many! */ - LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, bi, "Too many (>%u) contiguous TDMA frames=%u elapsed " "since the last processed fn=%u\n", l1ts->mf_period, elapsed_fs, l1cs->last_tdma_fn); @@ -1314,7 +1295,7 @@ } if (l1cs->lost_tdma_fs > 0) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "At least %u TDMA frames were lost since the last " "processed fn=%u\n", l1cs->lost_tdma_fs, l1cs->last_tdma_fn); @@ -1350,10 +1331,10 @@ dbi.bid = frame->ul_bid; dbi.fn = fn_i; - LOGL1SB(DL1P, LOGL_NOTICE, l1t, &dbi, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, &dbi, "Substituting lost burst with NOPE.ind\n"); - func(l1t, &dbi); + func(l1ts, &dbi); l1cs->lost_tdma_fs--; } @@ -1363,9 +1344,8 @@ } /* Process an Uplink burst indication */ -int trx_sched_ul_burst(struct l1sched_trx *l1t, struct trx_ul_burst_ind *bi) +int trx_sched_ul_burst(struct l1sched_ts *l1ts, struct trx_ul_burst_ind *bi) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *l1cs; const struct trx_sched_frame *frame; uint8_t offset, period; @@ -1386,7 +1366,7 @@ /* TODO: handle noise measurements */ if (bi->chan == TRXC_IDLE && bi->flags & TRX_BI_F_NOPE_IND) { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Rx noise measurement (%d)\n", bi->rssi); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Rx noise measurement (%d)\n", bi->rssi); return -ENOTSUP; } @@ -1399,7 +1379,7 @@ return -EINVAL; /* calculate how many TDMA frames were potentially lost */ - trx_sched_calc_frame_loss(l1t, l1cs, bi); + trx_sched_calc_frame_loss(l1ts, l1cs, bi); /* update TDMA frame counters */ l1cs->last_tdma_fn = bi->fn; @@ -1415,7 +1395,7 @@ default: /* NOTE: Uplink burst handler must check bi->burst_len before * accessing bi->burst to avoid uninitialized memory access. */ - return func(l1t, bi); + return func(l1ts, bi); } } @@ -1434,13 +1414,7 @@ } /* Invoke the logical channel handler */ - func(l1t, bi); + func(l1ts, bi); return 0; } - -struct l1sched_ts *l1sched_trx_get_ts(struct l1sched_trx *l1t, uint8_t tn) -{ - OSMO_ASSERT(tn < ARRAY_SIZE(l1t->ts)); - return &l1t->ts[tn]; -} diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index fc8ef76..3f95a69 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -109,9 +109,6 @@ int bts_model_lchan_deactivate(struct gsm_lchan *lchan) { - struct phy_instance *pinst = trx_phy_instance(lchan->ts->trx); - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; - if (lchan->rel_act_kind == LCHAN_REL_ACT_REACT) { lchan->rel_act_kind = LCHAN_REL_ACT_RSL; /* FIXME: perform whatever is needed (if any) to set proper PCH/AGCH allocation according to @@ -121,14 +118,12 @@ /* set lchan inactive */ lchan_set_state(lchan, LCHAN_S_NONE); - return trx_sched_set_lchan(&l1h->l1s, gsm_lchan2chan_nr(lchan), LID_DEDIC, false); + return trx_sched_set_lchan(lchan, gsm_lchan2chan_nr(lchan), LID_DEDIC, false); } int bts_model_lchan_deactivate_sacch(struct gsm_lchan *lchan) { - struct phy_instance *pinst = trx_phy_instance(lchan->ts->trx); - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; - return trx_sched_set_lchan(&l1h->l1s, gsm_lchan2chan_nr(lchan), LID_SACCH, false); + return trx_sched_set_lchan(lchan, gsm_lchan2chan_nr(lchan), LID_SACCH, false); } int l1if_trx_start_power_ramp(struct gsm_bts_trx *trx, ramp_compl_cb_t ramp_compl_cb) @@ -293,7 +288,7 @@ * decided on a more specific PCHAN type already. */ OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_PDCH); OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH); - rc = trx_sched_set_pchan(&l1h->l1s, tn, pchan); + rc = trx_sched_set_pchan(ts, pchan); if (rc) return NM_NACK_RES_NOTAVAIL; @@ -344,8 +339,7 @@ */ /* enable ciphering */ -static int l1if_set_ciphering(struct trx_l1h *l1h, struct gsm_lchan *lchan, - uint8_t chan_nr, int downlink) +static int l1if_set_ciphering(struct gsm_lchan *lchan, uint8_t chan_nr, int downlink) { /* ciphering already enabled in both directions */ if (lchan->ciph_state == LCHAN_CIPH_RXTX_CONF) @@ -353,28 +347,22 @@ if (!downlink) { /* set uplink */ - trx_sched_set_cipher(&l1h->l1s, chan_nr, 0, lchan->encr.alg_id - 1, - lchan->encr.key, lchan->encr.key_len); + trx_sched_set_cipher(lchan, chan_nr, false); lchan->ciph_state = LCHAN_CIPH_RX_CONF; } else { /* set downlink and also set uplink, if not already */ - if (lchan->ciph_state != LCHAN_CIPH_RX_CONF) { - trx_sched_set_cipher(&l1h->l1s, chan_nr, 0, - lchan->encr.alg_id - 1, lchan->encr.key, - lchan->encr.key_len); - } - trx_sched_set_cipher(&l1h->l1s, chan_nr, 1, lchan->encr.alg_id - 1, - lchan->encr.key, lchan->encr.key_len); + if (lchan->ciph_state != LCHAN_CIPH_RX_CONF) + trx_sched_set_cipher(lchan, chan_nr, false); + trx_sched_set_cipher(lchan, chan_nr, true); lchan->ciph_state = LCHAN_CIPH_RXTX_CONF; } return 0; } -static int mph_info_chan_confirm(struct trx_l1h *l1h, uint8_t chan_nr, - enum osmo_mph_info_type type, uint8_t cause) +static int mph_info_chan_confirm(struct gsm_bts_trx *trx, uint8_t chan_nr, + enum osmo_mph_info_type type, uint8_t cause) { - struct phy_instance *pinst = l1h->phy_inst; struct osmo_phsap_prim l1sap; memset(&l1sap, 0, sizeof(l1sap)); @@ -384,7 +372,7 @@ l1sap.u.info.u.act_cnf.chan_nr = chan_nr; l1sap.u.info.u.act_cnf.cause = cause; - return l1sap_up(pinst->trx, &l1sap); + return l1sap_up(trx, &l1sap); } int l1if_mph_time_ind(struct gsm_bts *bts, uint32_t fn) @@ -406,8 +394,6 @@ /* primitive from common part */ int bts_model_l1sap_down(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) { - struct phy_instance *pinst = trx_phy_instance(trx); - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; struct msgb *msg = l1sap->oph.msg; uint8_t chan_nr; int rc = 0; @@ -418,21 +404,21 @@ if (!msg) break; /* put data into scheduler's queue */ - return trx_sched_ph_data_req(&l1h->l1s, l1sap); + return trx_sched_ph_data_req(trx, l1sap); case OSMO_PRIM(PRIM_TCH, PRIM_OP_REQUEST): if (!msg) break; /* put data into scheduler's queue */ - return trx_sched_tch_req(&l1h->l1s, l1sap); + return trx_sched_tch_req(trx, l1sap); case OSMO_PRIM(PRIM_MPH_INFO, PRIM_OP_REQUEST): switch (l1sap->u.info.type) { case PRIM_INFO_ACT_CIPH: chan_nr = l1sap->u.info.u.ciph_req.chan_nr; lchan = get_lchan_by_chan_nr(trx, chan_nr); if (l1sap->u.info.u.ciph_req.uplink) - l1if_set_ciphering(l1h, lchan, chan_nr, 0); + l1if_set_ciphering(lchan, chan_nr, 0); if (l1sap->u.info.u.ciph_req.downlink) - l1if_set_ciphering(l1h, lchan, chan_nr, 1); + l1if_set_ciphering(lchan, chan_nr, 1); break; case PRIM_INFO_ACTIVATE: case PRIM_INFO_DEACTIVATE: @@ -463,11 +449,11 @@ chan_nr = RSL_CHAN_OSMO_PDCH | (chan_nr & ~RSL_CHAN_NR_MASK); /* activate dedicated channel */ - trx_sched_set_lchan(&l1h->l1s, chan_nr, LID_DEDIC, true); + trx_sched_set_lchan(lchan, chan_nr, LID_DEDIC, true); /* activate associated channel */ - trx_sched_set_lchan(&l1h->l1s, chan_nr, LID_SACCH, true); + trx_sched_set_lchan(lchan, chan_nr, LID_SACCH, true); /* set mode */ - trx_sched_set_mode(&l1h->l1s, chan_nr, + trx_sched_set_mode(lchan->ts, chan_nr, lchan->rsl_cmode, lchan->tch_mode, lchan->tch.amr_mr.num_modes, lchan->tch.amr_mr.bts_mode[0].mode, @@ -481,16 +467,15 @@ /* set lchan active */ lchan_set_state(lchan, LCHAN_S_ACTIVE); /* set initial ciphering */ - l1if_set_ciphering(l1h, lchan, chan_nr, 0); - l1if_set_ciphering(l1h, lchan, chan_nr, 1); + l1if_set_ciphering(lchan, chan_nr, 0); + l1if_set_ciphering(lchan, chan_nr, 1); if (lchan->encr.alg_id) lchan->ciph_state = LCHAN_CIPH_RXTX_CONF; else lchan->ciph_state = LCHAN_CIPH_NONE; /* confirm */ - mph_info_chan_confirm(l1h, chan_nr, - PRIM_INFO_ACTIVATE, 0); + mph_info_chan_confirm(trx, chan_nr, PRIM_INFO_ACTIVATE, 0); break; } if (l1sap->u.info.type == PRIM_INFO_MODIFY) { @@ -499,7 +484,7 @@ osmo_ecu_destroy(lchan->ecu_state); lchan->ecu_state = osmo_ecu_init(trx, lchan2ecu_codec(lchan)); /* change mode */ - trx_sched_set_mode(&l1h->l1s, chan_nr, + trx_sched_set_mode(lchan->ts, chan_nr, lchan->rsl_cmode, lchan->tch_mode, lchan->tch.amr_mr.num_modes, lchan->tch.amr_mr.bts_mode[0].mode, @@ -527,8 +512,7 @@ /* deactivate dedicated channel */ lchan_deactivate(lchan); /* confirm only on dedicated channel */ - mph_info_chan_confirm(l1h, chan_nr, - PRIM_INFO_DEACTIVATE, 0); + mph_info_chan_confirm(trx, chan_nr, PRIM_INFO_DEACTIVATE, 0); } break; default: diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index 491f7cd..864bb69 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -125,8 +125,6 @@ /* transceiver config */ struct trx_config config; struct osmo_fsm_inst *provision_fi; - - struct l1sched_trx l1s; }; struct trx_l1h *trx_l1h_alloc(void *tall_ctx, struct phy_instance *pinst); @@ -136,10 +134,4 @@ int l1if_trx_start_power_ramp(struct gsm_bts_trx *trx, ramp_compl_cb_t ramp_compl_cb); enum gsm_phys_chan_config transceiver_chan_type_2_pchan(uint8_t type); -static inline struct l1sched_trx *trx_l1sched_hdl(struct gsm_bts_trx *trx) -{ - struct trx_l1h *l1h = trx->pinst->u.osmotrx.hdl; - return &l1h->l1s; -} - #endif /* L1_IF_H_TRX */ diff --git a/src/osmo-bts-trx/loops.c b/src/osmo-bts-trx/loops.c index 823c2d7..4c70e8d 100644 --- a/src/osmo-bts-trx/loops.c +++ b/src/osmo-bts-trx/loops.c @@ -35,13 +35,10 @@ #include "l1_if.h" #include "loops.h" -void trx_loop_amr_input(struct l1sched_trx *l1t, uint8_t chan_nr, - struct l1sched_chan_state *chan_state, - int n_errors, int n_bits_total) +void trx_loop_amr_input(struct l1sched_chan_state *chan_state, + int n_errors, int n_bits_total) { - struct gsm_bts_trx *trx = l1t->trx; - struct gsm_lchan *lchan = &trx->ts[L1SAP_CHAN2TS(chan_nr)] - .lchan[l1sap_chan2ss(chan_nr)]; + struct gsm_lchan *lchan = chan_state->lchan; float ber; /* calculate BER (Bit Error Ratio) */ @@ -59,7 +56,7 @@ return; /* count bit errors */ - if (L1SAP_IS_CHAN_TCHH(chan_nr)) { + if (lchan->type == GSM_LCHAN_TCH_H) { chan_state->ber_num += 2; chan_state->ber_sum += (ber + ber); } else { diff --git a/src/osmo-bts-trx/loops.h b/src/osmo-bts-trx/loops.h index 1384960..4aa05c4 100644 --- a/src/osmo-bts-trx/loops.h +++ b/src/osmo-bts-trx/loops.h @@ -11,9 +11,8 @@ * loops api */ -void trx_loop_amr_input(struct l1sched_trx *l1t, uint8_t chan_nr, - struct l1sched_chan_state *chan_state, - int n_errors, int n_bits_total); +void trx_loop_amr_input(struct l1sched_chan_state *chan_state, + int n_errors, int n_bits_total); void trx_loop_amr_set(struct l1sched_chan_state *chan_state, int loop); diff --git a/src/osmo-bts-trx/sched_lchan_fcch_sch.c b/src/osmo-bts-trx/sched_lchan_fcch_sch.c index 4aac601..eaf140f 100644 --- a/src/osmo-bts-trx/sched_lchan_fcch_sch.c +++ b/src/osmo-bts-trx/sched_lchan_fcch_sch.c @@ -36,9 +36,9 @@ #include /* obtain a to-be-transmitted FCCH (frequency correction channel) burst */ -int tx_fcch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_fcch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting FCCH\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting FCCH\n"); /* A frequency correction burst is basically a sequence of zeros. * Since br->burst is already zero-initialized, just set the length. */ @@ -48,21 +48,21 @@ } /* obtain a to-be-transmitted SCH (synchronization channel) burst */ -int tx_sch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_sch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { ubit_t burst[78]; uint8_t sb_info[4]; struct gsm_time t; uint8_t t3p, bsic; - LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting SCH\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting SCH\n"); /* BURST BYPASS */ /* create SB info from GSM time and BSIC */ gsm_fn2gsmtime(&t, br->fn); t3p = t.t3 / 10; - bsic = l1t->trx->bts->bsic; + bsic = l1ts->ts->trx->bts->bsic; sb_info[0] = ((bsic & 0x3f) << 2) | ((t.t1 & 0x600) >> 9); diff --git a/src/osmo-bts-trx/sched_lchan_pdtch.c b/src/osmo-bts-trx/sched_lchan_pdtch.c index 7ccc77a..8648cb8 100644 --- a/src/osmo-bts-trx/sched_lchan_pdtch.c +++ b/src/osmo-bts-trx/sched_lchan_pdtch.c @@ -39,9 +39,8 @@ #define EGPRS_0503_MAX_BYTES 155 /*! \brief a single PDTCH burst was received by the PHY, process it */ -int rx_pdtch_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_pdtch_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[bi->chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; uint32_t first_fn; @@ -55,7 +54,7 @@ int rc; enum osmo_ph_pres_info_type presence_info; - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received PDTCH bid=%u\n", bi->bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received PDTCH bid=%u\n", bi->bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -107,7 +106,7 @@ /* check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received incomplete frame (%u/%u)\n", + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received incomplete frame (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); } *mask = 0x0; @@ -129,7 +128,7 @@ if (rc > 0) { presence_info = PRES_INFO_BOTH; } else { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received bad PDTCH (%u/%u)\n", + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received bad PDTCH (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); rc = 0; presence_info = PRES_INFO_INVALID; @@ -138,7 +137,7 @@ ber10k = compute_ber10k(n_bits_total, n_errors); first_fn = GSM_TDMA_FN_SUB(bi->fn, 3); - return _sched_compose_ph_data_ind(l1t, bi->tn, + return _sched_compose_ph_data_ind(l1ts, first_fn, bi->chan, l2, rc, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, @@ -146,10 +145,8 @@ } /* obtain a to-be-transmitted PDTCH (packet data) burst */ -int tx_pdtch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_pdtch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); - struct gsm_bts_trx_ts *ts = &l1t->trx->ts[br->tn]; struct msgb *msg = NULL; /* make GCC happy */ ubit_t *burst, **bursts_p = &l1ts->chan_state[br->chan].dl_bursts; enum trx_mod_type *mod = &l1ts->chan_state[br->chan].dl_mod_type; @@ -163,11 +160,11 @@ } /* get mac block from queue */ - msg = _sched_dequeue_prim(l1t, br); + msg = _sched_dequeue_prim(l1ts, br); if (msg) goto got_msg; - LOGL1SB(DL1P, LOGL_INFO, l1t, br, "No prim for transmit.\n"); + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "No prim for transmit.\n"); no_msg: /* free burst memory */ @@ -195,7 +192,7 @@ /* check validity of message */ if (rc < 0) { - LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim invalid length, please FIX! " + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "Prim invalid length, please FIX! " "(len=%ld)\n", (long)(msg->tail - msg->l2h)); /* free message */ msgb_free(msg); @@ -215,7 +212,7 @@ burst = *bursts_p + br->bid * 348; memset(br->burst, 1, 9); memcpy(br->burst + 9, burst, 174); - memcpy(br->burst + 183, _sched_egprs_tsc[gsm_ts_tsc(ts)], 78); + memcpy(br->burst + 183, _sched_egprs_tsc[gsm_ts_tsc(l1ts->ts)], 78); memcpy(br->burst + 261, burst + 174, 174); memset(br->burst + 435, 1, 9); @@ -223,13 +220,13 @@ } else { burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(ts)], 26); + memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(l1ts->ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; } - LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting burst=%u.\n", br->bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting burst=%u.\n", br->bid); return 0; } diff --git a/src/osmo-bts-trx/sched_lchan_rach.c b/src/osmo-bts-trx/sched_lchan_rach.c index ce9a46b..c3abf32 100644 --- a/src/osmo-bts-trx/sched_lchan_rach.c +++ b/src/osmo-bts-trx/sched_lchan_rach.c @@ -102,8 +102,9 @@ return seq; } -int rx_rach_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_rach_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { + struct gsm_bts_trx *trx = l1ts->ts->trx; struct osmo_phsap_prim l1sap; int n_errors = 0; int n_bits_total = 0; @@ -130,7 +131,7 @@ synch_seq = rach_get_synch_seq((sbit_t *) bi->burst, &best_score); } - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received%s RACH (%s): rssi=%d toa256=%d", (bi->chan != TRXC_RACH) ? " handover" : "", get_value_string(rach_synch_seq_names, synch_seq), @@ -157,16 +158,16 @@ if (bi->flags & TRX_BI_F_CI_CB) l1sap.u.rach_ind.lqual_cb = bi->ci_cb; else - l1sap.u.rach_ind.lqual_cb = l1t->trx->bts->min_qual_rach; + l1sap.u.rach_ind.lqual_cb = trx->bts->min_qual_rach; /* Decode RACH depending on its synch. sequence */ switch (synch_seq) { case RACH_SYNCH_SEQ_TS1: case RACH_SYNCH_SEQ_TS2: rc = gsm0503_rach_ext_decode_ber(&ra11, bi->burst + RACH_EXT_TAIL_LEN + RACH_SYNCH_SEQ_LEN, - l1t->trx->bts->bsic, &n_errors, &n_bits_total); + trx->bts->bsic, &n_errors, &n_bits_total); if (rc) { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received bad Access Burst\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received bad Access Burst\n"); return 0; } @@ -183,14 +184,14 @@ default: /* Fall-back to the default TS0 if needed */ if (synch_seq != RACH_SYNCH_SEQ_TS0) { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Falling-back to the default TS0\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Falling-back to the default TS0\n"); synch_seq = RACH_SYNCH_SEQ_TS0; } rc = gsm0503_rach_decode_ber(&ra, bi->burst + RACH_EXT_TAIL_LEN + RACH_SYNCH_SEQ_LEN, - l1t->trx->bts->bsic, &n_errors, &n_bits_total); + trx->bts->bsic, &n_errors, &n_bits_total); if (rc) { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received bad Access Burst\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received bad Access Burst\n"); return 0; } @@ -203,7 +204,7 @@ l1sap.u.rach_ind.ber10k = compute_ber10k(n_bits_total, n_errors); /* forward primitive */ - l1sap_up(l1t->trx, &l1sap); + l1sap_up(trx, &l1sap); return 0; } diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c index 8ace49e..0961758 100644 --- a/src/osmo-bts-trx/sched_lchan_tchf.c +++ b/src/osmo-bts-trx/sched_lchan_tchf.c @@ -46,9 +46,8 @@ #include /*! \brief a single TCH/F burst was received by the PHY, process it */ -int rx_tchf_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_tchf_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[bi->chan]; struct gsm_lchan *lchan = chan_state->lchan; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; @@ -70,9 +69,9 @@ /* If handover RACH detection is turned on, treat this burst as an Access Burst. * Handle NOPE.ind as usually to ensure proper Uplink measurement reporting. */ if (chan_state->ho_rach_detect == 1 && ~bi->flags & TRX_BI_F_NOPE_IND) - return rx_rach_fn(l1t, bi); + return rx_rach_fn(l1ts, bi); - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received TCH/F, bid=%u\n", bi->bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received TCH/F, bid=%u\n", bi->bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -107,7 +106,7 @@ /* check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received incomplete frame (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); } @@ -152,7 +151,7 @@ /* Tag all frames that are not regular AMR voice frames as * SUB-Frames */ if (chan_state->amr_last_dtx != AMR_OTHER) { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received AMR SID frame: %s\n", + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received AMR SID frame: %s\n", gsm0503_amr_dtx_frame_name(chan_state->amr_last_dtx)); is_sub = 1; } @@ -183,9 +182,7 @@ } if (rc) - trx_loop_amr_input(l1t, - trx_chan_desc[bi->chan].chan_nr | bi->tn, chan_state, - n_errors, n_bits_total); + trx_loop_amr_input(chan_state, n_errors, n_bits_total); /* only good speech frames get rtp header */ if (rc != GSM_MACBLOCK_LEN && rc >= 4) { if (chan_state->amr_last_dtx == AMR_OTHER) { @@ -201,7 +198,7 @@ break; default: - LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, bi, "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; @@ -213,11 +210,11 @@ /* Check if the frame is bad */ if (rc < 0) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received bad data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); bfi_flag = true; } else if (rc < 4) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received bad data (%u/%u) with invalid codec mode %d\n", bi->fn % l1ts->mf_period, l1ts->mf_period, rc); bfi_flag = true; @@ -233,7 +230,7 @@ /* FACCH */ if (rc == GSM_MACBLOCK_LEN) { fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_F); - _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, bi->chan, + _sched_compose_ph_data_ind(l1ts, fn_begin, bi->chan, tch_data + amr, GSM_MACBLOCK_LEN, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, @@ -281,7 +278,7 @@ chan_state->codec[chan_state->dl_ft], AMR_BAD); if (rc < 2) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, bi, "Failed to encode AMR_BAD frame (rc=%d), " "not sending BFI\n", rc); return -EINVAL; @@ -289,7 +286,7 @@ memset(tch_data + 2, 0, rc - 2); break; default: - LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, bi, "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; } @@ -302,7 +299,7 @@ /* TCH or BFI */ compose_l1sap: fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_F); - return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, bi->chan, tch_data, rc, + return _sched_compose_tch_ind(l1ts, fn_begin, bi->chan, tch_data, rc, /* FIXME: what should we use for BFI here? */ bfi_flag ? bi->toa256 : meas_avg.toa256, ber10k, bfi_flag ? bi->rssi : meas_avg.rssi, is_sub); @@ -310,10 +307,9 @@ /* common section for generation of TCH bursts (TCH/H and TCH/F). * FIXME: this function is over-complicated, refactor / get rid of it. */ -void tx_tch_common(struct l1sched_trx *l1t, struct trx_dl_burst_req *br, +void tx_tch_common(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br, struct msgb **_msg_tch, struct msgb **_msg_facch) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct msgb *msg1, *msg2, *msg_tch = NULL, *msg_facch = NULL; struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; uint8_t rsl_cmode = chan_state->rsl_cmode; @@ -326,7 +322,7 @@ uint8_t tch_data[GSM_FR_BYTES]; int len; - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Missing TCH bursts detected, sending BFI\n"); + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Missing TCH bursts detected, sending BFI\n"); /* indicate bad frame */ switch (tch_mode) { @@ -351,7 +347,7 @@ chan_state->codec[chan_state->dl_cmr], chan_state->codec[chan_state->dl_ft], AMR_BAD); if (len < 2) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Failed to encode AMR_BAD frame (rc=%d), " "not sending BFI\n", len); return; @@ -360,21 +356,21 @@ break; default: inval_mode1: - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "TCH mode invalid, please fix!\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "TCH mode invalid, please fix!\n"); len = 0; } if (len) { /* Note: RSSI/ToA256 is set to 0 to indicate to the higher * layers that this is a faked tch_ind */ - _sched_compose_tch_ind(l1t, br->tn, br->fn, br->chan, + _sched_compose_tch_ind(l1ts, br->fn, br->chan, tch_data, len, 0, 10000, 0, 0); } } /* get frame and unlink from queue */ - msg1 = _sched_dequeue_prim(l1t, br); - msg2 = _sched_dequeue_prim(l1t, br); + msg1 = _sched_dequeue_prim(l1ts, br); + msg2 = _sched_dequeue_prim(l1ts, br); if (msg1) { l1sap = msgb_l1sap_prim(msg1); if (l1sap->oph.primitive == PRIM_TCH) { @@ -382,7 +378,7 @@ if (msg2) { l1sap = msgb_l1sap_prim(msg2); if (l1sap->oph.primitive == PRIM_TCH) { - LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "TCH twice, please FIX!\n"); + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "TCH twice, please FIX!\n"); msgb_free(msg2); } else msg_facch = msg2; @@ -392,7 +388,7 @@ if (msg2) { l1sap = msgb_l1sap_prim(msg2); if (l1sap->oph.primitive != PRIM_TCH) { - LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "FACCH twice, please FIX!\n"); + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "FACCH twice, please FIX!\n"); msgb_free(msg2); } else msg_tch = msg2; @@ -408,7 +404,7 @@ /* check validity of message */ if (msg_facch && msgb_l2len(msg_facch) != GSM_MACBLOCK_LEN) { - LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim has odd len=%u != %u\n", + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "Prim has odd len=%u != %u\n", msgb_l2len(msg_facch), GSM_MACBLOCK_LEN); /* free message */ msgb_free(msg_facch); @@ -425,7 +421,7 @@ int8_t sti, cmi; if (rsl_cmode != RSL_CMOD_SPD_SPEECH) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Dropping speech frame, " + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Dropping speech frame, " "because we are not in speech mode\n"); goto free_bad_msg; } @@ -463,32 +459,32 @@ trx_loop_amr_set(chan_state, 1); } if (ft < 0) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Codec (FT = %d) of RTP frame not in list\n", ft_codec); goto free_bad_msg; } if (fn_is_codec_mode_request(br->fn) && chan_state->dl_ft != ft) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Codec (FT = %d) " + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Codec (FT = %d) " " of RTP cannot be changed now, but in next frame\n", ft_codec); goto free_bad_msg; } chan_state->dl_ft = ft; if (bfi == AMR_BAD) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Transmitting 'bad AMR frame'\n"); + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Transmitting 'bad AMR frame'\n"); goto free_bad_msg; } break; default: inval_mode2: - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "TCH mode invalid, please fix!\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "TCH mode invalid, please fix!\n"); goto free_bad_msg; } if (len < 0) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot send invalid AMR payload\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Cannot send invalid AMR payload\n"); goto free_bad_msg; } if (msgb_l2len(msg_tch) != len) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot send payload with " + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Cannot send payload with " "invalid length! (expecting %d, received %d)\n", len, msgb_l2len(msg_tch)); free_bad_msg: @@ -505,11 +501,9 @@ } /* obtain a to-be-transmitted TCH/F (Full Traffic Channel) burst */ -int tx_tchf_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_tchf_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { struct msgb *msg_tch = NULL, *msg_facch = NULL; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); - struct gsm_bts_trx_ts *ts = &l1t->trx->ts[br->tn]; struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; uint8_t tch_mode = chan_state->tch_mode; ubit_t *burst, **bursts_p = &chan_state->dl_bursts; @@ -521,7 +515,7 @@ goto send_burst; } - tx_tch_common(l1t, br, &msg_tch, &msg_facch); + tx_tch_common(l1ts, br, &msg_tch, &msg_facch); /* BURST BYPASS */ @@ -538,7 +532,7 @@ /* no message at all */ if (!msg_tch && !msg_facch) { - LOGL1SB(DL1P, LOGL_INFO, l1t, br, "No TCH or FACCH prim for transmit.\n"); + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "No TCH or FACCH prim for transmit.\n"); goto send_burst; } @@ -568,12 +562,12 @@ /* compose burst */ burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(ts)], 26); + memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(l1ts->ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; - LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting burst=%u.\n", br->bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting burst=%u.\n", br->bid); return 0; } diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c index ca05844..e526e48 100644 --- a/src/osmo-bts-trx/sched_lchan_tchh.c +++ b/src/osmo-bts-trx/sched_lchan_tchh.c @@ -46,9 +46,8 @@ #include /*! \brief a single TCH/H burst was received by the PHY, process it */ -int rx_tchh_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_tchh_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[bi->chan]; struct gsm_lchan *lchan = chan_state->lchan; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; @@ -77,9 +76,9 @@ /* If handover RACH detection is turned on, treat this burst as an Access Burst. * Handle NOPE.ind as usually to ensure proper Uplink measurement reporting. */ if (chan_state->ho_rach_detect == 1 && ~bi->flags & TRX_BI_F_NOPE_IND) - return rx_rach_fn(l1t, bi); + return rx_rach_fn(l1ts, bi); - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received TCH/H, bid=%u\n", bi->bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received TCH/H, bid=%u\n", bi->bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -114,7 +113,7 @@ /* check for complete set of bursts */ if ((*mask & 0x3) != 0x3) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received incomplete frame (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); } @@ -175,7 +174,7 @@ /* Tag all frames that are not regular AMR voice frames as SUB-Frames */ if (chan_state->amr_last_dtx != AMR_OTHER) { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received AMR SID frame: %s\n", + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received AMR SID frame: %s\n", gsm0503_amr_dtx_frame_name(chan_state->amr_last_dtx)); is_sub = 1; } @@ -206,9 +205,7 @@ } if (rc) - trx_loop_amr_input(l1t, - trx_chan_desc[bi->chan].chan_nr | bi->tn, chan_state, - n_errors, n_bits_total); + trx_loop_amr_input(chan_state, n_errors, n_bits_total); /* only good speech frames get rtp header */ if (rc != GSM_MACBLOCK_LEN && rc >= 4) { @@ -225,7 +222,7 @@ break; default: - LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, bi, "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; @@ -241,11 +238,11 @@ /* Check if the frame is bad */ if (rc < 0) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received bad data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); bfi_flag = true; } else if (rc < 4) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received bad data (%u/%u) with invalid codec mode %d\n", bi->fn % l1ts->mf_period, l1ts->mf_period, rc); bfi_flag = true; @@ -265,7 +262,7 @@ fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H0); else fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H1); - _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, bi->chan, + _sched_compose_ph_data_ind(l1ts, fn_begin, bi->chan, tch_data + amr, GSM_MACBLOCK_LEN, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, @@ -312,7 +309,7 @@ chan_state->codec[chan_state->dl_ft], AMR_BAD); if (rc < 2) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, bi, "Failed to encode AMR_BAD frame (rc=%d), " "not sending BFI\n", rc); return -EINVAL; @@ -320,7 +317,7 @@ memset(tch_data + 2, 0, rc - 2); break; default: - LOGL1SB(DL1P, LOGL_ERROR, l1t, bi, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, bi, "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; } @@ -364,7 +361,7 @@ chan_state->ber10k_facch = 0; } - return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, bi->chan, tch_data, rc, + return _sched_compose_tch_ind(l1ts, fn_begin, bi->chan, tch_data, rc, /* FIXME: what should we use for BFI here? */ bfi_flag ? bi->toa256 : meas_avg.toa256, ber10k, bfi_flag ? bi->rssi : meas_avg.rssi, is_sub); @@ -372,16 +369,14 @@ /* common section for generation of TCH bursts (TCH/H and TCH/F). * FIXME: this function is over-complicated, refactor / get rid of it. */ -extern void tx_tch_common(struct l1sched_trx *l1t, +extern void tx_tch_common(struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br, struct msgb **_msg_tch, struct msgb **_msg_facch); /* obtain a to-be-transmitted TCH/H (Half Traffic Channel) burst */ -int tx_tchh_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_tchh_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { struct msgb *msg_tch = NULL, *msg_facch = NULL; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); - struct gsm_bts_trx_ts *ts = &l1t->trx->ts[br->tn]; struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; uint8_t tch_mode = chan_state->tch_mode; ubit_t *burst, **bursts_p = &chan_state->dl_bursts; @@ -394,11 +389,11 @@ } /* get TCH and/or FACCH */ - tx_tch_common(l1t, br, &msg_tch, &msg_facch); + tx_tch_common(l1ts, br, &msg_tch, &msg_facch); /* check for FACCH alignment */ if (msg_facch && ((((br->fn + 4) % 26) >> 2) & 1)) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Cannot transmit FACCH starting on even frames, please fix RTS!\n"); msgb_free(msg_facch); msg_facch = NULL; @@ -424,7 +419,7 @@ /* no message at all */ if (!msg_tch && !msg_facch && !chan_state->dl_ongoing_facch) { - LOGL1SB(DL1P, LOGL_INFO, l1t, br, "No TCH or FACCH prim for transmit.\n"); + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "No TCH or FACCH prim for transmit.\n"); goto send_burst; } @@ -456,12 +451,12 @@ /* compose burst */ burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(ts)], 26); + memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(l1ts->ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; - LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting burst=%u.\n", br->bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting burst=%u.\n", br->bid); return 0; } diff --git a/src/osmo-bts-trx/sched_lchan_xcch.c b/src/osmo-bts-trx/sched_lchan_xcch.c index ba0d612..62b511c 100644 --- a/src/osmo-bts-trx/sched_lchan_xcch.c +++ b/src/osmo-bts-trx/sched_lchan_xcch.c @@ -47,9 +47,8 @@ } /*! \brief a single (SDCCH/SACCH) burst was received by the PHY, process it */ -int rx_data_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_data_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[bi->chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; uint32_t *first_fn = &chan_state->ul_first_fn; @@ -66,9 +65,9 @@ /* If handover RACH detection is turned on, treat this burst as an Access Burst. * Handle NOPE.ind as usually to ensure proper Uplink measurement reporting. */ if (chan_state->ho_rach_detect == 1 && ~bi->flags & TRX_BI_F_NOPE_IND) - return rx_rach_fn(l1t, bi); + return rx_rach_fn(l1ts, bi); - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, "Received Data, bid=%u\n", bi->bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received Data, bid=%u\n", bi->bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -116,7 +115,7 @@ /* check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received incomplete data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received incomplete data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); /* we require first burst to have correct FN */ @@ -130,7 +129,7 @@ /* decode */ rc = gsm0503_xcch_decode(l2, *bursts_p, &n_errors, &n_bits_total); if (rc) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, "Received bad data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); l2_len = 0; @@ -142,11 +141,11 @@ add_sbits(*bursts_p, chan_state->ul_bursts_prev); rc = gsm0503_xcch_decode(l2, *bursts_p, &n_errors, &n_bits_total); if (rc) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, bi, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Combining current SACCH block with previous SACCH block also yields bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); } else { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, bi, + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Combining current SACCH block with previous SACCH block yields good data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); l2_len = GSM_MACBLOCK_LEN; @@ -161,7 +160,7 @@ if (rep_sacch) memcpy(chan_state->ul_bursts_prev, *bursts_p, 464); - return _sched_compose_ph_data_ind(l1t, bi->tn, *first_fn, + return _sched_compose_ph_data_ind(l1ts, *first_fn, bi->chan, l2, l2_len, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, @@ -169,10 +168,8 @@ } /* obtain a to-be-transmitted xCCH (e.g SACCH or SDCCH) burst */ -int tx_data_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_data_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); - struct gsm_bts_trx_ts *ts = &l1t->trx->ts[br->tn]; struct msgb *msg = NULL; /* make GCC happy */ ubit_t *burst, **bursts_p = &l1ts->chan_state[br->chan].dl_bursts; @@ -184,11 +181,11 @@ } /* get mac block from queue */ - msg = _sched_dequeue_prim(l1t, br); + msg = _sched_dequeue_prim(l1ts, br); if (msg) goto got_msg; - LOGL1SB(DL1P, LOGL_INFO, l1t, br, "No prim for transmit.\n"); + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "No prim for transmit.\n"); no_msg: /* free burst memory */ @@ -201,7 +198,7 @@ got_msg: /* check validity of message */ if (msgb_l2len(msg) != GSM_MACBLOCK_LEN) { - LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim has odd len=%u != %u\n", + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "Prim has odd len=%u != %u\n", msgb_l2len(msg), GSM_MACBLOCK_LEN); /* free message */ msgb_free(msg); @@ -219,7 +216,7 @@ /* Note: RSSI is set to 0 to indicate to the higher * layers that this is a faked ph_data_ind */ - _sched_compose_ph_data_ind(l1t, br->tn, 0, br->chan, NULL, 0, + _sched_compose_ph_data_ind(l1ts, 0, br->chan, NULL, 0, 0, 0, 0, 10000, PRES_INFO_INVALID); } @@ -242,12 +239,12 @@ /* compose burst */ burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(ts)], 26); + memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(l1ts->ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; - LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting burst=%u.\n", br->bid); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting burst=%u.\n", br->bid); return 0; } diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 3c29fcb..c90a0a3 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -53,9 +53,9 @@ (ts)->hopping.hsn, (ts)->hopping.maio, (ts)->hopping.arfcn_num /* an IDLE burst returns nothing. on C0 it is replaced by dummy burst */ -int tx_idle_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_idle_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { - LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, "Transmitting IDLE\n"); + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting IDLE\n"); return 0; } @@ -108,7 +108,6 @@ llist_for_each_entry(trx, &bts->trx_list, list) { const struct phy_link *plink = trx->pinst->phy_link; struct trx_l1h *l1h = trx->pinst->u.osmotrx.hdl; - struct l1sched_trx *l1t = &l1h->l1s; /* we don't schedule, if power is off */ if (!trx_if_powered(l1h)) @@ -119,11 +118,12 @@ sched_fn = GSM_TDMA_FN_SUM(fn, plink->u.osmotrx.clock_advance); /* process every TS of TRX */ - for (tn = 0; tn < ARRAY_SIZE(l1t->ts); tn++) { + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { const struct phy_instance *pinst = trx->pinst; + struct l1sched_ts *l1ts = trx->ts[tn].priv; /* ready-to-send */ - _sched_rts(l1t, tn, GSM_TDMA_FN_SUM(sched_fn, plink->u.osmotrx.rts_advance)); + _sched_rts(l1ts, GSM_TDMA_FN_SUM(sched_fn, plink->u.osmotrx.rts_advance)); /* All other parameters to be set by _sched_dl_burst() */ br = (struct trx_dl_burst_req) { @@ -132,7 +132,7 @@ }; /* get burst for FN */ - _sched_dl_burst(l1t, &br); + _sched_dl_burst(l1ts, &br); if (br.burst_len == 0) { /* if no bits, send no burst */ continue; @@ -206,24 +206,17 @@ } /* Route a given Uplink burst indication to the scheduler depending on freq. hopping state */ -int trx_sched_route_burst_ind(struct trx_ul_burst_ind *bi, struct l1sched_trx *l1t) +int trx_sched_route_burst_ind(const struct gsm_bts_trx *trx, struct trx_ul_burst_ind *bi) { - const struct phy_instance *pinst; - const struct gsm_bts_trx *trx; - struct trx_l1h *l1h; - /* no frequency hopping => nothing to do */ - if (!l1t->trx->ts[bi->tn].hopping.enabled) - return trx_sched_ul_burst(l1t, bi); + if (!trx->ts[bi->tn].hopping.enabled) + return trx_sched_ul_burst(trx->ts[bi->tn].priv, bi); - trx = ulfh_route_bi(bi, l1t->trx); + trx = ulfh_route_bi(bi, trx); if (trx == NULL) return -ENODEV; - pinst = trx_phy_instance(trx); - l1h = pinst->u.osmotrx.hdl; - - return trx_sched_ul_burst(&l1h->l1s, bi); + return trx_sched_ul_burst(trx->ts[bi->tn].priv, bi); } /*! maximum number of 'missed' frame periods we can tolerate of OS doesn't schedule us*/ @@ -462,9 +455,9 @@ return 0; } -void _sched_act_rach_det(struct l1sched_trx *l1t, uint8_t tn, uint8_t ss, int activate) +void _sched_act_rach_det(struct gsm_bts_trx *trx, uint8_t tn, uint8_t ss, int activate) { - struct phy_instance *pinst = trx_phy_instance(l1t->trx); + struct phy_instance *pinst = trx_phy_instance(trx); struct trx_l1h *l1h = pinst->u.osmotrx.hdl; if (activate) diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 93bbf19..8479d4c 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -1057,7 +1057,7 @@ bi._num_pdus++; /* feed received burst into scheduler code */ - trx_sched_route_burst_ind(&bi, &l1h->l1s); + trx_sched_route_burst_ind(l1h->phy_inst->trx, &bi); } while (bi.flags & TRX_BI_F_BATCH_IND); return 0; @@ -1222,7 +1222,7 @@ struct trx_l1h *l1h = pinst->u.osmotrx.hdl; trx_if_close(l1h); - trx_sched_exit(&l1h->l1s); + trx_sched_clean(pinst->trx); } /*! open the control + burst data sockets for one phy_instance */ @@ -1235,11 +1235,7 @@ if (!l1h) return -EINVAL; - rc = trx_sched_init(&l1h->l1s, pinst->trx); - if (rc < 0) { - LOGPPHI(l1h->phy_inst, DL1C, LOGL_FATAL, "Cannot initialize scheduler\n"); - return -EIO; - } + trx_sched_init(pinst->trx); rc = trx_if_open(l1h); if (rc < 0) { diff --git a/src/osmo-bts-virtual/bts_model.c b/src/osmo-bts-virtual/bts_model.c index e7b0f81..af8a6f2 100644 --- a/src/osmo-bts-virtual/bts_model.c +++ b/src/osmo-bts-virtual/bts_model.c @@ -100,11 +100,7 @@ static uint8_t vbts_set_ts(struct gsm_bts_trx_ts *ts) { - struct phy_instance *pinst = trx_phy_instance(ts->trx); - int rc; - - rc = trx_sched_set_pchan(&pinst->u.virt.sched, ts->nr, ts->pchan); - if (rc) + if (trx_sched_set_pchan(ts, ts->pchan) != 0) return NM_NACK_RES_NOTAVAIL; return 0; diff --git a/src/osmo-bts-virtual/l1_if.c b/src/osmo-bts-virtual/l1_if.c index 78da639..0fbc35d 100644 --- a/src/osmo-bts-virtual/l1_if.c +++ b/src/osmo-bts-virtual/l1_if.c @@ -214,7 +214,7 @@ /* iterate over list of PHY instances and initialize the scheduler */ llist_for_each_entry(pinst, &plink->instances, list) { - trx_sched_init(&pinst->u.virt.sched, pinst->trx); + trx_sched_init(pinst->trx); /* Only start the scheduler for the transceiver on C0. * If we have multiple transceivers, CCCH is always on C0 * and has to be auto active */ @@ -244,28 +244,19 @@ /* enable ciphering */ static int l1if_set_ciphering(struct gsm_lchan *lchan, uint8_t chan_nr, int downlink) { - struct gsm_bts_trx *trx = lchan->ts->trx; - struct phy_instance *pinst = trx_phy_instance(trx); - struct l1sched_trx *sched = &pinst->u.virt.sched; - /* ciphering already enabled in both directions */ if (lchan->ciph_state == LCHAN_CIPH_RXTX_CONF) return -EINVAL; if (!downlink) { /* set uplink */ - trx_sched_set_cipher(sched, chan_nr, 0, lchan->encr.alg_id - 1, - lchan->encr.key, lchan->encr.key_len); + trx_sched_set_cipher(lchan, chan_nr, false); lchan->ciph_state = LCHAN_CIPH_RX_CONF; } else { /* set downlink and also set uplink, if not already */ - if (lchan->ciph_state != LCHAN_CIPH_RX_CONF) { - trx_sched_set_cipher(sched, chan_nr, 0, - lchan->encr.alg_id - 1, lchan->encr.key, - lchan->encr.key_len); - } - trx_sched_set_cipher(sched, chan_nr, 1, lchan->encr.alg_id - 1, - lchan->encr.key, lchan->encr.key_len); + if (lchan->ciph_state != LCHAN_CIPH_RX_CONF) + trx_sched_set_cipher(lchan, chan_nr, false); + trx_sched_set_cipher(lchan, chan_nr, true); lchan->ciph_state = LCHAN_CIPH_RXTX_CONF; } @@ -341,8 +332,6 @@ /* primitive from common part */ int bts_model_l1sap_down(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) { - struct phy_instance *pinst = trx_phy_instance(trx); - struct l1sched_trx *sched = &pinst->u.virt.sched; struct msgb *msg = l1sap->oph.msg; uint8_t chan_nr; uint8_t tn, ss; @@ -354,12 +343,12 @@ if (!msg) break; /* put data into scheduler's queue */ - return trx_sched_ph_data_req(sched, l1sap); + return trx_sched_ph_data_req(trx, l1sap); case OSMO_PRIM(PRIM_TCH, PRIM_OP_REQUEST): if (!msg) break; /* put data into scheduler's queue */ - return trx_sched_tch_req(sched, l1sap); + return trx_sched_tch_req(trx, l1sap); case OSMO_PRIM(PRIM_MPH_INFO, PRIM_OP_REQUEST): switch (l1sap->u.info.type) { case PRIM_INFO_ACT_CIPH: @@ -388,11 +377,11 @@ break; } /* activate dedicated channel */ - trx_sched_set_lchan(sched, chan_nr, LID_DEDIC, true); + trx_sched_set_lchan(lchan, chan_nr, LID_DEDIC, true); /* activate associated channel */ - trx_sched_set_lchan(sched, chan_nr, LID_SACCH, true); + trx_sched_set_lchan(lchan, chan_nr, LID_SACCH, true); /* set mode */ - trx_sched_set_mode(sched, chan_nr, + trx_sched_set_mode(lchan->ts, chan_nr, lchan->rsl_cmode, lchan->tch_mode, lchan->tch.amr_mr.num_modes, lchan->tch.amr_mr.bts_mode[0].mode, @@ -420,7 +409,7 @@ } if (l1sap->u.info.type == PRIM_INFO_MODIFY) { /* change mode */ - trx_sched_set_mode(sched, chan_nr, + trx_sched_set_mode(lchan->ts, chan_nr, lchan->rsl_cmode, lchan->tch_mode, lchan->tch.amr_mr.num_modes, lchan->tch.amr_mr.bts_mode[0].mode, @@ -437,12 +426,12 @@ break; } /* deactivate associated channel */ - trx_sched_set_lchan(sched, chan_nr, LID_SACCH, false); + trx_sched_set_lchan(lchan, chan_nr, LID_SACCH, false); if (!l1sap->u.info.u.act_req.sacch_only) { /* set lchan inactive */ lchan_set_state(lchan, LCHAN_S_NONE); /* deactivate dedicated channel */ - trx_sched_set_lchan(sched, chan_nr, LID_DEDIC, false); + trx_sched_set_lchan(lchan, chan_nr, LID_DEDIC, false); /* confirm only on dedicated channel */ mph_info_chan_confirm(trx, chan_nr, PRIM_INFO_DEACTIVATE, 0); diff --git a/src/osmo-bts-virtual/l1_if.h b/src/osmo-bts-virtual/l1_if.h index 075856f..c55e2d3 100644 --- a/src/osmo-bts-virtual/l1_if.h +++ b/src/osmo-bts-virtual/l1_if.h @@ -14,7 +14,6 @@ struct vbts_l1h { struct gsm_bts_trx *trx; - struct l1sched_trx l1s; struct virt_um_inst *virt_um; }; diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index bbc2c4e..4beb966 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -2,6 +2,7 @@ /* (C) 2015-2017 by Harald Welte * (C) 2017 Sebastian Stumpf + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -51,13 +52,14 @@ * Send a message over the virtual um interface. * This will at first wrap the msg with a GSMTAP header and then write it to the declared multicast socket. */ -static void _tx_to_virt_um(struct l1sched_trx *l1t, +static void _tx_to_virt_um(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br, struct msgb *msg, bool is_voice_frame) { const struct trx_chan_desc *chdesc = &trx_chan_desc[br->chan]; + const struct gsm_bts_trx *trx = l1ts->ts->trx; struct msgb *outmsg; /* msg to send with gsmtap header prepended */ - uint16_t arfcn = l1t->trx->arfcn; /* ARFCN of the transceiver the message is send with */ + uint16_t arfcn = trx->arfcn; /* ARFCN of the transceiver the message is send with */ uint8_t signal_dbm = 63; /* signal strength, 63 is best */ uint8_t snr = 63; /* signal noise ratio, 63 is best */ uint8_t *data = msgb_l2(msg); /* data to transmit (whole message without l1 header) */ @@ -73,13 +75,13 @@ /* in Osmocom, AGCH is only sent on ccch block 0. no idea why. this seems to cause false GSMTAP channel * types for agch and pch. */ if (rsl_chantype == RSL_CHAN_PCH_AGCH && - l1sap_fn2ccch_block(br->fn) >= num_agch(l1t->trx, "PH-DATA-REQ")) + l1sap_fn2ccch_block(br->fn) >= num_agch(trx, "PH-DATA-REQ")) gsmtap_chantype = GSMTAP_CHANNEL_PCH; else gsmtap_chantype = chantype_rsl2gsmtap2(rsl_chantype, chdesc->link_id, is_voice_frame); /* the logical channel type */ if (gsmtap_chantype == GSMTAP_CHANNEL_UNKNOWN) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Tx GSMTAP for RSL channel type 0x%02x: cannot send, this" + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Tx GSMTAP for RSL channel type 0x%02x: cannot send, this" " channel type is unknown in GSMTAP\n", rsl_chantype); msgb_free(msg); return; @@ -93,44 +95,42 @@ outmsg = gsmtap_makemsg(arfcn, timeslot, gsmtap_chantype, subslot, br->fn, signal_dbm, snr, data, data_len); if (outmsg) { - struct phy_instance *pinst = trx_phy_instance(l1t->trx); + struct phy_instance *pinst = trx_phy_instance(trx); int rc; rc = virt_um_write_msg(pinst->phy_link->u.virt.virt_um, outmsg); if (rc < 0) - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "GSMTAP msg could not send to virtual Um: %s\n", strerror(-rc)); else if (rc == 0) - bts_shutdown(l1t->trx->bts, "VirtPHY write socket died\n"); + bts_shutdown(trx->bts, "VirtPHY write socket died\n"); else - LOGL1SB(DL1P, LOGL_DEBUG, l1t, br, + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Sending GSMTAP message to virtual Um\n"); } else - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "GSMTAP msg could not be created!\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "GSMTAP msg could not be created!\n"); /* free incoming message */ msgb_free(msg); } -static void tx_to_virt_um(struct l1sched_trx *l1t, +static void tx_to_virt_um(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br, struct msgb *msg) { - _tx_to_virt_um(l1t, br, msg, false); + _tx_to_virt_um(l1ts, br, msg, false); } -static struct gsm_lchan *lchan_from_l1t(struct l1sched_trx *l1t, uint8_t tn, enum trx_chan_type chan) +static struct gsm_lchan *lchan_from_l1t(const struct l1sched_ts *l1ts, + const enum trx_chan_type chan) { - struct gsm_bts_trx_ts *ts; + struct gsm_bts_trx_ts *ts = l1ts->ts; uint8_t subslot = 0; - OSMO_ASSERT(l1t && l1t->trx); - if (chan == TRXC_TCHH_1) subslot = 1; - ts = &l1t->trx->ts[tn]; return &ts->lchan[subslot]; } @@ -152,11 +152,11 @@ } } -static void tx_to_virt_um_voice_frame(struct l1sched_trx *l1t, +static void tx_to_virt_um_voice_frame(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br, struct msgb *msg) { - struct gsm_lchan *lchan = lchan_from_l1t(l1t, br->tn, br->chan); + struct gsm_lchan *lchan = lchan_from_l1t(l1ts, br->chan); int um_voice_type; OSMO_ASSERT(lchan); @@ -170,7 +170,7 @@ msgb_pull_to_l2(msg); msgb_push_u8(msg, um_voice_type); msg->l2h = msg->data; - _tx_to_virt_um(l1t, br, msg, true); + _tx_to_virt_um(l1ts, br, msg, true); } /* @@ -178,22 +178,22 @@ */ /* an IDLE burst returns nothing. on C0 it is replaced by dummy burst */ -int tx_idle_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_idle_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { return 0; } -int tx_fcch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_fcch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { return 0; } -int tx_sch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_sch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { return 0; } -int tx_data_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_data_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { struct msgb *msg; @@ -201,15 +201,15 @@ return 0; /* get mac block from queue */ - msg = _sched_dequeue_prim(l1t, br); + msg = _sched_dequeue_prim(l1ts, br); if (!msg) { - LOGL1SB(DL1P, LOGL_INFO, l1t, br, "has not been served !! No prim\n"); + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "has not been served !! No prim\n"); return -ENODEV; } /* check validity of message */ if (msgb_l2len(msg) != GSM_MACBLOCK_LEN) { - LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim not 23 bytes, please FIX! (len=%d)\n", + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "Prim not 23 bytes, please FIX! (len=%d)\n", msgb_l2len(msg)); /* free message */ msgb_free(msg); @@ -217,12 +217,12 @@ } /* transmit the msg received on dl from bsc to layer1 (virt Um) */ - tx_to_virt_um(l1t, br, msg); + tx_to_virt_um(l1ts, br, msg); return 0; } -int tx_pdtch_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_pdtch_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { struct msgb *msg = NULL; /* make GCC happy */ @@ -230,23 +230,22 @@ return 0; /* get mac block from queue */ - msg = _sched_dequeue_prim(l1t, br); + msg = _sched_dequeue_prim(l1ts, br); if (!msg) { - LOGL1SB(DL1P, LOGL_INFO, l1t, br, "has not been served !! No prim\n"); + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "has not been served !! No prim\n"); return -ENODEV; } - tx_to_virt_um(l1t, br, msg); + tx_to_virt_um(l1ts, br, msg); return 0; } -static void tx_tch_common(struct l1sched_trx *l1t, +static void tx_tch_common(struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br, struct msgb **_msg_tch, struct msgb **_msg_facch, int codec_mode_request) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct msgb *msg1, *msg2, *msg_tch = NULL, *msg_facch = NULL; struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; uint8_t rsl_cmode = chan_state->rsl_cmode; @@ -259,7 +258,7 @@ uint8_t tch_data[GSM_FR_BYTES]; int len; - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Missing TCH bursts detected, sending " + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Missing TCH bursts detected, sending " "BFI for %s\n", trx_chan_desc[br->chan].name); /* indicate bad frame */ @@ -287,7 +286,7 @@ if (len < 2) break; memset(tch_data + 2, 0, len - 2); - _sched_compose_tch_ind(l1t, br->tn, 0, br->chan, tch_data, len); + _sched_compose_tch_ind(l1ts, 0, br->chan, tch_data, len); break; default: inval_mode1: @@ -296,13 +295,13 @@ len = 0; } if (len) - _sched_compose_tch_ind(l1t, br->tn, 0, br->chan, tch_data, len); + _sched_compose_tch_ind(l1ts, 0, br->chan, tch_data, len); } #endif /* get frame and unlink from queue */ - msg1 = _sched_dequeue_prim(l1t, br); - msg2 = _sched_dequeue_prim(l1t, br); + msg1 = _sched_dequeue_prim(l1ts, br); + msg2 = _sched_dequeue_prim(l1ts, br); if (msg1) { l1sap = msgb_l1sap_prim(msg1); if (l1sap->oph.primitive == PRIM_TCH) { @@ -310,7 +309,7 @@ if (msg2) { l1sap = msgb_l1sap_prim(msg2); if (l1sap->oph.primitive == PRIM_TCH) { - LOGL1SB(DL1P, LOGL_FATAL, l1t, br, + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "TCH twice, please FIX!\n"); msgb_free(msg2); } else @@ -321,7 +320,7 @@ if (msg2) { l1sap = msgb_l1sap_prim(msg2); if (l1sap->oph.primitive != PRIM_TCH) { - LOGL1SB(DL1P, LOGL_FATAL, l1t, br, + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "FACCH twice, please FIX!\n"); msgb_free(msg2); } else @@ -338,7 +337,7 @@ /* check validity of message */ if (msg_facch && msgb_l2len(msg_facch) != GSM_MACBLOCK_LEN) { - LOGL1SB(DL1P, LOGL_FATAL, l1t, br, "Prim has odd len=%u != %u\n", + LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "Prim has odd len=%u != %u\n", msgb_l2len(msg_facch), GSM_MACBLOCK_LEN); /* free message */ msgb_free(msg_facch); @@ -354,7 +353,7 @@ #endif if (rsl_cmode != RSL_CMOD_SPD_SPEECH) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, "Dropping speech frame, " + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Dropping speech frame, " "because we are not in speech mode\n"); goto free_bad_msg; } @@ -365,7 +364,7 @@ len = 15; if (msgb_l2len(msg_tch) >= 1 && (msg_tch->l2h[0] & 0xf0) != 0x00) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Transmitting 'bad HR frame'\n"); goto free_bad_msg; } @@ -374,7 +373,7 @@ len = GSM_FR_BYTES; if (msgb_l2len(msg_tch) >= 1 && (msg_tch->l2h[0] >> 4) != 0xd) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Transmitting 'bad FR frame'\n"); goto free_bad_msg; } @@ -385,7 +384,7 @@ len = GSM_EFR_BYTES; if (msgb_l2len(msg_tch) >= 1 && (msg_tch->l2h[0] >> 4) != 0xc) { - LOGL1SB(DL1P, LOGL_NOTICE, l1t, br, + LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Transmitting 'bad EFR frame'\n"); goto free_bad_msg; } @@ -396,15 +395,15 @@ break; default: inval_mode2: - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "TCH mode invalid, please fix!\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "TCH mode invalid, please fix!\n"); goto free_bad_msg; } if (len < 0) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot send invalid AMR payload\n"); + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Cannot send invalid AMR payload\n"); goto free_bad_msg; } if (msgb_l2len(msg_tch) != len) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot send payload with " + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Cannot send payload with " "invalid length! (expecing %d, received %d)\n", len, msgb_l2len(msg_tch)); free_bad_msg: /* free message */ @@ -419,34 +418,33 @@ *_msg_facch = msg_facch; } -int tx_tchf_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_tchf_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { struct msgb *msg_tch = NULL, *msg_facch = NULL; if (br->bid > 0) return 0; - tx_tch_common(l1t, br, &msg_tch, &msg_facch, (((br->fn + 4) % 26) >> 2) & 1); + tx_tch_common(l1ts, br, &msg_tch, &msg_facch, (((br->fn + 4) % 26) >> 2) & 1); /* no message at all */ if (!msg_tch && !msg_facch) { - LOGL1SB(DL1P, LOGL_INFO, l1t, br, "has not been served !! No prim\n"); + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "has not been served !! No prim\n"); return -ENODEV; } if (msg_facch) { - tx_to_virt_um(l1t, br, msg_facch); + tx_to_virt_um(l1ts, br, msg_facch); msgb_free(msg_tch); } else if (msg_tch) - tx_to_virt_um_voice_frame(l1t, br, msg_tch); + tx_to_virt_um_voice_frame(l1ts, br, msg_tch); return 0; } -int tx_tchh_fn(struct l1sched_trx *l1t, struct trx_dl_burst_req *br) +int tx_tchh_fn(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { struct msgb *msg_tch = NULL, *msg_facch = NULL; - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, br->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[br->chan]; //uint8_t tch_mode = chan_state->tch_mode; @@ -455,11 +453,11 @@ return 0; /* get TCH and/or FACCH */ - tx_tch_common(l1t, br, &msg_tch, &msg_facch, (((br->fn + 4) % 26) >> 2) & 1); + tx_tch_common(l1ts, br, &msg_tch, &msg_facch, (((br->fn + 4) % 26) >> 2) & 1); /* check for FACCH alignment */ if (msg_facch && ((((br->fn + 4) % 26) >> 2) & 1)) { - LOGL1SB(DL1P, LOGL_ERROR, l1t, br, "Cannot transmit FACCH starting on " + LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Cannot transmit FACCH starting on " "even frames, please fix RTS!\n"); msgb_free(msg_facch); msg_facch = NULL; @@ -467,15 +465,15 @@ /* no message at all */ if (!msg_tch && !msg_facch && !chan_state->dl_ongoing_facch) { - LOGL1SB(DL1P, LOGL_INFO, l1t, br, "has not been served !! No prim\n"); + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "has not been served !! No prim\n"); return -ENODEV; } if (msg_facch) { - tx_to_virt_um(l1t, br, msg_facch); + tx_to_virt_um(l1ts, br, msg_facch); msgb_free(msg_tch); } else if (msg_tch) - tx_to_virt_um_voice_frame(l1t, br, msg_tch); + tx_to_virt_um_voice_frame(l1ts, br, msg_tch); return 0; } @@ -489,33 +487,33 @@ * directly into the L1SAP, bypassing the TDMA multiplex logic oriented * towards receiving bursts */ -int rx_rach_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_rach_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { return 0; } /*! \brief a single burst was received by the PHY, process it */ -int rx_data_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_data_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { return 0; } -int rx_pdtch_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_pdtch_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { return 0; } -int rx_tchf_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_tchf_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { return 0; } -int rx_tchh_fn(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) +int rx_tchh_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) { return 0; } -void _sched_act_rach_det(struct l1sched_trx *l1t, uint8_t tn, uint8_t ss, int activate) +void _sched_act_rach_det(struct gsm_bts_trx *trx, uint8_t tn, uint8_t ss, int activate) { } @@ -536,12 +534,11 @@ /* advance the frame number? */ llist_for_each_entry(trx, &bts->trx_list, list) { - struct phy_instance *pinst = trx_phy_instance(trx); - struct l1sched_trx *l1t = &pinst->u.virt.sched; struct trx_dl_burst_req br = { .fn = fn }; /* do for each of the 8 timeslots */ - for (br.tn = 0; br.tn < ARRAY_SIZE(l1t->ts); br.tn++) { + for (br.tn = 0; br.tn < ARRAY_SIZE(trx->ts); br.tn++) { + struct l1sched_ts *l1ts = trx->ts[br.tn].priv; /* Generate RTS indication to higher layers */ /* This will basically do 2 things (check l1_if:bts_model_l1sap_down): * 1) Get pending messages from layer 2 (from the lapdm queue) @@ -549,13 +546,13 @@ * --> Handle and process non-transparent RSL-Messages (activate channel, ) * --> Forward transparent RSL-DATA-Messages to the ms by appending them to * the l1-dl-queue */ - _sched_rts(l1t, br.tn, GSM_TDMA_FN_SUM(fn, RTS_ADVANCE)); + _sched_rts(l1ts, GSM_TDMA_FN_SUM(fn, RTS_ADVANCE)); /* schedule transmit backend functions */ /* Process data in the l1-dlqueue and forward it * to MS */ /* the returned bits are not used here, the routines called will directly forward their * bits to the virt Um */ - _sched_dl_burst(l1t, &br); + _sched_dl_burst(l1ts, &br); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7c4379e43a25e9d858d582a99bf6c4b65c9af481 Gerrit-Change-Number: 24179 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 20:00:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 May 2021 20:00:48 +0000 Subject: Change in osmo-pcu[master]: Optimize PAGING-CS PDCH set selection when target MS is known In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24224 ) Change subject: Optimize PAGING-CS PDCH set selection when target MS is known ...................................................................... Patch Set 1: (8 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/24224/1/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/24224/1/src/bts.cpp at 372 PS1, Line 372: /* We known the target MS for the paging req, send the req only on PDCH IMO, it would be a lot more readable if we had to separate functions for both cases: - when GprsMs is not NULL, and we know where to page; - when GprsMs is NULL, and we simply page everywhere. https://gerrit.osmocom.org/c/osmo-pcu/+/24224/1/src/bts.cpp at 376 PS1, Line 376: 8 ARRAY_SIZE(ms->ul_tbf->pdch) https://gerrit.osmocom.org/c/osmo-pcu/+/24224/1/src/bts.cpp at 387 PS1, Line 387: 8 ARRAY_SIZE(ms->dl_tbf->pdch) https://gerrit.osmocom.org/c/osmo-pcu/+/24224/1/src/bts.cpp at 447 PS1, Line 447: LOGPDCH(&bts->trx[trx].pdch[ts], DRLCMAC, LOGL_INFO, "Paging on PACCH\n"); This looks more like a separate change to me, why doing it here? https://gerrit.osmocom.org/c/osmo-pcu/+/24224/1/src/gprs_bssgp_pcu.c File src/gprs_bssgp_pcu.c: https://gerrit.osmocom.org/c/osmo-pcu/+/24224/1/src/gprs_bssgp_pcu.c at 183 PS1, Line 183: BSSGP_CAUSE_COND_IE_ERR BSSGP_CAUSE_MISSING_MAND_IE https://gerrit.osmocom.org/c/osmo-pcu/+/24224/1/src/gprs_bssgp_pcu.c at 190 PS1, Line 190: BSSGP_CAUSE_COND_IE_ERR BSSGP_CAUSE_INV_MAND_INF https://gerrit.osmocom.org/c/osmo-pcu/+/24224/1/src/gprs_bssgp_pcu.c at 211 PS1, Line 211: if (TLVP_PRESENT(tp, BSSGP_IE_TLLI)) Are we safe against an evil SGSN here? ;) https://gerrit.osmocom.org/c/osmo-pcu/+/24224/1/src/gprs_bssgp_pcu.c at 230 PS1, Line 230: specific BTS How can you be sure that the MS is listening to a specific BTS? You only get notified when it enters another RAC, so what if the MS has switched to another BTS while you still have a GprsMs for it in the old BTS? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iea46d5321a29d800813b1aa2bf4ce175ce45e2cf Gerrit-Change-Number: 24224 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 18 May 2021 20:00:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 20:05:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 May 2021 20:05:29 +0000 Subject: Change in osmo-pcu[master]: bts: Use ms_store when calculating set of target PDCHs for Pkt Paging... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24225 ) Change subject: bts: Use ms_store when calculating set of target PDCHs for Pkt Paging Request ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/24225/1/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/24225/1/src/bts.cpp at 402 PS1, Line 402: llist_for_each Why now llist_for_each_entry()? https://gerrit.osmocom.org/c/osmo-pcu/+/24225/1/src/bts.cpp at 405 PS1, Line 405: 2 ARRAY_SIZE(tbfs) https://gerrit.osmocom.org/c/osmo-pcu/+/24225/1/src/bts.cpp at 406 PS1, Line 406: tbfs[l] For a second I thought it's tbfs[1] but it's actually tbfs[l]. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I671e531921bbea2f5cc0f2bfcb8a39ea5c6673b8 Gerrit-Change-Number: 24225 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 18 May 2021 20:05:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 20:05:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 May 2021 20:05:51 +0000 Subject: Change in osmo-pcu[master]: tbf: Log error path in setup() failing to assign control TS In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24226 ) Change subject: tbf: Log error path in setup() failing to assign control TS ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I047209dfe139e37a80878318cca75cb50905536e Gerrit-Change-Number: 24226 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 May 2021 20:05:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 20:11:03 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 May 2021 20:11:03 +0000 Subject: Change in osmo-pcu[master]: Move TBF list from BTS to the TRX structure In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24227 ) Change subject: Move TBF list from BTS to the TRX structure ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24227/3/src/pcu_vty_functions.cpp File src/pcu_vty_functions.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/24227/3/src/pcu_vty_functions.cpp at 47 PS3, Line 47: struct Why? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id3c59c11d57d765fe68aaebaac94290c0d84feb2 Gerrit-Change-Number: 24227 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 May 2021 20:11:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 18 20:13:09 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 May 2021 20:13:09 +0000 Subject: Change in osmo-pcu[master]: MsTest: Set up tbf talloc destructor In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24234 ) Change subject: MsTest: Set up tbf talloc destructor ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I096ff56321c8ae5e66634537aae8b95804282c65 Gerrit-Change-Number: 24234 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 May 2021 20:13:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 00:04:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 May 2021 00:04:32 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_lchan_name_compute(): indicate if TRX is a shadow TRX In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24154 ) Change subject: [VAMOS] gsm_lchan_name_compute(): indicate if TRX is a shadow TRX ...................................................................... Abandoned Will be squashed into I48b44b4df9ffb1cca105aebbd868c29b21f3b1d6. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24154 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0e350fb067e0ff02d2f3cb54929ef152bb542636 Gerrit-Change-Number: 24154 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 06:09:44 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 19 May 2021 06:09:44 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn: Update config to test RIM over GTPCv1 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24167 ) Change subject: ttcn3-sgsn: Update config to test RIM over GTPCv1 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I002da9afe5a7a3263fa4fda5d82fbc8d0faa0e18 Gerrit-Change-Number: 24167 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 May 2021 06:09:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 06:35:45 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 19 May 2021 06:35:45 +0000 Subject: Change in osmo-ci[master]: OBS: move verify_feed to common In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24254 ) Change subject: OBS: move verify_feed to common ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I91e4c36d4a04d465fc9ccb933e8060511b7cd145 Gerrit-Change-Number: 24254 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 May 2021 06:35:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 06:35:49 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 19 May 2021 06:35:49 +0000 Subject: Change in osmo-ci[master]: OBS: refactor osmo_obs_prepare_conflict In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24255 ) Change subject: OBS: refactor osmo_obs_prepare_conflict ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I183b9040250e66e0d7d17ef4b95af9e7d4a26f04 Gerrit-Change-Number: 24255 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 May 2021 06:35:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 06:35:53 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 19 May 2021 06:35:53 +0000 Subject: Change in osmo-ci[master]: OBS: use nightly script to build 2021q1 feed In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24256 ) Change subject: OBS: use nightly script to build 2021q1 feed ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24256 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If8de585652997aae1edb586c948c181f564f6994 Gerrit-Change-Number: 24256 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 May 2021 06:35:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 06:35:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 19 May 2021 06:35:56 +0000 Subject: Change in osmo-ci[master]: OBS: move verify_feed to common In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24254 ) Change subject: OBS: move verify_feed to common ...................................................................... OBS: move verify_feed to common Prepare to move the 2021q1 feed from latest to nightly. Related: SYS#5370 Change-Id: I91e4c36d4a04d465fc9ccb933e8060511b7cd145 --- M scripts/common-obs.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 3 files changed, 21 insertions(+), 19 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index 34f2549..3a5c0c1 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -280,3 +280,17 @@ echo -n "$version" } + +# Verify that $FEED is in $FEEDS +osmo_obs_verify_feed() { + local i + + for i in $FEEDS; do + if [ "$i" = "$FEED" ]; then + return + fi + done + + echo "unsupported feed: $FEED" + exit 1 +} diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index d942e9d..31fc877 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -24,19 +24,6 @@ DEBSRCDIR="$TOP/debsrc" FEED="${FEED:-latest}" -verify_feed() { - local i - - for i in $FEEDS; do - if [ "$i" = "$FEED" ]; then - return - fi - done - - echo "unsupported feed: $FEED" - exit 1 -} - ### OBS build prepare() { # start with a checkout of the project @@ -259,5 +246,5 @@ osc ci -m "$FEED versions of $DT" --noservice } -verify_feed +osmo_obs_verify_feed build_osmocom diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index ef2d7ef..62528c2 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -11,6 +11,11 @@ . "$(dirname "$0")/common.sh" . "$(dirname "$0")/common-obs.sh" +FEEDS=" + next + nightly +" + set -e set -x @@ -19,11 +24,6 @@ TOP=$(pwd)/$(mktemp -d nightly-3g_XXXXXX) FEED="${FEED:-nightly}" -if [ "$FEED" != "nightly" ] && [ "$FEED" != "next" ]; then - echo "unsupported feed: $FEED" - exit 1 -fi - ### OBS build prepare() { # clean up the whole space @@ -269,4 +269,5 @@ post } +osmo_obs_verify_feed build_osmocom -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I91e4c36d4a04d465fc9ccb933e8060511b7cd145 Gerrit-Change-Number: 24254 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 06:35:58 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 19 May 2021 06:35:58 +0000 Subject: Change in osmo-ci[master]: OBS: refactor osmo_obs_prepare_conflict In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24255 ) Change subject: OBS: refactor osmo_obs_prepare_conflict ...................................................................... OBS: refactor osmo_obs_prepare_conflict Determine the package name of the conflict package itself and all conflicting packages automatically, so we don't need to have it duplicated in the OBS latest and OBS nightly scripts. This is in preparation to move osmocom-2021q1 from latest to nightly. With the current logic in nightly for the conflict package, it would not be possible. Related: SYS#5370 Change-Id: I183b9040250e66e0d7d17ef4b95af9e7d4a26f04 --- M scripts/common-obs-conflict.sh M scripts/common-obs.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 4 files changed, 40 insertions(+), 26 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/scripts/common-obs-conflict.sh b/scripts/common-obs-conflict.sh index b6b381a..98c8b70 100644 --- a/scripts/common-obs-conflict.sh +++ b/scripts/common-obs-conflict.sh @@ -113,18 +113,28 @@ } -# Create conflicting packages -# $1: name of dummy package (e.g. "osmocom-nightly") -# $2-*: name of conflicting packages (e.g. "osmocom-latest") +# Print names of packages that the conflict package from the current feed +# (e.g. osmocom-nightly) should conflict with (e.g. osmocom-latest, +# osmocom-next, osmocom-2021q1) +osmo_obs_prepare_conflict_args() { + for i in $FEEDS_ALL; do + if [ "$i" != "$FEED" ]; then + echo "osmocom-$i" + fi + done +} + +# Create conflicting packages, based on global $FEED and $FEEDS_ALL vars osmo_obs_prepare_conflict() { - local pkgname="$1" + local pkgname="osmocom-$FEED" + local conflict_args="$(osmo_obs_prepare_conflict_args)" local oldpwd="$PWD" mkdir -p "$pkgname" cd "$pkgname" - osmo_obs_prepare_conflict_deb "$@" - osmo_obs_prepare_conflict_rpm "$@" + osmo_obs_prepare_conflict_deb "$pkgname" $conflict_args + osmo_obs_prepare_conflict_rpm "$pkgname" $conflict_args # Put in git repository git init . diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index 3a5c0c1..1a10eb6 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -2,6 +2,13 @@ # Various common code used in the OBS (opensuse build service) related osmo-ci shell scripts . "$(dirname "$0")/common-obs-conflict.sh" +FEEDS_ALL=" + 2021q1 + latest + next + nightly +" + osmo_cmd_require \ dch \ dh \ @@ -281,14 +288,24 @@ echo -n "$version" } -# Verify that $FEED is in $FEEDS +# Verify that $FEED is in $FEEDS and $FEEDS_ALL osmo_obs_verify_feed() { local i + local j for i in $FEEDS; do - if [ "$i" = "$FEED" ]; then - return + if [ "$i" != "$FEED" ]; then + continue fi + + for j in $FEEDS_ALL; do + if [ "$j" = "$i" ]; then + return + fi + done + + echo "feed found in FEEDS but not FEEDS_ALL: $FEED" + exit 1 done echo "unsupported feed: $FEED" diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 31fc877..c5c19c4 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -11,6 +11,7 @@ . "$(dirname "$0")/common.sh" . "$(dirname "$0")/common-obs.sh" +# Values for FEED env var. Adjust FEEDS_ALL in common-obs when changing. FEEDS=" 2021q1 latest @@ -36,15 +37,7 @@ mkdir "$DEBSRCDIR" cd "$TOP" - - local conflict_args="osmocom-nightly osmocom-next" - local i - for i in $FEEDS; do - if [ "$i" != "$FEED" ]; then - conflict_args="$conflict_args osmocom-$i" - fi - done - osmo_obs_prepare_conflict "osmocom-$FEED" $conflict_args + osmo_obs_prepare_conflict } get_last_tag() { diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index 62528c2..b9a56a3 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -11,6 +11,7 @@ . "$(dirname "$0")/common.sh" . "$(dirname "$0")/common-obs.sh" +# Values for FEED env var. Adjust FEEDS_ALL in common-obs when changing. FEEDS=" next nightly @@ -32,14 +33,7 @@ osc co "$PROJ" cd "$REPO" - case "$FEED" in - nightly) - osmo_obs_prepare_conflict "osmocom-nightly" "osmocom-latest" "osmocom-next" - ;; - next) - osmo_obs_prepare_conflict "osmocom-next" "osmocom-latest" "osmocom-nightly" - ;; - esac + osmo_obs_prepare_conflict } get_last_tag() { -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I183b9040250e66e0d7d17ef4b95af9e7d4a26f04 Gerrit-Change-Number: 24255 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 06:35:59 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 19 May 2021 06:35:59 +0000 Subject: Change in osmo-ci[master]: OBS: use nightly script to build 2021q1 feed In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24256 ) Change subject: OBS: use nightly script to build 2021q1 feed ...................................................................... OBS: use nightly script to build 2021q1 feed Use the nightly script instead of latest, so all packages get upgraded when upgrading osmocom-2021q1. Related: SYS#5370 Change-Id: If8de585652997aae1edb586c948c181f564f6994 --- M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh M scripts/osmocom-packages-docker.sh 3 files changed, 14 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index c5c19c4..bbdc5a1 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -5,15 +5,14 @@ # * PROJ: the OBS namespace to upload to (e.g. "network:osmocom:latest") # * FEED: # * "latest": use latest tagged release (default) -# * other (e.g. "2021q1"): use last commit of branch of same name, exit with -# error if it does not exist +# * other: use last commit of branch of same name, exit with error if it does +# not exist # * PACKAGES: set to a space-separated list of packages to skip all others . "$(dirname "$0")/common.sh" . "$(dirname "$0")/common-obs.sh" # Values for FEED env var. Adjust FEEDS_ALL in common-obs when changing. FEEDS=" - 2021q1 latest " diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index b9a56a3..cd50c7d 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -7,12 +7,15 @@ # * FEED: controls the source branch that is used: # * "nightly": use "master" branch (default) # * "next": use "next" branch if it exists, otherwise use "master" branch +# * other (e.g. "2021q1"): use last commit of branch of same name, exit with +# error if it does not exist # * PACKAGES: set to a space-separated list of packages to skip all others . "$(dirname "$0")/common.sh" . "$(dirname "$0")/common-obs.sh" # Values for FEED env var. Adjust FEEDS_ALL in common-obs when changing. FEEDS=" + 2021q1 next nightly " @@ -61,6 +64,13 @@ url="$(osmo_git_clone_url "$name")" fi + if [ -z "$branch" ]; then + case "$FEED" in + nightly|next) ;; + *) branch="$FEED" ;; # e.g. 2021q1 + esac + fi + cd "$REPO" if [ -n "$branch" ] ; then diff --git a/scripts/osmocom-packages-docker.sh b/scripts/osmocom-packages-docker.sh index 4465d20..a7a804b 100755 --- a/scripts/osmocom-packages-docker.sh +++ b/scripts/osmocom-packages-docker.sh @@ -19,8 +19,8 @@ SCRIPT="osmocom-$FEED-packages.sh" ;; *) - # "2021q1" etc, osmocom-latest.sh verifies and uses $FEED - SCRIPT="osmocom-latest-packages.sh" + # "2021q1" etc, osmocom-nightly-packages.sh verifies and uses $FEED + SCRIPT="osmocom-nightly-packages.sh" ;; esac -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24256 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If8de585652997aae1edb586c948c181f564f6994 Gerrit-Change-Number: 24256 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 07:16:31 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 19 May 2021 07:16:31 +0000 Subject: Change in osmo-sgsn[master]: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 ) Change subject: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN ...................................................................... Patch Set 8: (7 comments) https://gerrit.osmocom.org/c/osmo-sgsn/+/24164/8//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-sgsn/+/24164/8//COMMIT_MSG at 9 PS8, Line 9: SGSn (SGSN) https://gerrit.osmocom.org/c/osmo-sgsn/+/24164/8//COMMIT_MSG at 10 PS8, Line 10: Informarion (Information) https://gerrit.osmocom.org/c/osmo-sgsn/+/24164/8/doc/manuals/chapters/configuration.adoc File doc/manuals/chapters/configuration.adoc: https://gerrit.osmocom.org/c/osmo-sgsn/+/24164/8/doc/manuals/chapters/configuration.adoc at 74 PS8, Line 74: contains too "also contains" https://gerrit.osmocom.org/c/osmo-sgsn/+/24164/8/doc/manuals/chapters/configuration.adoc at 98 PS8, Line 98: It allows specifi Sentence cut off? https://gerrit.osmocom.org/c/osmo-sgsn/+/24164/8/src/sgsn/gtp_mme.c File src/sgsn/gtp_mme.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/24164/8/src/sgsn/gtp_mme.c at 63 PS8, Line 63: (indentation) https://gerrit.osmocom.org/c/osmo-sgsn/+/24164/8/src/sgsn/sgsn_libgtp.c File src/sgsn/sgsn_libgtp.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/24164/8/src/sgsn/sgsn_libgtp.c at 720 PS8, Line 720: if (gtpie_gettlv(ie, GTPIE_RIM_RA_DISCR, 0, &len, &discr, 1) || len != 1) { Why are these checks commented out? https://gerrit.osmocom.org/c/osmo-sgsn/+/24164/8/src/sgsn/sgsn_rim.c File src/sgsn/sgsn_rim.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/24164/8/src/sgsn/sgsn_rim.c at 49 PS8, Line 49: /* TODO: find mme from VTY routing rules */ looks like the code above implements this TODO -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 Gerrit-Change-Number: 24164 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 19 May 2021 07:16:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 09:45:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 09:45:40 +0000 Subject: Change in osmo-sgsn[master]: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, fixeria, daniel, lynxis lazus, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 to look at the new patch set (#9). Change subject: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN ...................................................................... Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN MMEs connect over Gn interface using GTPCv1 towards the SGSN in order to exchange RIM PDUs by using "RAN Information Relay" GTPCv1 message type. For more info, see 3GPP TS 29.060 sec 7.5.14.1 "RAN Information Relay" In order to support it, this commit does the following: * Uses new libgtp APIs to rx and tx RAN Information Relay messages. The same "gsn" object is reused, ie. the local GTPCv1 socket address used for exchanging messages against GGSN is reused. * Adds a new "sgsn_mme_ctx" struct holding information about MMEs allowed by the SGSN, each one containing information about the GTP address it uses, the in/out routing based on TAI requests, etc. The set of MMEs and their config can be set up using new VTY node introduced in this commit. * The RIM related code in SGSN is refactored to allow forwarding from and to several types of addresses/interfaces. Depends: osmo-ggsn.git Change-Id Iea3eb032ccd4aed5187baca7f7719349d76039d4 Depends: libosmocore.git Change-Id I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Related: SYS#5314 Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 --- M TODO-RELEASE M doc/manuals/chapters/configuration.adoc M include/osmocom/sgsn/Makefile.am A include/osmocom/sgsn/gtp_mme.h M include/osmocom/sgsn/sgsn.h M include/osmocom/sgsn/sgsn_rim.h M include/osmocom/sgsn/vty.h M src/sgsn/Makefile.am M src/sgsn/gprs_sgsn.c A src/sgsn/gtp_mme.c M src/sgsn/sgsn_libgtp.c M src/sgsn/sgsn_main.c M src/sgsn/sgsn_rim.c M src/sgsn/sgsn_vty.c M tests/osmo-sgsn_test-nodes.vty M tests/sgsn/Makefile.am 16 files changed, 696 insertions(+), 39 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/64/24164/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 Gerrit-Change-Number: 24164 Gerrit-PatchSet: 9 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 10:50:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 10:50:11 +0000 Subject: Change in osmo-pcu[master]: bts: Use ms_store when calculating set of target PDCHs for Pkt Paging... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24225 ) Change subject: bts: Use ms_store when calculating set of target PDCHs for Pkt Paging Request ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/24225/1/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/24225/1/src/bts.cpp at 402 PS1, Line 402: llist_for_each > Why now llist_for_each_entry()? I have seen ASAN triggering false positives (runtime errors) with those in C++ code/files in this same project, so I'm trying to avoid more of those here. https://gerrit.osmocom.org/c/osmo-pcu/+/24225/1/src/bts.cpp at 406 PS1, Line 406: tbfs[l] > For a second I thought it's tbfs[1] but it's actually tbfs[l]. I didn't choose the variable name, it was already there. I'm not even sure what "l" is supposed to refer to here. "l" from "list"? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I671e531921bbea2f5cc0f2bfcb8a39ea5c6673b8 Gerrit-Change-Number: 24225 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 19 May 2021 10:50:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 10:54:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 10:54:15 +0000 Subject: Change in osmo-pcu[master]: tbf: Move existing tbf_state implementation to osmo_fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24235 ) Change subject: tbf: Move existing tbf_state implementation to osmo_fsm ...................................................................... Patch Set 2: > Patch Set 2: Code-Review+1 > > I think the commitlog is a bit preposterous in that it states you move to osmo_fsm when in reality ist is just a preparation :P I'm really moving to osmo_fsm. You can say the current implementation still sucks (logic outside of osmo_fsm), but I'm using osmo_fsm :P In any case, I describe the commit better in the follow-up lines of the commit messages, I cannot put all of that into the first line. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6bb4baea2dee191ba5bbcbec2ea9dcf681aa1237 Gerrit-Change-Number: 24235 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 May 2021 10:54:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 10:56:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 10:56:07 +0000 Subject: Change in osmo-pcu[master]: Optimize PAGING-CS PDCH set selection when target MS is known In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, laforge, fixeria, daniel, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/24224 to look at the new patch set (#2). Change subject: Optimize PAGING-CS PDCH set selection when target MS is known ...................................................................... Optimize PAGING-CS PDCH set selection when target MS is known Before this patch, when a PAGING-GS was received in PCU from SGSN, it would always forward the paging request to all PDCHs in all TRXs of all BTS (well, it did some heuristics to avoid sending it in some PDCHs where onyl repeated TBFs would be listening). The previous behavior, didn't make much sense in the case where the PCU is asked to page an MS which it knows (ie in which PDCHs is listening to). Hence, in that case it makes sense to simply send the paging request on 1 PDCH where the MS is listening, instead of sending it in a big set of different PDCHs. This commit also splits the old get_paging_mi() helper which was erroneously created to parseboth CS/PS-PAGING requesst, since they actually use a different set of target subscriber information (for instance, CS-PAGING provides optionally a TLLI, and one provides P-TMSI while the other provides TMSI). In this patch, the handling of CS paging request is split into 2 parts: 1- A new helper "struct paging_req_cs" is introduced, where incoming CS-PAGING requests (from both SGSN over BSSGP and BTS/BSC over PCUIF) are parsed and information stored. Then, from available information, it tries to find a target MS if avaialable 2- bts_add_paging() is called from both BSSGP and PCUIF paths with the helper struct and the target MS (NULL if not found). If MS exists, paging is forwarding only on 1 PDCH that MS is attached to. If no MS exists, then the old heursitics are used to forward the request to all MS. Change-Id: Iea46d5321a29d800813b1aa2bf4ce175ce45e2cf --- M src/bts.cpp M src/bts.h M src/gprs_bssgp_pcu.c M src/pcu_l1_if.cpp 4 files changed, 157 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/24/24224/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iea46d5321a29d800813b1aa2bf4ce175ce45e2cf Gerrit-Change-Number: 24224 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 10:56:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 10:56:07 +0000 Subject: Change in osmo-pcu[master]: bts: Use ms_store when calculating set of target PDCHs for Pkt Paging... In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/24225 to look at the new patch set (#2). Change subject: bts: Use ms_store when calculating set of target PDCHs for Pkt Paging Request ...................................................................... bts: Use ms_store when calculating set of target PDCHs for Pkt Paging Request The ul_tbfs/dl_tbfs lists will become per-trx. Since in this case we want to operate on the BTS globally, let's iterate over MS objects instead. This makes more sense too since here we really aim at reaching a MS (subscriber) instead of specific TBFs. Later on the code can be optimized easily to schedule a Pkt Paging Request for only 1 of the TBFs of each MS instad of scheduling it for each TBFs in the MS. Change-Id: I671e531921bbea2f5cc0f2bfcb8a39ea5c6673b8 --- M src/bts.cpp 1 file changed, 10 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/25/24225/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I671e531921bbea2f5cc0f2bfcb8a39ea5c6673b8 Gerrit-Change-Number: 24225 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 10:56:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 10:56:10 +0000 Subject: Change in osmo-pcu[master]: Clean false positive in newer GCC version checking guard of else clause References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24265 ) Change subject: Clean false positive in newer GCC version checking guard of else clause ...................................................................... Clean false positive in newer GCC version checking guard of else clause Got this today with newer gcc (11.1.0) after system upgrade: egprs_rlc_compression.cpp:693:9: error: this ?else? clause does not guard... [-Werror=misleading-indentation] The indentation was indeed wrong, provoking a warning in GCC. From code flow point of view, however, the previous state was fine too, so no logical change is involved in this commit. Change-Id: I37bfc8e85daaabbbf10dfd907b305e3e0ec31863 --- M src/egprs_rlc_compression.cpp 1 file changed, 3 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/65/24265/1 diff --git a/src/egprs_rlc_compression.cpp b/src/egprs_rlc_compression.cpp index 8f4fd87..fae529c 100644 --- a/src/egprs_rlc_compression.cpp +++ b/src/egprs_rlc_compression.cpp @@ -690,8 +690,7 @@ if (clen >= uclen) /* No Gain is observed, So no need to compress */ return 0; - else - LOGP(DRLCMACUL, LOGL_DEBUG, "CRBB bitmap = %s\n", osmo_hexdump(crbb_vec->data, (crbb_vec->cur_bit+7)/8)); - /* Add compressed bitmap to final buffer */ - return 1; + LOGP(DRLCMACUL, LOGL_DEBUG, "CRBB bitmap = %s\n", osmo_hexdump(crbb_vec->data, (crbb_vec->cur_bit+7)/8)); + /* Add compressed bitmap to final buffer */ + return 1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I37bfc8e85daaabbbf10dfd907b305e3e0ec31863 Gerrit-Change-Number: 24265 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 10:56:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 10:56:10 +0000 Subject: Change in osmo-pcu[master]: Use LOGPDCH macro in bts_add_paging() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24266 ) Change subject: Use LOGPDCH macro in bts_add_paging() ...................................................................... Use LOGPDCH macro in bts_add_paging() Change-Id: I58daab719924d70de121f7a5f2cc1f122f8840af --- M src/bts.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/66/24266/1 diff --git a/src/bts.cpp b/src/bts.cpp index 261da19..5769c2f 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -402,7 +402,7 @@ if (!bts->trx[trx].pdch[ts].add_paging(chan_needed, mi)) return -ENOMEM; - LOGP(DRLCMAC, LOGL_INFO, "Paging on PACCH of TRX=%d TS=%d\n", trx, ts); + LOGPDCH(&bts->trx[trx].pdch[ts], DRLCMAC, LOGL_INFO, "Paging on PACCH\n"); any_tbf = 1; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I58daab719924d70de121f7a5f2cc1f122f8840af Gerrit-Change-Number: 24266 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 11:34:06 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 19 May 2021 11:34:06 +0000 Subject: Change in osmo-sgsn[master]: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 ) Change subject: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN ...................................................................... Patch Set 9: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 Gerrit-Change-Number: 24164 Gerrit-PatchSet: 9 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 19 May 2021 11:34:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 11:37:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 11:37:13 +0000 Subject: Change in osmo-sgsn[master]: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 ) Change subject: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 Gerrit-Change-Number: 24164 Gerrit-PatchSet: 9 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 May 2021 11:37:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 11:37:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 11:37:15 +0000 Subject: Change in osmo-sgsn[master]: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 ) Change subject: Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN ...................................................................... Support forwarding RIM messages over GTPCv1 EUTRAN<->GERAN MMEs connect over Gn interface using GTPCv1 towards the SGSN in order to exchange RIM PDUs by using "RAN Information Relay" GTPCv1 message type. For more info, see 3GPP TS 29.060 sec 7.5.14.1 "RAN Information Relay" In order to support it, this commit does the following: * Uses new libgtp APIs to rx and tx RAN Information Relay messages. The same "gsn" object is reused, ie. the local GTPCv1 socket address used for exchanging messages against GGSN is reused. * Adds a new "sgsn_mme_ctx" struct holding information about MMEs allowed by the SGSN, each one containing information about the GTP address it uses, the in/out routing based on TAI requests, etc. The set of MMEs and their config can be set up using new VTY node introduced in this commit. * The RIM related code in SGSN is refactored to allow forwarding from and to several types of addresses/interfaces. Depends: osmo-ggsn.git Change-Id Iea3eb032ccd4aed5187baca7f7719349d76039d4 Depends: libosmocore.git Change-Id I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Related: SYS#5314 Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 --- M TODO-RELEASE M doc/manuals/chapters/configuration.adoc M include/osmocom/sgsn/Makefile.am A include/osmocom/sgsn/gtp_mme.h M include/osmocom/sgsn/sgsn.h M include/osmocom/sgsn/sgsn_rim.h M include/osmocom/sgsn/vty.h M src/sgsn/Makefile.am M src/sgsn/gprs_sgsn.c A src/sgsn/gtp_mme.c M src/sgsn/sgsn_libgtp.c M src/sgsn/sgsn_main.c M src/sgsn/sgsn_rim.c M src/sgsn/sgsn_vty.c M tests/osmo-sgsn_test-nodes.vty M tests/sgsn/Makefile.am 16 files changed, 696 insertions(+), 39 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index 1c5d61f..44ee421 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -1 +1,3 @@ #component what description / commit summary line +libosmogb > 1.5.1 bssgp_encode_rim_pdu symbol was not exported previously +libgtp > 1.7.1 use gtp_ran_info_relay_req(), gtp_set_cb_ran_info_relay_ind() diff --git a/doc/manuals/chapters/configuration.adoc b/doc/manuals/chapters/configuration.adoc index 7d3072e..c31761c 100644 --- a/doc/manuals/chapters/configuration.adoc +++ b/doc/manuals/chapters/configuration.adoc @@ -11,7 +11,8 @@ administrator only has to ensure that the NS and BSSGP layer identities (NSEI, NSVCI, BVCI) are unique for each PCU connecting to the SGSN. -=== Configuring the Gp interface +[[gp-if-ggsn]] +=== Configuring the Gp interface (towards GGSN) The Gp interface is the GTP-C and GTP-U based interface between the SGSN and the GGSNs. It is implemented via UDP on well-known source and @@ -67,6 +68,58 @@ <2> Enable the dynamic GGSN resolving mode <3> Specify the IP address of a DNS server for APN resolution +[[gp-if-mme]] +=== Configuring the Gp interface (towards MME) + +The Gp interface also contains the GTP-C v1 based interface between the SGSN +and the MMEs. This interface between SGSN and MMEs is used to transfer _RAN +Information Relay_ GTP-C messages between them, which are used as containers to +allow PCUs under the SGSN and eNodeBs under MMEs to exchange cell information +(RIM). + +In the SGSN, this interface re-uses the same socket local configuration as per +the GGSN connections (see _gtp local-ip_ VTY command in <>). + +Similarly as with GGSNs, (again see <>), selection of destination +peers for the _RAN Information Relay_ message can be configured statically or +dynamically over GRX. + + +==== Static MME/TAI configuration + +In this mode, there is a static list of MMEs and TAIs configured in +OsmoSGSN via the VTY / config file. One MME in the list can be configured as the +_default route_, where all unspecified TAIs are routed too. + +This is a non-standard method outside of the 3GPP specifications for the +SGSN, and is typically only used in private/small GPRS networks without +any access to a GRX. + +.Example: Static MME/TAI configuration (single catch-all GGSN) +---- +sgsn +... + gtp local-ip 192.168.0.10 <1> + mme test-mme0 <2> + gtp remote-ip 192.168.0.20 <3> + gtp ran-info-relay 262 42 3 <4> + gtp ran-info-relay 262 42 4 + mme test-mme1 <5> + gtp remote-ip 192.168.0.30 + gtp ran-info-relay default <6> +---- +<1> Configure the local IP address at the SGSN used for Gp/GTP +<2> Configure an MME named "test-mme0" +<3> Specify the remote IP address of the MME (for MME "test-mme0") +<4> Route specified TAIs towards this MME +<5> Configure an MME named "test-mme1" +<6> Route all TAIs with an unspecified MME towards MM "test-mme1" + +==== Dynamic MME/TAI configuration + +Dynamic MME/TAI peer look up over GRX is not yet supported by OsmoSGSN. + + [[auth-pol]] === Authorization Policy diff --git a/include/osmocom/sgsn/Makefile.am b/include/osmocom/sgsn/Makefile.am index 51bdee8..289f502 100644 --- a/include/osmocom/sgsn/Makefile.am +++ b/include/osmocom/sgsn/Makefile.am @@ -22,6 +22,7 @@ gprs_subscriber.h \ gprs_utils.h \ gtphub.h \ + gtp_mme.h \ sgsn.h \ sgsn_rim.h \ signal.h \ diff --git a/include/osmocom/sgsn/gtp_mme.h b/include/osmocom/sgsn/gtp_mme.h new file mode 100644 index 0000000..ceea405 --- /dev/null +++ b/include/osmocom/sgsn/gtp_mme.h @@ -0,0 +1,41 @@ +#pragma once + +#include + +#include +#include +#include + +struct gsn_t; + +struct mme_rim_route { + struct llist_head list; /* item in struct sgsn_mme_ctx */ + struct osmo_eutran_tai tai; +}; + +struct sgsn_mme_ctx { + struct llist_head list; /* item in sgsn_mme_ctxts */ + struct llist_head routes; /* list of struct mme_rim_route */ + struct sgsn_instance *sgsn; /* backpointer */ + char *name; + struct in_addr remote_addr; + + /* is it the default route for outgoing message? are all incoming messages accepted? */ + bool default_route; +}; +struct sgsn_mme_ctx *sgsn_mme_ctx_alloc(struct sgsn_instance *sgsn, const char *name); +struct sgsn_mme_ctx *sgsn_mme_ctx_find_alloc(struct sgsn_instance *sgsn, const char *name); +void sgsn_mme_ctx_free(struct sgsn_mme_ctx *mme); + +struct sgsn_mme_ctx *sgsn_mme_ctx_by_name(const struct sgsn_instance *sgsn, const char *name); +struct sgsn_mme_ctx *sgsn_mme_ctx_by_addr(const struct sgsn_instance *sgsn, const struct in_addr *addr); +struct sgsn_mme_ctx *sgsn_mme_ctx_by_route(const struct sgsn_instance *sgsn, const struct osmo_eutran_tai *tai); +struct sgsn_mme_ctx *sgsn_mme_ctx_by_default_route(const struct sgsn_instance *sgsn); + +void sgsn_mme_ctx_route_add(struct sgsn_mme_ctx *mme, const struct osmo_eutran_tai *tai); +void sgsn_mme_ctx_route_del(struct sgsn_mme_ctx *mme, const struct osmo_eutran_tai *tai); + +#define LOGMME(mme, cat, level, fmt, args...) { \ + char _buf[INET_ADDRSTRLEN]; \ + LOGP(cat, level, "MME(%s:%s): " fmt, (mme)->name, inet_ntop(AF_INET, &(mme)->remote_addr, _buf, sizeof(_buf)), ## args); \ + } while (0) diff --git a/include/osmocom/sgsn/sgsn.h b/include/osmocom/sgsn/sgsn.h index d9ef938..b686c7c 100644 --- a/include/osmocom/sgsn/sgsn.h +++ b/include/osmocom/sgsn/sgsn.h @@ -6,7 +6,10 @@ #include #include #include +#include + #include +#include #include #include #include @@ -145,6 +148,8 @@ struct ares_addr_node *ares_servers; struct rate_ctr_group *rate_ctrs; + + struct llist_head mme_list; /* list of struct sgsn_mme_ctx */ }; extern struct sgsn_instance *sgsn; @@ -169,6 +174,7 @@ void sgsn_pdp_upd_gtp_u(struct sgsn_pdp_ctx *pdp, void *addr, size_t alen); void sgsn_ggsn_echo_req(struct sgsn_ggsn_ctx *ggc); int send_act_pdp_cont_acc(struct sgsn_pdp_ctx *pctx); +int sgsn_mme_ran_info_req(struct sgsn_mme_ctx *mme, const struct bssgp_ran_information_pdu *pdu); /* gprs_sndcp.c */ diff --git a/include/osmocom/sgsn/sgsn_rim.h b/include/osmocom/sgsn/sgsn_rim.h index ca3660b..aa5a726 100644 --- a/include/osmocom/sgsn/sgsn_rim.h +++ b/include/osmocom/sgsn/sgsn_rim.h @@ -1,3 +1,6 @@ #pragma once -int sgsn_rim_rx(struct osmo_bssgp_prim *bp, struct msgb *msg); +struct sgsn_mme_ctx; + +int sgsn_rim_rx_from_gb(struct osmo_bssgp_prim *bp, struct msgb *msg); +int sgsn_rim_rx_from_gtp(struct bssgp_ran_information_pdu *pdu, struct sgsn_mme_ctx *mme); diff --git a/include/osmocom/sgsn/vty.h b/include/osmocom/sgsn/vty.h index bd469ef..a273222 100644 --- a/include/osmocom/sgsn/vty.h +++ b/include/osmocom/sgsn/vty.h @@ -5,4 +5,5 @@ enum bsc_vty_node { SGSN_NODE = _LAST_OSMOVTY_NODE + 1, GTPHUB_NODE, + MME_NODE, }; diff --git a/src/sgsn/Makefile.am b/src/sgsn/Makefile.am index 8738986..9e4a342 100644 --- a/src/sgsn/Makefile.am +++ b/src/sgsn/Makefile.am @@ -53,6 +53,7 @@ gprs_sndcp_pcomp.c \ gprs_sndcp_vty.c \ gprs_sndcp_xid.c \ + gtp_mme.c \ sgsn_main.c \ sgsn_vty.c \ sgsn_libgtp.c \ diff --git a/src/sgsn/gprs_sgsn.c b/src/sgsn/gprs_sgsn.c index d4bc554..f744257 100644 --- a/src/sgsn/gprs_sgsn.c +++ b/src/sgsn/gprs_sgsn.c @@ -1042,6 +1042,8 @@ inst->cfg.auth_policy = SGSN_AUTH_POLICY_CLOSED; inst->cfg.require_authentication = true; /* only applies if auth_policy is REMOTE */ inst->cfg.gsup_server_port = OSMO_GSUP_PORT; + + INIT_LLIST_HEAD(&inst->mme_list); return inst; } diff --git a/src/sgsn/gtp_mme.c b/src/sgsn/gtp_mme.c new file mode 100644 index 0000000..4fe804d --- /dev/null +++ b/src/sgsn/gtp_mme.c @@ -0,0 +1,145 @@ +/* TS 29.060 ? 7.5.14 RAN Information Management Messages */ +/* + * (C) 2021 by sysmocom - s.m.f.c. GmbH + * All Rights Reserved + * + * SPDX-License-Identifier: AGPL-3.0+ + * + * Author: Pau Espin Pedrol + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +#include + +#include +#include + +extern void *tall_sgsn_ctx; + +static bool _eutran_tai_equal(const struct osmo_eutran_tai *t1, const struct osmo_eutran_tai *t2) +{ + return t1->mcc == t2->mcc && + t1->mnc == t2->mnc && + t1->mnc_3_digits == t2->mnc_3_digits && + t1->tac == t2->tac; +} + +struct sgsn_mme_ctx *sgsn_mme_ctx_alloc(struct sgsn_instance *sgsn, const char *name) +{ + struct sgsn_mme_ctx *mme; + mme = talloc_zero(tall_sgsn_ctx, struct sgsn_mme_ctx); + if (!mme) + return NULL; + + /* if we are called from config file parse, this gsn doesn't exist yet */ + mme->sgsn = sgsn; + + mme->name = talloc_strdup(mme, name); + + INIT_LLIST_HEAD(&mme->routes); + llist_add_tail(&mme->list, &sgsn->mme_list); + + return mme; +} + +void sgsn_mme_ctx_free(struct sgsn_mme_ctx *mme) +{ + struct mme_rim_route *rt, *rt2; + llist_del(&mme->list); + + llist_for_each_entry_safe(rt, rt2, &mme->routes, list) { + llist_del(&rt->list); + talloc_free(rt); + } + + talloc_free(mme); +} + +struct sgsn_mme_ctx *sgsn_mme_ctx_find_alloc(struct sgsn_instance *sgsn, const char *name) +{ + struct sgsn_mme_ctx *mme; + + mme = sgsn_mme_ctx_by_name(sgsn, name); + if (!mme) + mme = sgsn_mme_ctx_alloc(sgsn, name); + return mme; +} + +void sgsn_mme_ctx_route_add(struct sgsn_mme_ctx *mme, const struct osmo_eutran_tai *tai) +{ + struct mme_rim_route *rt = talloc_zero(mme, struct mme_rim_route); + rt->tai = *tai; + llist_add_tail(&rt->list, &mme->routes); +} + +void sgsn_mme_ctx_route_del(struct sgsn_mme_ctx *mme, const struct osmo_eutran_tai *tai) +{ + struct mme_rim_route *rt; + + llist_for_each_entry(rt, &mme->routes, list) { + if (_eutran_tai_equal(tai, &rt->tai)) { + llist_del(&rt->list); + talloc_free(rt); + return; + } + } +} + +struct sgsn_mme_ctx *sgsn_mme_ctx_by_name(const struct sgsn_instance *sgsn, const char *name) +{ + struct sgsn_mme_ctx *mme; + + llist_for_each_entry(mme, &sgsn->mme_list, list) { + if (!strcmp(name, mme->name)) + return mme; + } + return NULL; +} + +struct sgsn_mme_ctx *sgsn_mme_ctx_by_addr(const struct sgsn_instance *sgsn, const struct in_addr *addr) +{ + struct sgsn_mme_ctx *mme; + + llist_for_each_entry(mme, &sgsn->mme_list, list) { + if (!memcmp(addr, &mme->remote_addr, sizeof(*addr))) + return mme; + } + return NULL; +} + +struct sgsn_mme_ctx *sgsn_mme_ctx_by_route(const struct sgsn_instance *sgsn, const struct osmo_eutran_tai *tai) +{ + struct sgsn_mme_ctx *mme; + llist_for_each_entry(mme, &sgsn->mme_list, list) { + struct mme_rim_route *rt; + llist_for_each_entry(rt, &mme->routes, list) { + if (_eutran_tai_equal(tai, &rt->tai)) { + return mme; + } + } + } + return NULL; +} + +struct sgsn_mme_ctx *sgsn_mme_ctx_by_default_route(const struct sgsn_instance *sgsn) +{ + struct sgsn_mme_ctx *mme; + + llist_for_each_entry(mme, &sgsn->mme_list, list) { + if (mme->default_route) + return mme; + } + return NULL; +} diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c index 8be7927..6229217 100644 --- a/src/sgsn/sgsn_libgtp.c +++ b/src/sgsn/sgsn_libgtp.c @@ -55,6 +55,8 @@ #include #include #include +#include +#include #include #include @@ -479,6 +481,43 @@ gtp_echo_req(ggc->gsn, ggc->gtp_version, ggc, &ggc->remote_addr); } +int sgsn_mme_ran_info_req(struct sgsn_mme_ctx *mme, const struct bssgp_ran_information_pdu *pdu) +{ + char ri_src_str[64], ri_dest_str[64]; + int ri_len; + struct msgb *msg; + struct bssgp_normal_hdr *bgph; + int rc; + uint8_t ri_buf[64]; + uint8_t *ri_ptr = &ri_buf[0]; + struct sockaddr_in sk_in = { + .sin_family = AF_INET, + .sin_port = htons(GTP1C_PORT), + .sin_addr = mme->remote_addr, + }; + + msg = bssgp_encode_rim_pdu(pdu); + if (!msg) { + LOGMME(mme, DRIM, LOGL_ERROR, "Tx GTP RAN Information Relay: failed to encode pdu\n"); + return -EINVAL; + } + bgph = (struct bssgp_normal_hdr *)msgb_bssgph(msg); + DEBUGP(DLBSSGP, "Tx GTP RAN Information Relay: RIM-PDU:%s, src=%s, dest=%s\n", + bssgp_pdu_str(bgph->pdu_type), + bssgp_rim_ri_name_buf(ri_src_str, sizeof(ri_src_str), &pdu->routing_info_src), + bssgp_rim_ri_name_buf(ri_dest_str, sizeof(ri_dest_str), &pdu->routing_info_dest)); + + if ((ri_len = bssgp_create_rim_ri(ri_ptr, &pdu->routing_info_dest)) < 0) { + ri_ptr = NULL; + ri_len = 0; + } + + rc = gtp_ran_info_relay_req(mme->sgsn->gsn, &sk_in, msgb_data(msg), msgb_length(msg), + ri_ptr, ri_len, pdu->routing_info_dest.discr); + msgb_free(msg); + return rc; +} + /* Confirmation of a PDP Context Update */ static int update_pdp_conf(struct pdp_t *pdp, void *cbp, int cause) { @@ -648,6 +687,42 @@ return 0; } +static int cb_gtp_ran_info_relay_ind(struct sockaddr_in *peer, union gtpie_member **ie) +{ + char addrbuf[INET_ADDRSTRLEN]; + struct sgsn_mme_ctx *mme = sgsn_mme_ctx_by_addr(sgsn, &peer->sin_addr); + if (!mme) { + LOGP(DGTP, LOGL_NOTICE, "Rx GTP RAN Information Relay from unknown MME %s\n", + inet_ntop(AF_INET, &peer->sin_addr, addrbuf, sizeof(addrbuf))); + return -ECONNREFUSED; + } + + LOGMME(mme, DGTP, LOGL_INFO, "Rx GTP RAN Information Relay\n"); + + unsigned int len = 0; + struct msgb *msg = msgb_alloc(4096, "gtpcv1_ran_info"); + struct bssgp_ran_information_pdu pdu; + + if (gtpie_gettlv(ie, GTPIE_RAN_T_CONTAIN, 0, &len, msgb_data(msg), 4096) || len <= 0) { + LOGMME(mme, DGTP, LOGL_ERROR, "Rx GTP RAN Information Relay: No Transparent Container IE found!\n"); + goto ret_error; + } + msgb_put(msg, len); + msgb_bssgph(msg) = msg->data; + msgb_nsei(msg) = 0; + if (bssgp_parse_rim_pdu(&pdu, msg) < 0) { + LOGMME(mme, DGTP, LOGL_ERROR, "Rx GTP RAN Information Relay: Failed parsing Transparent Container IE!\n"); + goto ret_error; + } + + msgb_free(msg); + return sgsn_rim_rx_from_gtp(&pdu, mme); + +ret_error: + msgb_free(msg); + return -EINVAL; +} + /* Called whenever we receive a DATA packet */ static int cb_data_ind(struct pdp_t *lib, void *packet, unsigned int len) { @@ -837,6 +912,7 @@ gtp_set_cb_data_ind(gsn, cb_data_ind); gtp_set_cb_unsup_ind(gsn, cb_unsup_ind); gtp_set_cb_extheader_ind(gsn, cb_extheader_ind); + gtp_set_cb_ran_info_relay_ind(gsn, cb_gtp_ran_info_relay_ind); return 0; } diff --git a/src/sgsn/sgsn_main.c b/src/sgsn/sgsn_main.c index 71f2efa..af9757a 100644 --- a/src/sgsn/sgsn_main.c +++ b/src/sgsn/sgsn_main.c @@ -122,7 +122,7 @@ case SAP_BSSGP_NM: break; case SAP_BSSGP_RIM: - return sgsn_rim_rx(bp, oph->msg); + return sgsn_rim_rx_from_gb(bp, oph->msg); } return 0; } @@ -162,15 +162,36 @@ } } +static int sgsn_vty_go_parent(struct vty *vty) +{ + switch (vty->node) { + case SGSN_NODE: + vty->node = CONFIG_NODE; + break; + case MME_NODE: + vty->node = SGSN_NODE; + vty->index = NULL; + break; + default: +#if BUILD_IU + osmo_ss7_vty_go_parent(vty); +#else + vty->node = CONFIG_NODE; + vty->index = NULL; +#endif + break; + } + + return vty->node; +} + /* NSI that BSSGP uses when transmitting on NS */ extern struct gprs_ns_inst *bssgp_nsi; static struct vty_app_info vty_info = { .name = "OsmoSGSN", .version = PACKAGE_VERSION, -#if BUILD_IU - .go_parent_cb = osmo_ss7_vty_go_parent, -#endif + .go_parent_cb = sgsn_vty_go_parent, }; static void print_help(void) diff --git a/src/sgsn/sgsn_rim.c b/src/sgsn/sgsn_rim.c index 71e6d98..f28ba60 100644 --- a/src/sgsn/sgsn_rim.c +++ b/src/sgsn/sgsn_rim.c @@ -11,57 +11,113 @@ #include #include #include +#include #include +#include -/* Find an NSEI for the destination cell, this function works only for GERAN! */ -static int find_dest_nsei_geran(struct bssgp_rim_routing_info *dest_rim_ri, uint16_t nsei) +static int sgsn_bssgp_fwd_rim_to_geran(const struct bssgp_ran_information_pdu *pdu) { struct bssgp_bvc_ctx *bvc_ctx; + OSMO_ASSERT(pdu->routing_info_dest.discr == BSSGP_RIM_ROUTING_INFO_GERAN); - OSMO_ASSERT(dest_rim_ri->discr == BSSGP_RIM_ROUTING_INFO_GERAN); - - bvc_ctx = btsctx_by_raid_cid(&dest_rim_ri->geran.raid, dest_rim_ri->geran.cid); + bvc_ctx = btsctx_by_raid_cid(&pdu->routing_info_dest.geran.raid, pdu->routing_info_dest.geran.cid); if (!bvc_ctx) { - LOGP(DRIM, LOGL_ERROR, "BSSGP RIM (NSEI=%u) cannot find NSEI for destination cell\n", nsei); + LOGP(DRIM, LOGL_ERROR, "Unable to find NSEI for destination cell %s\n", + bssgp_rim_ri_name(&pdu->routing_info_dest)); return -EINVAL; } - return bvc_ctx->nsei; + /* Forward PDU as it is to the correct interface */ + return bssgp_tx_rim(pdu, bvc_ctx->nsei); } -int sgsn_rim_rx(struct osmo_bssgp_prim *bp, struct msgb *msg) +static int sgsn_bssgp_fwd_rim_to_eutran(const struct bssgp_ran_information_pdu *pdu) { - struct bssgp_ran_information_pdu *pdu = &bp->u.rim_pdu; - int d_nsei; - uint16_t nsei = msgb_nsei(msg); + struct sgsn_mme_ctx *mme; + OSMO_ASSERT(pdu->routing_info_dest.discr == BSSGP_RIM_ROUTING_INFO_EUTRAN); - /* At the moment we only support GERAN, so we block all other network - * types here. */ - if (pdu->routing_info_dest.discr != BSSGP_RIM_ROUTING_INFO_GERAN) { - LOGP(DRIM, LOGL_ERROR, - "BSSGP RIM (NSEI=%u) only GERAN supported, destination cell is not a GERAN cell -- rejected.\n", - nsei); - /* At the moment we can only handle GERAN addresses, any other - * type of address will be consideres as an invalid address. - * see also: 3GPP TS 48.018, section 8c.3.1.3 */ - return bssgp_tx_status(BSSGP_CAUSE_UNKN_RIM_AI, NULL, msg); + mme = sgsn_mme_ctx_by_route(sgsn, &pdu->routing_info_dest.eutran.tai); + if (!mme) { /* See if we have a default route configured */ + mme = sgsn_mme_ctx_by_default_route(sgsn); + if (!mme) { + LOGP(DRIM, LOGL_ERROR, "Unable to find MME for destination cell %s\n", + bssgp_rim_ri_name(&pdu->routing_info_dest)); + return -EINVAL; + } } + + return sgsn_mme_ran_info_req(mme, pdu); +} + +/* Receive a RIM PDU from BSSGP (GERAN) */ +int sgsn_rim_rx_from_gb(struct osmo_bssgp_prim *bp, struct msgb *msg) +{ + uint16_t nsei = msgb_nsei(msg); + struct bssgp_ran_information_pdu *pdu = &bp->u.rim_pdu; + if (pdu->routing_info_src.discr != BSSGP_RIM_ROUTING_INFO_GERAN) { LOGP(DRIM, LOGL_ERROR, - "BSSGP RIM (NSEI=%u) only GERAN supported, source cell is not a GERAN cell -- rejected.\n", nsei); - /* See comment above */ - return bssgp_tx_status(BSSGP_CAUSE_UNKN_RIM_AI, NULL, msg); + "Rx BSSGP RIM (NSEI=%u): Expected src %s, got %s\n", nsei, + bssgp_rim_routing_info_discr_str(BSSGP_RIM_ROUTING_INFO_GERAN), + bssgp_rim_routing_info_discr_str(pdu->routing_info_src.discr)); + goto err; } - d_nsei = find_dest_nsei_geran(&pdu->routing_info_dest, nsei); - if (d_nsei < 0) { - LOGP(DRIM, LOGL_NOTICE, "BSSGP RIM (NSEI=%u) Cell %s unknown to this sgsn\n", - nsei, bssgp_rim_ri_name(&pdu->routing_info_dest)); - /* In case of an invalid destination address we respond with - * a BSSGP STATUS PDU, see also: 3GPP TS 48.018, section 8c.3.1.3 */ - return bssgp_tx_status(BSSGP_CAUSE_UNKN_RIM_AI, NULL, msg); + switch (pdu->routing_info_dest.discr) { + case BSSGP_RIM_ROUTING_INFO_GERAN: + return sgsn_bssgp_fwd_rim_to_geran(pdu); + case BSSGP_RIM_ROUTING_INFO_EUTRAN: + return sgsn_bssgp_fwd_rim_to_eutran(pdu); + default: + /* At the moment we can only handle GERAN/EUTRAN addresses, any + * other type of address will be considered as an invalid + * address. see also: 3GPP TS 48.018, section 8c.3.1.3 + */ + LOGP(DRIM, LOGL_ERROR, + "Rx BSSGP RIM (NSEI=%u): Unsupported dst %s\n", nsei, + bssgp_rim_routing_info_discr_str(pdu->routing_info_dest.discr)); } - /* Forward PDU as it is to the correct interface */ - return bssgp_tx_rim(pdu, (uint16_t) d_nsei); + LOGP(DRIM, LOGL_INFO, "Rx BSSGP RIM (NSEI=%u): for dest cell %s\n", nsei, + bssgp_rim_ri_name(&pdu->routing_info_dest)); + +err: + /* In case of an invalid destination address we respond with + * a BSSGP STATUS PDU, see also: 3GPP TS 48.018, section 8c.3.1.3 */ + bssgp_tx_status(BSSGP_CAUSE_UNKN_RIM_AI, NULL, msg); + return -1; +} + +/* Receive a RIM PDU from GTPvC1 (EUTRAN) */ +int sgsn_rim_rx_from_gtp(struct bssgp_ran_information_pdu *pdu, struct sgsn_mme_ctx *mme) +{ + struct sgsn_mme_ctx *mme_tmp; + if (pdu->routing_info_src.discr != BSSGP_RIM_ROUTING_INFO_EUTRAN) { + LOGMME(mme, DRIM, LOGL_ERROR, "Rx GTP RAN Information Relay: Expected src %s, got %s\n", + bssgp_rim_routing_info_discr_str(BSSGP_RIM_ROUTING_INFO_EUTRAN), + bssgp_rim_routing_info_discr_str(pdu->routing_info_src.discr)); + return -EINVAL; + } + + if (pdu->routing_info_dest.discr != BSSGP_RIM_ROUTING_INFO_GERAN) { + LOGMME(mme, DRIM, LOGL_ERROR, "Rx GTP RAN Information Relay: Expected dst %s, got %s\n", + bssgp_rim_routing_info_discr_str(BSSGP_RIM_ROUTING_INFO_GERAN), + bssgp_rim_routing_info_discr_str(pdu->routing_info_dest.discr)); + return -EINVAL; + } + + mme_tmp = sgsn_mme_ctx_by_route(sgsn, &pdu->routing_info_src.eutran.tai); + if (!mme_tmp)/* See if we have a default route configured */ + mme_tmp = sgsn_mme_ctx_by_default_route(sgsn); + if (mme != mme_tmp) { + LOGP(DRIM, LOGL_ERROR, "Rx GTP RAN Information Relay: " + "Source MME doesn't have RIM routing configured for TAI: %s\n", + bssgp_rim_ri_name(&pdu->routing_info_src)); + return -EINVAL; + } + + LOGMME(mme, DRIM, LOGL_INFO, "Rx GTP RAN Information Relay for dest cell %s\n", + bssgp_rim_ri_name(&pdu->routing_info_dest)); + + return sgsn_bssgp_fwd_rim_to_geran(pdu); } diff --git a/src/sgsn/sgsn_vty.c b/src/sgsn/sgsn_vty.c index 042bad5..76d5202 100644 --- a/src/sgsn/sgsn_vty.c +++ b/src/sgsn/sgsn_vty.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include @@ -176,12 +177,35 @@ 1, }; +static struct cmd_node mme_node = { + MME_NODE, + "%s(config-sgsn-mme)# ", + 1, +}; + +static void config_write_mme(struct vty *vty, const struct sgsn_mme_ctx *mme, const char *prefix) +{ + struct mme_rim_route *rt; + + vty_out(vty, "%smme %s%s", prefix, mme->name, VTY_NEWLINE); + + vty_out(vty, "%s gtp remote-ip %s%s", prefix, inet_ntoa(mme->remote_addr), VTY_NEWLINE); + if (mme->default_route) + vty_out(vty, "%s gtp ran-info-relay default%s", prefix, VTY_NEWLINE); + llist_for_each_entry(rt, &mme->routes, list) { + vty_out(vty, "%s gtp ran-info-relay %s %s %u%s", prefix, + osmo_mcc_name(rt->tai.mcc), osmo_mnc_name(rt->tai.mnc, rt->tai.mnc_3_digits), + rt->tai.tac, VTY_NEWLINE); + } +} + static int config_write_sgsn(struct vty *vty) { struct sgsn_ggsn_ctx *gctx; struct imsi_acl_entry *acl; struct apn_ctx *actx; struct ares_addr_node *server; + struct sgsn_mme_ctx *mme; vty_out(vty, "sgsn%s", VTY_NEWLINE); @@ -296,6 +320,10 @@ } else vty_out(vty, " no compression v42bis%s", VTY_NEWLINE); + llist_for_each_entry(mme, &sgsn->mme_list, list) { + config_write_mme(vty, mme, " "); + } + #ifdef BUILD_IU vty_out(vty, " cs7-instance-iu %u%s", g_cfg->iu.cs7_instance, VTY_NEWLINE); @@ -1423,6 +1451,161 @@ } #endif +DEFUN(cfg_sgsn_mme, cfg_sgsn_mme_cmd, + "mme NAME", + "Configure an MME peer\n" + "Name identifying the MME peer\n") +{ + struct sgsn_mme_ctx *mme; + + mme = sgsn_mme_ctx_find_alloc(sgsn, argv[0]); + if (!mme) + return CMD_WARNING; + + vty->node = MME_NODE; + vty->index = mme; + + return CMD_SUCCESS; +} + +DEFUN(cfg_sgsn_no_mme, cfg_sgsn_no_mme_cmd, + "no mme NAME", + NO_STR "Delete an MME peer configuration\n" + "Name identifying the MME peer\n") +{ + struct sgsn_mme_ctx *mme; + + mme = sgsn_mme_ctx_by_name(sgsn, argv[0]); + if (!mme) { + vty_out(vty, "%% MME %s doesn't exist.%s", + argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + sgsn_mme_ctx_free(mme); + + return CMD_SUCCESS; +} + +#define GTP_STR "Configure GTP connection\n" + +DEFUN(cfg_mme_remote_ip, cfg_mme_remote_ip_cmd, + "gtp remote-ip A.B.C.D", + GTP_STR "Set Remote GTP IP address\n" IP_STR) +{ + struct sgsn_mme_ctx *mme = (struct sgsn_mme_ctx *) vty->index; + + inet_aton(argv[0], &mme->remote_addr); + + return CMD_SUCCESS; +} + +#define RAN_INFO_STR "Configure RAN Information Relay routing\n" +#define TAI_DOC "MCC\n" "MNC\n" "TAC\n" + +DEFUN(cfg_mme_ran_info_relay_tai, cfg_mme_ran_info_relay_tai_cmd, + "gtp ran-info-relay <0-999> <0-999> <0-65535>", + GTP_STR RAN_INFO_STR TAI_DOC) +{ + struct sgsn_mme_ctx *mme = (struct sgsn_mme_ctx *) vty->index; + struct sgsn_mme_ctx *mme_tmp; + struct osmo_eutran_tai tai; + + const char *mcc = argv[0]; + const char *mnc = argv[1]; + const char *tac = argv[2]; + + if (osmo_mcc_from_str(mcc, &tai.mcc)) { + vty_out(vty, "%% Error decoding MCC: %s%s", mcc, VTY_NEWLINE); + return CMD_WARNING; + } + if (osmo_mnc_from_str(mnc, &tai.mnc, &tai.mnc_3_digits)) { + vty_out(vty, "%% Error decoding MNC: %s%s", mnc, VTY_NEWLINE); + return CMD_WARNING; + } + tai.tac = atoi(tac); + + if ((mme_tmp = sgsn_mme_ctx_by_route(sgsn, &tai))) { + if (mme_tmp != mme) { + vty_out(vty, "%% Another MME %s already contains this route%s", + mme_tmp->name, VTY_NEWLINE); + return CMD_WARNING; + } + /* else: NO-OP, return */ + return CMD_SUCCESS; + } + + sgsn_mme_ctx_route_add(mme, &tai); + return CMD_SUCCESS; +} + +DEFUN(cfg_mme_no_ran_info_relay_tai, cfg_mme_no_ran_info_relay_tai_cmd, + "no gtp ran-info-relay <0-999> <0-999> <0-65535>", + NO_STR GTP_STR RAN_INFO_STR TAI_DOC) +{ + struct sgsn_mme_ctx *mme = (struct sgsn_mme_ctx *) vty->index; + struct sgsn_mme_ctx *mme_tmp; + struct osmo_eutran_tai tai; + + const char *mcc = argv[0]; + const char *mnc = argv[1]; + const char *tac = argv[2]; + + if (osmo_mcc_from_str(mcc, &tai.mcc)) { + vty_out(vty, "%% Error decoding MCC: %s%s", mcc, VTY_NEWLINE); + return CMD_WARNING; + } + if (osmo_mnc_from_str(mnc, &tai.mnc, &tai.mnc_3_digits)) { + vty_out(vty, "%% Error decoding MNC: %s%s", mnc, VTY_NEWLINE); + return CMD_WARNING; + } + tai.tac = atoi(tac); + + if ((mme_tmp = sgsn_mme_ctx_by_route(sgsn, &tai))) { + if (mme_tmp != mme) { + vty_out(vty, "%% Another MME %s contains this route%s", + mme_tmp->name, VTY_NEWLINE); + return CMD_WARNING; + } + sgsn_mme_ctx_route_del(mme, &tai); + return CMD_SUCCESS; + } else { + vty_out(vty, "%% This route doesn't exist in current MME %s%s", + mme->name, VTY_NEWLINE); + return CMD_WARNING; + } +} + +DEFUN(cfg_mme_ran_info_relay_default, cfg_mme_ran_info_relay_default_cmd, + "gtp ran-info-relay default", + GTP_STR RAN_INFO_STR "Set as default route") +{ + struct sgsn_mme_ctx *mme = (struct sgsn_mme_ctx *) vty->index; + struct sgsn_mme_ctx *default_mme; + + if (mme->default_route) + return CMD_SUCCESS; /* NO-OP */ + + if ((default_mme = sgsn_mme_ctx_by_default_route(sgsn))) { + vty_out(vty, "%% Another MME %s is already set as default route, " + "remove it before setting it here.%s", + default_mme->name, VTY_NEWLINE); + return CMD_WARNING; + } + + mme->default_route = true; + return CMD_SUCCESS; +} + +DEFUN(cfg_mme_no_ran_info_relay_default, cfg_mme_no_ran_info_relay_default_cmd, + "no gtp ran-info-relay default", + NO_STR GTP_STR RAN_INFO_STR "Set as default route") +{ + struct sgsn_mme_ctx *mme = (struct sgsn_mme_ctx *) vty->index; + mme->default_route = false; + return CMD_SUCCESS; +} + int sgsn_vty_init(struct sgsn_config *cfg) { g_cfg = cfg; @@ -1486,6 +1669,15 @@ install_element(SGSN_NODE, &cfg_comp_v42bis_cmd); install_element(SGSN_NODE, &cfg_comp_v42bisp_cmd); + install_element(SGSN_NODE, &cfg_sgsn_mme_cmd); + install_element(SGSN_NODE, &cfg_sgsn_no_mme_cmd); + install_node(&mme_node, NULL); + install_element(MME_NODE, &cfg_mme_remote_ip_cmd); + install_element(MME_NODE, &cfg_mme_ran_info_relay_default_cmd); + install_element(MME_NODE, &cfg_mme_no_ran_info_relay_default_cmd); + install_element(MME_NODE, &cfg_mme_ran_info_relay_tai_cmd); + install_element(MME_NODE, &cfg_mme_no_ran_info_relay_tai_cmd); + #ifdef BUILD_IU install_element(SGSN_NODE, &cfg_sgsn_cs7_instance_iu_cmd); ranap_iu_vty_init(SGSN_NODE, &g_cfg->iu.rab_assign_addr_enc); diff --git a/tests/osmo-sgsn_test-nodes.vty b/tests/osmo-sgsn_test-nodes.vty index 953a30e..f889541 100644 --- a/tests/osmo-sgsn_test-nodes.vty +++ b/tests/osmo-sgsn_test-nodes.vty @@ -61,3 +61,58 @@ compression v42bis active direction (ms|sgsn|both) codewords <512-65535> strlen <6-250> compression v42bis passive ... + +OsmoSGSN(config-sgsn)# mme test0 +OsmoSGSN(config-sgsn-mme)# gtp remote-ip 1.2.3.4 +OsmoSGSN(config-sgsn-mme)# gtp ran-info-relay 907 10 567 +OsmoSGSN(config-sgsn-mme)# gtp ran-info-relay 202 12 51 +OsmoSGSN(config-sgsn-mme)# gtp ran-info-relay 907 10 567 +OsmoSGSN(config-sgsn-mme)# exit +OsmoSGSN(config-sgsn)# mme test1 +OsmoSGSN(config-sgsn-mme)# gtp remote-ip 5.6.7.8 +OsmoSGSN(config-sgsn-mme)# gtp ran-info-relay default +OsmoSGSN(config-sgsn-mme)# exit +OsmoSGSN(config-sgsn)# show running-config +... +sgsn +... + mme test0 + gtp remote-ip 1.2.3.4 + gtp ran-info-relay 907 10 567 + gtp ran-info-relay 202 12 51 + mme test1 + gtp remote-ip 5.6.7.8 + gtp ran-info-relay default +... +OsmoSGSN(config-sgsn)# mme test0 +OsmoSGSN(config-sgsn-mme)# gtp ran-info-relay default +% Another MME test1 is already set as default route, remove it before setting it here. +OsmoSGSN(config-sgsn-mme)# exit +OsmoSGSN(config-sgsn)# mme test1 +OsmoSGSN(config-sgsn-mme)# no gtp ran-info-relay default +OsmoSGSN(config-sgsn-mme)# exit +OsmoSGSN(config-sgsn)# mme test0 +OsmoSGSN(config-sgsn-mme)# gtp ran-info-relay default +OsmoSGSN(config-sgsn-mme)# exit +OsmoSGSN(config-sgsn)# show running-config +... +sgsn +... + mme test0 + gtp remote-ip 1.2.3.4 + gtp ran-info-relay default + gtp ran-info-relay 907 10 567 + gtp ran-info-relay 202 12 51 + mme test1 + gtp remote-ip 5.6.7.8 +... +OsmoSGSN(config-sgsn)# no mme test0 +OsmoSGSN(config-sgsn)# show running-config +... +sgsn +... + no compression v42bis + mme test1 + gtp remote-ip 5.6.7.8 +... +OsmoSGSN(config-sgsn)# no mme test1 diff --git a/tests/sgsn/Makefile.am b/tests/sgsn/Makefile.am index b72c446..bdf941d 100644 --- a/tests/sgsn/Makefile.am +++ b/tests/sgsn/Makefile.am @@ -50,6 +50,7 @@ $(top_builddir)/src/sgsn/gprs_gmm_fsm.o \ $(top_builddir)/src/sgsn/gprs_mm_state_gb_fsm.o \ $(top_builddir)/src/sgsn/gprs_sgsn.o \ + $(top_builddir)/src/sgsn/gtp_mme.o \ $(top_builddir)/src/sgsn/sgsn_vty.o \ $(top_builddir)/src/sgsn/sgsn_libgtp.o \ $(top_builddir)/src/sgsn/sgsn_auth.o \ @@ -62,6 +63,7 @@ $(top_builddir)/src/sgsn/gprs_sndcp_pcomp.o \ $(top_builddir)/src/sgsn/v42bis.o \ $(top_builddir)/src/sgsn/gprs_sndcp_dcomp.o \ + $(top_builddir)/src/sgsn/sgsn_rim.o \ $(top_builddir)/src/gprs/gprs_utils.o \ $(top_builddir)/src/gprs/gprs_llc_parse.o \ $(top_builddir)/src/gprs/gprs_gb_parse.o \ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93 Gerrit-Change-Number: 24164 Gerrit-PatchSet: 9 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 11:37:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 11:37:48 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn: Update config to test RIM over GTPCv1 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24167 ) Change subject: ttcn3-sgsn: Update config to test RIM over GTPCv1 ...................................................................... ttcn3-sgsn: Update config to test RIM over GTPCv1 Related: SYS#5314 Depends: osmo-ttcn3-hacks.git I9dcf6ee2dc55bc6aba178eca30080233254f025e Change-Id: I002da9afe5a7a3263fa4fda5d82fbc8d0faa0e18 --- M ttcn3-sgsn-test/SGSN_Tests.cfg M ttcn3-sgsn-test/jenkins.sh M ttcn3-sgsn-test/osmo-sgsn.cfg 3 files changed, 11 insertions(+), 0 deletions(-) Approvals: pespin: Verified laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/ttcn3-sgsn-test/SGSN_Tests.cfg b/ttcn3-sgsn-test/SGSN_Tests.cfg index b127dd8..6fd2ae8 100644 --- a/ttcn3-sgsn-test/SGSN_Tests.cfg +++ b/ttcn3-sgsn-test/SGSN_Tests.cfg @@ -66,6 +66,7 @@ } SGSN_Tests.mp_hlr_ip := "172.18.8.103" SGSN_Tests.mp_ggsn_ip := "172.18.8.103" +SGSN_Tests.mp_sgsn_gtp_ip := "172.18.8.10" [MAIN_CONTROLLER] diff --git a/ttcn3-sgsn-test/jenkins.sh b/ttcn3-sgsn-test/jenkins.sh index df500af..ab000d1 100755 --- a/ttcn3-sgsn-test/jenkins.sh +++ b/ttcn3-sgsn-test/jenkins.sh @@ -24,6 +24,13 @@ mkdir $VOL_BASE_DIR/unix +# Disable until osmo-sgsn.git release > 1.7.0 is available +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed "/mme test-mme0/d" -i $VOL_BASE_DIR/stp/osmo-sgsn.cfg + sed "/gtp remote-ip/d" -i $VOL_BASE_DIR/sgsn/osmo-sgsn.cfg + sed "/gtp ran-info-relay/d" -i $VOL_BASE_DIR/sgsn/osmo-sgsn.cfg +fi + echo Starting container with STP docker run --rm \ $(docker_network_params $SUBNET 200) \ diff --git a/ttcn3-sgsn-test/osmo-sgsn.cfg b/ttcn3-sgsn-test/osmo-sgsn.cfg index b1fc2cf..73d55e7 100644 --- a/ttcn3-sgsn-test/osmo-sgsn.cfg +++ b/ttcn3-sgsn-test/osmo-sgsn.cfg @@ -98,3 +98,6 @@ timer t3397 8 no compression rfc1144 no compression v42bis + mme test-mme0 + gtp remote-ip 172.18.8.103 + gtp ran-info-relay 262 42 3 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I002da9afe5a7a3263fa4fda5d82fbc8d0faa0e18 Gerrit-Change-Number: 24167 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 11:38:43 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 19 May 2021 11:38:43 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_ipa: Fix parsing ERROR msgs in CTRL iface In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/24261 ) Change subject: osmo_ipa: Fix parsing ERROR msgs in CTRL iface ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/24261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: I82cbe8ad0ab51fa073ac3b2d0b959a1610f683b1 Gerrit-Change-Number: 24261 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 19 May 2021 11:38:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 11:40:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 11:40:31 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_ipa: Fix parsing ERROR msgs in CTRL iface In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/24261 ) Change subject: osmo_ipa: Fix parsing ERROR msgs in CTRL iface ...................................................................... osmo_ipa: Fix parsing ERROR msgs in CTRL iface The UserManual documentation specifies errors to use the "ERROR" keyword, not the "ERR" one. Furthermore, libosmocore (reference implementation) sends "ERROR" too. Change-Id: I82cbe8ad0ab51fa073ac3b2d0b959a1610f683b1 --- M osmopy/osmo_ipa.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/osmopy/osmo_ipa.py b/osmopy/osmo_ipa.py index 5538d27..a95a05b 100755 --- a/osmopy/osmo_ipa.py +++ b/osmopy/osmo_ipa.py @@ -41,7 +41,7 @@ CTRL_GET = 'GET' CTRL_SET = 'SET' CTRL_REP = 'REPLY' - CTRL_ERR = 'ERR' + CTRL_ERR = 'ERROR' CTRL_TRAP = 'TRAP' CTRL_TRAP_ID = 0 -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/24261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: I82cbe8ad0ab51fa073ac3b2d0b959a1610f683b1 Gerrit-Change-Number: 24261 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 14:11:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 14:11:41 +0000 Subject: Change in osmo-bsc[master]: ipaccess-config: Clean up sign_link setup helper References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24267 ) Change subject: ipaccess-config: Clean up sign_link setup helper ...................................................................... ipaccess-config: Clean up sign_link setup helper Change-Id: I7a5231690c9f2f1c2378b1035900c6c246deb994 --- M src/ipaccess/ipaccess-config.c 1 file changed, 9 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/67/24267/1 diff --git a/src/ipaccess/ipaccess-config.c b/src/ipaccess/ipaccess-config.c index c9264d7..cf649bd 100644 --- a/src/ipaccess/ipaccess-config.c +++ b/src/ipaccess/ipaccess-config.c @@ -144,17 +144,18 @@ } line->ops = &ipaccess_e1inp_line_ops; - /* create E1 timeslots for signalling and TRAU frames */ - e1inp_ts_config_sign(&line->ts[1-1], line); - e1inp_ts_config_sign(&line->ts[2-1], line); + sign_ts = e1inp_line_ipa_oml_ts(line); + rsl_ts = e1inp_line_ipa_rsl_ts(line, 0); - /* create signalling links for TS1 */ - sign_ts = &line->ts[1-1]; - rsl_ts = &line->ts[2-1]; + /* create E1 timeslots for signalling and TRAU frames */ + e1inp_ts_config_sign(sign_ts, line); + e1inp_ts_config_sign(rsl_ts, line); + + /* create signalling links for TRX0 */ oml_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_OML, - bts->c0, 0xff, 0); + bts->c0, IPAC_PROTO_OML, 0); rsl_link = e1inp_sign_link_create(rsl_ts, E1INP_SIGN_RSL, - bts->c0, 0, 0); + bts->c0, IPAC_PROTO_RSL, 0); /* create back-links from bts/trx */ bts->oml_link = oml_link; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7a5231690c9f2f1c2378b1035900c6c246deb994 Gerrit-Change-Number: 24267 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 14:31:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 14:31:28 +0000 Subject: Change in osmo-bsc[master]: bsc: Clean up Ts selection in ipaccess_sign_link_up References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24268 ) Change subject: bsc: Clean up Ts selection in ipaccess_sign_link_up ...................................................................... bsc: Clean up Ts selection in ipaccess_sign_link_up Change-Id: I3e60ebc979010830a5c40112824893a640c58fd4 --- M src/osmo-bsc/bts_ipaccess_nanobts.c 1 file changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/68/24268/1 diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index 16fa201..4cc4da2 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -678,10 +678,11 @@ struct e1inp_sign_link *sign_link = NULL; struct timespec tp; int rc; + struct e1inp_ts *sign_ts = e1inp_line_ipa_oml_ts(line); bts = find_bts_by_unitid(bsc_gsmnet, dev->site_id, dev->bts_id); if (!bts) { - ipaccess_sign_link_reject(dev, &line->ts[E1INP_SIGN_OML - 1]); + ipaccess_sign_link_reject(dev, sign_ts); return NULL; } DEBUGP(DLINP, "%s: Identified BTS %u/%u/%u\n", e1inp_signtype_name(type), @@ -701,7 +702,7 @@ /* create new OML link. */ sign_link = bts->oml_link = - e1inp_sign_link_create(&line->ts[E1INP_SIGN_OML - 1], + e1inp_sign_link_create(sign_ts, E1INP_SIGN_OML, bts->c0, bts->oml_tei, 0); rc = clock_gettime(CLOCK_MONOTONIC, &tp); @@ -726,7 +727,7 @@ /* set new RSL link for this TRX. */ line = bts->oml_link->ts->line; - ts = &line->ts[E1INP_SIGN_RSL + dev->trx_id - 1]; + ts = e1inp_line_ipa_rsl_ts(line, dev->trx_id); e1inp_ts_config_sign(ts, line); sign_link = trx->rsl_link = e1inp_sign_link_create(ts, E1INP_SIGN_RSL, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3e60ebc979010830a5c40112824893a640c58fd4 Gerrit-Change-Number: 24268 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 14:33:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 14:33:09 +0000 Subject: Change in osmo-bsc[master]: bsc: Use osmo_clock_gettime everywhere References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24269 ) Change subject: bsc: Use osmo_clock_gettime everywhere ...................................................................... bsc: Use osmo_clock_gettime everywhere Change-Id: I585910277f36d9d7950c9d7e435356eaf2a11ed7 --- M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/e1_config.c 3 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/69/24269/1 diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 66bd360..857ddd2 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -570,7 +570,7 @@ return 0; } - if (clock_gettime(CLOCK_MONOTONIC, &tp) != 0) { + if (osmo_clock_gettime(CLOCK_MONOTONIC, &tp) != 0) { LOGP(DNM, LOGL_ERROR, "BTS %u uptime computation failure: %s\n", bts->nr, strerror(errno)); return 0; } diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index 4cc4da2..591942b 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -705,7 +705,7 @@ e1inp_sign_link_create(sign_ts, E1INP_SIGN_OML, bts->c0, bts->oml_tei, 0); - rc = clock_gettime(CLOCK_MONOTONIC, &tp); + rc = osmo_clock_gettime(CLOCK_MONOTONIC, &tp); bts->uptime = (rc < 0) ? 0 : tp.tv_sec; /* we don't need sub-second precision for uptime */ if (!(sign_link->trx->bts->ip_access.flags & OML_UP)) { e1inp_event(sign_link->ts, S_L_INP_TEI_UP, diff --git a/src/osmo-bsc/e1_config.c b/src/osmo-bsc/e1_config.c index 9ccbbfd..bdf7d1c 100644 --- a/src/osmo-bsc/e1_config.c +++ b/src/osmo-bsc/e1_config.c @@ -196,7 +196,7 @@ if (bts->oml_link) e1inp_sign_link_destroy(bts->oml_link); bts->oml_link = oml_link; - rc = clock_gettime(CLOCK_MONOTONIC, &tp); + rc = osmo_clock_gettime(CLOCK_MONOTONIC, &tp); bts->uptime = (rc < 0) ? 0 : tp.tv_sec; /* we don't need sub-second precision for uptime */ llist_for_each_entry(trx, &bts->trx_list, list) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I585910277f36d9d7950c9d7e435356eaf2a11ed7 Gerrit-Change-Number: 24269 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 14:38:53 2021 From: gerrit-no-reply at lists.osmocom.org (Alejandro Leal) Date: Wed, 19 May 2021 14:38:53 +0000 Subject: Change in osmo-gsm-tester[master]: ms-srs: change the cpu governor before launching the ms. References: Message-ID: Alejandro Leal has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24270 ) Change subject: ms-srs: change the cpu governor before launching the ms. ...................................................................... ms-srs: change the cpu governor before launching the ms. Added the feature to change the cpu governor to the given one before executing the ms-srs. When the execution finishes, the cpu governor will be set to powersave. Change-Id: I86ec4fbba8a965e60103b30e2aa60cd2c3f348c9 --- M src/osmo_gsm_tester/core/remote.py M src/osmo_gsm_tester/obj/ms_srs.py A utils/bin/osmo-gsm-tester_change_cpu_governor.sh A utils/sudoers.d/osmo-gsm-tester_change_cpu_governor 4 files changed, 38 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/70/24270/1 diff --git a/src/osmo_gsm_tester/core/remote.py b/src/osmo_gsm_tester/core/remote.py index 0ea873d..fb446a6 100644 --- a/src/osmo_gsm_tester/core/remote.py +++ b/src/osmo_gsm_tester/core/remote.py @@ -158,6 +158,15 @@ def scpfrom(self, name, remote_path, local_path): process.run_local_sync(self.run_dir, name, ('scp', '-r', '%s@%s:%s' % (self.user(), self.host(), remote_path), local_path)) + def set_cpu_governor(self, mode): + ''' + This functionality requires specific setup on the host running + osmo-gsm-tester. See osmo-gsm-tester manual for more information. + ''' + self.log(f'Set cpu governor to {mode}') + SET_CPU_GOVERNOR_BIN = 'osmo-gsm-tester_change_cpu_governor.sh' + self.run_remote_sync('change-cpu-governor', ('sudo', SET_CPU_GOVERNOR_BIN, mode)) + def setcap_net_admin(self, binary_path): ''' This functionality requires specific setup on the host running diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index ec4486f..6aaa1c9 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -45,7 +45,8 @@ 'freq_offset': schema.INT, 'force_ul_amplitude': schema.STR, 'dl_freq': schema.STR, - 'ul_freq': schema.STR + 'ul_freq': schema.STR, + 'cpu_governor': schema.STR } for key, val in RunNode.schema().items(): resource_schema['run_node.%s' % key] = val @@ -104,6 +105,7 @@ self.remote_log_file = None self.remote_pcap_file = None self.remote_metrics_file = None + self.remote_cpu_governor = None self.enable_pcap = False self.num_carriers = 1 self.num_nr_carriers = 0 @@ -121,6 +123,10 @@ if self._run_node.is_local(): return + # Restore the cpu governor. + if self.remote_cpu_governor: + self.rem_host.set_cpu_governor('powersave') + # Make sure we give the UE time to tear down self.sleep_after_stop() @@ -186,6 +192,10 @@ self.process.stdin_write('t\n') def start_remotely(self): + # Set the cpu governor to performance. + if self.remote_cpu_governor: + self.rem_host.set_cpu_governor(self.remote_cpu_governor) + remote_lib = self.remote_inst.child('lib') remote_binary = self.remote_inst.child('bin', srsUE.BINFILE) # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. @@ -271,6 +281,8 @@ self.enable_pcap = util.str2bool(values['ue'].get('enable_pcap', 'false')) config.overlay(values, dict(ue={'enable_pcap': self.enable_pcap})) + self.remote_cpu_governor = self._conf.get('cpu_governor', None) + self._additional_args = [] for add_args in values['ue'].get('additional_args', []): self._additional_args += add_args.split() diff --git a/utils/bin/osmo-gsm-tester_change_cpu_governor.sh b/utils/bin/osmo-gsm-tester_change_cpu_governor.sh new file mode 100755 index 0000000..92e797c --- /dev/null +++ b/utils/bin/osmo-gsm-tester_change_cpu_governor.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +# This script changes the cpu governor mode to the given first argument. + +echo "Script to change the cpu governor" +echo "changing the cpu governor to $1" + +for f in /sys/devices/system/cpu/cpu[0-9]*/cpufreq/scaling_governor ; do + echo $1 > $f + cat $f +done + +exit $? + diff --git a/utils/sudoers.d/osmo-gsm-tester_change_cpu_governor b/utils/sudoers.d/osmo-gsm-tester_change_cpu_governor new file mode 100644 index 0000000..aba27a7 --- /dev/null +++ b/utils/sudoers.d/osmo-gsm-tester_change_cpu_governor @@ -0,0 +1,2 @@ +%osmo-gsm-tester ALL=(root) NOPASSWD: /usr/local/bin/osmo-gsm-tester_change_cpu_governor.sh + -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I86ec4fbba8a965e60103b30e2aa60cd2c3f348c9 Gerrit-Change-Number: 24270 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 14:38:53 2021 From: gerrit-no-reply at lists.osmocom.org (Alejandro Leal) Date: Wed, 19 May 2021 14:38:53 +0000 Subject: Change in osmo-gsm-tester[master]: iperfserver: adds an offset to the default port. References: Message-ID: Alejandro Leal has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24271 ) Change subject: iperfserver: adds an offset to the default port. ...................................................................... iperfserver: adds an offset to the default port. Added the feature to add an offset to the default iperf port. Change-Id: I23f0e5ae599825627a23333a0255577bbc013a3c --- M src/osmo_gsm_tester/obj/iperf3.py M src/osmo_gsm_tester/testenv.py 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/71/24271/1 diff --git a/src/osmo_gsm_tester/obj/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py index 4b88df0..cca93a8 100644 --- a/src/osmo_gsm_tester/obj/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -84,14 +84,14 @@ LOGFILE = 'iperf3_srv.json' REMOTE_DIR = '/tmp' - def __init__(self, testenv, ip_address): + def __init__(self, testenv, ip_address, ip_port_offset=0): super().__init__(log.C_RUN, 'iperf3-srv_%s' % ip_address.get('addr')) self.run_dir = None self.process = None self._run_node = None self.testenv = testenv self.ip_address = ip_address - self._port = IPerf3Server.DEFAULT_SRV_PORT + self._port = IPerf3Server.DEFAULT_SRV_PORT + ip_port_offset self.log_file = None self.rem_host = None self.remote_log_file = None diff --git a/src/osmo_gsm_tester/testenv.py b/src/osmo_gsm_tester/testenv.py index e1d3a0a..ab04f46 100644 --- a/src/osmo_gsm_tester/testenv.py +++ b/src/osmo_gsm_tester/testenv.py @@ -320,11 +320,11 @@ self.register_for_cleanup(osmocon_obj) return osmocon_obj - def iperf3srv(self, ip_address=None): + def iperf3srv(self, ip_address=None, ip_port_offset=0): from .obj.iperf3 import IPerf3Server if ip_address is None: ip_address = self.ip_address() - iperf3srv_obj = IPerf3Server(self, ip_address) + iperf3srv_obj = IPerf3Server(self, ip_address, ip_port_offset) return iperf3srv_obj def stress(self, run_node=None): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I23f0e5ae599825627a23333a0255577bbc013a3c Gerrit-Change-Number: 24271 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 14:38:54 2021 From: gerrit-no-reply at lists.osmocom.org (Alejandro Leal) Date: Wed, 19 May 2021 14:38:54 +0000 Subject: Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files. References: Message-ID: Alejandro Leal has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 ) Change subject: util: adds the feature to force the rpath when patching files. ...................................................................... util: adds the feature to force the rpath when patching files. Adds a function that allows to patch the rpath of a binary with the option '--force-rpath'. Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec --- M src/osmo_gsm_tester/core/remote.py M src/osmo_gsm_tester/core/util.py 2 files changed, 24 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/72/24272/1 diff --git a/src/osmo_gsm_tester/core/remote.py b/src/osmo_gsm_tester/core/remote.py index fb446a6..95750f5 100644 --- a/src/osmo_gsm_tester/core/remote.py +++ b/src/osmo_gsm_tester/core/remote.py @@ -203,3 +203,17 @@ self.dbg('Using specific patchelf from %s', patchelf_bin) self.run_remote_sync('patchelf', (patchelf_bin, '--set-rpath', paths, binary_path)) + + def change_elf_force_rpath(self, binary_path, paths): + ''' + Change RPATH field in ELF executable binary forcing the rpath. + This feature can be used to tell the loader to load the trial libraries, as + LD_LIBRARY_PATH is disabled for paths with modified capabilities. + ''' + patchelf_bin = self.remote_env.get('PATCHELF_BIN', None) + if not patchelf_bin: + patchelf_bin = 'patchelf' + else: + self.dbg('Using specific patchelf from %s', patchelf_bin) + + self.run_remote_sync('patchelf', (patchelf_bin, '--force-rpath --set-rpath', paths, binary_path)) diff --git a/src/osmo_gsm_tester/core/util.py b/src/osmo_gsm_tester/core/util.py index 691b489..32baf33 100644 --- a/src/osmo_gsm_tester/core/util.py +++ b/src/osmo_gsm_tester/core/util.py @@ -56,6 +56,16 @@ proc = Process('patchelf', run_dir, ['patchelf', '--set-rpath', paths, binary]) proc.launch_sync() +def change_elf_force_rpath(binary, paths, run_dir): + ''' + Change RPATH field in ELF executable binary forcing the rpath. + This feature can be used to tell the loaded to load the trial libraries, as + LD_LIBRARY_PATH is disabled for paths with modified capabilities. + ''' + from .process import Process + proc = Process('patchelf', run_dir, ['patchelf', '--force-rpath --set-rpath', paths, binary]) + proc.launch_sync() + def ip_to_iface(ip): try: for iface in os.listdir('/sys/class/net'): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec Gerrit-Change-Number: 24272 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 14:38:54 2021 From: gerrit-no-reply at lists.osmocom.org (Alejandro Leal) Date: Wed, 19 May 2021 14:38:54 +0000 Subject: Change in osmo-gsm-tester[master]: iperf: adds the option to define the packet length for udp. References: Message-ID: Alejandro Leal has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273 ) Change subject: iperf: adds the option to define the packet length for udp. ...................................................................... iperf: adds the option to define the packet length for udp. Added the feature to configure the packet length in udp iperf. Added a modifier to select the length value. The default value is configured to 1460. Change-Id: Ic886faa82b7cb25f2bce685eb80910623e4ff686 --- M src/osmo_gsm_tester/obj/iperf3.py M sysmocom/defaults.conf A sysmocom/scenarios/cfg-iperf3-length at .conf 3 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/73/24273/1 diff --git a/src/osmo_gsm_tester/obj/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py index cca93a8..675bff2 100644 --- a/src/osmo_gsm_tester/obj/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -32,6 +32,7 @@ config_schema = { 'time': schema.DURATION, 'protocol': 'iperf3_protocol', + 'length' : schema.UINT, } schema.register_config_schema('iperf3cli', config_schema) @@ -271,6 +272,9 @@ popen_args += ('--bidir',) if proto == IPerf3Client.PROTO_UDP: popen_args += ('-u', '-b', str(bitrate)) + # Add the buffer length. + buffer_length = str(values.get('length')) + popen_args += ('-l', buffer_length) if tos is not None: popen_args += ('-S', str(tos)) diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index af5c52c..5a2d057 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -203,3 +203,4 @@ iperf3cli: time: 60 + length: 1460 diff --git a/sysmocom/scenarios/cfg-iperf3-length at .conf b/sysmocom/scenarios/cfg-iperf3-length at .conf new file mode 100644 index 0000000..56172c3 --- /dev/null +++ b/sysmocom/scenarios/cfg-iperf3-length at .conf @@ -0,0 +1,3 @@ +config: + iperf3cli: + length: ${param1} \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic886faa82b7cb25f2bce685eb80910623e4ff686 Gerrit-Change-Number: 24273 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 14:38:55 2021 From: gerrit-no-reply at lists.osmocom.org (Alejandro Leal) Date: Wed, 19 May 2021 14:38:55 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf3-ul: modified the test to parameterize the number of ue in t... References: Message-ID: Alejandro Leal has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24274 ) Change subject: 4g-iperf3-ul: modified the test to parameterize the number of ue in the test. ...................................................................... 4g-iperf3-ul: modified the test to parameterize the number of ue in the test. Parameterize the iperf3 uplink test for the 4g test suite to execute a given number of UEs. By default, the number of ue is 1. Change-Id: I4b006df04bd1af6c117bcb25e6a6b1609ac732fb --- M sysmocom/suites/4g/iperf3_ul.py 1 file changed, 73 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/74/24274/1 diff --git a/sysmocom/suites/4g/iperf3_ul.py b/sysmocom/suites/4g/iperf3_ul.py index e243774..541b0d0 100755 --- a/sysmocom/suites/4g/iperf3_ul.py +++ b/sysmocom/suites/4g/iperf3_ul.py @@ -1,48 +1,98 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * import os +import threading + +def run_iperf(proc): + proc.launch_sync() # Overlay suite-specific templates folder if it exists if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')): tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates')) +# Retrieve the number of physical ue from the test suite configuration. +test_config = tenv.config_test_specific() +nof_ue = int(test_config.get("nof_physical_ue", 1)) + +print(f'Number of physical ue: {nof_ue}') + +ue = [] + +# Get the ue from the test configuration. +for n in range(0, nof_ue): + ue.append(tenv.modem()) + print(f'ue index{n}: {ue[n]}') + epc = tenv.epc() enb = tenv.enb() -ue = tenv.modem() -iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()}) -iperf3srv.set_run_node(epc.run_node()) -iperf3cli = iperf3srv.create_client() -iperf3cli.set_run_node(ue.run_node()) -epc.subscriber_add(ue) +iperf3srv = [] +for n in range(0, nof_ue): + iperf3srv.append(tenv.iperf3srv({'addr': epc.tun_addr()}, n)) + iperf3srv[n].set_run_node(epc.run_node()) + +# Set the iperf clients in the ue. +iperf3cli = [] +for n in range(0, nof_ue): + iperf3cli.append(iperf3srv[n].create_client()) + iperf3cli[n].set_run_node(ue[n].run_node()) + +for n in range(0, nof_ue): + epc.subscriber_add(ue[n]) epc.start() -enb.ue_add(ue) + +for n in range(0, nof_ue): + enb.ue_add(ue[n]) enb.start(epc) print('waiting for ENB to connect to EPC...') wait(epc.enb_is_connected, enb) print('ENB is connected to EPC') -ue.connect(enb) +for n in range(0, nof_ue): + ue[n].connect(enb) -max_rate = enb.ue_max_rate(downlink=False, num_carriers=ue.num_carriers) +for n in range(0, nof_ue): + iperf3srv[n].start() -iperf3srv.start() -proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns(), bitrate=max_rate) +proc = [] -print('waiting for UE to attach...') -wait(ue.is_registered) -print('UE is attached') +# Attach all the ue's. +for n in range(0, nof_ue): + max_rate = enb.ue_max_rate(downlink=False, num_carriers=ue[n].num_carriers) + client = iperf3cli[n].prepare_test_proc(iperf3cli[n].DIR_UL, ue[n].netns(), bitrate=max_rate) + print(f'Iperf client type: {type(client)}') + proc.append(client) + print(f'waiting for UE {n} to attach...') + wait(ue[n].is_registered) + print(f'UE {n} is attached') -print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) -proc.launch_sync() -iperf3srv.stop() +# Start every iperf client. +threads = [] +for n in range(0, nof_ue): + print("Running iperf3 %u client to %s through %s" % (n, str(iperf3cli[n]), ue[n].netns())) + threads.append(threading.Thread(target=run_iperf, args=(proc[n],))) + threads[n].start() -iperf3cli.print_results() -iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) +# Wait for all the iperfs to finish. +for n in range(0, nof_ue): + threads[n].join() + print(f'Iperf {n} finished') + iperf3srv[n].stop() + +for n in range(0, nof_ue): + iperf3cli[n].print_results() + iperf3srv[n].print_results(iperf3cli[n].proto() == iperf3cli[n].PROTO_UDP) # 80% of the maximum rate for half of the test duration -half_duration = int(round(iperf3cli.time_sec() / 2)) -res_str = ue.verify_metric(max_rate * 0.8, operation='max_rolling_avg', metric='ul_brate', criterion='gt', window=half_duration) -print(res_str) -test.set_report_stdout(res_str) +out = '' +for n in range(0, nof_ue): + half_duration = int(round(iperf3cli[n].time_sec() / 2)) + max_rate = enb.ue_max_rate(downlink=False, num_carriers=ue[n].num_carriers) + res_str = ue[n].verify_metric(max_rate * 0.8, operation='max_rolling_avg', metric='ul_brate', criterion='gt', window=half_duration) + print(res_str) + out += res_str + if n != nof_ue - 1: + out += '\n' + +test.set_report_stdout(out) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4b006df04bd1af6c117bcb25e6a6b1609ac732fb Gerrit-Change-Number: 24274 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 14:38:56 2021 From: gerrit-no-reply at lists.osmocom.org (Alejandro Leal) Date: Wed, 19 May 2021 14:38:56 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf3-dl: modified the test to parameterize the number of ue in t... References: Message-ID: Alejandro Leal has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24275 ) Change subject: 4g-iperf3-dl: modified the test to parameterize the number of ue in the test. ...................................................................... 4g-iperf3-dl: modified the test to parameterize the number of ue in the test. Parameterize the iperf3 downlink test for the 4g test suite to execute a given number of UEs. By default, the number of ue is 1. Change-Id: Ifafea196289d1ce0d35ae66c6564266ba123b27a --- M sysmocom/suites/4g/iperf3_dl.py 1 file changed, 73 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/75/24275/1 diff --git a/sysmocom/suites/4g/iperf3_dl.py b/sysmocom/suites/4g/iperf3_dl.py index 9e172c4..3c6eb0f 100755 --- a/sysmocom/suites/4g/iperf3_dl.py +++ b/sysmocom/suites/4g/iperf3_dl.py @@ -1,48 +1,98 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * import os +import threading + +def run_iperf(proc): + proc.launch_sync() # Overlay suite-specific templates folder if it exists if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')): tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates')) +# Retrieve the number of physical ue from the test suite configuration. +test_config = tenv.config_test_specific() +nof_ue = int(test_config.get("nof_physical_ue", 1)) + +print(f'Number of physical ue: {nof_ue}') + +ue = [] + +# Get the ue from the test configuration. +for n in range(0, nof_ue): + ue.append(tenv.modem()) + print(f'ue index{n}: {ue[n]}') + epc = tenv.epc() enb = tenv.enb() -ue = tenv.modem() -iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()}) -iperf3srv.set_run_node(epc.run_node()) -iperf3cli = iperf3srv.create_client() -iperf3cli.set_run_node(ue.run_node()) -epc.subscriber_add(ue) +iperf3srv = [] +for n in range(0, nof_ue): + iperf3srv.append(tenv.iperf3srv({'addr': epc.tun_addr()}, n)) + iperf3srv[n].set_run_node(epc.run_node()) + +# Set the iperf clients in the ue. +iperf3cli = [] +for n in range(0, nof_ue): + iperf3cli.append(iperf3srv[n].create_client()) + iperf3cli[n].set_run_node(ue[n].run_node()) + +for n in range(0, nof_ue): + epc.subscriber_add(ue[n]) epc.start() -enb.ue_add(ue) + +for n in range(0, nof_ue): + enb.ue_add(ue[n]) enb.start(epc) print('waiting for ENB to connect to EPC...') wait(epc.enb_is_connected, enb) print('ENB is connected to EPC') -ue.connect(enb) +for n in range(0, nof_ue): + ue[n].connect(enb) -max_rate = enb.ue_max_rate(downlink=True, num_carriers=ue.num_carriers) +for n in range(0, nof_ue): + iperf3srv[n].start() -iperf3srv.start() -proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_DL, ue.netns(), bitrate=max_rate) +proc = [] -print('waiting for UE to attach...') -wait(ue.is_registered) -print('UE is attached') +# Attach all the ue's. +for n in range(0, nof_ue): + max_rate = enb.ue_max_rate(downlink=True, num_carriers=ue[n].num_carriers); + client = iperf3cli[n].prepare_test_proc(iperf3cli[n].DIR_DL, ue[n].netns(), bitrate=max_rate) + print(f'Iperf client type: {type(client)}') + proc.append(client) + print(f'waiting for UE {n} to attach...') + wait(ue[n].is_registered) + print(f'UE {n} is attached') -print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) -proc.launch_sync() -iperf3srv.stop() +# Start every iperf client. +threads = [] +for n in range(0, nof_ue): + print("Running iperf3 %u client to %s through %s" % (n, str(iperf3cli[n]), ue[n].netns())) + threads.append(threading.Thread(target=run_iperf, args=(proc[n],))) + threads[n].start() -iperf3cli.print_results() -iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) +# Wait for all the iperfs to finish. +for n in range(0, nof_ue): + threads[n].join() + print(f'Iperf {n} finished') + iperf3srv[n].stop() + +for n in range(0, nof_ue): + iperf3cli[n].print_results() + iperf3srv[n].print_results(iperf3cli[n].proto() == iperf3cli[n].PROTO_UDP) # 80% of the maximum rate for half of the test duration -half_duration = int(round(iperf3cli.time_sec() / 2)) -res_str = ue.verify_metric(max_rate * 0.8, operation='max_rolling_avg', metric='dl_brate', criterion='gt', window=half_duration) -print(res_str) -test.set_report_stdout(res_str) +out = '' +for n in range(0, nof_ue): + half_duration = int(round(iperf3cli[n].time_sec() / 2)) + max_rate = enb.ue_max_rate(downlink=True, num_carriers=ue[n].num_carriers); + res_str = ue[n].verify_metric(max_rate * 0.8, operation='max_rolling_avg', metric='dl_brate', criterion='gt', window=half_duration) + print(res_str) + out += res_str + if n != nof_ue - 1: + out += '\n' + +test.set_report_stdout(out) \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifafea196289d1ce0d35ae66c6564266ba123b27a Gerrit-Change-Number: 24275 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 14:38:56 2021 From: gerrit-no-reply at lists.osmocom.org (Alejandro Leal) Date: Wed, 19 May 2021 14:38:56 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf3-bidir: modified the test to parameterize the number of ue i... References: Message-ID: Alejandro Leal has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24276 ) Change subject: 4g-iperf3-bidir: modified the test to parameterize the number of ue in the test. ...................................................................... 4g-iperf3-bidir: modified the test to parameterize the number of ue in the test. Parameterize the iperf3 bidirectional test for the 4g test suite to execute a given number of UEs. By default, the number of ue is 1. Change-Id: I34fb436d581eda12388819b5dee9a3bafd419a7f --- M sysmocom/suites/4g/iperf3_bidir.py 1 file changed, 75 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/76/24276/1 diff --git a/sysmocom/suites/4g/iperf3_bidir.py b/sysmocom/suites/4g/iperf3_bidir.py index 3c94a88..73cb03b 100755 --- a/sysmocom/suites/4g/iperf3_bidir.py +++ b/sysmocom/suites/4g/iperf3_bidir.py @@ -1,50 +1,100 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * import os +import threading + +def run_iperf(proc): + proc.launch_sync() # Overlay suite-specific templates folder if it exists if os.path.isdir(os.path.join(os.path.dirname(__file__), 'templates')): tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'templates')) +# Retrieve the number of physical ue from the test suite configuration. +test_config = tenv.config_test_specific() +nof_ue = int(test_config.get("nof_physical_ue", 1)) + +print(f'Number of physical ue: {nof_ue}') + +ue = [] + +# Get the ue from the test configuration. +for n in range(0, nof_ue): + ue.append(tenv.modem()) + print(f'ue index{n}: {ue[n]}') + epc = tenv.epc() enb = tenv.enb() -ue = tenv.modem() -iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()}) -iperf3srv.set_run_node(epc.run_node()) -iperf3cli = iperf3srv.create_client() -iperf3cli.set_run_node(ue.run_node()) -epc.subscriber_add(ue) +iperf3srv = [] +for n in range(0, nof_ue): + iperf3srv.append(tenv.iperf3srv({'addr': epc.tun_addr()}, n)) + iperf3srv[n].set_run_node(epc.run_node()) + +# Set the iperf clients in the ue. +iperf3cli = [] +for n in range(0, nof_ue): + iperf3cli.append(iperf3srv[n].create_client()) + iperf3cli[n].set_run_node(ue[n].run_node()) + +for n in range(0, nof_ue): + epc.subscriber_add(ue[n]) epc.start() -enb.ue_add(ue) + +for n in range(0, nof_ue): + enb.ue_add(ue[n]) enb.start(epc) print('waiting for ENB to connect to EPC...') wait(epc.enb_is_connected, enb) print('ENB is connected to EPC') -ue.connect(enb) +for n in range(0, nof_ue): + ue[n].connect(enb) -max_rate_ratio = 0.8 -max_rate_dl = enb.ue_max_rate(downlink=True, num_carriers=ue.num_carriers) -max_rate_ul = enb.ue_max_rate(downlink=False, num_carriers=ue.num_carriers) +for n in range(0, nof_ue): + iperf3srv[n].start() -iperf3srv.start() -proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_BI, ue.netns(), bitrate=max_rate_dl) +proc = [] -print('waiting for UE to attach...') -wait(ue.is_registered) -print('UE is attached') +# Attach all the ue's. +for n in range(0, nof_ue): + max_rate_dl = enb.ue_max_rate(downlink=True, num_carriers=ue[n].num_carriers) + client = iperf3cli[n].prepare_test_proc(iperf3cli[n].DIR_BI, ue[n].netns(), bitrate=max_rate_dl) + print(f'Iperf client type: {type(client)}') + proc.append(client) + print(f'waiting for UE {n} to attach...') + wait(ue[n].is_registered) + print(f'UE {n} is attached') -print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) -proc.launch_sync() -iperf3srv.stop() +# Start every iperf client. +threads = [] +for n in range(0, nof_ue): + print("Running iperf3 %u client to %s through %s" % (n, str(iperf3cli[n]), ue[n].netns())) + threads.append(threading.Thread(target=run_iperf, args=(proc[n],))) + threads[n].start() -iperf3cli.print_results() -iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) +# Wait for all the iperfs to finish. +for n in range(0, nof_ue): + threads[n].join() + print(f'Iperf {n} finished') + iperf3srv[n].stop() + +for n in range(0, nof_ue): + iperf3cli[n].print_results() + iperf3srv[n].print_results(iperf3cli[n].proto() == iperf3cli[n].PROTO_UDP) # 80% of the maximum rate for half of the test duration -half_duration = int(round(iperf3cli.time_sec() / 2)) -res_str = ue.verify_metric((max_rate_dl + max_rate_ul) * max_rate_ratio, operation='max_rolling_avg', metric='dl_brate+ul_brate', criterion='gt', window=half_duration) -print(res_str) -test.set_report_stdout(res_str) \ No newline at end of file +max_rate_ratio = 0.8 +out = '' +for n in range(0, nof_ue): + half_duration = int(round(iperf3cli[n].time_sec() / 2)) + max_rate_dl = enb.ue_max_rate(downlink=True, num_carriers=ue[n].num_carriers) + max_rate_ul = enb.ue_max_rate(downlink=False, num_carriers=ue[n].num_carriers) + res_str = ue[n].verify_metric((max_rate_dl + max_rate_ul) * max_rate_ratio, operation='max_rolling_avg', metric='dl_brate+ul_brate', criterion='gt', window=half_duration) + print(res_str) + out += res_str + if n != nof_ue - 1: + out += '\n' + +test.set_report_stdout(out) \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I34fb436d581eda12388819b5dee9a3bafd419a7f Gerrit-Change-Number: 24276 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 14:38:56 2021 From: gerrit-no-reply at lists.osmocom.org (Alejandro Leal) Date: Wed, 19 May 2021 14:38:56 +0000 Subject: Change in osmo-gsm-tester[master]: srs-ms: allows to run given scripts before the execution of the UE. References: Message-ID: Alejandro Leal has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277 ) Change subject: srs-ms: allows to run given scripts before the execution of the UE. ...................................................................... srs-ms: allows to run given scripts before the execution of the UE. Executes the scripts given by the 'prerun_scripts' variable before launching the UE. Change-Id: I718e686b5844f2f07eda820914678052f1008182 --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 51 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/77/24277/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 6aaa1c9..f56524a 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -46,7 +46,8 @@ 'force_ul_amplitude': schema.STR, 'dl_freq': schema.STR, 'ul_freq': schema.STR, - 'cpu_governor': schema.STR + 'cpu_governor': schema.STR, + 'prerun_scripts[]': schema.STR, } for key, val in RunNode.schema().items(): resource_schema['run_node.%s' % key] = val @@ -177,11 +178,60 @@ def zmq_base_bind_port(self): return self._zmq_base_bind_port + def run_task(self, task): + # Get the arguments. + args_index = task.find('args=') + + args = () + # No arguments, all the string is the script. + if args_index == -1: + index = task.rfind('/') + task_name = task [index + 1:] + run_dir = util.Dir(self.run_dir.new_dir(task_name)) + args = (task,) + self.log(f'task name is: {task_name}') + self.log(f'Running the script: {task} in the run dir: {run_dir}') + else: + ntask = task[:args_index - 1] + index = ntask.rfind('/') + task_name = ntask [index + 1:] + run_dir = util.Dir(self.run_dir.new_dir(task_name)) + args = (ntask,) + args += tuple(task[args_index + 5:].split(',')) + self.log(f'task name is: {task_name}') + self.log(f'Running the script: {task} in the run dir: {run_dir} with args: {args}') + + proc = process.Process(task_name, run_dir, args) + # Set the timeout to a high value 20 minutes. + proc.set_default_wait_timeout(1200) + returncode = proc.launch_sync() + if returncode != 0: + raise log.Error('Error executing the pre run scripts. Aborting') + return False + + return True + + # Runs all the tasks that are intended to run before the execution of the MS. + def prerun_tasks(self): + prerun_tasklist = self._conf.get('prerun_scripts', None) + if not prerun_tasklist: + return True + + for task in prerun_tasklist: + if not self.run_task(task): + return False + + return True + def connect(self, enb): self.log('Starting srsue') self.enb = enb self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() + + if not self.prerun_tasks(): + return + if self._run_node.is_local(): self.start_locally() else: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I718e686b5844f2f07eda820914678052f1008182 Gerrit-Change-Number: 24277 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 14:38:57 2021 From: gerrit-no-reply at lists.osmocom.org (Alejandro Leal) Date: Wed, 19 May 2021 14:38:57 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: runs the given list of scripts before and after launching th... References: Message-ID: Alejandro Leal has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24278 ) Change subject: srs-enb: runs the given list of scripts before and after launching the eNodeB. ...................................................................... srs-enb: runs the given list of scripts before and after launching the eNodeB. Allows to run given scripts before and after the execution of the SRS eNodeB. The scripts are retrieved as a list from the resource.conf file. Change-Id: I5017caae933809b89b32ea132be8552d6554e20e --- M src/osmo_gsm_tester/obj/enb_srs.py 1 file changed, 72 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/78/24278/1 diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 708e63a..a3551c6 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -29,6 +29,12 @@ from ..core import schema def on_register_schemas(): + resource_schema = { + 'prerun_scripts[]': schema.STR, + 'postrun_scripts[]': schema.STR, + } + schema.register_resource_schema('enb', resource_schema) + config_schema = { 'enable_pcap': schema.BOOL_STR, 'enable_tracing': schema.BOOL_STR, @@ -100,6 +106,10 @@ # Make sure we give the UE time to tear down self.sleep_after_stop() + # Execute the post run tasks. + if not self.postrun_tasks(): + self.log('Could not execute the post run tasks') + # copy back files (may not exist, for instance if there was an early error of process): self.scp_back_metrics(raiseException=False) @@ -151,11 +161,73 @@ else: self.dbg('Metrics have already been copied back') + def run_task(self, task): + # Get the arguments. + args_index = task.find('args=') + + args = () + # No arguments, all the string is the script. + if args_index == -1: + index = task.rfind('/') + task_name = task [index + 1:] + run_dir = util.Dir(self.run_dir.new_dir(task_name)) + args = (task,) + self.log(f'task name is: {task_name}') + self.log(f'Running the script: {task} in the run dir: {run_dir}') + else: + ntask = task[:args_index - 1] + index = ntask.rfind('/') + task_name = ntask [index + 1:] + run_dir = util.Dir(self.run_dir.new_dir(task_name)) + args = (ntask,) + args += tuple(task[args_index + 5:].split(',')) + self.log(f'task name is: {task_name}') + self.log(f'Running the script: {task} in the run dir: {run_dir} with args: {args}') + + proc = process.Process(task_name, run_dir, args) + # Set the timeout to a high value 20 minutes. + proc.set_default_wait_timeout(1200) + returncode = proc.launch_sync() + if returncode != 0: + raise log.Error('Error executing the pre run scripts. Aborting') + return False + + return True + + # Runs all the tasks that are intended to run before the execution of the eNodeb. + def prerun_tasks(self): + prerun_tasklist = self._conf.get('prerun_scripts', None) + if not prerun_tasklist: + return True + + for task in prerun_tasklist: + if not self.run_task(task): + return False + + return True + + # Runs all the tasks that are intended to run after the execution of the eNodeb. + def postrun_tasks(self): + postrun_tasklist = self._conf.get('postrun_scripts', None) + if not postrun_tasklist: + return True + + for task in postrun_tasklist: + if not self.run_task(task): + return False + + return True + def start(self, epc): self.log('Starting srsENB') self._epc = epc self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() + + if not self.prerun_tasks(): + self.log('Pre run tasks failed. Aborting') + return + if self._run_node.is_local(): self.start_locally() else: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5017caae933809b89b32ea132be8552d6554e20e Gerrit-Change-Number: 24278 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 14:38:57 2021 From: gerrit-no-reply at lists.osmocom.org (Alejandro Leal) Date: Wed, 19 May 2021 14:38:57 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: adds fapi to the rf supported devices. References: Message-ID: Alejandro Leal has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24279 ) Change subject: srs-enb: adds fapi to the rf supported devices. ...................................................................... srs-enb: adds fapi to the rf supported devices. Added support to 'fapi' rf device for the SRS eNodeB. Change-Id: I0ac2a7db7c0533dfbc90f2526a7b823110d355c0 --- M src/osmo_gsm_tester/obj/enb_srs.py 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/79/24279/1 diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index a3551c6..9664727 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -44,7 +44,7 @@ schema.register_config_schema('enb', config_schema) def rf_type_valid(rf_type_str): - return rf_type_str in ('zmq', 'uhd', 'soapy', 'bladerf') + return rf_type_str in ('zmq', 'uhd', 'soapy', 'bladerf', 'fapi') class srsENB(enb.eNodeB, srslte_common): @@ -371,6 +371,10 @@ config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) + if self._conf.get('rf_dev_type') == 'fapi': + rf_dev_args = '' + config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) + self.gen_conf = values self.gen_conf_file(self.config_file, srsENB.CFGFILE, values) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24279 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0ac2a7db7c0533dfbc90f2526a7b823110d355c0 Gerrit-Change-Number: 24279 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 14:38:57 2021 From: gerrit-no-reply at lists.osmocom.org (Alejandro Leal) Date: Wed, 19 May 2021 14:38:57 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf-*: registers one UE in the iperf parameterized tests in the ... References: Message-ID: Alejandro Leal has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24280 ) Change subject: 4g-iperf-*: registers one UE in the iperf parameterized tests in the 4g test suite. ...................................................................... 4g-iperf-*: registers one UE in the iperf parameterized tests in the 4g test suite. Registers the first UE in the enb for the parameterized tests (iperf3-bidir, iperf3-dl and iperf3-ul). This will be modified once the enb supports more than one UE. Change-Id: Idfb641fe9fab83179d00d265e26fd231d5977081 --- M sysmocom/suites/4g/iperf3_bidir.py M sysmocom/suites/4g/iperf3_dl.py M sysmocom/suites/4g/iperf3_ul.py 3 files changed, 3 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/80/24280/1 diff --git a/sysmocom/suites/4g/iperf3_bidir.py b/sysmocom/suites/4g/iperf3_bidir.py index 73cb03b..bfeb95f 100755 --- a/sysmocom/suites/4g/iperf3_bidir.py +++ b/sysmocom/suites/4g/iperf3_bidir.py @@ -41,8 +41,7 @@ epc.subscriber_add(ue[n]) epc.start() -for n in range(0, nof_ue): - enb.ue_add(ue[n]) +enb.ue_add(ue[0]) enb.start(epc) print('waiting for ENB to connect to EPC...') diff --git a/sysmocom/suites/4g/iperf3_dl.py b/sysmocom/suites/4g/iperf3_dl.py index 3c6eb0f..a8bcb64 100755 --- a/sysmocom/suites/4g/iperf3_dl.py +++ b/sysmocom/suites/4g/iperf3_dl.py @@ -41,8 +41,7 @@ epc.subscriber_add(ue[n]) epc.start() -for n in range(0, nof_ue): - enb.ue_add(ue[n]) +enb.ue_add(ue[0]) enb.start(epc) print('waiting for ENB to connect to EPC...') diff --git a/sysmocom/suites/4g/iperf3_ul.py b/sysmocom/suites/4g/iperf3_ul.py index 541b0d0..f566ce2 100755 --- a/sysmocom/suites/4g/iperf3_ul.py +++ b/sysmocom/suites/4g/iperf3_ul.py @@ -41,8 +41,7 @@ epc.subscriber_add(ue[n]) epc.start() -for n in range(0, nof_ue): - enb.ue_add(ue[n]) +enb.ue_add(ue[0]) enb.start(epc) print('waiting for ENB to connect to EPC...') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Idfb641fe9fab83179d00d265e26fd231d5977081 Gerrit-Change-Number: 24280 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 14:38:57 2021 From: gerrit-no-reply at lists.osmocom.org (Alejandro Leal) Date: Wed, 19 May 2021 14:38:57 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: patches the binary in fapi rf device with the given library_... References: Message-ID: Alejandro Leal has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24281 ) Change subject: srs-enb: patches the binary in fapi rf device with the given library_path. ...................................................................... srs-enb: patches the binary in fapi rf device with the given library_path. Patches the srsenb rpath with the path provided by the variable 'library_path' in the resources schema. Change-Id: Icd7689a41a1c5fe8e4c427f3b9bc69b3f2b0f8ac --- M src/osmo_gsm_tester/obj/enb_srs.py 1 file changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/81/24281/1 diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 9664727..98f2edf 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -30,6 +30,7 @@ def on_register_schemas(): resource_schema = { + 'library_path': schema.STR, 'prerun_scripts[]': schema.STR, 'postrun_scripts[]': schema.STR, } @@ -391,6 +392,17 @@ self.rem_host.scp('scp-cfg-rr-to-remote', self.config_rr_file, self.remote_config_rr_file) self.rem_host.scp('scp-cfg-drb-to-remote', self.config_drb_file, self.remote_config_drb_file) + # Patchelf for fapi + if self._conf.get('rf_dev_type') == 'fapi': + remote_binary = self.remote_inst.child('bin', srsENB.BINFILE) + path = self._conf.get('library_path', None) + if not path: + raise log.Error('Shared libraries path not specified. Aborting') + return + + self.log(f'Setting RPATH for FAPI enb to {path}, binary: {remote_binary}') + self.rem_host.change_elf_force_rpath(remote_binary, path) + def ue_add(self, ue): if self.ue is not None: raise log.Error("More than one UE per ENB not yet supported (ZeroMQ)") -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icd7689a41a1c5fe8e4c427f3b9bc69b3f2b0f8ac Gerrit-Change-Number: 24281 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 14:38:58 2021 From: gerrit-no-reply at lists.osmocom.org (Alejandro Leal) Date: Wed, 19 May 2021 14:38:58 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: sets the remote directory to the given one. References: Message-ID: Alejandro Leal has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282 ) Change subject: srs-enb: sets the remote directory to the given one. ...................................................................... srs-enb: sets the remote directory to the given one. Sets the remote directory for fapi to the given in the variable 'remote_dir' in the reource schema. Change-Id: I77a56835a4054b86d1d3f7da823a013b3370f767 --- M src/osmo_gsm_tester/obj/enb_srs.py 1 file changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/82/24282/1 diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 98f2edf..1e971c9 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -33,6 +33,7 @@ 'library_path': schema.STR, 'prerun_scripts[]': schema.STR, 'postrun_scripts[]': schema.STR, + 'remote_dir': schema.STR } schema.register_resource_schema('enb', resource_schema) @@ -97,6 +98,16 @@ self._additional_args = [] if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) + + # Modify the path to the installation folder for FAPI. + if self._conf.get('rf_dev_type') == 'fapi': + path = self._conf.get('remote_dir', None) + if not path: + raise log.Error('Could not find the execution remote path. Aborting') + return + + self.log(f'Setting the remote dir to: {path}') + srsENB.REMOTE_DIR = path def cleanup(self): if self.process is None: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I77a56835a4054b86d1d3f7da823a013b3370f767 Gerrit-Change-Number: 24282 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 14:38:58 2021 From: gerrit-no-reply at lists.osmocom.org (Alejandro Leal) Date: Wed, 19 May 2021 14:38:58 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: adds environment variables to the resources schema. References: Message-ID: Alejandro Leal has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24283 ) Change subject: srs-enb: adds environment variables to the resources schema. ...................................................................... srs-enb: adds environment variables to the resources schema. Change-Id: I3e5c0ca66ae88d5f3a3ed04c620f386afe1afac9 --- M src/osmo_gsm_tester/obj/enb_srs.py 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/83/24283/1 diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 1e971c9..b3166a5 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -30,6 +30,7 @@ def on_register_schemas(): resource_schema = { + 'env_variables[]': schema.STR, 'library_path': schema.STR, 'prerun_scripts[]': schema.STR, 'postrun_scripts[]': schema.STR, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5c0ca66ae88d5f3a3ed04c620f386afe1afac9 Gerrit-Change-Number: 24283 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 14:38:58 2021 From: gerrit-no-reply at lists.osmocom.org (Alejandro Leal) Date: Wed, 19 May 2021 14:38:58 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: adds support to the malloc interceptor. References: Message-ID: Alejandro Leal has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284 ) Change subject: srs-enb: adds support to the malloc interceptor. ...................................................................... srs-enb: adds support to the malloc interceptor. Adds support to the malloc interceptor for the SRS eNodeB. This interceptor will generate a log file that lists the mallocs, reallocs and frees produced by the srsenb. Change-Id: I0078020468f58bdd70b0b5de879eb58192f947a6 --- M src/osmo_gsm_tester/obj/enb_srs.py A sysmocom/scenarios/cfg-enb-malloc-interceptor.conf 2 files changed, 44 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/84/24284/1 diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index b3166a5..95f3407 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -39,6 +39,7 @@ schema.register_resource_schema('enb', resource_schema) config_schema = { + 'enable_malloc_interceptor': schema.BOOL_STR, 'enable_pcap': schema.BOOL_STR, 'enable_tracing': schema.BOOL_STR, 'enable_ul_qam64': schema.BOOL_STR, @@ -62,6 +63,7 @@ S1AP_PCAPFILE = 'srsenb_s1ap.pcap' TRACINGFILE = 'srsenb_tracing.log' METRICSFILE = 'srsenb_metrics.csv' + INTERCEPTORFILE = 'srsenb_minterceptor.log' def __init__(self, testenv, conf): super().__init__(testenv, conf, srsENB.BINFILE) @@ -74,6 +76,7 @@ self.config_rr_file = None self.config_drb_file = None self.tracing_file = None + self.interceptor_file = None self.log_file = None self.pcap_file = None self.s1ap_pcap_file = None @@ -89,9 +92,11 @@ self.remote_s1ap_pcap_file = None self.remote_tracing_file = None self.remote_metrics_file = None + self.remote_interceptor_file = None self.enable_pcap = False self.enable_ul_qam64 = False self.enable_tracing = False + self.enable_malloc_interceptor = False self.metrics_file = None self.have_metrics_file = False self.stop_sleep_time = 6 # We require at most 5s to stop @@ -146,6 +151,12 @@ except Exception as e: self.log(repr(e)) + if self.enable_malloc_interceptor: + try: + self.rem_host.scpfrom('scp-back-interceptor', self.remote_interceptor_file, self.interceptor_file) + except Exception as e: + self.log(repr(e)) + # Collect KPIs for each TC self.testenv.test().set_kpis(self.get_kpi_tree()) # Clean up for parent class: @@ -256,10 +267,34 @@ def start_remotely(self): remote_env = { 'LD_LIBRARY_PATH': self.remote_inst.child('lib') } + # Add the malloc interceptor env variable when it's required. + if self.enable_malloc_interceptor: + env_var = self._conf.get('env_variables', None) + if not env_var: + raise log.Error('Could not get the environment variables. Aborting') + return + + interceptor_env = [s for s in env_var if 'LD_PRELOAD' in s] + + if not interceptor_env or len(interceptor_env) > 1: + raise log.Error('Could not get the LD_PRELOAD variable. Aborting') + return + + self.log(f'Found LD_PRELOAD variable with value: {interceptor_env}') + + env = str(interceptor_env[0]) + index = env.find(':') + self.log(f'Setting var: {env[:index]} to value: {env[index + 1:]}') + remote_env[env[:index]] = env[index + 1:] + remote_binary = self.remote_inst.child('bin', srsENB.BINFILE) args = (remote_binary, self.remote_config_file) args += tuple(self._additional_args) + # Force the output of the malloc interceptor to the interceptor_file. + if self.enable_malloc_interceptor: + args += tuple([f" 2> {self.remote_interceptor_file}"]) + self.process = self.rem_host.RemoteProcessSafeExit(srsENB.BINFILE, self.remote_run_dir, args, remote_env=remote_env, wait_time_sec=7) self.testenv.remember_to_stop(self.process) self.process.launch() @@ -299,6 +334,7 @@ self.s1ap_pcap_file = self.run_dir.child(srsENB.S1AP_PCAPFILE) self.metrics_file = self.run_dir.child(srsENB.METRICSFILE) self.tracing_file = self.run_dir.child(srsENB.TRACINGFILE) + self.interceptor_file = self.run_dir.child(srsENB.INTERCEPTORFILE) if not self._run_node.is_local(): self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) @@ -315,6 +351,7 @@ self.remote_s1ap_pcap_file = self.remote_run_dir.child(srsENB.S1AP_PCAPFILE) self.remote_metrics_file = self.remote_run_dir.child(srsENB.METRICSFILE) self.remote_tracing_file = self.remote_run_dir.child(srsENB.TRACINGFILE) + self.remote_interceptor_file = self.remote_run_dir.child(srsENB.INTERCEPTORFILE) values = super().configure(['srsenb']) @@ -336,6 +373,9 @@ s1ap_pcap_filename=s1ap_pcapfile, ))) + # Retrieve the malloc interceptor option. + self.enable_malloc_interceptor = util.str2bool(values['enb'].get('enable_malloc_interceptor', 'false')) + # Convert parsed boolean string to Python boolean: self.enable_pcap = util.str2bool(values['enb'].get('enable_pcap', 'false')) config.overlay(values, dict(enb={'enable_pcap': self.enable_pcap})) diff --git a/sysmocom/scenarios/cfg-enb-malloc-interceptor.conf b/sysmocom/scenarios/cfg-enb-malloc-interceptor.conf new file mode 100644 index 0000000..973c64d --- /dev/null +++ b/sysmocom/scenarios/cfg-enb-malloc-interceptor.conf @@ -0,0 +1,4 @@ +config: + enb: + enable_malloc_interceptor: true + \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0078020468f58bdd70b0b5de879eb58192f947a6 Gerrit-Change-Number: 24284 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 15:01:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 May 2021 15:01:06 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: clarify logging messages in trx_if_{open, close}() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24285 ) Change subject: osmo-bts-trx: clarify logging messages in trx_if_{open,close}() ...................................................................... osmo-bts-trx: clarify logging messages in trx_if_{open,close}() Change-Id: I48e64b5b52fc476f915d3a93535b21f0f192b7a9 --- M src/osmo-bts-trx/trx_if.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/85/24285/1 diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 8479d4c..ba30bb2 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -1164,7 +1164,7 @@ /*! close the TRX for given handle (data + control socket) */ void trx_if_close(struct trx_l1h *l1h) { - LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, "Close transceiver\n"); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, "Closing TRXC/TRXD connections\n"); trx_if_flush(l1h); @@ -1195,7 +1195,7 @@ struct phy_link *plink = pinst->phy_link; int rc; - LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, "Open transceiver\n"); + LOGPPHI(pinst, DTRX, LOGL_NOTICE, "Opening TRXC/TRXD connections\n"); /* open sockets */ rc = trx_udp_open(l1h, &l1h->trx_ofd_ctrl, -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I48e64b5b52fc476f915d3a93535b21f0f192b7a9 Gerrit-Change-Number: 24285 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 15:01:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 May 2021 15:01:07 +0000 Subject: Change in osmo-bts[master]: osmo-bts-{trx, virtual}: fix: pinst->trx may be NULL References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24286 ) Change subject: osmo-bts-{trx,virtual}: fix: pinst->trx may be NULL ...................................................................... osmo-bts-{trx,virtual}: fix: pinst->trx may be NULL We assume that it's legal to have dangling PHY instances that are not associated with any TRX instances in the configuration file. Obviously, such PHY instances have pinst->trx set to NULL. The DSP based models seem to handle dangling PHY instances without any problems, so let's ensure that we always check pinst->trx against NULL in the osmo-bts-{trx,virtual} specific code. Change-Id: Ib7d9cb7ae47fead723fa46454cd64bf6e88756bb Fixes: CID#236092 "Dereference before null check" --- M include/osmo-bts/phy_link.h M src/common/scheduler.c M src/osmo-bts-trx/trx_if.c M src/osmo-bts-trx/trx_provision_fsm.c M src/osmo-bts-trx/trx_vty.c M src/osmo-bts-virtual/l1_if.c 6 files changed, 24 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/86/24286/1 diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index c4b60f3..becc442 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -97,7 +97,7 @@ struct phy_link *phy_link; /* back-pointer to the TRX to which we're associated */ - struct gsm_bts_trx *trx; + struct gsm_bts_trx *trx; /* NOTE: may be NULL! */ union { struct { diff --git a/src/common/scheduler.c b/src/common/scheduler.c index f5a5b89..4af6457 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -578,6 +578,8 @@ { unsigned int tn, i; + OSMO_ASSERT(trx != NULL); + LOGPTRX(trx, DL1C, LOGL_DEBUG, "Init scheduler structures\n"); for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index ba30bb2..fcad75c 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -1235,7 +1235,9 @@ if (!l1h) return -EINVAL; - trx_sched_init(pinst->trx); + /* PHY instance may be not associated with a TRX instance */ + if (pinst->trx != NULL) + trx_sched_init(pinst->trx); rc = trx_if_open(l1h); if (rc < 0) { diff --git a/src/osmo-bts-trx/trx_provision_fsm.c b/src/osmo-bts-trx/trx_provision_fsm.c index 1e5de2e..070037d 100644 --- a/src/osmo-bts-trx/trx_provision_fsm.c +++ b/src/osmo-bts-trx/trx_provision_fsm.c @@ -279,7 +279,10 @@ l1h->config.trxd_pdu_ver_req = pinst->phy_link->u.osmotrx.trxd_pdu_ver_max; /* Apply initial RFMUTE state */ - trx_if_cmd_rfmute(l1h, pinst->trx->mo.nm_state.administrative != NM_STATE_UNLOCKED); + if (pinst->trx != NULL) + trx_if_cmd_rfmute(l1h, pinst->trx->mo.nm_state.administrative != NM_STATE_UNLOCKED); + else + trx_if_cmd_rfmute(l1h, true); } static void st_open_poweroff(struct osmo_fsm_inst *fi, uint32_t event, void *data) diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index b85dcdc..2b0913f 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -99,17 +99,23 @@ struct trx_l1h *l1h = pinst->u.osmotrx.hdl; struct gsm_bts_trx *trx = pinst->trx; - vty_out(vty, "PHY Instance %s%s", - phy_instance_name(pinst), VTY_NEWLINE); + vty_out(vty, "PHY Instance '%s': bound to %s%s", + phy_instance_name(pinst), + gsm_trx_name(trx), + VTY_NEWLINE); + + if (trx != NULL) { + const int actual = get_p_actual_mdBm(trx, trx->power_params.p_total_tgt_mdBm); + const int max = get_p_max_out_mdBm(trx); + vty_out(vty, " tx-attenuation : %d dB%s", + (max - actual) / 1000, VTY_NEWLINE); + } if (l1h->config.rxgain_valid) vty_out(vty, " rx-gain : %d dB%s", l1h->config.rxgain, VTY_NEWLINE); else vty_out(vty, " rx-gain : undefined%s", VTY_NEWLINE); - vty_out(vty, " tx-attenuation : %d dB%s", - (get_p_max_out_mdBm(trx) - get_p_actual_mdBm(trx, trx->power_params.p_total_tgt_mdBm))/1000, - VTY_NEWLINE); if (l1h->config.maxdly_valid) vty_out(vty, " maxdly : %d%s", l1h->config.maxdly, VTY_NEWLINE); diff --git a/src/osmo-bts-virtual/l1_if.c b/src/osmo-bts-virtual/l1_if.c index 0fbc35d..444d6ad 100644 --- a/src/osmo-bts-virtual/l1_if.c +++ b/src/osmo-bts-virtual/l1_if.c @@ -214,13 +214,15 @@ /* iterate over list of PHY instances and initialize the scheduler */ llist_for_each_entry(pinst, &plink->instances, list) { + if (pinst->trx == NULL) + continue; trx_sched_init(pinst->trx); /* Only start the scheduler for the transceiver on C0. * If we have multiple transceivers, CCCH is always on C0 * and has to be auto active */ /* Other TRX are activated via OML by a PRIM_INFO_MODIFY * / PRIM_INFO_ACTIVATE */ - if (pinst->trx && pinst->trx == pinst->trx->bts->c0) { + if (pinst->trx == pinst->trx->bts->c0) { vbts_sched_start(pinst->trx->bts); /* init lapdm layer 3 callback for the trx on timeslot 0 == BCCH */ lchan_init_lapdm(&pinst->trx->ts[0].lchan[CCCH_LCHAN]); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib7d9cb7ae47fead723fa46454cd64bf6e88756bb Gerrit-Change-Number: 24286 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 15:01:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 May 2021 15:01:08 +0000 Subject: Change in osmo-bts[master]: common: make the arguments of phy_{link, instance}_name() const References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24287 ) Change subject: common: make the arguments of phy_{link,instance}_name() const ...................................................................... common: make the arguments of phy_{link,instance}_name() const Change-Id: Ic01d131148065c9143d3a90f8020e2e133941292 Related: CID#236092 "Dereference before null check" --- M include/osmo-bts/phy_link.h M src/common/phy_link.c 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/87/24287/1 diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index becc442..bd1a0c3 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -155,7 +155,7 @@ struct phy_link *phy_link_by_num(int num); struct phy_link *phy_link_create(void *ctx, int num); void phy_link_destroy(struct phy_link *plink); -const char *phy_link_name(struct phy_link *plink); +const char *phy_link_name(const struct phy_link *plink); void phy_link_state_set(struct phy_link *plink, enum phy_link_state state); enum phy_link_state phy_link_state_get(struct phy_link *plink); const char *phy_link_state_name(enum phy_link_state state); @@ -165,7 +165,7 @@ struct phy_instance *phy_instance_create(struct phy_link *plink, int num); void phy_instance_link_to_trx(struct phy_instance *pinst, struct gsm_bts_trx *trx); void phy_instance_destroy(struct phy_instance *pinst); -const char *phy_instance_name(struct phy_instance *pinst); +const char *phy_instance_name(const struct phy_instance *pinst); static inline struct phy_instance *trx_phy_instance(const struct gsm_bts_trx *trx) { diff --git a/src/common/phy_link.c b/src/common/phy_link.c index 411f870..93c6f2c 100644 --- a/src/common/phy_link.c +++ b/src/common/phy_link.c @@ -146,7 +146,7 @@ } static char name_buf[32]; -const char *phy_link_name(struct phy_link *plink) +const char *phy_link_name(const struct phy_link *plink) { snprintf(name_buf, sizeof(name_buf), "phy%u", plink->num); return name_buf; @@ -167,7 +167,7 @@ return 0; } -const char *phy_instance_name(struct phy_instance *pinst) +const char *phy_instance_name(const struct phy_instance *pinst) { snprintf(name_buf, sizeof(name_buf), "phy%u.%u", pinst->phy_link->num, pinst->num); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic01d131148065c9143d3a90f8020e2e133941292 Gerrit-Change-Number: 24287 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 15:01:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 May 2021 15:01:08 +0000 Subject: Change in osmo-bts[master]: common: phy_links_open(): warn about dangling PHY instances References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24288 ) Change subject: common: phy_links_open(): warn about dangling PHY instances ...................................................................... common: phy_links_open(): warn about dangling PHY instances Change-Id: I8d84bf7a00da6b985cb3dc314e86cacac8d4f48c --- M src/common/phy_link.c 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/88/24288/1 diff --git a/src/common/phy_link.c b/src/common/phy_link.c index 93c6f2c..7743c22 100644 --- a/src/common/phy_link.c +++ b/src/common/phy_link.c @@ -154,11 +154,20 @@ int phy_links_open(void) { + const struct phy_instance *pinst; struct phy_link *plink; llist_for_each_entry(plink, &g_phy_links, list) { int rc; + /* Warn about dangling PHY instances */ + llist_for_each_entry(pinst, &plink->instances, list) { + if (pinst->trx != NULL) + continue; + LOGPPHI(pinst, DL1C, LOGL_NOTICE, "This PHY instance is not associated " + "with a TRX instance, check the configuration file!\n"); + } + rc = bts_model_phy_link_open(plink); if (rc < 0) return rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8d84bf7a00da6b985cb3dc314e86cacac8d4f48c Gerrit-Change-Number: 24288 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 15:28:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 15:28:55 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: clarify logging messages in trx_if_{open, close}() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24285 ) Change subject: osmo-bts-trx: clarify logging messages in trx_if_{open,close}() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I48e64b5b52fc476f915d3a93535b21f0f192b7a9 Gerrit-Change-Number: 24285 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 May 2021 15:28:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 15:29:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 May 2021 15:29:59 +0000 Subject: Change in osmo-bts[master]: common/vty: facilitate finding duplicate PHY/TRX associations References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24289 ) Change subject: common/vty: facilitate finding duplicate PHY/TRX associations ...................................................................... common/vty: facilitate finding duplicate PHY/TRX associations In phy_instance_link_to_trx(), if the given PHY instance is already associated with a TRX instance, unbind the later from it. In cfg_trx_phy_cmd(), use phy_instance_link_to_trx(). Tolerate duplicate entries (just print a warning) in the interactive VTY mode, abort if we're reading from the configuration file. Change-Id: I132e08fc496abef278b94254cebfac7a4285a7c2 --- M src/common/phy_link.c M src/common/vty.c 2 files changed, 12 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/89/24289/1 diff --git a/src/common/phy_link.c b/src/common/phy_link.c index 7743c22..b22d877 100644 --- a/src/common/phy_link.c +++ b/src/common/phy_link.c @@ -118,6 +118,9 @@ void phy_instance_link_to_trx(struct phy_instance *pinst, struct gsm_bts_trx *trx) { + /* There might already be an associated TRX */ + if (pinst->trx != NULL) + pinst->trx->pinst = NULL; trx->pinst = pinst; pinst->trx = trx; } diff --git a/src/common/vty.c b/src/common/vty.c index d4e2902..4bf9761 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -987,8 +987,15 @@ return CMD_WARNING; } - trx->pinst = pinst; - pinst->trx = trx; + if (pinst->trx != NULL) { + vty_out(vty, "phy%s instance %s is already bound to %s%s", + argv[0], argv[1], gsm_trx_name(pinst->trx), VTY_NEWLINE); + /* Be tolerant in the interactive VTY mode */ + if (vty->type == VTY_FILE) + return CMD_WARNING; + } + + phy_instance_link_to_trx(pinst, trx); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I132e08fc496abef278b94254cebfac7a4285a7c2 Gerrit-Change-Number: 24289 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 15:29:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 May 2021 15:29:59 +0000 Subject: Change in osmo-bts[master]: vty: ensure all warning messages are prefixed with '%%' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24290 ) Change subject: vty: ensure all warning messages are prefixed with '%%' ...................................................................... vty: ensure all warning messages are prefixed with '%%' Change-Id: I23fc1cd8aa5725de06651f061c9fce6a022adfa8 --- M src/common/vty.c 1 file changed, 13 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/90/24290/1 diff --git a/src/common/vty.c b/src/common/vty.c index 4bf9761..3aa8712 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -94,14 +94,14 @@ struct phy_instance *pinst; if (!plink) { - vty_out(vty, "Cannot find PHY link number %d%s", + vty_out(vty, "%% Cannot find PHY link number %d%s", phy_nr, VTY_NEWLINE); return NULL; } pinst = phy_instance_by_num(plink, inst_nr); if (!pinst) { - vty_out(vty, "Cannot find PHY instance number %d%s", + vty_out(vty, "%% Cannot find PHY instance number %d%s", inst_nr, VTY_NEWLINE); return NULL; } @@ -559,19 +559,19 @@ end = atoi(argv[1]); if (end < start) { - vty_out(vty, "range end port (%u) must be greater than the range start port (%u)!%s", + vty_out(vty, "%% Range end port (%u) must be greater than the range start port (%u)!%s", end, start, VTY_NEWLINE); return CMD_WARNING; } if (start & 1) { - vty_out(vty, "range must begin at an even port number! (%u not even)%s", + vty_out(vty, "%% Range must begin at an even port number! (%u is odd)%s", start, VTY_NEWLINE); return CMD_WARNING; } if ((end & 1) == 0) { - vty_out(vty, "range must end at an odd port number! (%u not odd)%s", + vty_out(vty, "%% Range must end at an odd port number! (%u is even)%s", end, VTY_NEWLINE); return CMD_WARNING; } @@ -952,11 +952,11 @@ * has been ripped out in favour of the common implementation. Configuration files * may still contain 'dsp', so let's be tolerant and override 'dsp' by 'osmo'. */ if (trx->bts->variant == BTS_OSMO_TRX && vty->type == VTY_FILE) { - vty_out(vty, "BTS model 'osmo-bts-trx' has no DSP/HW MS Power Control support, " + vty_out(vty, "%% BTS model 'osmo-bts-trx' has no DSP/HW MS Power Control support, " "consider updating your configuration file!%s", VTY_NEWLINE); soft = true; /* override */ } else { - vty_out(vty, "This BTS model has no DSP/HW MS Power Control support%s", VTY_NEWLINE); + vty_out(vty, "%% This BTS model has no DSP/HW MS Power Control support%s", VTY_NEWLINE); return CMD_WARNING; } } @@ -975,20 +975,20 @@ struct phy_instance *pinst; if (!plink) { - vty_out(vty, "phy%s does not exist%s", + vty_out(vty, "%% phy%s does not exist%s", argv[0], VTY_NEWLINE); return CMD_WARNING; } pinst = phy_instance_by_num(plink, atoi(argv[1])); if (!pinst) { - vty_out(vty, "phy%s instance %s does not exit%s", + vty_out(vty, "%% phy%s instance %s does not exit%s", argv[0], argv[1], VTY_NEWLINE); return CMD_WARNING; } if (pinst->trx != NULL) { - vty_out(vty, "phy%s instance %s is already bound to %s%s", + vty_out(vty, "%% phy%s instance %s is already bound to %s%s", argv[0], argv[1], gsm_trx_name(pinst->trx), VTY_NEWLINE); /* Be tolerant in the interactive VTY mode */ if (vty->type == VTY_FILE) @@ -2045,7 +2045,7 @@ if (!pinst) { pinst = phy_instance_create(plink, inst_nr); if (!pinst) { - vty_out(vty, "Unable to create phy%u instance %u%s", + vty_out(vty, "%% Unable to create phy%u instance %u%s", plink->num, inst_nr, VTY_NEWLINE); return CMD_WARNING; } @@ -2068,7 +2068,7 @@ pinst = phy_instance_by_num(plink, inst_nr); if (!pinst) { - vty_out(vty, "No such instance %u%s", inst_nr, VTY_NEWLINE); + vty_out(vty, "%% No such instance %u%s", inst_nr, VTY_NEWLINE); return CMD_WARNING; } @@ -2088,7 +2088,7 @@ struct phy_link *plink = vty->index; if (plink->state != PHY_LINK_SHUTDOWN) { - vty_out(vty, "Cannot change type of active PHY%s", VTY_NEWLINE); + vty_out(vty, "%% Cannot change type of active PHY%s", VTY_NEWLINE); return CMD_WARNING; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I23fc1cd8aa5725de06651f061c9fce6a022adfa8 Gerrit-Change-Number: 24290 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 15:33:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 15:33:11 +0000 Subject: Change in osmo-bts[master]: osmo-bts-{trx, virtual}: fix: pinst->trx may be NULL In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24286 ) Change subject: osmo-bts-{trx,virtual}: fix: pinst->trx may be NULL ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24286/1/src/osmo-bts-trx/trx_vty.c File src/osmo-bts-trx/trx_vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/24286/1/src/osmo-bts-trx/trx_vty.c at 104 PS1, Line 104: gsm_trx_name(trx), can trx be null here? is it accepted by gsm_trx_name? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib7d9cb7ae47fead723fa46454cd64bf6e88756bb Gerrit-Change-Number: 24286 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 May 2021 15:33:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 15:33:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 15:33:33 +0000 Subject: Change in osmo-bts[master]: common: make the arguments of phy_{link, instance}_name() const In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24287 ) Change subject: common: make the arguments of phy_{link,instance}_name() const ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic01d131148065c9143d3a90f8020e2e133941292 Gerrit-Change-Number: 24287 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 May 2021 15:33:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 15:33:56 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 May 2021 15:33:56 +0000 Subject: Change in osmo-bts[master]: osmo-bts-{trx, virtual}: fix: pinst->trx may be NULL In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24286 ) Change subject: osmo-bts-{trx,virtual}: fix: pinst->trx may be NULL ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24286/1/src/osmo-bts-trx/trx_vty.c File src/osmo-bts-trx/trx_vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/24286/1/src/osmo-bts-trx/trx_vty.c at 104 PS1, Line 104: gsm_trx_name(trx), > can trx be null here? is it accepted by gsm_trx_name? Yup, this function is safe against NULL. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib7d9cb7ae47fead723fa46454cd64bf6e88756bb Gerrit-Change-Number: 24286 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 May 2021 15:33:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 15:34:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 15:34:42 +0000 Subject: Change in osmo-bts[master]: common: phy_links_open(): warn about dangling PHY instances In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24288 ) Change subject: common: phy_links_open(): warn about dangling PHY instances ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24288/1/src/common/phy_link.c File src/common/phy_link.c: https://gerrit.osmocom.org/c/osmo-bts/+/24288/1/src/common/phy_link.c at 167 PS1, Line 167: LOGPPHI(pinst, DL1C, LOGL_NOTICE, "This PHY instance is not associated " if this is called at startup, I would even kill the process with osmo_panic() or exit() -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8d84bf7a00da6b985cb3dc314e86cacac8d4f48c Gerrit-Change-Number: 24288 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 19 May 2021 15:34:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 15:35:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 15:35:02 +0000 Subject: Change in osmo-bts[master]: vty: ensure all warning messages are prefixed with '%%' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24290 ) Change subject: vty: ensure all warning messages are prefixed with '%%' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I23fc1cd8aa5725de06651f061c9fce6a022adfa8 Gerrit-Change-Number: 24290 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 May 2021 15:35:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 15:39:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 May 2021 15:39:46 +0000 Subject: Change in osmo-bts[master]: common: phy_links_open(): warn about dangling PHY instances In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24288 ) Change subject: common: phy_links_open(): warn about dangling PHY instances ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24288/1/src/common/phy_link.c File src/common/phy_link.c: https://gerrit.osmocom.org/c/osmo-bts/+/24288/1/src/common/phy_link.c at 167 PS1, Line 167: LOGPPHI(pinst, DL1C, LOGL_NOTICE, "This PHY instance is not associated " > if this is called at startup, I would even kill the process with osmo_panic() or exit() What if somebody would want to have all existing PHY instances in the configuration file, and then dynamically add/bind TRX instances at run-time? Just an idea, I personally don't have any use-cases for that. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8d84bf7a00da6b985cb3dc314e86cacac8d4f48c Gerrit-Change-Number: 24288 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 19 May 2021 15:39:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 15:45:54 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 19 May 2021 15:45:54 +0000 Subject: Change in libosmocore[master]: kdf: add key derivation functions References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24291 ) Change subject: kdf: add key derivation functions ...................................................................... kdf: add key derivation functions Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd --- M include/Makefile.am A include/osmocom/crypt/kdf.h M src/gsm/Makefile.am A src/gsm/kdf.c A src/gsm/kdf/common.h A src/gsm/kdf/crypto.h A src/gsm/kdf/sha1-internal.c A src/gsm/kdf/sha1.c A src/gsm/kdf/sha1.h A src/gsm/kdf/sha1_i.h A src/gsm/kdf/sha256-internal.c A src/gsm/kdf/sha256.c A src/gsm/kdf/sha256.h A src/gsm/kdf/sha256_i.h M src/gsm/libosmogsm.map 15 files changed, 2,343 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/91/24291/1 diff --git a/include/Makefile.am b/include/Makefile.am index f0742d5..e25ed48 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -62,6 +62,7 @@ osmocom/core/use_count.h \ osmocom/crypt/auth.h \ osmocom/crypt/gprs_cipher.h \ + osmocom/crypt/kdf.h \ osmocom/ctrl/control_cmd.h \ osmocom/ctrl/control_if.h \ osmocom/ctrl/ports.h \ diff --git a/include/osmocom/crypt/kdf.h b/include/osmocom/crypt/kdf.h new file mode 100644 index 0000000..4a3b3b2 --- /dev/null +++ b/include/osmocom/crypt/kdf.h @@ -0,0 +1,21 @@ +#pragma once + +/*! \defgroup kdf key derivation functions + * @{ + * \file kdf.h */ + +#include + +void osmo_kdf_kc128(const uint8_t* ck, const uint8_t* ik, uint8_t* kc128); + +void osmo_kdf_kasme(const uint8_t *ck, const uint8_t *ik, const uint8_t* plmn_id, + const uint8_t *sqn, const uint8_t *ak, uint8_t *kasme); + +void osmo_kdf_enb(const uint8_t *kasme, uint32_t ul_count, uint8_t *kenb); + +void osmo_kdf_nh(const uint8_t *kasme, const uint8_t *sync_input, uint8_t *nh); + +void osmo_kdf_nas(uint8_t algo_type, uint8_t algo_id, const uint8_t *kasme, uint8_t *knas); + + +/* @} */ diff --git a/src/gsm/Makefile.am b/src/gsm/Makefile.am index f1e2a5a..b336239 100644 --- a/src/gsm/Makefile.am +++ b/src/gsm/Makefile.am @@ -33,7 +33,8 @@ gsup.c gsup_sms.c gprs_gea.c gsm0503_conv.c oap.c gsm0808_utils.c \ gsm23003.c gsm23236.c mncc.c bts_features.c oap_client.c \ gsm29118.c gsm48_rest_octets.c cbsp.c gsm48049.c i460_mux.c \ - gad.c bsslap.c bssmap_le.c + gad.c bsslap.c bssmap_le.c kdf.c + libgsmint_la_LDFLAGS = -no-undefined libgsmint_la_LIBADD = $(top_builddir)/src/libosmocore.la @@ -44,6 +45,10 @@ if ENABLE_GNUTLS AM_CPPFLAGS += $(LIBGNUTLS_CFLAGS) libosmogsm_la_LIBADD += $(LIBGNUTLS_LIBS) +else +noinst_HEADERS += kdf/sha1.h kdf/sha256.h kdf/common.h kdf/sha1_i.h kdf/sha256_i.h +libgsmint_la_SOURCES += kdf/sha256.c kdf/sha256-internal.c \ + kdf/sha1.c kdf/sha1-internal.c endif EXTRA_DIST = libosmogsm.map diff --git a/src/gsm/kdf.c b/src/gsm/kdf.c new file mode 100644 index 0000000..662d34a --- /dev/null +++ b/src/gsm/kdf.c @@ -0,0 +1,146 @@ +/* + * (C) 2021 by sysmocom s.f.m.c. GmbH + * + * Author: Eric Wild + * + * All Rights Reserved + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include + +#include "../../config.h" +#ifdef USE_GNUTLS +#include +#include +#define HMAC_FUN(k,lk,s,sl,out) gnutls_hmac_fast(GNUTLS_MAC_SHA256,k,lk,s,sl,out) +#else +#include +#define HMAC_FUN(k,lk,s,sl,out) hmac_sha256(k,lk,s,sl,out) +#endif + +#include +#include + +#include "kdf/common.h" +#include "kdf/sha256.h" + +/* + * This file uses the generic key derivation function defined in 3GPP TS 33.220 Annex B + * + * The S parameter always consists of concatenated values FC | P0 | L0 | Pi | Li | ... + * with Pi = Parameter number i and Li = Length of Pi (two octets) + * + * FC is either a single octet or two octets 0xff | FC + * FC values ranges depend on the specification parts that use the KDF, + * they are defined in 3GPP TS 33.220 Annex B.2.2 + * + */ + +/*! \addtogroup kdf + * @{ + * key derivation functions + * + * \file kdf.c */ + +/* 3GPP TS 33.102 B.5 */ +void osmo_kdf_kc128(const uint8_t* ck, const uint8_t* ik, uint8_t* kc128) { + uint8_t k[16*2]; + uint8_t s[1]; + uint8_t out_tmp256[32]; + memcpy (&k[0], ck, 16); + memcpy (&k[16], ik, 16); + + s[0] = 0x32; // yeah, really just one FC byte.. + + HMAC_FUN(k, 32, s, 1, out_tmp256); + memcpy(kc128, out_tmp256, 16); +} + +/* 3GPP TS 33.401 A.2 */ +void osmo_kdf_kasme(const uint8_t *ck, const uint8_t *ik, const uint8_t* plmn_id, + const uint8_t *sqn, const uint8_t *ak, uint8_t *kasme) +{ + uint8_t s[14]; + uint8_t k[16*2]; + int i; + + memcpy(&k[0], ck, 16); + memcpy(&k[16], ik, 16); + + s[0] = 0x10; + memcpy(&s[1], plmn_id, 3); + s[4] = 0x00; + s[5] = 0x03; + + for (i = 0; i < 6; i++) + s[6+i] = sqn[i] ^ ak[i]; + s[12] = 0x00; + s[13] = 0x06; + + HMAC_FUN(k, 32, s, 14, kasme); +} + +/* 3GPP TS 33.401 A.3 */ +void osmo_kdf_enb(const uint8_t *kasme, uint32_t ul_count, uint8_t *kenb) +{ + uint8_t s[7]; + + s[0] = 0x11; + osmo_store32be(ul_count, &s[1]); + s[5] = 0x00; + s[6] = 0x04; + + HMAC_FUN(kasme, 32, s, 7, kenb); +} + +/* 3GPP TS 33.401 A.4 */ +void osmo_kdf_nh(const uint8_t *kasme, const uint8_t *sync_input, uint8_t *nh) +{ + uint8_t s[35]; + + s[0] = 0x12; + memcpy(s+1, sync_input, 32); + s[33] = 0x00; + s[34] = 0x20; + + HMAC_FUN(kasme, 32, s, 35, nh); +} + +/* 3GPP TS 33.401 A.7 */ +void osmo_kdf_nas(uint8_t algo_type, uint8_t algo_id, const uint8_t *kasme, uint8_t *knas) +{ + uint8_t s[7]; + uint8_t out[32]; + + s[0] = 0x15; + s[1] = algo_type; + s[2] = 0x00; + s[3] = 0x01; + s[4] = algo_id; + s[5] = 0x00; + s[6] = 0x01; + + HMAC_FUN(kasme, 32, s, 7, out); + memcpy(knas, out+16, 16); +} + +/*! @} */ diff --git a/src/gsm/kdf/common.h b/src/gsm/kdf/common.h new file mode 100644 index 0000000..a804232 --- /dev/null +++ b/src/gsm/kdf/common.h @@ -0,0 +1,104 @@ +/* + * wpa_supplicant/hostapd / common helper functions, etc. + * Copyright (c) 2002-2007, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * + * SPDX-License-Identifier: BSD-3-Clause + * + * BSD license: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name(s) of the above-listed copyright holder(s) nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + +#include +#include +#include + +#define CONFIG_CRYPTO_INTERNAL +#define TEST_FAIL() 0 + +#define MSG_DEBUG +#define wpa_hexdump(x, args...) +#define wpa_hexdump_key(x, args...) +#define wpa_printf(x, args...) + +#define os_memcpy(x, y, z) memcpy(x, y, z) +#define os_memcmp(x, y, z) memcmp(x, y, z) +#define os_memset(x, y, z) memset(x, y, z) +#define os_malloc(x) malloc(x) +#define os_free(x) free(x) + +#define forced_memzero(ptr, len) memset(ptr, 0, len); + +typedef uint64_t u64; +typedef uint32_t u32; +typedef uint16_t u16; +typedef uint8_t u8; +typedef int64_t s64; +typedef int32_t s32; +typedef int16_t s16; +typedef int8_t s8; + + +static inline u32 WPA_GET_BE32(const u8 *a) +{ + return ((u32) a[0] << 24) | (a[1] << 16) | (a[2] << 8) | a[3]; +} + +static inline void WPA_PUT_BE32(u8 *a, u32 val) +{ + a[0] = (val >> 24) & 0xff; + a[1] = (val >> 16) & 0xff; + a[2] = (val >> 8) & 0xff; + a[3] = val & 0xff; +} + +static inline u64 WPA_GET_BE64(const u8 *a) +{ + return (((u64) a[0]) << 56) | (((u64) a[1]) << 48) | + (((u64) a[2]) << 40) | (((u64) a[3]) << 32) | + (((u64) a[4]) << 24) | (((u64) a[5]) << 16) | + (((u64) a[6]) << 8) | ((u64) a[7]); +} + +static inline void WPA_PUT_BE64(u8 *a, u64 val) +{ + a[0] = val >> 56; + a[1] = val >> 48; + a[2] = val >> 40; + a[3] = val >> 32; + a[4] = val >> 24; + a[5] = val >> 16; + a[6] = val >> 8; + a[7] = val & 0xff; +} + + +#define __must_check diff --git a/src/gsm/kdf/crypto.h b/src/gsm/kdf/crypto.h new file mode 100644 index 0000000..b0a8f32 --- /dev/null +++ b/src/gsm/kdf/crypto.h @@ -0,0 +1,963 @@ +/* + * Wrapper functions for crypto libraries + * Copyright (c) 2004-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * + * SPDX-License-Identifier: BSD-3-Clause + * + * This file defines the cryptographic functions that need to be implemented + * for wpa_supplicant and hostapd. When TLS is not used, internal + * implementation of MD5, SHA1, and AES is used and no external libraries are + * required. When TLS is enabled (e.g., by enabling EAP-TLS or EAP-PEAP), the + * crypto library used by the TLS implementation is expected to be used for + * non-TLS needs, too, in order to save space by not implementing these + * functions twice. + * + * Wrapper code for using each crypto library is in its own file (crypto*.c) + * and one of these files is build and linked in to provide the functions + * defined here. + * + * BSD license: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name(s) of the above-listed copyright holder(s) nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ +#ifndef CRYPTO_H +#define CRYPTO_H + +/** + * md4_vector - MD4 hash for data vector + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 on failure + */ +int md4_vector(size_t num_elem, const u8 *addr[], const size_t *len, u8 *mac); + +/** + * md5_vector - MD5 hash for data vector + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 on failure + */ +int md5_vector(size_t num_elem, const u8 *addr[], const size_t *len, u8 *mac); + + +/** + * sha1_vector - SHA-1 hash for data vector + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 on failure + */ +int sha1_vector(size_t num_elem, const u8 *addr[], const size_t *len, + u8 *mac); + +/** + * fips186_2-prf - NIST FIPS Publication 186-2 change notice 1 PRF + * @seed: Seed/key for the PRF + * @seed_len: Seed length in bytes + * @x: Buffer for PRF output + * @xlen: Output length in bytes + * Returns: 0 on success, -1 on failure + * + * This function implements random number generation specified in NIST FIPS + * Publication 186-2 for EAP-SIM. This PRF uses a function that is similar to + * SHA-1, but has different message padding. + */ +int __must_check fips186_2_prf(const u8 *seed, size_t seed_len, u8 *x, + size_t xlen); + +/** + * sha256_vector - SHA256 hash for data vector + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 on failure + */ +int sha256_vector(size_t num_elem, const u8 *addr[], const size_t *len, + u8 *mac); + +/** + * sha384_vector - SHA384 hash for data vector + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 on failure + */ +int sha384_vector(size_t num_elem, const u8 *addr[], const size_t *len, + u8 *mac); + +/** + * sha512_vector - SHA512 hash for data vector + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 on failure + */ +int sha512_vector(size_t num_elem, const u8 *addr[], const size_t *len, + u8 *mac); + +/** + * des_encrypt - Encrypt one block with DES + * @clear: 8 octets (in) + * @key: 7 octets (in) (no parity bits included) + * @cypher: 8 octets (out) + * Returns: 0 on success, -1 on failure + */ +int des_encrypt(const u8 *clear, const u8 *key, u8 *cypher); + +/** + * aes_encrypt_init - Initialize AES for encryption + * @key: Encryption key + * @len: Key length in bytes (usually 16, i.e., 128 bits) + * Returns: Pointer to context data or %NULL on failure + */ +void * aes_encrypt_init(const u8 *key, size_t len); + +/** + * aes_encrypt - Encrypt one AES block + * @ctx: Context pointer from aes_encrypt_init() + * @plain: Plaintext data to be encrypted (16 bytes) + * @crypt: Buffer for the encrypted data (16 bytes) + * Returns: 0 on success, -1 on failure + */ +int aes_encrypt(void *ctx, const u8 *plain, u8 *crypt); + +/** + * aes_encrypt_deinit - Deinitialize AES encryption + * @ctx: Context pointer from aes_encrypt_init() + */ +void aes_encrypt_deinit(void *ctx); + +/** + * aes_decrypt_init - Initialize AES for decryption + * @key: Decryption key + * @len: Key length in bytes (usually 16, i.e., 128 bits) + * Returns: Pointer to context data or %NULL on failure + */ +void * aes_decrypt_init(const u8 *key, size_t len); + +/** + * aes_decrypt - Decrypt one AES block + * @ctx: Context pointer from aes_encrypt_init() + * @crypt: Encrypted data (16 bytes) + * @plain: Buffer for the decrypted data (16 bytes) + * Returns: 0 on success, -1 on failure + */ +int aes_decrypt(void *ctx, const u8 *crypt, u8 *plain); + +/** + * aes_decrypt_deinit - Deinitialize AES decryption + * @ctx: Context pointer from aes_encrypt_init() + */ +void aes_decrypt_deinit(void *ctx); + + +enum crypto_hash_alg { + CRYPTO_HASH_ALG_MD5, CRYPTO_HASH_ALG_SHA1, + CRYPTO_HASH_ALG_HMAC_MD5, CRYPTO_HASH_ALG_HMAC_SHA1, + CRYPTO_HASH_ALG_SHA256, CRYPTO_HASH_ALG_HMAC_SHA256, + CRYPTO_HASH_ALG_SHA384, CRYPTO_HASH_ALG_SHA512 +}; + +struct crypto_hash; + +/** + * crypto_hash_init - Initialize hash/HMAC function + * @alg: Hash algorithm + * @key: Key for keyed hash (e.g., HMAC) or %NULL if not needed + * @key_len: Length of the key in bytes + * Returns: Pointer to hash context to use with other hash functions or %NULL + * on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +struct crypto_hash * crypto_hash_init(enum crypto_hash_alg alg, const u8 *key, + size_t key_len); + +/** + * crypto_hash_update - Add data to hash calculation + * @ctx: Context pointer from crypto_hash_init() + * @data: Data buffer to add + * @len: Length of the buffer + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +void crypto_hash_update(struct crypto_hash *ctx, const u8 *data, size_t len); + +/** + * crypto_hash_finish - Complete hash calculation + * @ctx: Context pointer from crypto_hash_init() + * @hash: Buffer for hash value or %NULL if caller is just freeing the hash + * context + * @len: Pointer to length of the buffer or %NULL if caller is just freeing the + * hash context; on return, this is set to the actual length of the hash value + * Returns: 0 on success, -1 if buffer is too small (len set to needed length), + * or -2 on other failures (including failed crypto_hash_update() operations) + * + * This function calculates the hash value and frees the context buffer that + * was used for hash calculation. + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int crypto_hash_finish(struct crypto_hash *ctx, u8 *hash, size_t *len); + + +enum crypto_cipher_alg { + CRYPTO_CIPHER_NULL = 0, CRYPTO_CIPHER_ALG_AES, CRYPTO_CIPHER_ALG_3DES, + CRYPTO_CIPHER_ALG_DES, CRYPTO_CIPHER_ALG_RC2, CRYPTO_CIPHER_ALG_RC4 +}; + +struct crypto_cipher; + +/** + * crypto_cipher_init - Initialize block/stream cipher function + * @alg: Cipher algorithm + * @iv: Initialization vector for block ciphers or %NULL for stream ciphers + * @key: Cipher key + * @key_len: Length of key in bytes + * Returns: Pointer to cipher context to use with other cipher functions or + * %NULL on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +struct crypto_cipher * crypto_cipher_init(enum crypto_cipher_alg alg, + const u8 *iv, const u8 *key, + size_t key_len); + +/** + * crypto_cipher_encrypt - Cipher encrypt + * @ctx: Context pointer from crypto_cipher_init() + * @plain: Plaintext to cipher + * @crypt: Resulting ciphertext + * @len: Length of the plaintext + * Returns: 0 on success, -1 on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_cipher_encrypt(struct crypto_cipher *ctx, + const u8 *plain, u8 *crypt, size_t len); + +/** + * crypto_cipher_decrypt - Cipher decrypt + * @ctx: Context pointer from crypto_cipher_init() + * @crypt: Ciphertext to decrypt + * @plain: Resulting plaintext + * @len: Length of the cipher text + * Returns: 0 on success, -1 on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_cipher_decrypt(struct crypto_cipher *ctx, + const u8 *crypt, u8 *plain, size_t len); + +/** + * crypto_cipher_decrypt - Free cipher context + * @ctx: Context pointer from crypto_cipher_init() + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +void crypto_cipher_deinit(struct crypto_cipher *ctx); + + +struct crypto_public_key; +struct crypto_private_key; + +/** + * crypto_public_key_import - Import an RSA public key + * @key: Key buffer (DER encoded RSA public key) + * @len: Key buffer length in bytes + * Returns: Pointer to the public key or %NULL on failure + * + * This function can just return %NULL if the crypto library supports X.509 + * parsing. In that case, crypto_public_key_from_cert() is used to import the + * public key from a certificate. + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +struct crypto_public_key * crypto_public_key_import(const u8 *key, size_t len); + +struct crypto_public_key * +crypto_public_key_import_parts(const u8 *n, size_t n_len, + const u8 *e, size_t e_len); + +/** + * crypto_private_key_import - Import an RSA private key + * @key: Key buffer (DER encoded RSA private key) + * @len: Key buffer length in bytes + * @passwd: Key encryption password or %NULL if key is not encrypted + * Returns: Pointer to the private key or %NULL on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +struct crypto_private_key * crypto_private_key_import(const u8 *key, + size_t len, + const char *passwd); + +/** + * crypto_public_key_from_cert - Import an RSA public key from a certificate + * @buf: DER encoded X.509 certificate + * @len: Certificate buffer length in bytes + * Returns: Pointer to public key or %NULL on failure + * + * This function can just return %NULL if the crypto library does not support + * X.509 parsing. In that case, internal code will be used to parse the + * certificate and public key is imported using crypto_public_key_import(). + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +struct crypto_public_key * crypto_public_key_from_cert(const u8 *buf, + size_t len); + +/** + * crypto_public_key_encrypt_pkcs1_v15 - Public key encryption (PKCS #1 v1.5) + * @key: Public key + * @in: Plaintext buffer + * @inlen: Length of plaintext buffer in bytes + * @out: Output buffer for encrypted data + * @outlen: Length of output buffer in bytes; set to used length on success + * Returns: 0 on success, -1 on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_public_key_encrypt_pkcs1_v15( + struct crypto_public_key *key, const u8 *in, size_t inlen, + u8 *out, size_t *outlen); + +/** + * crypto_private_key_decrypt_pkcs1_v15 - Private key decryption (PKCS #1 v1.5) + * @key: Private key + * @in: Encrypted buffer + * @inlen: Length of encrypted buffer in bytes + * @out: Output buffer for encrypted data + * @outlen: Length of output buffer in bytes; set to used length on success + * Returns: 0 on success, -1 on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_private_key_decrypt_pkcs1_v15( + struct crypto_private_key *key, const u8 *in, size_t inlen, + u8 *out, size_t *outlen); + +/** + * crypto_private_key_sign_pkcs1 - Sign with private key (PKCS #1) + * @key: Private key from crypto_private_key_import() + * @in: Plaintext buffer + * @inlen: Length of plaintext buffer in bytes + * @out: Output buffer for encrypted (signed) data + * @outlen: Length of output buffer in bytes; set to used length on success + * Returns: 0 on success, -1 on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_private_key_sign_pkcs1(struct crypto_private_key *key, + const u8 *in, size_t inlen, + u8 *out, size_t *outlen); + +/** + * crypto_public_key_free - Free public key + * @key: Public key + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +void crypto_public_key_free(struct crypto_public_key *key); + +/** + * crypto_private_key_free - Free private key + * @key: Private key from crypto_private_key_import() + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +void crypto_private_key_free(struct crypto_private_key *key); + +/** + * crypto_public_key_decrypt_pkcs1 - Decrypt PKCS #1 signature + * @key: Public key + * @crypt: Encrypted signature data (using the private key) + * @crypt_len: Encrypted signature data length + * @plain: Buffer for plaintext (at least crypt_len bytes) + * @plain_len: Plaintext length (max buffer size on input, real len on output); + * Returns: 0 on success, -1 on failure + */ +int __must_check crypto_public_key_decrypt_pkcs1( + struct crypto_public_key *key, const u8 *crypt, size_t crypt_len, + u8 *plain, size_t *plain_len); + +int crypto_dh_init(u8 generator, const u8 *prime, size_t prime_len, u8 *privkey, + u8 *pubkey); +int crypto_dh_derive_secret(u8 generator, const u8 *prime, size_t prime_len, + const u8 *order, size_t order_len, + const u8 *privkey, size_t privkey_len, + const u8 *pubkey, size_t pubkey_len, + u8 *secret, size_t *len); + +/** + * crypto_global_init - Initialize crypto wrapper + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_global_init(void); + +/** + * crypto_global_deinit - Deinitialize crypto wrapper + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +void crypto_global_deinit(void); + +/** + * crypto_mod_exp - Modular exponentiation of large integers + * @base: Base integer (big endian byte array) + * @base_len: Length of base integer in bytes + * @power: Power integer (big endian byte array) + * @power_len: Length of power integer in bytes + * @modulus: Modulus integer (big endian byte array) + * @modulus_len: Length of modulus integer in bytes + * @result: Buffer for the result + * @result_len: Result length (max buffer size on input, real len on output) + * Returns: 0 on success, -1 on failure + * + * This function calculates result = base ^ power mod modulus. modules_len is + * used as the maximum size of modulus buffer. It is set to the used size on + * success. + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_mod_exp(const u8 *base, size_t base_len, + const u8 *power, size_t power_len, + const u8 *modulus, size_t modulus_len, + u8 *result, size_t *result_len); + +/** + * rc4_skip - XOR RC4 stream to given data with skip-stream-start + * @key: RC4 key + * @keylen: RC4 key length + * @skip: number of bytes to skip from the beginning of the RC4 stream + * @data: data to be XOR'ed with RC4 stream + * @data_len: buf length + * Returns: 0 on success, -1 on failure + * + * Generate RC4 pseudo random stream for the given key, skip beginning of the + * stream, and XOR the end result with the data buffer to perform RC4 + * encryption/decryption. + */ +int rc4_skip(const u8 *key, size_t keylen, size_t skip, + u8 *data, size_t data_len); + +/** + * crypto_get_random - Generate cryptographically strong pseudo-random bytes + * @buf: Buffer for data + * @len: Number of bytes to generate + * Returns: 0 on success, -1 on failure + * + * If the PRNG does not have enough entropy to ensure unpredictable byte + * sequence, this functions must return -1. + */ +int crypto_get_random(void *buf, size_t len); + + +/** + * struct crypto_bignum - bignum + * + * Internal data structure for bignum implementation. The contents is specific + * to the used crypto library. + */ +struct crypto_bignum; + +/** + * crypto_bignum_init - Allocate memory for bignum + * Returns: Pointer to allocated bignum or %NULL on failure + */ +struct crypto_bignum * crypto_bignum_init(void); + +/** + * crypto_bignum_init_set - Allocate memory for bignum and set the value + * @buf: Buffer with unsigned binary value + * @len: Length of buf in octets + * Returns: Pointer to allocated bignum or %NULL on failure + */ +struct crypto_bignum * crypto_bignum_init_set(const u8 *buf, size_t len); + +/** + * crypto_bignum_init_set - Allocate memory for bignum and set the value (uint) + * @val: Value to set + * Returns: Pointer to allocated bignum or %NULL on failure + */ +struct crypto_bignum * crypto_bignum_init_uint(unsigned int val); + +/** + * crypto_bignum_deinit - Free bignum + * @n: Bignum from crypto_bignum_init() or crypto_bignum_init_set() + * @clear: Whether to clear the value from memory + */ +void crypto_bignum_deinit(struct crypto_bignum *n, int clear); + +/** + * crypto_bignum_to_bin - Set binary buffer to unsigned bignum + * @a: Bignum + * @buf: Buffer for the binary number + * @len: Length of @buf in octets + * @padlen: Length in octets to pad the result to or 0 to indicate no padding + * Returns: Number of octets written on success, -1 on failure + */ +int crypto_bignum_to_bin(const struct crypto_bignum *a, + u8 *buf, size_t buflen, size_t padlen); + +/** + * crypto_bignum_rand - Create a random number in range of modulus + * @r: Bignum; set to a random value + * @m: Bignum; modulus + * Returns: 0 on success, -1 on failure + */ +int crypto_bignum_rand(struct crypto_bignum *r, const struct crypto_bignum *m); + +/** + * crypto_bignum_add - c = a + b + * @a: Bignum + * @b: Bignum + * @c: Bignum; used to store the result of a + b + * Returns: 0 on success, -1 on failure + */ +int crypto_bignum_add(const struct crypto_bignum *a, + const struct crypto_bignum *b, + struct crypto_bignum *c); + +/** + * crypto_bignum_mod - c = a % b + * @a: Bignum + * @b: Bignum + * @c: Bignum; used to store the result of a % b + * Returns: 0 on success, -1 on failure + */ +int crypto_bignum_mod(const struct crypto_bignum *a, + const struct crypto_bignum *b, + struct crypto_bignum *c); + +/** + * crypto_bignum_exptmod - Modular exponentiation: d = a^b (mod c) + * @a: Bignum; base + * @b: Bignum; exponent + * @c: Bignum; modulus + * @d: Bignum; used to store the result of a^b (mod c) + * Returns: 0 on success, -1 on failure + */ +int crypto_bignum_exptmod(const struct crypto_bignum *a, + const struct crypto_bignum *b, + const struct crypto_bignum *c, + struct crypto_bignum *d); + +/** + * crypto_bignum_inverse - Inverse a bignum so that a * c = 1 (mod b) + * @a: Bignum + * @b: Bignum + * @c: Bignum; used to store the result + * Returns: 0 on success, -1 on failure + */ +int crypto_bignum_inverse(const struct crypto_bignum *a, + const struct crypto_bignum *b, + struct crypto_bignum *c); + +/** + * crypto_bignum_sub - c = a - b + * @a: Bignum + * @b: Bignum + * @c: Bignum; used to store the result of a - b + * Returns: 0 on success, -1 on failure + */ +int crypto_bignum_sub(const struct crypto_bignum *a, + const struct crypto_bignum *b, + struct crypto_bignum *c); + +/** + * crypto_bignum_div - c = a / b + * @a: Bignum + * @b: Bignum + * @c: Bignum; used to store the result of a / b + * Returns: 0 on success, -1 on failure + */ +int crypto_bignum_div(const struct crypto_bignum *a, + const struct crypto_bignum *b, + struct crypto_bignum *c); + +/** + * crypto_bignum_addmod - d = a + b (mod c) + * @a: Bignum + * @b: Bignum + * @c: Bignum + * @d: Bignum; used to store the result of (a + b) % c + * Returns: 0 on success, -1 on failure + */ +int crypto_bignum_addmod(const struct crypto_bignum *a, + const struct crypto_bignum *b, + const struct crypto_bignum *c, + struct crypto_bignum *d); + +/** + * crypto_bignum_mulmod - d = a * b (mod c) + * @a: Bignum + * @b: Bignum + * @c: Bignum + * @d: Bignum; used to store the result of (a * b) % c + * Returns: 0 on success, -1 on failure + */ +int crypto_bignum_mulmod(const struct crypto_bignum *a, + const struct crypto_bignum *b, + const struct crypto_bignum *c, + struct crypto_bignum *d); + +/** + * crypto_bignum_sqrmod - c = a^2 (mod b) + * @a: Bignum + * @b: Bignum + * @c: Bignum; used to store the result of a^2 % b + * Returns: 0 on success, -1 on failure + */ +int crypto_bignum_sqrmod(const struct crypto_bignum *a, + const struct crypto_bignum *b, + struct crypto_bignum *c); + +/** + * crypto_bignum_rshift - r = a >> n + * @a: Bignum + * @n: Number of bits + * @r: Bignum; used to store the result of a >> n + * Returns: 0 on success, -1 on failure + */ +int crypto_bignum_rshift(const struct crypto_bignum *a, int n, + struct crypto_bignum *r); + +/** + * crypto_bignum_cmp - Compare two bignums + * @a: Bignum + * @b: Bignum + * Returns: -1 if a < b, 0 if a == b, or 1 if a > b + */ +int crypto_bignum_cmp(const struct crypto_bignum *a, + const struct crypto_bignum *b); + +/** + * crypto_bignum_is_zero - Is the given bignum zero + * @a: Bignum + * Returns: 1 if @a is zero or 0 if not + */ +int crypto_bignum_is_zero(const struct crypto_bignum *a); + +/** + * crypto_bignum_is_one - Is the given bignum one + * @a: Bignum + * Returns: 1 if @a is one or 0 if not + */ +int crypto_bignum_is_one(const struct crypto_bignum *a); + +/** + * crypto_bignum_is_odd - Is the given bignum odd + * @a: Bignum + * Returns: 1 if @a is odd or 0 if not + */ +int crypto_bignum_is_odd(const struct crypto_bignum *a); + +/** + * crypto_bignum_legendre - Compute the Legendre symbol (a/p) + * @a: Bignum + * @p: Bignum + * Returns: Legendre symbol -1,0,1 on success; -2 on calculation failure + */ +int crypto_bignum_legendre(const struct crypto_bignum *a, + const struct crypto_bignum *p); + +/** + * struct crypto_ec - Elliptic curve context + * + * Internal data structure for EC implementation. The contents is specific + * to the used crypto library. + */ +struct crypto_ec; + +/** + * crypto_ec_init - Initialize elliptic curve context + * @group: Identifying number for the ECC group (IANA "Group Description" + * attribute registrty for RFC 2409) + * Returns: Pointer to EC context or %NULL on failure + */ +struct crypto_ec * crypto_ec_init(int group); + +/** + * crypto_ec_deinit - Deinitialize elliptic curve context + * @e: EC context from crypto_ec_init() + */ +void crypto_ec_deinit(struct crypto_ec *e); + +/** + * crypto_ec_prime_len - Get length of the prime in octets + * @e: EC context from crypto_ec_init() + * Returns: Length of the prime defining the group + */ +size_t crypto_ec_prime_len(struct crypto_ec *e); + +/** + * crypto_ec_prime_len_bits - Get length of the prime in bits + * @e: EC context from crypto_ec_init() + * Returns: Length of the prime defining the group in bits + */ +size_t crypto_ec_prime_len_bits(struct crypto_ec *e); + +/** + * crypto_ec_order_len - Get length of the order in octets + * @e: EC context from crypto_ec_init() + * Returns: Length of the order defining the group + */ +size_t crypto_ec_order_len(struct crypto_ec *e); + +/** + * crypto_ec_get_prime - Get prime defining an EC group + * @e: EC context from crypto_ec_init() + * Returns: Prime (bignum) defining the group + */ +const struct crypto_bignum * crypto_ec_get_prime(struct crypto_ec *e); + +/** + * crypto_ec_get_order - Get order of an EC group + * @e: EC context from crypto_ec_init() + * Returns: Order (bignum) of the group + */ +const struct crypto_bignum * crypto_ec_get_order(struct crypto_ec *e); + +const struct crypto_bignum * crypto_ec_get_a(struct crypto_ec *e); +const struct crypto_bignum * crypto_ec_get_b(struct crypto_ec *e); + +/** + * struct crypto_ec_point - Elliptic curve point + * + * Internal data structure for EC implementation to represent a point. The + * contents is specific to the used crypto library. + */ +struct crypto_ec_point; + +/** + * crypto_ec_point_init - Initialize data for an EC point + * @e: EC context from crypto_ec_init() + * Returns: Pointer to EC point data or %NULL on failure + */ +struct crypto_ec_point * crypto_ec_point_init(struct crypto_ec *e); + +/** + * crypto_ec_point_deinit - Deinitialize EC point data + * @p: EC point data from crypto_ec_point_init() + * @clear: Whether to clear the EC point value from memory + */ +void crypto_ec_point_deinit(struct crypto_ec_point *p, int clear); + +/** + * crypto_ec_point_x - Copies the x-ordinate point into big number + * @e: EC context from crypto_ec_init() + * @p: EC point data + * @x: Big number to set to the copy of x-ordinate + * Returns: 0 on success, -1 on failure + */ +int crypto_ec_point_x(struct crypto_ec *e, const struct crypto_ec_point *p, + struct crypto_bignum *x); + +/** + * crypto_ec_point_to_bin - Write EC point value as binary data + * @e: EC context from crypto_ec_init() + * @p: EC point data from crypto_ec_point_init() + * @x: Buffer for writing the binary data for x coordinate or %NULL if not used + * @y: Buffer for writing the binary data for y coordinate or %NULL if not used + * Returns: 0 on success, -1 on failure + * + * This function can be used to write an EC point as binary data in a format + * that has the x and y coordinates in big endian byte order fields padded to + * the length of the prime defining the group. + */ +int crypto_ec_point_to_bin(struct crypto_ec *e, + const struct crypto_ec_point *point, u8 *x, u8 *y); + +/** + * crypto_ec_point_from_bin - Create EC point from binary data + * @e: EC context from crypto_ec_init() + * @val: Binary data to read the EC point from + * Returns: Pointer to EC point data or %NULL on failure + * + * This function readers x and y coordinates of the EC point from the provided + * buffer assuming the values are in big endian byte order with fields padded to + * the length of the prime defining the group. + */ +struct crypto_ec_point * crypto_ec_point_from_bin(struct crypto_ec *e, + const u8 *val); + +/** + * crypto_ec_point_add - c = a + b + * @e: EC context from crypto_ec_init() + * @a: Bignum + * @b: Bignum + * @c: Bignum; used to store the result of a + b + * Returns: 0 on success, -1 on failure + */ +int crypto_ec_point_add(struct crypto_ec *e, const struct crypto_ec_point *a, + const struct crypto_ec_point *b, + struct crypto_ec_point *c); + +/** + * crypto_ec_point_mul - res = b * p + * @e: EC context from crypto_ec_init() + * @p: EC point + * @b: Bignum + * @res: EC point; used to store the result of b * p + * Returns: 0 on success, -1 on failure + */ +int crypto_ec_point_mul(struct crypto_ec *e, const struct crypto_ec_point *p, + const struct crypto_bignum *b, + struct crypto_ec_point *res); + +/** + * crypto_ec_point_invert - Compute inverse of an EC point + * @e: EC context from crypto_ec_init() + * @p: EC point to invert (and result of the operation) + * Returns: 0 on success, -1 on failure + */ +int crypto_ec_point_invert(struct crypto_ec *e, struct crypto_ec_point *p); + +/** + * crypto_ec_point_solve_y_coord - Solve y coordinate for an x coordinate + * @e: EC context from crypto_ec_init() + * @p: EC point to use for the returning the result + * @x: x coordinate + * @y_bit: y-bit (0 or 1) for selecting the y value to use + * Returns: 0 on success, -1 on failure + */ +int crypto_ec_point_solve_y_coord(struct crypto_ec *e, + struct crypto_ec_point *p, + const struct crypto_bignum *x, int y_bit); + +/** + * crypto_ec_point_compute_y_sqr - Compute y^2 = x^3 + ax + b + * @e: EC context from crypto_ec_init() + * @x: x coordinate + * Returns: y^2 on success, %NULL failure + */ +struct crypto_bignum * +crypto_ec_point_compute_y_sqr(struct crypto_ec *e, + const struct crypto_bignum *x); + +/** + * crypto_ec_point_is_at_infinity - Check whether EC point is neutral element + * @e: EC context from crypto_ec_init() + * @p: EC point + * Returns: 1 if the specified EC point is the neutral element of the group or + * 0 if not + */ +int crypto_ec_point_is_at_infinity(struct crypto_ec *e, + const struct crypto_ec_point *p); + +/** + * crypto_ec_point_is_on_curve - Check whether EC point is on curve + * @e: EC context from crypto_ec_init() + * @p: EC point + * Returns: 1 if the specified EC point is on the curve or 0 if not + */ +int crypto_ec_point_is_on_curve(struct crypto_ec *e, + const struct crypto_ec_point *p); + +/** + * crypto_ec_point_cmp - Compare two EC points + * @e: EC context from crypto_ec_init() + * @a: EC point + * @b: EC point + * Returns: 0 on equal, non-zero otherwise + */ +int crypto_ec_point_cmp(const struct crypto_ec *e, + const struct crypto_ec_point *a, + const struct crypto_ec_point *b); + +struct crypto_ecdh; + +struct crypto_ecdh * crypto_ecdh_init(int group); +struct wpabuf * crypto_ecdh_get_pubkey(struct crypto_ecdh *ecdh, int inc_y); +struct wpabuf * crypto_ecdh_set_peerkey(struct crypto_ecdh *ecdh, int inc_y, + const u8 *key, size_t len); +void crypto_ecdh_deinit(struct crypto_ecdh *ecdh); +size_t crypto_ecdh_prime_len(struct crypto_ecdh *ecdh); + +struct crypto_ec_key; + +struct crypto_ec_key * crypto_ec_key_parse_priv(const u8 *der, size_t der_len); +struct crypto_ec_key * crypto_ec_key_parse_pub(const u8 *der, size_t der_len); +void crypto_ec_key_deinit(struct crypto_ec_key *key); +struct wpabuf * crypto_ec_key_get_subject_public_key(struct crypto_ec_key *key); +struct wpabuf * crypto_ec_key_sign(struct crypto_ec_key *key, const u8 *data, + size_t len); +int crypto_ec_key_verify_signature(struct crypto_ec_key *key, const u8 *data, + size_t len, const u8 *sig, size_t sig_len); +int crypto_ec_key_group(struct crypto_ec_key *key); + +#endif /* CRYPTO_H */ diff --git a/src/gsm/kdf/sha1-internal.c b/src/gsm/kdf/sha1-internal.c new file mode 100644 index 0000000..ad9fa44 --- /dev/null +++ b/src/gsm/kdf/sha1-internal.c @@ -0,0 +1,336 @@ +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * + * SPDX-License-Identifier: BSD-3-Clause + * + * BSD license: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name(s) of the above-listed copyright holder(s) nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + + +#include "common.h" +#include "sha1.h" +#include "sha1_i.h" +//#include "md5.h" +#include "crypto.h" + +typedef struct SHA1Context SHA1_CTX; + +void SHA1Transform(u32 state[5], const unsigned char buffer[64]); + + +#ifdef CONFIG_CRYPTO_INTERNAL +/** + * sha1_vector - SHA-1 hash for data vector + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 of failure + */ +int sha1_vector(size_t num_elem, const u8 *addr[], const size_t *len, u8 *mac) +{ + SHA1_CTX ctx; + size_t i; + + if (TEST_FAIL()) + return -1; + + SHA1Init(&ctx); + for (i = 0; i < num_elem; i++) + SHA1Update(&ctx, addr[i], len[i]); + SHA1Final(mac, &ctx); + return 0; +} +#endif /* CONFIG_CRYPTO_INTERNAL */ + + +/* ===== start - public domain SHA1 implementation ===== */ + +/* +SHA-1 in C +By Steve Reid +100% Public Domain + +----------------- +Modified 7/98 +By James H. Brown +Still 100% Public Domain + +Corrected a problem which generated improper hash values on 16 bit machines +Routine SHA1Update changed from + void SHA1Update(SHA1_CTX* context, unsigned char* data, unsigned int +len) +to + void SHA1Update(SHA1_CTX* context, unsigned char* data, unsigned +long len) + +The 'len' parameter was declared an int which works fine on 32 bit machines. +However, on 16 bit machines an int is too small for the shifts being done +against +it. This caused the hash function to generate incorrect values if len was +greater than 8191 (8K - 1) due to the 'len << 3' on line 3 of SHA1Update(). + +Since the file IO in main() reads 16K at a time, any file 8K or larger would +be guaranteed to generate the wrong hash (e.g. Test Vector #3, a million +"a"s). + +I also changed the declaration of variables i & j in SHA1Update to +unsigned long from unsigned int for the same reason. + +These changes should make no difference to any 32 bit implementations since +an +int and a long are the same size in those environments. + +-- +I also corrected a few compiler warnings generated by Borland C. +1. Added #include for exit() prototype +2. Removed unused variable 'j' in SHA1Final +3. Changed exit(0) to return(0) at end of main. + +ALL changes I made can be located by searching for comments containing 'JHB' +----------------- +Modified 8/98 +By Steve Reid +Still 100% public domain + +1- Removed #include and used return() instead of exit() +2- Fixed overwriting of finalcount in SHA1Final() (discovered by Chris Hall) +3- Changed email address from steve at edmweb.com to sreid at sea-to-sky.net + +----------------- +Modified 4/01 +By Saul Kravitz +Still 100% PD +Modified to run on Compaq Alpha hardware. + +----------------- +Modified 4/01 +By Jouni Malinen +Minor changes to match the coding style used in Dynamics. + +Modified September 24, 2004 +By Jouni Malinen +Fixed alignment issue in SHA1Transform when SHA1HANDSOFF is defined. + +*/ + +/* +Test Vectors (from FIPS PUB 180-1) +"abc" + A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D +"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" + 84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1 +A million repetitions of "a" + 34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F +*/ + +#define SHA1HANDSOFF + +#define rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits)))) + +/* blk0() and blk() perform the initial expand. */ +/* I got the idea of expanding during the round function from SSLeay */ +#ifndef WORDS_BIGENDIAN +#define blk0(i) (block->l[i] = (rol(block->l[i], 24) & 0xFF00FF00) | \ + (rol(block->l[i], 8) & 0x00FF00FF)) +#else +#define blk0(i) block->l[i] +#endif +#define blk(i) (block->l[i & 15] = rol(block->l[(i + 13) & 15] ^ \ + block->l[(i + 8) & 15] ^ block->l[(i + 2) & 15] ^ block->l[i & 15], 1)) + +/* (R0+R1), R2, R3, R4 are the different operations used in SHA1 */ +#define R0(v,w,x,y,z,i) \ + z += ((w & (x ^ y)) ^ y) + blk0(i) + 0x5A827999 + rol(v, 5); \ + w = rol(w, 30); +#define R1(v,w,x,y,z,i) \ + z += ((w & (x ^ y)) ^ y) + blk(i) + 0x5A827999 + rol(v, 5); \ + w = rol(w, 30); +#define R2(v,w,x,y,z,i) \ + z += (w ^ x ^ y) + blk(i) + 0x6ED9EBA1 + rol(v, 5); w = rol(w, 30); +#define R3(v,w,x,y,z,i) \ + z += (((w | x) & y) | (w & x)) + blk(i) + 0x8F1BBCDC + rol(v, 5); \ + w = rol(w, 30); +#define R4(v,w,x,y,z,i) \ + z += (w ^ x ^ y) + blk(i) + 0xCA62C1D6 + rol(v, 5); \ + w=rol(w, 30); + + +#ifdef VERBOSE /* SAK */ +void SHAPrintContext(SHA1_CTX *context, char *msg) +{ + printf("%s (%d,%d) %x %x %x %x %x\n", + msg, + context->count[0], context->count[1], + context->state[0], + context->state[1], + context->state[2], + context->state[3], + context->state[4]); +} +#endif + +/* Hash a single 512-bit block. This is the core of the algorithm. */ + +void SHA1Transform(u32 state[5], const unsigned char buffer[64]) +{ + u32 a, b, c, d, e; + typedef union { + unsigned char c[64]; + u32 l[16]; + } CHAR64LONG16; + CHAR64LONG16* block; +#ifdef SHA1HANDSOFF + CHAR64LONG16 workspace; + block = &workspace; + os_memcpy(block, buffer, 64); +#else + block = (CHAR64LONG16 *) buffer; +#endif + /* Copy context->state[] to working vars */ + a = state[0]; + b = state[1]; + c = state[2]; + d = state[3]; + e = state[4]; + /* 4 rounds of 20 operations each. Loop unrolled. */ + R0(a,b,c,d,e, 0); R0(e,a,b,c,d, 1); R0(d,e,a,b,c, 2); R0(c,d,e,a,b, 3); + R0(b,c,d,e,a, 4); R0(a,b,c,d,e, 5); R0(e,a,b,c,d, 6); R0(d,e,a,b,c, 7); + R0(c,d,e,a,b, 8); R0(b,c,d,e,a, 9); R0(a,b,c,d,e,10); R0(e,a,b,c,d,11); + R0(d,e,a,b,c,12); R0(c,d,e,a,b,13); R0(b,c,d,e,a,14); R0(a,b,c,d,e,15); + R1(e,a,b,c,d,16); R1(d,e,a,b,c,17); R1(c,d,e,a,b,18); R1(b,c,d,e,a,19); + R2(a,b,c,d,e,20); R2(e,a,b,c,d,21); R2(d,e,a,b,c,22); R2(c,d,e,a,b,23); + R2(b,c,d,e,a,24); R2(a,b,c,d,e,25); R2(e,a,b,c,d,26); R2(d,e,a,b,c,27); + R2(c,d,e,a,b,28); R2(b,c,d,e,a,29); R2(a,b,c,d,e,30); R2(e,a,b,c,d,31); + R2(d,e,a,b,c,32); R2(c,d,e,a,b,33); R2(b,c,d,e,a,34); R2(a,b,c,d,e,35); + R2(e,a,b,c,d,36); R2(d,e,a,b,c,37); R2(c,d,e,a,b,38); R2(b,c,d,e,a,39); + R3(a,b,c,d,e,40); R3(e,a,b,c,d,41); R3(d,e,a,b,c,42); R3(c,d,e,a,b,43); + R3(b,c,d,e,a,44); R3(a,b,c,d,e,45); R3(e,a,b,c,d,46); R3(d,e,a,b,c,47); + R3(c,d,e,a,b,48); R3(b,c,d,e,a,49); R3(a,b,c,d,e,50); R3(e,a,b,c,d,51); + R3(d,e,a,b,c,52); R3(c,d,e,a,b,53); R3(b,c,d,e,a,54); R3(a,b,c,d,e,55); + R3(e,a,b,c,d,56); R3(d,e,a,b,c,57); R3(c,d,e,a,b,58); R3(b,c,d,e,a,59); + R4(a,b,c,d,e,60); R4(e,a,b,c,d,61); R4(d,e,a,b,c,62); R4(c,d,e,a,b,63); + R4(b,c,d,e,a,64); R4(a,b,c,d,e,65); R4(e,a,b,c,d,66); R4(d,e,a,b,c,67); + R4(c,d,e,a,b,68); R4(b,c,d,e,a,69); R4(a,b,c,d,e,70); R4(e,a,b,c,d,71); + R4(d,e,a,b,c,72); R4(c,d,e,a,b,73); R4(b,c,d,e,a,74); R4(a,b,c,d,e,75); + R4(e,a,b,c,d,76); R4(d,e,a,b,c,77); R4(c,d,e,a,b,78); R4(b,c,d,e,a,79); + /* Add the working vars back into context.state[] */ + state[0] += a; + state[1] += b; + state[2] += c; + state[3] += d; + state[4] += e; + /* Wipe variables */ + a = b = c = d = e = 0; +#ifdef SHA1HANDSOFF + forced_memzero(block, 64); +#endif +} + + +/* SHA1Init - Initialize new context */ + +void SHA1Init(SHA1_CTX* context) +{ + /* SHA1 initialization constants */ + context->state[0] = 0x67452301; + context->state[1] = 0xEFCDAB89; + context->state[2] = 0x98BADCFE; + context->state[3] = 0x10325476; + context->state[4] = 0xC3D2E1F0; + context->count[0] = context->count[1] = 0; +} + + +/* Run your data through this. */ + +void SHA1Update(SHA1_CTX* context, const void *_data, u32 len) +{ + u32 i, j; + const unsigned char *data = _data; + +#ifdef VERBOSE + SHAPrintContext(context, "before"); +#endif + j = (context->count[0] >> 3) & 63; + if ((context->count[0] += len << 3) < (len << 3)) + context->count[1]++; + context->count[1] += (len >> 29); + if ((j + len) > 63) { + os_memcpy(&context->buffer[j], data, (i = 64-j)); + SHA1Transform(context->state, context->buffer); + for ( ; i + 63 < len; i += 64) { + SHA1Transform(context->state, &data[i]); + } + j = 0; + } + else i = 0; + os_memcpy(&context->buffer[j], &data[i], len - i); +#ifdef VERBOSE + SHAPrintContext(context, "after "); +#endif +} + + +/* Add padding and return the message digest. */ + +void SHA1Final(unsigned char digest[20], SHA1_CTX* context) +{ + u32 i; + unsigned char finalcount[8]; + + for (i = 0; i < 8; i++) { + finalcount[i] = (unsigned char) + ((context->count[(i >= 4 ? 0 : 1)] >> + ((3-(i & 3)) * 8) ) & 255); /* Endian independent */ + } + SHA1Update(context, (unsigned char *) "\200", 1); + while ((context->count[0] & 504) != 448) { + SHA1Update(context, (unsigned char *) "\0", 1); + } + SHA1Update(context, finalcount, 8); /* Should cause a SHA1Transform() + */ + for (i = 0; i < 20; i++) { + digest[i] = (unsigned char) + ((context->state[i >> 2] >> ((3 - (i & 3)) * 8)) & + 255); + } + /* Wipe variables */ + os_memset(context->buffer, 0, 64); + os_memset(context->state, 0, 20); + os_memset(context->count, 0, 8); + forced_memzero(finalcount, sizeof(finalcount)); +} + +/* ===== end - public domain SHA1 implementation ===== */ diff --git a/src/gsm/kdf/sha1.c b/src/gsm/kdf/sha1.c new file mode 100644 index 0000000..2cfdb72 --- /dev/null +++ b/src/gsm/kdf/sha1.c @@ -0,0 +1,138 @@ +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * + * SPDX-License-Identifier: BSD-3-Clause + * + * BSD license: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name(s) of the above-listed copyright holder(s) nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + + +#include "common.h" +#include "sha1.h" +#include "crypto.h" + + +/** + * hmac_sha1_vector - HMAC-SHA1 over data vector (RFC 2104) + * @key: Key for HMAC operations + * @key_len: Length of the key in bytes + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash (20 bytes) + * Returns: 0 on success, -1 on failure + */ +int hmac_sha1_vector(const u8 *key, size_t key_len, size_t num_elem, + const u8 *addr[], const size_t *len, u8 *mac) +{ + unsigned char k_pad[64]; /* padding - key XORd with ipad/opad */ + unsigned char tk[20]; + const u8 *_addr[6]; + size_t _len[6], i; + int ret; + + if (num_elem > 5) { + /* + * Fixed limit on the number of fragments to avoid having to + * allocate memory (which could fail). + */ + return -1; + } + + /* if key is longer than 64 bytes reset it to key = SHA1(key) */ + if (key_len > 64) { + if (sha1_vector(1, &key, &key_len, tk)) + return -1; + key = tk; + key_len = 20; + } + + /* the HMAC_SHA1 transform looks like: + * + * SHA1(K XOR opad, SHA1(K XOR ipad, text)) + * + * where K is an n byte key + * ipad is the byte 0x36 repeated 64 times + * opad is the byte 0x5c repeated 64 times + * and text is the data being protected */ + + /* start out by storing key in ipad */ + os_memset(k_pad, 0, sizeof(k_pad)); + os_memcpy(k_pad, key, key_len); + /* XOR key with ipad values */ + for (i = 0; i < 64; i++) + k_pad[i] ^= 0x36; + + /* perform inner SHA1 */ + _addr[0] = k_pad; + _len[0] = 64; + for (i = 0; i < num_elem; i++) { + _addr[i + 1] = addr[i]; + _len[i + 1] = len[i]; + } + if (sha1_vector(1 + num_elem, _addr, _len, mac)) + return -1; + + os_memset(k_pad, 0, sizeof(k_pad)); + os_memcpy(k_pad, key, key_len); + /* XOR key with opad values */ + for (i = 0; i < 64; i++) + k_pad[i] ^= 0x5c; + + /* perform outer SHA1 */ + _addr[0] = k_pad; + _len[0] = 64; + _addr[1] = mac; + _len[1] = SHA1_MAC_LEN; + ret = sha1_vector(2, _addr, _len, mac); + forced_memzero(k_pad, sizeof(k_pad)); + forced_memzero(tk, sizeof(tk)); + return ret; +} + + +/** + * hmac_sha1 - HMAC-SHA1 over data buffer (RFC 2104) + * @key: Key for HMAC operations + * @key_len: Length of the key in bytes + * @data: Pointers to the data area + * @data_len: Length of the data area + * @mac: Buffer for the hash (20 bytes) + * Returns: 0 on success, -1 of failure + */ +int hmac_sha1(const u8 *key, size_t key_len, const u8 *data, size_t data_len, + u8 *mac) +{ + return hmac_sha1_vector(key, key_len, 1, &data, &data_len, mac); +} diff --git a/src/gsm/kdf/sha1.h b/src/gsm/kdf/sha1.h new file mode 100644 index 0000000..33f3897 --- /dev/null +++ b/src/gsm/kdf/sha1.h @@ -0,0 +1,58 @@ +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2009, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * + * SPDX-License-Identifier: BSD-3-Clause + * + * BSD license: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name(s) of the above-listed copyright holder(s) nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + +#ifndef SHA1_H +#define SHA1_H + +#define SHA1_MAC_LEN 20 + +int hmac_sha1_vector(const u8 *key, size_t key_len, size_t num_elem, + const u8 *addr[], const size_t *len, u8 *mac); +int hmac_sha1(const u8 *key, size_t key_len, const u8 *data, size_t data_len, + u8 *mac); +int sha1_prf(const u8 *key, size_t key_len, const char *label, + const u8 *data, size_t data_len, u8 *buf, size_t buf_len); +int sha1_t_prf(const u8 *key, size_t key_len, const char *label, + const u8 *seed, size_t seed_len, u8 *buf, size_t buf_len); +int __must_check tls_prf_sha1_md5(const u8 *secret, size_t secret_len, + const char *label, const u8 *seed, + size_t seed_len, u8 *out, size_t outlen); +int pbkdf2_sha1(const char *passphrase, const u8 *ssid, size_t ssid_len, + int iterations, u8 *buf, size_t buflen); +#endif /* SHA1_H */ diff --git a/src/gsm/kdf/sha1_i.h b/src/gsm/kdf/sha1_i.h new file mode 100644 index 0000000..3501770 --- /dev/null +++ b/src/gsm/kdf/sha1_i.h @@ -0,0 +1,54 @@ +/* + * SHA1 internal definitions + * Copyright (c) 2003-2005, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * + * SPDX-License-Identifier: BSD-3-Clause + * + * BSD license: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name(s) of the above-listed copyright holder(s) nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + +#ifndef SHA1_I_H +#define SHA1_I_H + +struct SHA1Context { + u32 state[5]; + u32 count[2]; + unsigned char buffer[64]; +}; + +void SHA1Init(struct SHA1Context *context); +void SHA1Update(struct SHA1Context *context, const void *data, u32 len); +void SHA1Final(unsigned char digest[20], struct SHA1Context *context); +void SHA1Transform(u32 state[5], const unsigned char buffer[64]); + +#endif /* SHA1_I_H */ diff --git a/src/gsm/kdf/sha256-internal.c b/src/gsm/kdf/sha256-internal.c new file mode 100644 index 0000000..cb88a2e --- /dev/null +++ b/src/gsm/kdf/sha256-internal.c @@ -0,0 +1,259 @@ +/* + * SHA-256 hash implementation and interface functions + * Copyright (c) 2003-2011, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * + * SPDX-License-Identifier: BSD-3-Clause + * + * BSD license: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name(s) of the above-listed copyright holder(s) nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + + +#include "common.h" +#include "sha256.h" +#include "sha256_i.h" +#include "crypto.h" + + +/** + * sha256_vector - SHA256 hash for data vector + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 of failure + */ +int sha256_vector(size_t num_elem, const u8 *addr[], const size_t *len, + u8 *mac) +{ + struct sha256_state ctx; + size_t i; + + if (TEST_FAIL()) + return -1; + + sha256_init(&ctx); + for (i = 0; i < num_elem; i++) + if (sha256_process(&ctx, addr[i], len[i])) + return -1; + if (sha256_done(&ctx, mac)) + return -1; + return 0; +} + + +/* ===== start - public domain SHA256 implementation ===== */ + +/* This is based on SHA256 implementation in LibTomCrypt that was released into + * public domain by Tom St Denis. */ + +/* the K array */ +static const unsigned long K[64] = { + 0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL, 0x3956c25bUL, + 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL, 0xd807aa98UL, 0x12835b01UL, + 0x243185beUL, 0x550c7dc3UL, 0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, + 0xc19bf174UL, 0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL, + 0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL, 0x983e5152UL, + 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL, 0xc6e00bf3UL, 0xd5a79147UL, + 0x06ca6351UL, 0x14292967UL, 0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, + 0x53380d13UL, 0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL, + 0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL, 0xd192e819UL, + 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL, 0x19a4c116UL, 0x1e376c08UL, + 0x2748774cUL, 0x34b0bcb5UL, 0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, + 0x682e6ff3UL, 0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL, + 0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL +}; + + +/* Various logical functions */ +#define RORc(x, y) \ +( ((((unsigned long) (x) & 0xFFFFFFFFUL) >> (unsigned long) ((y) & 31)) | \ + ((unsigned long) (x) << (unsigned long) (32 - ((y) & 31)))) & 0xFFFFFFFFUL) +#define Ch(x,y,z) (z ^ (x & (y ^ z))) +#define Maj(x,y,z) (((x | y) & z) | (x & y)) +#define S(x, n) RORc((x), (n)) +#define R(x, n) (((x)&0xFFFFFFFFUL)>>(n)) +#define Sigma0(x) (S(x, 2) ^ S(x, 13) ^ S(x, 22)) +#define Sigma1(x) (S(x, 6) ^ S(x, 11) ^ S(x, 25)) +#define Gamma0(x) (S(x, 7) ^ S(x, 18) ^ R(x, 3)) +#define Gamma1(x) (S(x, 17) ^ S(x, 19) ^ R(x, 10)) +#ifndef MIN +#define MIN(x, y) (((x) < (y)) ? (x) : (y)) +#endif + +/* compress 512-bits */ +static int sha256_compress(struct sha256_state *md, unsigned char *buf) +{ + u32 S[8], W[64], t0, t1; + u32 t; + int i; + + /* copy state into S */ + for (i = 0; i < 8; i++) { + S[i] = md->state[i]; + } + + /* copy the state into 512-bits into W[0..15] */ + for (i = 0; i < 16; i++) + W[i] = WPA_GET_BE32(buf + (4 * i)); + + /* fill W[16..63] */ + for (i = 16; i < 64; i++) { + W[i] = Gamma1(W[i - 2]) + W[i - 7] + Gamma0(W[i - 15]) + + W[i - 16]; + } + + /* Compress */ +#define RND(a,b,c,d,e,f,g,h,i) \ + t0 = h + Sigma1(e) + Ch(e, f, g) + K[i] + W[i]; \ + t1 = Sigma0(a) + Maj(a, b, c); \ + d += t0; \ + h = t0 + t1; + + for (i = 0; i < 64; ++i) { + RND(S[0], S[1], S[2], S[3], S[4], S[5], S[6], S[7], i); + t = S[7]; S[7] = S[6]; S[6] = S[5]; S[5] = S[4]; + S[4] = S[3]; S[3] = S[2]; S[2] = S[1]; S[1] = S[0]; S[0] = t; + } + + /* feedback */ + for (i = 0; i < 8; i++) { + md->state[i] = md->state[i] + S[i]; + } + return 0; +} + + +/* Initialize the hash state */ +void sha256_init(struct sha256_state *md) +{ + md->curlen = 0; + md->length = 0; + md->state[0] = 0x6A09E667UL; + md->state[1] = 0xBB67AE85UL; + md->state[2] = 0x3C6EF372UL; + md->state[3] = 0xA54FF53AUL; + md->state[4] = 0x510E527FUL; + md->state[5] = 0x9B05688CUL; + md->state[6] = 0x1F83D9ABUL; + md->state[7] = 0x5BE0CD19UL; +} + +/** + Process a block of memory though the hash + @param md The hash state + @param in The data to hash + @param inlen The length of the data (octets) + @return CRYPT_OK if successful +*/ +int sha256_process(struct sha256_state *md, const unsigned char *in, + unsigned long inlen) +{ + unsigned long n; + + if (md->curlen >= sizeof(md->buf)) + return -1; + + while (inlen > 0) { + if (md->curlen == 0 && inlen >= SHA256_BLOCK_SIZE) { + if (sha256_compress(md, (unsigned char *) in) < 0) + return -1; + md->length += SHA256_BLOCK_SIZE * 8; + in += SHA256_BLOCK_SIZE; + inlen -= SHA256_BLOCK_SIZE; + } else { + n = MIN(inlen, (SHA256_BLOCK_SIZE - md->curlen)); + os_memcpy(md->buf + md->curlen, in, n); + md->curlen += n; + in += n; + inlen -= n; + if (md->curlen == SHA256_BLOCK_SIZE) { + if (sha256_compress(md, md->buf) < 0) + return -1; + md->length += 8 * SHA256_BLOCK_SIZE; + md->curlen = 0; + } + } + } + + return 0; +} + + +/** + Terminate the hash to get the digest + @param md The hash state + @param out [out] The destination of the hash (32 bytes) + @return CRYPT_OK if successful +*/ +int sha256_done(struct sha256_state *md, unsigned char *out) +{ + int i; + + if (md->curlen >= sizeof(md->buf)) + return -1; + + /* increase the length of the message */ + md->length += md->curlen * 8; + + /* append the '1' bit */ + md->buf[md->curlen++] = (unsigned char) 0x80; + + /* if the length is currently above 56 bytes we append zeros + * then compress. Then we can fall back to padding zeros and length + * encoding like normal. + */ + if (md->curlen > 56) { + while (md->curlen < SHA256_BLOCK_SIZE) { + md->buf[md->curlen++] = (unsigned char) 0; + } + sha256_compress(md, md->buf); + md->curlen = 0; + } + + /* pad up to 56 bytes of zeroes */ + while (md->curlen < 56) { + md->buf[md->curlen++] = (unsigned char) 0; + } + + /* store length */ + WPA_PUT_BE64(md->buf + 56, md->length); + sha256_compress(md, md->buf); + + /* copy output */ + for (i = 0; i < 8; i++) + WPA_PUT_BE32(out + (4 * i), md->state[i]); + + return 0; +} + +/* ===== end - public domain SHA256 implementation ===== */ diff --git a/src/gsm/kdf/sha256.c b/src/gsm/kdf/sha256.c new file mode 100644 index 0000000..998c92c --- /dev/null +++ b/src/gsm/kdf/sha256.c @@ -0,0 +1,134 @@ +/* + * SHA-256 hash implementation and interface functions + * Copyright (c) 2003-2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * + * SPDX-License-Identifier: BSD-3-Clause + * + * BSD license: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name(s) of the above-listed copyright holder(s) nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + + +#include "common.h" +#include "sha256.h" +#include "crypto.h" + + +/** + * hmac_sha256_vector - HMAC-SHA256 over data vector (RFC 2104) + * @key: Key for HMAC operations + * @key_len: Length of the key in bytes + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash (32 bytes) + * Returns: 0 on success, -1 on failure + */ +int hmac_sha256_vector(const u8 *key, size_t key_len, size_t num_elem, + const u8 *addr[], const size_t *len, u8 *mac) +{ + unsigned char k_pad[64]; /* padding - key XORd with ipad/opad */ + unsigned char tk[32]; + const u8 *_addr[11]; + size_t _len[11], i; + + if (num_elem > 10) { + /* + * Fixed limit on the number of fragments to avoid having to + * allocate memory (which could fail). + */ + return -1; + } + + /* if key is longer than 64 bytes reset it to key = SHA256(key) */ + if (key_len > 64) { + if (sha256_vector(1, &key, &key_len, tk) < 0) + return -1; + key = tk; + key_len = 32; + } + + /* the HMAC_SHA256 transform looks like: + * + * SHA256(K XOR opad, SHA256(K XOR ipad, text)) + * + * where K is an n byte key + * ipad is the byte 0x36 repeated 64 times + * opad is the byte 0x5c repeated 64 times + * and text is the data being protected */ + + /* start out by storing key in ipad */ + os_memset(k_pad, 0, sizeof(k_pad)); + os_memcpy(k_pad, key, key_len); + /* XOR key with ipad values */ + for (i = 0; i < 64; i++) + k_pad[i] ^= 0x36; + + /* perform inner SHA256 */ + _addr[0] = k_pad; + _len[0] = 64; + for (i = 0; i < num_elem; i++) { + _addr[i + 1] = addr[i]; + _len[i + 1] = len[i]; + } + if (sha256_vector(1 + num_elem, _addr, _len, mac) < 0) + return -1; + + os_memset(k_pad, 0, sizeof(k_pad)); + os_memcpy(k_pad, key, key_len); + /* XOR key with opad values */ + for (i = 0; i < 64; i++) + k_pad[i] ^= 0x5c; + + /* perform outer SHA256 */ + _addr[0] = k_pad; + _len[0] = 64; + _addr[1] = mac; + _len[1] = SHA256_MAC_LEN; + return sha256_vector(2, _addr, _len, mac); +} + + +/** + * hmac_sha256 - HMAC-SHA256 over data buffer (RFC 2104) + * @key: Key for HMAC operations + * @key_len: Length of the key in bytes + * @data: Pointers to the data area + * @data_len: Length of the data area + * @mac: Buffer for the hash (32 bytes) + * Returns: 0 on success, -1 on failure + */ +int hmac_sha256(const u8 *key, size_t key_len, const u8 *data, + size_t data_len, u8 *mac) +{ + return hmac_sha256_vector(key, key_len, 1, &data, &data_len, mac); +} diff --git a/src/gsm/kdf/sha256.h b/src/gsm/kdf/sha256.h new file mode 100644 index 0000000..1f57646 --- /dev/null +++ b/src/gsm/kdf/sha256.h @@ -0,0 +1,61 @@ +/* + * SHA256 hash implementation and interface functions + * Copyright (c) 2003-2016, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * + * SPDX-License-Identifier: BSD-3-Clause + * + * BSD license: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name(s) of the above-listed copyright holder(s) nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + +#ifndef SHA256_H +#define SHA256_H + +#define SHA256_MAC_LEN 32 + +int hmac_sha256_vector(const u8 *key, size_t key_len, size_t num_elem, + const u8 *addr[], const size_t *len, u8 *mac); +int hmac_sha256(const u8 *key, size_t key_len, const u8 *data, + size_t data_len, u8 *mac); +int sha256_prf(const u8 *key, size_t key_len, const char *label, + const u8 *data, size_t data_len, u8 *buf, size_t buf_len); +int sha256_prf_bits(const u8 *key, size_t key_len, const char *label, + const u8 *data, size_t data_len, u8 *buf, + size_t buf_len_bits); +int tls_prf_sha256(const u8 *secret, size_t secret_len, + const char *label, const u8 *seed, size_t seed_len, + u8 *out, size_t outlen); +int hmac_sha256_kdf(const u8 *secret, size_t secret_len, + const char *label, const u8 *seed, size_t seed_len, + u8 *out, size_t outlen); + +#endif /* SHA256_H */ diff --git a/src/gsm/kdf/sha256_i.h b/src/gsm/kdf/sha256_i.h new file mode 100644 index 0000000..4173a68 --- /dev/null +++ b/src/gsm/kdf/sha256_i.h @@ -0,0 +1,56 @@ +/* + * SHA-256 internal definitions + * Copyright (c) 2003-2011, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * + * SPDX-License-Identifier: BSD-3-Clause + * + * BSD license: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name(s) of the above-listed copyright holder(s) nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + +#ifndef SHA256_I_H +#define SHA256_I_H + +#define SHA256_BLOCK_SIZE 64 + +struct sha256_state { + u64 length; + u32 state[8], curlen; + u8 buf[SHA256_BLOCK_SIZE]; +}; + +void sha256_init(struct sha256_state *md); +int sha256_process(struct sha256_state *md, const unsigned char *in, + unsigned long inlen); +int sha256_done(struct sha256_state *md, unsigned char *out); + +#endif /* SHA256_I_H */ diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 3fd01db..437599b 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -547,6 +547,12 @@ osmo_auth_c3; osmo_sub_auth_type_names; +osmo_kdf_kc128; +osmo_kdf_kasme; +osmo_kdf_enb; +osmo_kdf_nh; +osmo_kdf_nas; + osmo_rsl2sitype; osmo_sitype2rsl; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd Gerrit-Change-Number: 24291 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 15:47:43 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 19 May 2021 15:47:43 +0000 Subject: Change in libosmocore[master]: kdf: add key derivation functions In-Reply-To: References: Message-ID: Hoernchen has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/libosmocore/+/24291 ) Change subject: kdf: add key derivation functions ...................................................................... kdf: add key derivation functions Related: SYS#5324 Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd --- M include/Makefile.am A include/osmocom/crypt/kdf.h M src/gsm/Makefile.am A src/gsm/kdf.c A src/gsm/kdf/common.h A src/gsm/kdf/crypto.h A src/gsm/kdf/sha1-internal.c A src/gsm/kdf/sha1.c A src/gsm/kdf/sha1.h A src/gsm/kdf/sha1_i.h A src/gsm/kdf/sha256-internal.c A src/gsm/kdf/sha256.c A src/gsm/kdf/sha256.h A src/gsm/kdf/sha256_i.h M src/gsm/libosmogsm.map 15 files changed, 2,343 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/91/24291/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd Gerrit-Change-Number: 24291 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 15:52:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 May 2021 15:52:09 +0000 Subject: Change in osmo-bsc[master]: bsc: Clean up TS selection in ipaccess_sign_link_up/down In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24268 to look at the new patch set (#2). Change subject: bsc: Clean up TS selection in ipaccess_sign_link_up/down ...................................................................... bsc: Clean up TS selection in ipaccess_sign_link_up/down Change-Id: I3e60ebc979010830a5c40112824893a640c58fd4 --- M src/osmo-bsc/bts_ipaccess_nanobts.c 1 file changed, 5 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/68/24268/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3e60ebc979010830a5c40112824893a640c58fd4 Gerrit-Change-Number: 24268 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 15:53:13 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 19 May 2021 15:53:13 +0000 Subject: Change in libosmocore[master]: kdf: add key derivation functions In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24291 to look at the new patch set (#4). Change subject: kdf: add key derivation functions ...................................................................... kdf: add key derivation functions Related: SYS#5324 Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd --- M include/Makefile.am A include/osmocom/crypt/kdf.h M src/gsm/Makefile.am A src/gsm/kdf.c A src/gsm/kdf/common.h A src/gsm/kdf/crypto.h A src/gsm/kdf/sha1-internal.c A src/gsm/kdf/sha1.c A src/gsm/kdf/sha1.h A src/gsm/kdf/sha1_i.h A src/gsm/kdf/sha256-internal.c A src/gsm/kdf/sha256.c A src/gsm/kdf/sha256.h A src/gsm/kdf/sha256_i.h M src/gsm/libosmogsm.map 15 files changed, 2,342 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/91/24291/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd Gerrit-Change-Number: 24291 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 16:11:49 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 19 May 2021 16:11:49 +0000 Subject: Change in libosmocore[master]: kdf: add key derivation functions In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24291 to look at the new patch set (#5). Change subject: kdf: add key derivation functions ...................................................................... kdf: add key derivation functions Related: SYS#5324 Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd --- M include/Makefile.am A include/osmocom/crypt/kdf.h M src/gsm/Makefile.am A src/gsm/kdf.c A src/gsm/kdf/common.h A src/gsm/kdf/crypto.h A src/gsm/kdf/sha1-internal.c A src/gsm/kdf/sha1.c A src/gsm/kdf/sha1.h A src/gsm/kdf/sha1_i.h A src/gsm/kdf/sha256-internal.c A src/gsm/kdf/sha256.c A src/gsm/kdf/sha256.h A src/gsm/kdf/sha256_i.h M src/gsm/libosmogsm.map 15 files changed, 2,364 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/91/24291/5 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd Gerrit-Change-Number: 24291 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 16:37:00 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 May 2021 16:37:00 +0000 Subject: Change in libosmocore[master]: add RSL_IE_OSMO_TRAINING_SEQUENCE References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24292 ) Change subject: add RSL_IE_OSMO_TRAINING_SEQUENCE ...................................................................... add RSL_IE_OSMO_TRAINING_SEQUENCE This IE is explained in the Abis manual in osmo-bts commit Ie583bd5969fdb45f772af198033e58d7c4077306 http://git.osmocom.org/osmo-bts/commit/?id=823cd529649b667af20bfa4e383255a8ed5931f1 Change-Id: I573c26b1431ee789e42f6fa620947b003c384dc0 --- M include/osmocom/gsm/protocol/gsm_08_58.h M src/gsm/rsl.c 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/92/24292/1 diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index 79ddb68..efac54d 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -357,6 +357,7 @@ /* Osmocom specific */ RSL_IE_OSMO_REP_ACCH_CAP= 0x60, + RSL_IE_OSMO_TRAINING_SEQUENCE = 0x61, /* ip.access */ RSL_IE_IPAC_SRTP_CONFIG = 0xe0, diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c index 2ab49c2..8d34543 100644 --- a/src/gsm/rsl.c +++ b/src/gsm/rsl.c @@ -127,6 +127,7 @@ [RSL_IE_LLP_APDU] = { TLV_TYPE_TLV }, [RSL_IE_SIEMENS_MRPCI] = { TLV_TYPE_TV }, [RSL_IE_OSMO_REP_ACCH_CAP] = { TLV_TYPE_TLV }, + [RSL_IE_OSMO_TRAINING_SEQUENCE] = { TLV_TYPE_TLV }, [RSL_IE_IPAC_PROXY_UDP] = { TLV_TYPE_FIXED, 2 }, [RSL_IE_IPAC_BSCMPL_TOUT] = { TLV_TYPE_TV }, [RSL_IE_IPAC_REMOTE_IP] = { TLV_TYPE_FIXED, 4 }, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I573c26b1431ee789e42f6fa620947b003c384dc0 Gerrit-Change-Number: 24292 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 16:37:01 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 May 2021 16:37:01 +0000 Subject: Change in libosmocore[master]: add RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm, RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24293 ) Change subject: add RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm, RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm ...................................................................... add RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm, RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm These indicate VAMOS mode to osmo-bts during channel activation and channel mode modification. Change-Id: Ib4ea11c870683a58f0bbc8c9cd942faceba8c4d9 --- M include/osmocom/gsm/protocol/gsm_08_58.h 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/93/24293/1 diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index efac54d..97c02e8 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -489,6 +489,8 @@ #define RSL_CMOD_CRT_TCH_GROUP_Lm 0x19 /* half-rate: group call channel */ #define RSL_CMOD_CRT_TCH_BCAST_Bm 0x28 /* full-rate: broadcast call channel */ #define RSL_CMOD_CRT_TCH_BCAST_Lm 0x29 /* half-rate: broadcast call channel */ +#define RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm 0x88 /* full-rate in VAMOS mode */ +#define RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm 0x89 /* half-rate in VAMOS mode */ /* Speech */ #define RSL_CMOD_SP_GSM1 0x01 #define RSL_CMOD_SP_GSM2 0x11 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib4ea11c870683a58f0bbc8c9cd942faceba8c4d9 Gerrit-Change-Number: 24293 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 17:05:57 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 May 2021 17:05:57 +0000 Subject: Change in osmo-mgw[master]: add osmo_mgcpc_ep_ci_get_remote_rtp_info() In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/24145 to look at the new patch set (#3). Change subject: add osmo_mgcpc_ep_ci_get_remote_rtp_info() ...................................................................... add osmo_mgcpc_ep_ci_get_remote_rtp_info() So far an mgcp_client user can get the RTP address+port information that the MGW has returned upon a CRCX. Add this function to return the other RTP end, i.e. address+port that the MGW was told to send RTP to. This will be used to fix the MGCP in osmo-bsc, which so far mixes up the two RTP ends and compares the MSC's RTP address+port with the MGW's one and hence fails to skip unnecessary MDCX. Change-Id: Ibb488925827d9dc0ccb1f8d6d84728745d086793 --- M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 2 files changed, 14 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/45/24145/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb488925827d9dc0ccb1f8d6d84728745d086793 Gerrit-Change-Number: 24145 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 17:06:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 May 2021 17:06:34 +0000 Subject: Change in osmo-mgw[master]: add osmo_mgcpc_ep_ci_get_remote_rtp_info() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24145 ) Change subject: add osmo_mgcpc_ep_ci_get_remote_rtp_info() ...................................................................... Patch Set 3: Code-Review+2 let's get this out of the way -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb488925827d9dc0ccb1f8d6d84728745d086793 Gerrit-Change-Number: 24145 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 May 2021 17:06:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 17:07:56 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 May 2021 17:07:56 +0000 Subject: Change in osmo-mgw[master]: add osmo_mgcpc_ep_ci_get_remote_rtp_info() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24145 ) Change subject: add osmo_mgcpc_ep_ci_get_remote_rtp_info() ...................................................................... add osmo_mgcpc_ep_ci_get_remote_rtp_info() So far an mgcp_client user can get the RTP address+port information that the MGW has returned upon a CRCX. Add this function to return the other RTP end, i.e. address+port that the MGW was told to send RTP to. This will be used to fix the MGCP in osmo-bsc, which so far mixes up the two RTP ends and compares the MSC's RTP address+port with the MGW's one and hence fails to skip unnecessary MDCX. Change-Id: Ibb488925827d9dc0ccb1f8d6d84728745d086793 --- M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 2 files changed, 14 insertions(+), 1 deletion(-) Approvals: neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h b/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h index 736da22..78e3a41 100644 --- a/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h +++ b/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h @@ -23,6 +23,8 @@ bool osmo_mgcpc_ep_ci_get_crcx_info_to_sockaddr(const struct osmo_mgcpc_ep_ci *ci, struct sockaddr_storage *dest); bool osmo_mgcpc_ep_ci_get_crcx_info_to_osmux_cid(const struct osmo_mgcpc_ep_ci *ci, uint8_t* cid); +const struct mgcp_conn_peer *osmo_mgcpc_ep_ci_get_remote_rtp_info(const struct osmo_mgcpc_ep_ci *ci); + void osmo_mgcpc_ep_ci_request(struct osmo_mgcpc_ep_ci *ci, enum mgcp_verb verb, const struct mgcp_conn_peer *verb_info, struct osmo_fsm_inst *notify, diff --git a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index 2b94840..a55281c 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -508,7 +508,8 @@ osmo_mgcpc_ep_fsm_check_state_chg_after_response(ci->ep->fi); } -/*! Return the MGW's RTP port information for this connection, as returned by the last CRCX/MDCX OK message. */ +/*! Return the MGW's local RTP port information for this connection, i.e. the local port that MGW is receiving on, as + * returned by the last CRCX-OK / MDCX-OK message. */ const struct mgcp_conn_peer *osmo_mgcpc_ep_ci_get_rtp_info(const struct osmo_mgcpc_ep_ci *ci) { ci = osmo_mgcpc_ep_check_ci((struct osmo_mgcpc_ep_ci*)ci); @@ -519,6 +520,16 @@ return &ci->rtp_info; } +/*! Return the MGW's remote RTP port information for this connection, i.e. the remote RTP port that the MGW is sending + * to, as sent to the MGW by the last CRCX / MDCX message. */ +const struct mgcp_conn_peer *osmo_mgcpc_ep_ci_get_remote_rtp_info(const struct osmo_mgcpc_ep_ci *ci) +{ + ci = osmo_mgcpc_ep_check_ci((struct osmo_mgcpc_ep_ci*)ci); + if (!ci) + return NULL; + return &ci->verb_info; +} + /*! Return the MGW's RTP port information for this connection, as returned by the last CRCX/MDCX OK message. */ bool osmo_mgcpc_ep_ci_get_crcx_info_to_sockaddr(const struct osmo_mgcpc_ep_ci *ci, struct sockaddr_storage *dest) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb488925827d9dc0ccb1f8d6d84728745d086793 Gerrit-Change-Number: 24145 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 17:11:28 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 May 2021 17:11:28 +0000 Subject: Change in osmo-bsc[master]: lchan and assignment FSMs: make Channel Mode Modify more sane In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/23943 to look at the new patch set (#4). Change subject: lchan and assignment FSMs: make Channel Mode Modify more sane ...................................................................... lchan and assignment FSMs: make Channel Mode Modify more sane The Channel Mode Modify procedure is currently implemented for changing a TCH lchan from signalling to voice mode. For that, however, it is re-using (abusing) the channel activation structs and state transitions, and thus always implies activating a voice stream when the mode modification is done. I will add a Channel Mode Modify to enable VAMOS mode soon, so I require separate structs and state transitions which also work on an lchan that already has a voice stream established: a struct lchan_modify_info and LCHAN_EV_REQUEST_MODE_MODIFY, and dedicated assignment FSM state ASSIGNMENT_ST_WAIT_LCHAN_MODIFIED. For the part where a Channel Mode Modify enables a voice stream after switching from signalling to speech mode, still use the channel activation code path, but only once the mode modification is done. General improvements: - To ask for a mode modification, emit an FSM event that ensures a mode modify only happens when the lchan state allows it. - The new lchan_modify_info struct reflects only those parts that have an effect during a mode modification (before the lchan_activate_info was fully populated, many values not having an effect). - More accurate logging, indicating "Mode Modify" instead of "Channel Activation" A TTCN3 test for the Channel Mode Modify procedure is added in Idf4efaed986de0bbd2b663313e837352cc139f0f, and the test passes both before and after this patch is applied. Related: SYS#4895 Change-Id: I4986844f839b1c9672c61d916eb3d33d0042d747 --- M doc/assignment-fsm.dot M include/osmocom/bsc/assignment_fsm.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/lchan_fsm.h M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c 7 files changed, 220 insertions(+), 68 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/43/23943/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23943 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4986844f839b1c9672c61d916eb3d33d0042d747 Gerrit-Change-Number: 23943 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 17:11:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 May 2021 17:11:29 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: fix failure log message for lchan unavailable References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24294 ) Change subject: assignment_fsm: fix failure log message for lchan unavailable ...................................................................... assignment_fsm: fix failure log message for lchan unavailable Actually print the three different modes, and fix the length conditions. Change-Id: Id381dbb7ff6f0d790a7a92021fd68f94fbec0568 --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/94/24294/1 diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index faaec53..6d07a39 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -554,10 +554,10 @@ " No lchan available for: pref=%s:%s / alt1=%s:%s / alt2=%s:%s\n", gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode), rate_names[req->ch_mode_rate[0].chan_rate], - req->n_ch_mode_rate >= 1 ? gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode) : "", - req->n_ch_mode_rate >= 1 ? rate_names[req->ch_mode_rate[0].chan_rate] : "", - req->n_ch_mode_rate >= 2 ? gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode) : "", - req->n_ch_mode_rate >= 2 ? rate_names[req->ch_mode_rate[0].chan_rate] : "" + req->n_ch_mode_rate > 1 ? gsm48_chan_mode_name(req->ch_mode_rate[1].chan_mode) : "", + req->n_ch_mode_rate > 1 ? rate_names[req->ch_mode_rate[1].chan_rate] : "", + req->n_ch_mode_rate > 2 ? gsm48_chan_mode_name(req->ch_mode_rate[2].chan_mode) : "", + req->n_ch_mode_rate > 2 ? rate_names[req->ch_mode_rate[2].chan_rate] : "" ); return; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id381dbb7ff6f0d790a7a92021fd68f94fbec0568 Gerrit-Change-Number: 24294 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 17:11:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 May 2021 17:11:29 +0000 Subject: Change in osmo-bsc[master]: select_codecs(): do not confuse bool 'true' with integer value 1 References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24295 ) Change subject: select_codecs(): do not confuse bool 'true' with integer value 1 ...................................................................... select_codecs(): do not confuse bool 'true' with integer value 1 In practice, '+ true' may result in '+ 1', but that is not type safe. We rely on the number of items added by summing up booleans, rather make it explicitly 1. Change-Id: I17a82f4f208203b748ba2d6ace0ddc06f87c1cef --- M src/osmo-bsc/osmo_bsc_bssap.c 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/95/24295/1 diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index c3716ce..7a7579b 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -681,12 +681,12 @@ case GSM0808_SPEECH_FULL_BM: rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_FR); - nc += (rc == 0); + nc += (rc == 0) ? 1 : 0; break; case GSM0808_SPEECH_HALF_LM: rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_HR); - nc += (rc == 0); + nc += (rc == 0) ? 1 : 0; break; case GSM0808_SPEECH_PERM: case GSM0808_SPEECH_PERM_NO_CHANGE: @@ -694,19 +694,19 @@ case GSM0808_SPEECH_FULL_PREF: rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_FR); - nc += (rc == 0); + nc += (rc == 0) ? 1 : 0; rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_HR); - nc += (rc == 0); + nc += (rc == 0) ? 1 : 0; break; case GSM0808_SPEECH_HALF_PREF_NO_CHANGE: case GSM0808_SPEECH_HALF_PREF: rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_HR); - nc += (rc == 0); + nc += (rc == 0) ? 1 : 0; rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_FR); - nc += (rc == 0); + nc += (rc == 0) ? 1 : 0; break; default: rc = -EINVAL; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I17a82f4f208203b748ba2d6ace0ddc06f87c1cef Gerrit-Change-Number: 24295 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 17:11:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 May 2021 17:11:29 +0000 Subject: Change in osmo-bsc[master]: gsm48_send_rr_ass_cmd(): rename dest_lchan to current_lchan References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24296 ) Change subject: gsm48_send_rr_ass_cmd(): rename dest_lchan to current_lchan ...................................................................... gsm48_send_rr_ass_cmd(): rename dest_lchan to current_lchan This variable is the lchan that the Assignment Command should be sent to, i.e. the MS's current lchan. The "dest" could be interpreted as the destination of the assignment, the lchan that the MS should move to. Change-Id: If2c102a8f1d45f84b6a765555abf7cd7a4749b0f --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/96/24296/1 diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 5e9bc69..e308575 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -566,7 +566,7 @@ } /* Chapter 9.1.2: Assignment Command */ -int gsm48_send_rr_ass_cmd(struct gsm_lchan *dest_lchan, struct gsm_lchan *lchan, uint8_t power_command) +int gsm48_send_rr_ass_cmd(struct gsm_lchan *current_lchan, struct gsm_lchan *lchan, uint8_t power_command) { struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 ASS CMD"); struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); @@ -575,7 +575,7 @@ DEBUGP(DRR, "-> ASSIGNMENT COMMAND tch_mode=0x%02x\n", lchan->tch_mode); - msg->lchan = dest_lchan; + msg->lchan = current_lchan; gh->proto_discr = GSM48_PDISC_RR; gh->msg_type = GSM48_MT_RR_ASS_CMD; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If2c102a8f1d45f84b6a765555abf7cd7a4749b0f Gerrit-Change-Number: 24296 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 17:11:30 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 May 2021 17:11:30 +0000 Subject: Change in osmo-bsc[master]: gsm48_send_rr_ass_cmd(): rename lchan to new_lchan References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24297 ) Change subject: gsm48_send_rr_ass_cmd(): rename lchan to new_lchan ...................................................................... gsm48_send_rr_ass_cmd(): rename lchan to new_lchan Clarify that this is the lchan that is being assigned to the MS, in contrast to the current lchan. Change-Id: I0de017f7c43ec495c2cd0f05f313740f42ab0bb1 --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/97/24297/1 diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index e308575..764af72 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -566,14 +566,14 @@ } /* Chapter 9.1.2: Assignment Command */ -int gsm48_send_rr_ass_cmd(struct gsm_lchan *current_lchan, struct gsm_lchan *lchan, uint8_t power_command) +int gsm48_send_rr_ass_cmd(struct gsm_lchan *current_lchan, struct gsm_lchan *new_lchan, uint8_t power_command) { struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 ASS CMD"); struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); struct gsm48_ass_cmd *ass = (struct gsm48_ass_cmd *) msgb_put(msg, sizeof(*ass)); - DEBUGP(DRR, "-> ASSIGNMENT COMMAND tch_mode=0x%02x\n", lchan->tch_mode); + DEBUGP(DRR, "-> ASSIGNMENT COMMAND tch_mode=0x%02x\n", new_lchan->tch_mode); msg->lchan = current_lchan; gh->proto_discr = GSM48_PDISC_RR; @@ -587,28 +587,28 @@ * the chan_desc. But as long as multi-slot configurations * are not used we seem to be fine. */ - gsm48_lchan2chan_desc(&ass->chan_desc, lchan); + gsm48_lchan2chan_desc(&ass->chan_desc, new_lchan); ass->power_command = power_command; /* Cell Channel Description (freq. hopping), TV (see 3GPP TS 44.018, 10.5.2.1b) */ - if (lchan->ts->hopping.enabled) { + if (new_lchan->ts->hopping.enabled) { const struct gsm48_system_information_type_1 *si1 = \ - GSM_BTS_SI(lchan->ts->trx->bts, 1); + GSM_BTS_SI(new_lchan->ts->trx->bts, 1); msgb_tv_fixed_put(msg, GSM48_IE_CELL_CH_DESC, sizeof(si1->cell_channel_description), si1->cell_channel_description); } - msgb_tv_put(msg, GSM48_IE_CHANMODE_1, lchan->tch_mode); + msgb_tv_put(msg, GSM48_IE_CHANMODE_1, new_lchan->tch_mode); /* Mobile Allocation (freq. hopping), TLV (see 3GPP TS 44.018, 10.5.2.21) */ - if (lchan->ts->hopping.enabled) { - msgb_tlv_put(msg, GSM48_IE_MA_AFTER, lchan->ts->hopping.ma_len, - lchan->ts->hopping.ma_data); + if (new_lchan->ts->hopping.enabled) { + msgb_tlv_put(msg, GSM48_IE_MA_AFTER, new_lchan->ts->hopping.ma_len, + new_lchan->ts->hopping.ma_data); } /* in case of multi rate we need to attach a config */ - mr_config_for_ms(lchan, msg); + mr_config_for_ms(new_lchan, msg); return gsm48_sendmsg(msg); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0de017f7c43ec495c2cd0f05f313740f42ab0bb1 Gerrit-Change-Number: 24297 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 17:11:30 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 May 2021 17:11:30 +0000 Subject: Change in osmo-bsc[master]: log: show src file, line of lchan_set_last_error References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24298 ) Change subject: log: show src file,line of lchan_set_last_error ...................................................................... log: show src file,line of lchan_set_last_error Change lchan_set_last_error() to macro so that the error log reflects where the error was encountered. Change-Id: I571fdf2d418c52d120215cf19e57a3c96d67af07 --- M include/osmocom/bsc/lchan_fsm.h M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c 3 files changed, 12 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/98/24298/1 diff --git a/include/osmocom/bsc/lchan_fsm.h b/include/osmocom/bsc/lchan_fsm.h index ded7f54..1159553 100644 --- a/include/osmocom/bsc/lchan_fsm.h +++ b/include/osmocom/bsc/lchan_fsm.h @@ -12,6 +12,13 @@ LOGP(DRSL, level, "%s (not initialized) " fmt, gsm_lchan_name(lchan), ## args); \ } while(0) +#define LCHAN_SET_LAST_ERROR(LCHAN, fmt, args...) do { \ + if (LCHAN->last_error) \ + talloc_free(LCHAN->last_error); \ + LCHAN->last_error = talloc_asprintf(LCHAN->ts->trx, fmt, ##args); \ + LOG_LCHAN(LCHAN, LOGL_ERROR, "%s\n", LCHAN->last_error); \ + } while(0) + enum lchan_fsm_state { LCHAN_ST_UNUSED, LCHAN_ST_CBCH, /*< Blocked by CBCH channel combination, not usable as SDCCH. */ @@ -74,6 +81,4 @@ void lchan_forget_conn(struct gsm_lchan *lchan); -void lchan_set_last_error(struct gsm_lchan *lchan, const char *fmt, ...); - void lchan_fsm_skip_error(struct gsm_lchan *lchan); diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 4eb95ff..94f7821 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -66,25 +66,6 @@ } } -void lchan_set_last_error(struct gsm_lchan *lchan, const char *fmt, ...) -{ - va_list ap; - /* This dance allows using an existing error reason in above fmt */ - char *last_error_was = lchan->last_error; - lchan->last_error = NULL; - - if (fmt) { - va_start(ap, fmt); - lchan->last_error = talloc_vasprintf(lchan->ts->trx, fmt, ap); - va_end(ap); - - LOG_LCHAN(lchan, LOGL_ERROR, "%s\n", lchan->last_error); - } - - if (last_error_was) - talloc_free(last_error_was); -} - /* The idea here is that we must not require to change any lchan state in order to deny a request. */ #define lchan_on_activation_failure(lchan, for_conn, activ_for) \ _lchan_on_activation_failure(lchan, for_conn, activ_for, \ @@ -240,7 +221,7 @@ const uint32_t state_chg = STATE_CHG; \ LOG_LCHAN(_lchan, LOGL_DEBUG, "Handling failure, will then transition to state %s\n", \ osmo_fsm_state_name(fsm, state_chg)); \ - lchan_set_last_error(_lchan, "lchan %s in state %s: " fmt, \ + LCHAN_SET_LAST_ERROR(_lchan, "lchan %s in state %s: " fmt, \ _lchan->activate.concluded ? "failure" : "allocation failed", \ osmo_fsm_state_name(fsm, state_was), ## args); \ lchan_on_activation_failure(_lchan, _lchan->activate.info.activ_for, _lchan->conn); \ @@ -547,7 +528,9 @@ OSMO_ASSERT(info); OSMO_ASSERT(!lchan->conn); OSMO_ASSERT(!lchan->mgw_endpoint_ci_bts); - lchan_set_last_error(lchan, NULL); + if (lchan->last_error) + talloc_free(lchan->last_error); + lchan->last_error = NULL; lchan->release.requested = false; lchan->activate.info = *info; diff --git a/src/osmo-bsc/lchan_rtp_fsm.c b/src/osmo-bsc/lchan_rtp_fsm.c index cd195d0..8991acc 100644 --- a/src/osmo-bsc/lchan_rtp_fsm.c +++ b/src/osmo-bsc/lchan_rtp_fsm.c @@ -63,7 +63,7 @@ #define lchan_rtp_fail(fmt, args...) do { \ struct gsm_lchan *_lchan = fi->priv; \ uint32_t state_was = fi->state; \ - lchan_set_last_error(_lchan, "lchan-rtp failure in state %s: " fmt, \ + LCHAN_SET_LAST_ERROR(_lchan, "lchan-rtp failure in state %s: " fmt, \ osmo_fsm_state_name(fi->fsm, state_was), ## args); \ osmo_fsm_inst_dispatch(_lchan->fi, LCHAN_EV_RTP_ERROR, 0); \ } while(0) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I571fdf2d418c52d120215cf19e57a3c96d67af07 Gerrit-Change-Number: 24298 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 17:11:30 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 May 2021 17:11:30 +0000 Subject: Change in osmo-bsc[master]: gscon MGCP: properly skip redundant MDCX towards MSC References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24299 ) Change subject: gscon MGCP: properly skip redundant MDCX towards MSC ...................................................................... gscon MGCP: properly skip redundant MDCX towards MSC So far we were comparing the requested MSC side RTP address+port with the MGW side's address+port, which would practically always fail, and hence we always issued redundant MDCX even if for unchanged MSC side. Skip the MDCX if the MSC side remains unchanged. Emit the success event immediately if the MDCX is skipped. Depends: Ibb488925827d9dc0ccb1f8d6d84728745d086793 (osmo-mgw/libosmo-mgcp-client) Change-Id: If994ecef9d4269a8120b0575de9b6d0c3be19146 --- M TODO-RELEASE M src/osmo-bsc/bsc_subscr_conn_fsm.c 2 files changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/99/24299/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index d0e3ff0..d13cea4 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -10,3 +10,4 @@ libosmocore >1.5.1 needs osmo_bts_features_name(), osmo_bts_features_desc() libosmogsm >1.5.1 enum entry GSM0808_FE_IE_LAST_USED_EUTRAN_PLMN_ID libosmogsm >1.5.1 introduced struct needed gsm0808_old_bss_to_new_bss_info->last_eutran_plmn_id +libosmo-mgcp-client >1.8.0 need osmo_mgcpc_ep_ci_get_remote_rtp_info() diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index f169c32..43804a2 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -600,7 +600,7 @@ ci = conn->user_plane.mgw_endpoint_ci_msc; if (ci) { - const struct mgcp_conn_peer *prev_crcx_info = osmo_mgcpc_ep_ci_get_rtp_info(ci); + const struct mgcp_conn_peer *prev_crcx_info = osmo_mgcpc_ep_ci_get_remote_rtp_info(ci); if (!conn->user_plane.mgw_endpoint) { LOGPFSML(conn->fi, LOGL_ERROR, "Internal error: conn has a CI but no endpoint\n"); @@ -618,6 +618,8 @@ LOGPFSML(conn->fi, LOGL_DEBUG, "MSC side MGW endpoint ci is already configured to %s\n", osmo_mgcpc_ep_ci_name(ci)); + /* Immediately dispatch the success event */ + osmo_fsm_inst_dispatch(notify, event_success, notify_data); return true; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If994ecef9d4269a8120b0575de9b6d0c3be19146 Gerrit-Change-Number: 24299 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 17:11:31 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 May 2021 17:11:31 +0000 Subject: Change in osmo-bsc[master]: cosmetic: rename FOR_* to ACTIVATE_FOR_* References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24300 ) Change subject: cosmetic: rename FOR_* to ACTIVATE_FOR_* ...................................................................... cosmetic: rename FOR_* to ACTIVATE_FOR_* Soon, there will also be enums with ASSIGNMENT_FOR_* and MODIFY_FOR_* naming. Add the ACTIVATE_ prefix to the existing enum to clarify. Change-Id: I12190d4d154a1da6a9ebc9a755ccc2fe382ff188 --- M doc/assignment.msc M doc/handover-inter-bsc-in.msc M doc/handover-intra-bsc-fsm.dot M doc/handover.msc M doc/lchan.msc M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/lchan_fsm.c 12 files changed, 53 insertions(+), 53 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/00/24300/1 diff --git a/doc/assignment.msc b/doc/assignment.msc index fae088f..5c3bbfb 100644 --- a/doc/assignment.msc +++ b/doc/assignment.msc @@ -30,7 +30,7 @@ |||; lchan abox lchan [label="UNUSED"]; ass box ass [label="conn->assignment.new_lchan = lchan_select_by_chan_mode()"]; - lchan <- ass [label="lchan_activate(FOR_ASSIGNMENT)"]; + lchan <- ass [label="lchan_activate(ACTIVATE_FOR_ASSIGNMENT)"]; lchan abox lchan [label="WAIT_TS_READY"]; lchan rbox lchan [label="most details omitted, see lchan_fsm and lchan_rtp_fsm diagrams"]; ...; diff --git a/doc/handover-inter-bsc-in.msc b/doc/handover-inter-bsc-in.msc index 9534f90..fa3d75e 100644 --- a/doc/handover-inter-bsc-in.msc +++ b/doc/handover-inter-bsc-in.msc @@ -14,7 +14,7 @@ ho abox ho [label="allocate\nHO_ST_NOT_STARTED"]; ho box ho [label="lchan_select_by_chan_mode()"]; ho abox ho [label="HO_ST_WAIT_\nLCHAN_ACTIVE"]; - lchan <- ho [label="lchan_activate(FOR_HANDOVER)"]; + lchan <- ho [label="lchan_activate(ACTIVATE_FOR_HANDOVER)"]; lchan rbox lchan [label="(most details omitted, see lchan_fsm diagrams)"]; ...; diff --git a/doc/handover-intra-bsc-fsm.dot b/doc/handover-intra-bsc-fsm.dot index 7cb0d3c..53b3eed 100644 --- a/doc/handover-intra-bsc-fsm.dot +++ b/doc/handover-intra-bsc-fsm.dot @@ -12,7 +12,7 @@ invisible -> old_lchan [style=invisible,arrowhead=none] intra -> WAIT_LCHAN_ACTIVE [label="handover_start()",style=dotted] - WAIT_LCHAN_ACTIVE -> lchan [label="lchan_activate(FOR_HANDOVER)",style=dotted] + WAIT_LCHAN_ACTIVE -> lchan [label="lchan_activate(ACTIVATE_FOR_HANDOVER)",style=dotted] lchan -> WAIT_LCHAN_ACTIVE [label="HO_EV_\nLCHAN_\nACTIVE,ERROR",style=dotted,constraint=false] WAIT_LCHAN_ACTIVE -> WAIT_RR_HO_DETECT WAIT_RR_HO_DETECT -> old_lchan [label="RR Handover\nCommand",style=dotted,constraint=false] diff --git a/doc/handover.msc b/doc/handover.msc index 1a2580a..9734429 100644 --- a/doc/handover.msc +++ b/doc/handover.msc @@ -31,7 +31,7 @@ ho box ho [label="lchan_select_by_type()"]; ho abox ho [label="HO_ST_WAIT_\nLCHAN_ACTIVE"]; - lchan <- ho [label="lchan_activate(FOR_HANDOVER)"]; + lchan <- ho [label="lchan_activate(ACTIVATE_FOR_HANDOVER)"]; lchan rbox lchan [label="(most details omitted, see lchan_fsm diagrams)"]; ...; diff --git a/doc/lchan.msc b/doc/lchan.msc index af9a59b..b35c310 100644 --- a/doc/lchan.msc +++ b/doc/lchan.msc @@ -34,11 +34,11 @@ ...; ts -> lchan [label="LCHAN_EV_TS_READY"]; lchan abox lchan [label="LCHAN_ST_\nWAIT_ACTIV_ACK"]; - --- [label="IF FOR_MS_CHANNEL_REQUEST"]; + --- [label="IF ACTIVATE_FOR_MS_CHANNEL_REQUEST"]; ms <= lchan [label="RSL Chan Activ (RSL_ACT_INTRA_IMM_ASS)"]; - --- [label="ELSE: FOR_ASSIGNMENT"]; + --- [label="ELSE: ACTIVATE_FOR_ASSIGNMENT"]; ms <= lchan [label="RSL Chan Activ (RSL_ACT_INTRA_NORM_ASS)"]; - --- [label="ELSE: FOR_HANDOVER"]; + --- [label="ELSE: ACTIVATE_FOR_HANDOVER"]; ms <= lchan [label="RSL Chan Activ (RSL_ACT_INTER_ASYNC)"]; --- [label="END"]; ...; @@ -47,12 +47,12 @@ ms => lchan [label="RSL Chan Activ ACK"]; lchan box lchan [label="lchan_fsm_post_activ_ack()"]; - --- [label="IF FOR_MS_CHANNEL_REQUEST"]; + --- [label="IF ACTIVATE_FOR_MS_CHANNEL_REQUEST"]; ms <= lchan [label="RR Immediate Assignment"]; - --- [label="ELSE: FOR_ASSIGNMENT"]; + --- [label="ELSE: ACTIVATE_FOR_ASSIGNMENT"]; lchan rbox lchan [label="dispatch\nASSIGNMENT_EV_\nLCHAN_ACTIVE\n(see Assignment FSM diagrams)"]; ms <= lchan [label="RR Assignment Command"]; - --- [label="ELSE: FOR_HANDOVER"]; + --- [label="ELSE: ACTIVATE_FOR_HANDOVER"]; lchan rbox lchan [label="dispatch\nHO_EV_LCHAN_ACTIVE\n(see Handover FSM diagrams)"]; --- [label="END"]; @@ -107,12 +107,12 @@ ms => lchan [label="RLL Establish Ind"]; lchan abox lchan [label="LCHAN_ST_\nESTABLISHED"]; lchan box lchan [label="lchan_on_fully_established()"]; - --- [label="IF FOR_MS_CHANNEL_REQUEST"]; + --- [label="IF ACTIVATE_FOR_MS_CHANNEL_REQUEST"]; ms note lchan [label="No action required. The MS will have sent an L3 message in the RLL Establish Ind and is then free to dispatch DTAP."]; - --- [label="ELSE: FOR_ASSIGNMENT"]; + --- [label="ELSE: ACTIVATE_FOR_ASSIGNMENT"]; lchan rbox lchan [label="dispatch\nASSIGNMENT_EV_\nLCHAN_ESTABLISHED\n(see Assignment FSM diagrams)"]; - --- [label="ELSE: FOR_HANDOVER"]; + --- [label="ELSE: ACTIVATE_FOR_HANDOVER"]; lchan rbox lchan [label="dispatch\nHO_EV_LCHAN_ESTABLISHED\n(see Handover FSM diagrams)"]; --- [label="END"]; ...; @@ -202,11 +202,11 @@ ms rbox mgwep [label="On any error"]; |||; - --- [label="IF FOR_MS_CHANNEL_REQUEST"]; + --- [label="IF ACTIVATE_FOR_MS_CHANNEL_REQUEST"]; ms <= lchan [label="RR Immediate Assign Reject"]; - --- [label="ELSE: FOR_ASSIGNMENT"]; + --- [label="ELSE: ACTIVATE_FOR_ASSIGNMENT"]; lchan rbox lchan [label="dispatch\nASSIGNMENT_EV_\nLCHAN_ERROR\n(see Assignment FSM diagrams)"]; - --- [label="ELSE: FOR_HANDOVER"]; + --- [label="ELSE: ACTIVATE_FOR_HANDOVER"]; lchan rbox lchan [label="dispatch\nHO_EV_LCHAN_ERROR\n(see Handover FSM diagrams)"]; --- [label="END"]; |||; diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index dc10dc6..e3101ff 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -559,11 +559,11 @@ #define ts_for_each_potential_lchan(lchan, ts) ts_as_pchan_for_each_lchan(lchan, ts, (ts)->pchan_on_init) enum lchan_activate_mode { - FOR_NONE, - FOR_MS_CHANNEL_REQUEST, - FOR_ASSIGNMENT, - FOR_HANDOVER, - FOR_VTY, + ACTIVATE_FOR_NONE, + ACTIVATE_FOR_MS_CHANNEL_REQUEST, + ACTIVATE_FOR_ASSIGNMENT, + ACTIVATE_FOR_HANDOVER, + ACTIVATE_FOR_VTY, }; extern const struct value_string lchan_activate_mode_names[]; diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 20fb759..eb30345 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1767,7 +1767,7 @@ LOG_LCHAN(lchan, LOGL_DEBUG, "MS: Channel Request: reason=%s ra=0x%02x ta=%d\n", gsm_chreq_name(rqd->reason), rqd->ref.ra, rqd->ta); info = (struct lchan_activate_info){ - .activ_for = FOR_MS_CHANNEL_REQUEST, + .activ_for = ACTIVATE_FOR_MS_CHANNEL_REQUEST, .chan_mode = GSM48_CMODE_SIGN, .ta = rqd->ta, .ta_known = true, diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 6d07a39..3a17396 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -495,7 +495,7 @@ gsm_lchan_name(conn->lchan)); info = (struct lchan_activate_info){ - .activ_for = FOR_ASSIGNMENT, + .activ_for = ACTIVATE_FOR_ASSIGNMENT, .for_conn = conn, .chan_mode = conn->lchan->ch_mode_rate.chan_mode, .encr = conn->lchan->encr, @@ -572,7 +572,7 @@ assignment_fsm_state_chg(ASSIGNMENT_ST_WAIT_LCHAN_ACTIVE); info = (struct lchan_activate_info){ - .activ_for = FOR_ASSIGNMENT, + .activ_for = ACTIVATE_FOR_ASSIGNMENT, .for_conn = conn, .chan_mode = conn->lchan->ch_mode_rate.chan_mode, .encr = conn->lchan->encr, diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index ab883f4..c482fb9 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6070,13 +6070,13 @@ lchan->type = lchan_t; if (!strcmp(codec_str, "hr") || !strcmp(codec_str, "fr")) { info = (struct lchan_activate_info) { - .activ_for = FOR_VTY, + .activ_for = ACTIVATE_FOR_VTY, .chan_mode = GSM48_CMODE_SPEECH_V1, .requires_voice_stream = false, }; } else if (!strcmp(codec_str, "efr")) { info = (struct lchan_activate_info) { - .activ_for = FOR_VTY, + .activ_for = ACTIVATE_FOR_VTY, .chan_mode = GSM48_CMODE_SPEECH_EFR, .s15_s0 = amr_modes[amr_mode], .requires_voice_stream = false, @@ -6087,14 +6087,14 @@ return CMD_WARNING; } info = (struct lchan_activate_info) { - .activ_for = FOR_VTY, + .activ_for = ACTIVATE_FOR_VTY, .chan_mode = GSM48_CMODE_SPEECH_AMR, .s15_s0 = amr_modes[amr_mode], .requires_voice_stream = false, }; } else if (!strcmp(codec_str, "sig")) { info = (struct lchan_activate_info) { - .activ_for = FOR_VTY, + .activ_for = ACTIVATE_FOR_VTY, .chan_mode = GSM48_CMODE_SIGN, .requires_voice_stream = false, }; diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 2595ea9..d5a9d6b 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -908,11 +908,11 @@ } const struct value_string lchan_activate_mode_names[] = { - OSMO_VALUE_STRING(FOR_NONE), - OSMO_VALUE_STRING(FOR_MS_CHANNEL_REQUEST), - OSMO_VALUE_STRING(FOR_ASSIGNMENT), - OSMO_VALUE_STRING(FOR_HANDOVER), - OSMO_VALUE_STRING(FOR_VTY), + OSMO_VALUE_STRING(ACTIVATE_FOR_NONE), + OSMO_VALUE_STRING(ACTIVATE_FOR_MS_CHANNEL_REQUEST), + OSMO_VALUE_STRING(ACTIVATE_FOR_ASSIGNMENT), + OSMO_VALUE_STRING(ACTIVATE_FOR_HANDOVER), + OSMO_VALUE_STRING(ACTIVATE_FOR_VTY), {} }; diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 53cafed..0b5a8be 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -396,7 +396,7 @@ ho_fsm_state_chg(HO_ST_WAIT_LCHAN_ACTIVE); info = (struct lchan_activate_info){ - .activ_for = FOR_HANDOVER, + .activ_for = ACTIVATE_FOR_HANDOVER, .for_conn = conn, .chan_mode = conn->lchan->tch_mode, .encr = conn->lchan->encr, @@ -694,7 +694,7 @@ ho_fsm_state_chg(HO_ST_WAIT_LCHAN_ACTIVE); info = (struct lchan_activate_info){ - .activ_for = FOR_HANDOVER, + .activ_for = ACTIVATE_FOR_HANDOVER, .for_conn = conn, .chan_mode = ch_mode_rate.chan_mode, .s15_s0 = ch_mode_rate.s15_s0, diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 94f7821..8527d38 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -80,7 +80,7 @@ switch (activ_for) { - case FOR_MS_CHANNEL_REQUEST: + case ACTIVATE_FOR_MS_CHANNEL_REQUEST: if (!lchan->activate.immediate_assignment_sent) { /* Failure before Immediate Assignment message, send a reject. */ LOG_LCHAN(lchan, LOGL_NOTICE, "Tx Immediate Assignment Reject (%s)\n", @@ -92,14 +92,14 @@ * lchan_on_activation_failure(), no additional action or logging needed. */ break; - case FOR_ASSIGNMENT: + case ACTIVATE_FOR_ASSIGNMENT: LOG_LCHAN(lchan, LOGL_NOTICE, "Signalling Assignment FSM of error (%s)\n", lchan->last_error ? : "unknown error"); _osmo_fsm_inst_dispatch(for_conn->assignment.fi, ASSIGNMENT_EV_LCHAN_ERROR, lchan, file, line); return; - case FOR_HANDOVER: + case ACTIVATE_FOR_HANDOVER: LOG_LCHAN(lchan, LOGL_NOTICE, "Signalling Handover FSM of error (%s)\n", lchan->last_error ? : "unknown error"); if (!for_conn) { @@ -117,7 +117,7 @@ _osmo_fsm_inst_dispatch(for_conn->ho.fi, HO_EV_LCHAN_ERROR, lchan, file, line); break; - case FOR_VTY: + case ACTIVATE_FOR_VTY: LOG_LCHAN(lchan, LOGL_ERROR, "VTY user invoked lchan activation failed (%s)\n", lchan->last_error ? : "unknown error"); break; @@ -136,12 +136,12 @@ lchan->activate.concluded = true; switch (lchan->activate.info.activ_for) { - case FOR_MS_CHANNEL_REQUEST: + case ACTIVATE_FOR_MS_CHANNEL_REQUEST: /* No signalling to do here, MS is free to use the channel, and should go on to connect * to the MSC and establish a subscriber connection. */ break; - case FOR_ASSIGNMENT: + case ACTIVATE_FOR_ASSIGNMENT: if (!lchan->conn) { LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for assignment succeeded, but lchan has no conn:" @@ -163,7 +163,7 @@ * will try to roll back a modified RTP connection. */ break; - case FOR_HANDOVER: + case ACTIVATE_FOR_HANDOVER: if (!lchan->conn) { LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for handover succeeded, but lchan has no conn\n"); @@ -264,7 +264,7 @@ switch (info->activ_for) { - case FOR_ASSIGNMENT: + case ACTIVATE_FOR_ASSIGNMENT: if (!info->for_conn || !info->for_conn->fi) { LOG_LCHAN(lchan, LOGL_ERROR, "Activation requested, but no conn\n"); @@ -281,7 +281,7 @@ } break; - case FOR_HANDOVER: + case ACTIVATE_FOR_HANDOVER: if (!info->for_conn || !info->for_conn->fi) { LOG_LCHAN(lchan, LOGL_ERROR, "Activation requested, but no conn\n"); @@ -452,7 +452,7 @@ mr = &bts->mr_half; mr_conf_bts = (struct gsm48_multi_rate_conf *)mr->gsm48_ie; - if (lchan->activate.info.activ_for == FOR_VTY) + if (lchan->activate.info.activ_for == ACTIVATE_FOR_VTY) /* If the channel is activated manually from VTY, then there is no * conn attached to the lchan, also no MSC is involved. Since this * option is for debugging and the codec choice is an intentional @@ -486,7 +486,7 @@ * configuration that is set for the BTS and the specified rate. * if the channel activation was triggerd by the VTY, do not * filter anything (see also comment above) */ - if (lchan->activate.info.activ_for != FOR_VTY) { + if (lchan->activate.info.activ_for != ACTIVATE_FOR_VTY) { rc_rate = calc_amr_rate_intersection(&mr_conf_filtered, mr_conf_bts, &mr_conf_filtered); if (rc_rate < 0) { LOG_LCHAN(lchan, LOGL_ERROR, @@ -670,15 +670,15 @@ } switch (lchan->activate.info.activ_for) { - case FOR_MS_CHANNEL_REQUEST: + case ACTIVATE_FOR_MS_CHANNEL_REQUEST: act_type = RSL_ACT_INTRA_IMM_ASS; break; - case FOR_HANDOVER: + case ACTIVATE_FOR_HANDOVER: act_type = lchan->conn->ho.async ? RSL_ACT_INTER_ASYNC : RSL_ACT_INTER_SYNC; ho_ref = lchan->conn->ho.ho_ref; break; default: - case FOR_ASSIGNMENT: + case ACTIVATE_FOR_ASSIGNMENT: act_type = RSL_ACT_INTRA_NORM_ASS; break; } @@ -762,7 +762,7 @@ switch (lchan->activate.info.activ_for) { - case FOR_MS_CHANNEL_REQUEST: + case ACTIVATE_FOR_MS_CHANNEL_REQUEST: rc = rsl_tx_imm_assignment(lchan); if (rc) { lchan_fail("Failed to Tx RR Immediate Assignment message (rc=%d %s)\n", @@ -773,7 +773,7 @@ lchan->activate.immediate_assignment_sent = true; break; - case FOR_ASSIGNMENT: + case ACTIVATE_FOR_ASSIGNMENT: if (!lchan->conn) { LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for assignment succeeded, but lchan has no conn:" @@ -793,7 +793,7 @@ osmo_fsm_inst_dispatch(lchan->conn->assignment.fi, ASSIGNMENT_EV_LCHAN_ACTIVE, lchan); break; - case FOR_HANDOVER: + case ACTIVATE_FOR_HANDOVER: if (!lchan->conn) { LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for handover succeeded, but lchan has no conn:" @@ -833,7 +833,7 @@ /* When activating a channel for VTY, skip waiting for activity from * lchan_rtp_fsm, but only if no voice stream is required. */ - if (lchan->activate.info.activ_for == FOR_VTY && + if (lchan->activate.info.activ_for == ACTIVATE_FOR_VTY && !lchan->activate.info.requires_voice_stream) { lchan_fsm_state_chg(LCHAN_ST_ESTABLISHED); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12190d4d154a1da6a9ebc9a755ccc2fe382ff188 Gerrit-Change-Number: 24300 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 17:11:32 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 May 2021 17:11:32 +0000 Subject: Change in osmo-bsc[master]: cosmetic: rename lchan_activate_mode to lchan_activate_for References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24301 ) Change subject: cosmetic: rename lchan_activate_mode to lchan_activate_for ...................................................................... cosmetic: rename lchan_activate_mode to lchan_activate_for In subsequent patches, I will add enum lchan_modify_for and enum assignment_for, I prefer to have similar lchan_activate_for naming. Change-Id: Ia4420fcd1234dbee92e768e5a32eab13fba29ea9 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/lchan_fsm.c 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/01/24301/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index e3101ff..bd83ea0 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -558,7 +558,7 @@ */ #define ts_for_each_potential_lchan(lchan, ts) ts_as_pchan_for_each_lchan(lchan, ts, (ts)->pchan_on_init) -enum lchan_activate_mode { +enum lchan_activate_for { ACTIVATE_FOR_NONE, ACTIVATE_FOR_MS_CHANNEL_REQUEST, ACTIVATE_FOR_ASSIGNMENT, @@ -567,11 +567,11 @@ }; extern const struct value_string lchan_activate_mode_names[]; -static inline const char *lchan_activate_mode_name(enum lchan_activate_mode activ_for) +static inline const char *lchan_activate_mode_name(enum lchan_activate_for activ_for) { return get_value_string(lchan_activate_mode_names, activ_for); } struct lchan_activate_info { - enum lchan_activate_mode activ_for; + enum lchan_activate_for activ_for; struct gsm_subscriber_connection *for_conn; /* This always is for a specific lchan, so its lchan->type indicates full or half rate. * When a dyn TS was selected, the lchan->type has been set to the desired rate. */ diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 8527d38..83524e0 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -70,7 +70,7 @@ #define lchan_on_activation_failure(lchan, for_conn, activ_for) \ _lchan_on_activation_failure(lchan, for_conn, activ_for, \ __FILE__, __LINE__) -static void _lchan_on_activation_failure(struct gsm_lchan *lchan, enum lchan_activate_mode activ_for, +static void _lchan_on_activation_failure(struct gsm_lchan *lchan, enum lchan_activate_for activ_for, struct gsm_subscriber_connection *for_conn, const char *file, int line) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia4420fcd1234dbee92e768e5a32eab13fba29ea9 Gerrit-Change-Number: 24301 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 17:11:32 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 May 2021 17:11:32 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: tweak error log msg for mixed modes References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24302 ) Change subject: assignment_fsm: tweak error log msg for mixed modes ...................................................................... assignment_fsm: tweak error log msg for mixed modes Change-Id: Ic42b141012215f428066d739a2099b217f4e5d41 --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/02/24302/1 diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 228cb1f..cf3c50e 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -401,7 +401,7 @@ requires_voice_pref = requires_voice_alt; else if (requires_voice_alt != requires_voice_pref) { assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, - "Inconsistent channel modes: %s != %s", + "Requested a mix of Signalling and non-Signalling channel modes: %s != %s", gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode), gsm48_chan_mode_name(req->ch_mode_rate[i].chan_mode)); return -EINVAL; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic42b141012215f428066d739a2099b217f4e5d41 Gerrit-Change-Number: 24302 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 17:11:33 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 May 2021 17:11:33 +0000 Subject: Change in osmo-bsc[master]: handover_test: ack release only when lchan is still waiting References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24303 ) Change subject: handover_test: ack release only when lchan is still waiting ...................................................................... handover_test: ack release only when lchan is still waiting Change-Id: I4c7596df06d7c211adcfcd110a1984903a0820e1 --- M tests/handover/handover_test.c 1 file changed, 8 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/03/24303/1 diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index d2b1757..8e23a4f 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -439,12 +439,14 @@ static void lchan_release_ack(struct gsm_lchan *lchan) { - if (lchan->fi && lchan->fi->state == LCHAN_ST_WAIT_BEFORE_RF_RELEASE) { - /* don't wait before release */ - osmo_fsm_inst_state_chg(lchan->fi, LCHAN_ST_WAIT_RF_RELEASE_ACK, 0, 0); - /* ack the release */ - osmo_fsm_inst_dispatch(lchan->fi, LCHAN_EV_RSL_RF_CHAN_REL_ACK, 0); - } + if (!lchan->fi || lchan->fi->state != LCHAN_ST_WAIT_BEFORE_RF_RELEASE) + return; + /* don't wait before release */ + osmo_fsm_inst_state_chg(lchan->fi, LCHAN_ST_WAIT_RF_RELEASE_ACK, 0, 0); + if (lchan->fi->state == LCHAN_ST_UNUSED) + return; + /* ack the release */ + osmo_fsm_inst_dispatch(lchan->fi, LCHAN_EV_RSL_RF_CHAN_REL_ACK, 0); } static void lchan_clear(struct gsm_lchan *lchan) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c7596df06d7c211adcfcd110a1984903a0820e1 Gerrit-Change-Number: 24303 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 17:14:52 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 19 May 2021 17:14:52 +0000 Subject: Change in osmo-sgsn[master]: add support for multiple encryption algorithms + a5/4 References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 ) Change subject: add support for multiple encryption algorithms + a5/4 ...................................................................... add support for multiple encryption algorithms + a5/4 config file syntax is backwards compatible Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Related: SYS#5324 --- M include/osmocom/sgsn/gprs_sgsn.h M include/osmocom/sgsn/sgsn.h M src/sgsn/gprs_gmm.c M src/sgsn/gprs_llc.c M src/sgsn/gprs_sgsn.c M src/sgsn/sgsn_vty.c 6 files changed, 93 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/04/24304/1 diff --git a/include/osmocom/sgsn/gprs_sgsn.h b/include/osmocom/sgsn/gprs_sgsn.h index 289e0c4..c176494 100644 --- a/include/osmocom/sgsn/gprs_sgsn.h +++ b/include/osmocom/sgsn/gprs_sgsn.h @@ -175,6 +175,7 @@ /* Iu: CK, IK, KSI */ /* CKSN */ enum gprs_ciph_algo ciph_algo; + uint8_t ue_cipher_mask; /* Auth & Ciphering Request reference from 3GPP TS 24.008 ? 10.5.5.19: */ uint8_t ac_ref_nr_used; diff --git a/include/osmocom/sgsn/sgsn.h b/include/osmocom/sgsn/sgsn.h index b686c7c..5b29873 100644 --- a/include/osmocom/sgsn/sgsn.h +++ b/include/osmocom/sgsn/sgsn.h @@ -76,7 +76,7 @@ struct gprs_ns2_inst *nsi; enum sgsn_auth_policy auth_policy; - enum gprs_ciph_algo cipher; + uint8_t cipher_support_mask; struct llist_head imsi_acl; struct sockaddr_in gsup_server_addr; diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index edddd2d..4654709 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -445,6 +445,17 @@ return false; } +static enum gprs_ciph_algo gprs_ms_net_select_best_gea(uint8_t net_mask, uint8_t ms_mask) { + uint8_t common_mask = net_mask & ms_mask; + uint8_t r = 0; + + while (common_mask >>= 1) { + r++; + } + + return r; +} + /* 3GPP TS 24.008 ? 9.4.9: Authentication and Ciphering Request */ int gsm48_tx_gmm_auth_ciph_req(struct sgsn_mm_ctx *mm, const struct osmo_auth_vector *vec, @@ -1147,6 +1158,21 @@ } +static uint8_t gprs_ms_net_cap_gea_mask(const uint8_t *ms_net_cap, uint8_t cap_len) +{ + uint8_t mask = (1 << GPRS_ALGO_GEA0); + mask |= (0x80 & ms_net_cap[0]) ? (1 << GPRS_ALGO_GEA1) : 0; + + if(cap_len < 2) + return mask; + + /* extended GEA bits start from 2nd bit of the next byte */ + mask |= (0x40 & ms_net_cap[1]) ? (1 << GPRS_ALGO_GEA2) : 0; + mask |= (0x20 & ms_net_cap[1]) ? (1 << GPRS_ALGO_GEA3) : 0; + mask |= (0x10 & ms_net_cap[1]) ? (1 << GPRS_ALGO_GEA4) : 0; + return mask; +} + /* 3GPP TS 24.008 ? 9.4.1 Attach request */ static int gsm48_rx_gmm_att_req(struct sgsn_mm_ctx *ctx, struct msgb *msg, struct gprs_llc_llme *llme) @@ -1290,15 +1316,27 @@ ctx->ms_radio_access_capa.len); ctx->ms_network_capa.len = msnc_len; memcpy(ctx->ms_network_capa.buf, msnc, msnc_len); - if (!gprs_ms_net_cap_gea_supported(ctx->ms_network_capa.buf, msnc_len, - ctx->ciph_algo)) { + + ctx->ue_cipher_mask = gprs_ms_net_cap_gea_mask(ctx->ms_network_capa.buf, msnc_len); + + if (!(ctx->ue_cipher_mask & sgsn->cfg.cipher_support_mask)) { reject_cause = GMM_CAUSE_PROTO_ERR_UNSPEC; LOGMMCTXP(LOGL_NOTICE, ctx, "Rejecting ATTACH REQUEST with MI " - "%s because MS do not support required %s " - "encryption\n", mi_log_string, - get_value_string(gprs_cipher_names,ctx->ciph_algo)); + "%s because MS do not support required encryption, mask UE:0x%02x NW:0x%02x \n", + mi_log_string, ctx->ue_cipher_mask, sgsn->cfg.cipher_support_mask); goto rejected; } + + /* just assume that everythig is fine if the phone offers a5/4: + * it requires a valid umts security context which we can only have after + * 1) IDENTITY REQUEST to know what to ask the HLR for + * 2) and AUTHENTICATION AND CIPHERING REQUEST + * ... but 2) already requires selecting a cipher mode. + * So let's just assume we will have the auth data required to make it work. + */ + + ctx->ciph_algo = gprs_ms_net_select_best_gea(ctx->ue_cipher_mask, sgsn->cfg.cipher_support_mask); + #ifdef PTMSI_ALLOC /* Allocate a new P-TMSI (+ P-TMSI signature) and update TLLI */ ptmsi_update(ctx); diff --git a/src/sgsn/gprs_llc.c b/src/sgsn/gprs_llc.c index e357d16..73fb97f 100644 --- a/src/sgsn/gprs_llc.c +++ b/src/sgsn/gprs_llc.c @@ -42,6 +42,8 @@ #include #include +#include + const struct value_string gprs_llc_llme_state_names[] = { { GPRS_LLMS_UNASSIGNED, "UNASSIGNED" }, { GPRS_LLMS_ASSIGNED, "ASSIGNED" }, @@ -713,6 +715,7 @@ /* Compute the 'Input' Paraemeter */ uint32_t fcs_calc, iv = gprs_cipher_gen_input_ui(lle->llme->iov_ui, sapi, nu, oc); + /* Compute gamma that we need to XOR with the data */ int r = gprs_cipher_run(cipher_out, crypt_len, lle->llme->algo, lle->llme->kc, iv, @@ -1042,8 +1045,13 @@ llme->algo = mm->ciph_algo; if (llme->cksn != mm->auth_triplet.key_seq && mm->auth_triplet.key_seq != GSM_KEY_SEQ_INVAL) { - memcpy(llme->kc, mm->auth_triplet.vec.kc, - gprs_cipher_key_length(mm->ciph_algo)); + + /* gea4 needs kc128 */ + if (mm->ciph_algo == GPRS_ALGO_GEA4) + osmo_kdf_kc128(mm->auth_triplet.vec.ck, mm->auth_triplet.vec.ik, llme->kc); + else + memcpy(llme->kc, mm->auth_triplet.vec.kc, gprs_cipher_key_length(mm->ciph_algo)); + llme->cksn = mm->auth_triplet.key_seq; } } else diff --git a/src/sgsn/gprs_sgsn.c b/src/sgsn/gprs_sgsn.c index f744257..3441f54 100644 --- a/src/sgsn/gprs_sgsn.c +++ b/src/sgsn/gprs_sgsn.c @@ -293,11 +293,9 @@ memcpy(&ctx->ra, raid, sizeof(ctx->ra)); ctx->ran_type = MM_CTX_T_GERAN_Gb; ctx->gb.tlli = tlli; - ctx->ciph_algo = sgsn->cfg.cipher; + ctx->ciph_algo = GPRS_ALGO_GEA4; // overwritten on attach osmo_fsm_inst_update_id_f(ctx->gb.mm_state_fsm, "%" PRIu32, tlli); - LOGMMCTXP(LOGL_DEBUG, ctx, "Allocated with %s cipher.\n", - get_value_string(gprs_cipher_names, ctx->ciph_algo)); return ctx; } diff --git a/src/sgsn/sgsn_vty.c b/src/sgsn/sgsn_vty.c index 76d5202..533f9ca 100644 --- a/src/sgsn/sgsn_vty.c +++ b/src/sgsn/sgsn_vty.c @@ -206,6 +206,7 @@ struct apn_ctx *actx; struct ares_addr_node *server; struct sgsn_mme_ctx *mme; + int i; vty_out(vty, "sgsn%s", VTY_NEWLINE); @@ -236,10 +237,15 @@ for (server = sgsn->ares_servers; server; server = server->next) vty_out(vty, " grx-dns-add %s%s", inet_ntoa(server->addr.addr4), VTY_NEWLINE); - if (g_cfg->cipher != GPRS_ALGO_GEA0) - vty_out(vty, " encryption %s%s", - get_value_string(gprs_cipher_names, g_cfg->cipher), - VTY_NEWLINE); + if (g_cfg->cipher_support_mask != 0) { + vty_out(vty, " encryption"); + + for (i = 0; i < 6; i++) + if (g_cfg->cipher_support_mask >> i & 1) + vty_out(vty, " %s", get_value_string(gprs_cipher_names, i)); + + vty_out(vty, "%s", VTY_NEWLINE); + } if (g_cfg->sgsn_ipa_name) vty_out(vty, " gsup ipa-name %s%s", g_cfg->sgsn_ipa_name, VTY_NEWLINE); if (g_cfg->gsup_server_addr.sin_addr.s_addr) @@ -723,27 +729,36 @@ } DEFUN(cfg_encrypt, cfg_encrypt_cmd, - "encryption (GEA0|GEA1|GEA2|GEA3|GEA4)", - "Set encryption algorithm for SGSN\n" - "Use GEA0 (no encryption)\n" - "Use GEA1\nUse GEA2\nUse GEA3\nUse GEA4\n") + "encryption (GEA0-4) [GEA0-4] [GEA0-4] [GEA0-4] [GEA0-4]", + "Set encryption algorithm for SGSN\n" + "GEAn Algorithm Number\n" + "GEAn Algorithm Number\n" + "GEAn Algorithm Number\n" + "GEAn Algorithm Number\n" + "GEAn Algorithm Number\n") { - enum gprs_ciph_algo c = get_string_value(gprs_cipher_names, argv[0]); - if (c != GPRS_ALGO_GEA0) { - if (!gprs_cipher_supported(c)) { - vty_out(vty, "%% cipher %s is unsupported in current version%s", argv[0], VTY_NEWLINE); - return CMD_WARNING; + int i = argc; + + g_cfg->cipher_support_mask = 0; + + for (i = 0; i < argc; i++) { + enum gprs_ciph_algo c = get_string_value(gprs_cipher_names, argv[i]); + if (c != GPRS_ALGO_GEA0) { + if (!gprs_cipher_supported(c)) { + vty_out(vty, "%% cipher %s is unsupported in current version%s", argv[i], VTY_NEWLINE); + return CMD_ERR_INCOMPLETE; + } + + if (!g_cfg->require_authentication) { + vty_out(vty, "%% unable to use encryption %s without authentication: please adjust auth-policy%s", + argv[i], VTY_NEWLINE); + return CMD_ERR_INCOMPLETE; + } } - if (!g_cfg->require_authentication) { - vty_out(vty, "%% unable to use encryption %s without authentication: please adjust auth-policy%s", - argv[0], VTY_NEWLINE); - return CMD_WARNING; - } + g_cfg->cipher_support_mask |= (1 << c); } - g_cfg->cipher = c; - return CMD_SUCCESS; } @@ -1692,6 +1707,8 @@ /* make sure sgsn_vty_init() was called before this */ OSMO_ASSERT(g_cfg); + g_cfg->cipher_support_mask = 1; // default to GEA0 support + rc = vty_read_config_file(config_file, NULL); if (rc < 0) { fprintf(stderr, "Failed to parse the config file: '%s'\n", config_file); -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Gerrit-Change-Number: 24304 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 17:49:41 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 19 May 2021 17:49:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add first a5/4 tests In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 ) Change subject: msc: add first a5/4 tests ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 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: Idc055a006b325f58a5eafa88bc4415181b3500a2 Gerrit-Change-Number: 24247 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 19 May 2021 17:49:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 17:50:12 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 19 May 2021 17:50:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add first a5/4 tests In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 ) Change subject: msc: add first a5/4 tests ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 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: Idc055a006b325f58a5eafa88bc4415181b3500a2 Gerrit-Change-Number: 24247 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 19 May 2021 17:50:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 17:50:16 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 19 May 2021 17:50:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add first a5/4 tests In-Reply-To: References: Message-ID: Hoernchen has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 ) Change subject: msc: add first a5/4 tests ...................................................................... msc: add first a5/4 tests All msc tests involving classmarks suffer from the same problem: if a existing subscriber is reused the old classmarks will stick, since the msc only overwrites updated parts of the cm when receiving a new cm, so "downgrading" the existing classmark information is not possible. This is circumvented here here by using different imsi suffixes, the last param passed to f_start_handler. Additionally the handler will now properly respond to cm requests by the msc, i.e. in case the early cm is not sufficient for a5/4 because it lacks cm3, so the msc attempts once to query the cm, hoping to get a cm3. Related: SYS#5324 Change-Id: Idc055a006b325f58a5eafa88bc4415181b3500a2 --- M library/BSSMAP_Templates.ttcn M msc/BSC_ConnectionHandler.ttcn M msc/MSC_Tests.ttcn M msc/expected-results.xml M msc/gen_links.sh M msc/regen_makefile.sh 6 files changed, 165 insertions(+), 6 deletions(-) Approvals: Hoernchen: Looks good to me, approved; Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index 1949fd6..c6698b1 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -1498,6 +1498,13 @@ } } + +template BSSMAP_IE_ClassmarkInformationType3 ts_CM3_default := { + elementIdentifier := '13'O, + lengthIndicator := 0, /* overwritten */ + classmark3ValuePart := '01'O /* A5/4 supported */ +} + template PDU_BSSAP ts_BSSMAP_ClassmarkUpd(template BSSMAP_IE_ClassmarkInformationType2 cm2 := ts_CM2_default, template BSSMAP_IE_ClassmarkInformationType3 cm3 := omit) modifies ts_BSSAP_BSSMAP := { @@ -1540,6 +1547,18 @@ } } +template PDU_BSSAP tr_BSSMAP_ClassmarkRequest +modifies tr_BSSAP_BSSMAP := { + pdu := { + bssmap := { + classmarkRequest := { + messageType := '58'O, + talkerPriority := * + } + } + } +} + /* return Layer3 octetstring inside BSSAP PDU */ function f_bssap_extract_l3(PDU_BSSAP bssap) return template octetstring { if (ischosen(bssap.pdu.bssmap)) { diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index 8ca8264..8eb3f73 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -12,6 +12,7 @@ module BSC_ConnectionHandler { +import from TCCOpenSecurity_Functions all; import from General_Types all; import from Osmocom_Types all; import from Native_Functions all; @@ -111,7 +112,7 @@ }; /* get a one-octet bitmaks of supported algorithms based on Classmark information */ -function f_alg_mask_from_cm(BSSMAP_IE_ClassmarkInformationType2 cm2) return OCT1 { +function f_alg_mask_from_cm(BSSMAP_IE_ClassmarkInformationType2 cm2, template (omit) BSSMAP_IE_ClassmarkInformationType3 cm3 := omit) return OCT1 { var BIT8 res := '00000001'B; /* A5/0 always supported */ if (cm2.a5_1 == '0'B) { @@ -123,7 +124,12 @@ if (cm2.classmarkInformationType2_oct5.a5_3 == '1'B) { res := res or4b '00001000'B; } - /* TODO: CM3 for A5/4 and beyond */ + if (not istemplatekind(cm3, "omit")) { + var BSSMAP_IE_ClassmarkInformationType3 v := valueof(cm3); + var BIT8 tmp := oct2bit(v.classmark3ValuePart[0]) and4b '00001111'B; + res := res or4b (tmp << 4); + } + return bit2oct(res); } @@ -155,6 +161,15 @@ return -1; } +/* return true for A5/x supported by OCT1 bitmask */ +function f_alg_supported_by_mask(OCT1 mask_in, integer whicha5) return boolean { + var BIT8 mask := oct2bit(mask_in); + if (mask and4b ('00000001'B << whicha5) != '00000000'B) { + return true; + } + return false; +} + /* altstep for the global guard timer */ private altstep as_Tguard() runs on BSC_ConnHdlr { [] g_Tguard.timeout { @@ -420,6 +435,7 @@ g_pars.vec.autn, g_pars.vec.res)); GSUP.send(ts_GSUP_SAI_RES(g_pars.imsi, auth_tuple)); + g_pars.vec.kc := f_auth3g_kc(); } else { g_pars.vec := f_gen_auth_vec_2g(); auth_tuple := valueof(ts_GSUP_IE_AuthTuple2G(g_pars.vec.rand, @@ -532,15 +548,49 @@ } } +function f_auth3g_kc() runs on BSC_ConnHdlr return OCT8 { + var integer i; + var octetstring res := g_pars.vec.ck[0] xor4b g_pars.vec.ck[0 + 8] xor4b g_pars.vec.ik[0] xor4b g_pars.vec.ik[0 + 8]; + for (i := 1; i < 8; i := i + 1) { + var octetstring a := g_pars.vec.ck[i] xor4b g_pars.vec.ck[i + 8] xor4b g_pars.vec.ik[i] xor4b g_pars.vec.ik[i + 8]; + res := res & a; + } + + return res; +} + + function f_mm_common() runs on BSC_ConnHdlr { f_mm_auth(); if (g_pars.ran_is_geran) { if (g_pars.net.expect_ciph) { - var OCT1 a5_net := f_alg_mask_from_cm(g_pars.cm2); + var OCT1 a5_net := f_alg_mask_from_cm(g_pars.cm2, g_pars.cm3); var OCT1 a5_intersect := g_pars.net.kc_support and4b a5_net; + var boolean has_a54 := f_alg_supported_by_mask(a5_intersect, 4); + + var PDU_BSSAP pdu; alt { - [] BSSAP.receive(tr_BSSMAP_CipherModeCmd(a5_intersect, g_pars.vec.kc)) { + [] BSSAP.receive(tr_BSSMAP_CipherModeCmd(a5_intersect, g_pars.vec.kc)) -> value pdu { + var PDU_BSSMAP_CipherModeCommand ciphmodcmd := pdu.pdu.bssmap.cipherModeCommand; + if (g_pars.use_umts_aka and has_a54) { + var OCT32 fulloutput := f_calculate_HMAC_SHA256(g_pars.vec.ck & g_pars.vec.ik, '32'O, 32); + var OCT16 kc128 := substr(fulloutput, 0, 16); + if (not ispresent(ciphmodcmd.kC128)) { + setverdict(fail, "kc128 missing in CiphModCmd"); + mtc.stop; + } + if (ciphmodcmd.kC128.kC128_Value != kc128) { + setverdict(fail, "kc128 wrong in CiphModCmd?!", kc128); + mtc.stop; + } + } else { + if (ispresent(ciphmodcmd.kC128)) { + setverdict(fail, "kc128 present in CiphModCmd, but should not exist!"); + mtc.stop; + } + } + var OCT1 a5_chosen := f_best_alg_from_mask(a5_intersect); var integer a5_nr := f_alg_from_mask(a5_chosen); BSSAP.send(ts_BSSMAP_CipherModeCompl(int2oct(a5_nr+1, 1))); @@ -549,6 +599,10 @@ setverdict(fail, "Wrong ciphering algorithm mask in CiphModCmd"); mtc.stop; } + [] BSSAP.receive(tr_BSSMAP_ClassmarkRequest) { + BSSAP.send(ts_BSSMAP_ClassmarkUpd(g_pars.cm2, g_pars.cm3)) + repeat; + } } /* FIXME: Send the best available algorithm */ } diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 0fdc376..b791782 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -2009,6 +2009,84 @@ vc_conn.done; } +/* A5/0 + A5/1 + A5/3 + a5/4 only permitted on network side, and MS with only A5/1 support */ +private function f_tc_lu_imsi_auth_tmsi_encr_0134_1(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + pars.net.expect_auth := true; + pars.net.expect_ciph := true; + pars.net.kc_support := '03'O; /* A5/0 + A5/1 */ + pars.cm1.a5_1 := '0'B; + pars.cm2.a5_1 := '0'B; + pars.cm2.classmarkInformationType2_oct5.a5_3 := '0'B; + pars.cm2.classmarkInformationType2_oct5.a5_2 := '0'B; + pars.cm2.classmarkInformationType2_oct5.cm3 := '0'B; + pars.cm3 := omit; + pars.use_umts_aka := true; + + f_init_handler(pars, 15.0); + f_perform_lu(); +} +testcase TC_lu_imsi_auth_tmsi_encr_0134_1() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + f_vty_config(MSCVTY, "network", "authentication required"); + f_vty_config(MSCVTY, "network", "encryption a5 0 1 3 4"); + + vc_conn := f_start_handler(refers(f_tc_lu_imsi_auth_tmsi_encr_0134_1), 39); + vc_conn.done; +} + +/* A5/0 + A5/1 + A5/3 + a5/4 only permitted on network side, and MS with A5/3 + A5/4 support */ +private function f_tc_lu_imsi_auth_tmsi_encr_0134_34(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + pars.net.expect_auth := true; + pars.net.expect_ciph := true; + pars.net.kc_support := '19'O; /* A5/3 + A5/4 */ + pars.cm1.a5_1 := '1'B; + pars.cm2.a5_1 := '1'B; + pars.cm2.classmarkInformationType2_oct5.a5_3 := '1'B; + pars.cm2.classmarkInformationType2_oct5.a5_2 := '0'B; + pars.cm2.classmarkInformationType2_oct5.cm3 := '1'B; + pars.cm3 := valueof(ts_CM3_default); + pars.use_umts_aka := true; + + f_init_handler(pars, 15.0); + f_perform_lu(); +} +testcase TC_lu_imsi_auth_tmsi_encr_0134_34() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + f_vty_config(MSCVTY, "network", "authentication required"); + f_vty_config(MSCVTY, "network", "encryption a5 0 1 3 4"); + + vc_conn := f_start_handler(refers(f_tc_lu_imsi_auth_tmsi_encr_0134_34), 40); + vc_conn.done; +} + +/* A5/0 + A5/1 + A5/3 + a5/4 only permitted on network side, and MS with A5/3 support but no CM3 */ +private function f_tc_lu_imsi_auth_tmsi_encr_0134_34_no_cm3(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + pars.net.expect_auth := true; + pars.net.expect_ciph := true; + pars.net.kc_support := '19'O; /* A5/3 + A5/4 */ + pars.cm1.a5_1 := '1'B; + pars.cm2.a5_1 := '1'B; + pars.cm2.classmarkInformationType2_oct5.a5_3 := '1'B; + pars.cm2.classmarkInformationType2_oct5.a5_2 := '0'B; + pars.cm2.classmarkInformationType2_oct5.cm3 := '0'B; + pars.cm3 := omit; + pars.use_umts_aka := true; + + f_init_handler(pars, 15.0); + f_perform_lu(); +} +testcase TC_lu_imsi_auth_tmsi_encr_0134_34_no_cm3() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + f_vty_config(MSCVTY, "network", "authentication required"); + f_vty_config(MSCVTY, "network", "encryption a5 0 1 3 4"); + + vc_conn := f_start_handler(refers(f_tc_lu_imsi_auth_tmsi_encr_0134_34_no_cm3), 41); + vc_conn.done; +} + /* A5/0 + A5/1 + A5/3 only permitted on network side, and MS with only A5/2 support */ private function f_tc_lu_imsi_auth_tmsi_encr_013_2(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { pars.net.expect_auth := true; @@ -6458,6 +6536,10 @@ execute( TC_lu_imsi_auth_tmsi_encr_3_1_no_cm() ); execute( TC_lu_imsi_auth_tmsi_encr_13_2() ); execute( TC_lu_imsi_auth_tmsi_encr_013_2() ); + execute( TC_lu_imsi_auth_tmsi_encr_0134_1() ); + execute( TC_lu_imsi_auth_tmsi_encr_0134_34() ); + execute( TC_lu_imsi_auth_tmsi_encr_0134_34_no_cm3() ); + execute( TC_mo_release_timeout() ); execute( TC_lu_and_mt_call_no_dlcx_resp() ); execute( TC_reset_two() ); diff --git a/msc/expected-results.xml b/msc/expected-results.xml index a01cd22..4e2eeba 100644 --- a/msc/expected-results.xml +++ b/msc/expected-results.xml @@ -56,6 +56,9 @@ + + + diff --git a/msc/gen_links.sh b/msc/gen_links.sh index 221110e..b112a67 100755 --- a/msc/gen_links.sh +++ b/msc/gen_links.sh @@ -11,6 +11,7 @@ DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCInterface.cc TCCInterface_ip.h" FILES+=" TCCEncoding_Functions.ttcn TCCEncoding.cc " # GSM 7-bit coding +FILES+=" TCCOpenSecurity_Functions.ttcn TCCOpenSecurity.cc TCCOpenSecurity_Functions.hh" gen_links $DIR $FILES DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src diff --git a/msc/regen_makefile.sh b/msc/regen_makefile.sh index 6ee3ef5..cbb491d 100755 --- a/msc/regen_makefile.sh +++ b/msc/regen_makefile.sh @@ -1,9 +1,9 @@ #!/bin/sh -FILES="*.ttcn *.ttcnpp SCCP_EncDec.cc SCTPasp_PT.cc TCCConversion.cc TCCInterface.cc UD_PT.cc MNCC_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc SDP_EncDec.cc RTP_EncDec.cc IPA_CodecPort_CtrlFunctDef.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc TELNETasp_PT.cc Native_FunctionDefs.cc SMPP_EncDec.cc SMPP_CodecPort_CtrlFunctDef.cc MAP_EncDec.cc SS_EncDec.cc TCCEncoding.cc SGsAP_CodecPort_CtrlFunctDef.cc RANAP_EncDec.cc *.c *.asn" +FILES="*.ttcn *.ttcnpp SCCP_EncDec.cc SCTPasp_PT.cc TCCConversion.cc TCCInterface.cc UD_PT.cc MNCC_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc SDP_EncDec.cc RTP_EncDec.cc IPA_CodecPort_CtrlFunctDef.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc TELNETasp_PT.cc Native_FunctionDefs.cc SMPP_EncDec.cc SMPP_CodecPort_CtrlFunctDef.cc MAP_EncDec.cc SS_EncDec.cc TCCEncoding.cc SGsAP_CodecPort_CtrlFunctDef.cc RANAP_EncDec.cc TCCOpenSecurity.cc *.c *.asn" export CPPFLAGS_TTCN3="-DIPA_EMULATION_MGCP -DIPA_EMULATION_CTRL -DIPA_EMULATION_GSUP -DIPA_EMULATION_SCCP -DRAN_EMULATION_BSSAP -DRAN_EMULATION_MGCP -DRAN_EMULATION_CTRL -DRAN_EMULATION_RANAP -DUSE_MTP3_DISTRIBUTOR" ../regen-makefile.sh MSC_Tests.ttcn $FILES -sed -i -e 's/^LINUX_LIBS = -lxml2 -lsctp/LINUX_LIBS = -lxml2 -lsctp -lfftranscode/' Makefile +sed -i -e 's/^LINUX_LIBS = -lxml2 -lsctp/LINUX_LIBS = -lxml2 -lsctp -lfftranscode -lssl/' Makefile -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24247 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: Idc055a006b325f58a5eafa88bc4415181b3500a2 Gerrit-Change-Number: 24247 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Wed May 19 18:45:02 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Wed, 19 May 2021 18:45:02 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-opencm3-projects_=C2=BB_a1=3Ddefa?= =?UTF-8?Q?ult,a2=3Ddefault,a3=3Ddefault,a4=3Dde?= =?UTF-8?Q?fault,osmocom-master-debian9_#13?= In-Reply-To: <1811893321.1289.1621363502058@jenkins.osmocom.org> References: <1811893321.1289.1621363502058@jenkins.osmocom.org> Message-ID: <998049666.1359.1621449902128@jenkins.osmocom.org> See Changes: ------------------------------------------ Started by upstream project "master-osmo-opencm3-projects" build number 13 originally caused by: Started by timer Running as SYSTEM Building remotely on build2-deb9build-ansible (ttcn3 osmocom-gerrit-debian9 osmocom-master-debian9 repo-install-test coverity) in workspace The recommended git tool is: NONE No credentials specified > git rev-parse --resolve-git-dir # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git://git.osmocom.org/osmo-opencm3-projects # timeout=10 Fetching upstream changes from git://git.osmocom.org/osmo-opencm3-projects > git --version # timeout=10 > git --version # 'git version 2.11.0' > git fetch --tags --progress -- git://git.osmocom.org/osmo-opencm3-projects +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision 7527cab6d8364b2022bd4fa2fd03039eac2a99bb (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 Commit message: "add missing libcommon.mk" > git rev-list --no-walk 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.libopencm3.url # timeout=10 > git config -f .gitmodules --get submodule.libopencm3.path # timeout=10 > git config --get submodule.librfn.url # timeout=10 > git config -f .gitmodules --get submodule.librfn.path # timeout=10 > git submodule update --init --recursive libopencm3 # timeout=10 > git submodule update --init --recursive librfn # timeout=10 [osmocom-master-debian9] $ /bin/sh -xe /tmp/jenkins3156306151553641605.sh + ARTIFACT_STORE=/home/osmocom-build/jenkins_build_artifact_store + mkdir -p /home/osmocom-build/jenkins_build_artifact_store + docker run --rm=true --cap-add SYS_PTRACE -e ARTIFACT_STORE=/artifact_store -e ASCIIDOC_WARNINGS_CHECK=1 -e HOME=/build -e JOB_NAME=master-osmo-opencm3-projects/a1=default,a2=default,a3=default,a4=default,label=osmocom-master-debian9 -e MAKE=make -e OSMOPY_DEBUG_TCP_SOCKETS=1 -e OSMO_GSM_MANUALS_DIR=/opt/osmo-gsm-manuals -e PARALLEL_MAKE=-j 8 -e PUBLISH=1 -e WITH_MANUALS=1 -w /build -i -u build -v :/build -v /home/osmocom-build/jenkins_build_artifact_store:/artifact_store -v /home/osmocom-build/.ssh:/home/build/.ssh:ro osmocom-build/debian-stretch-jenkins /build/contrib/jenkins.sh --publish =============== relay-driver START ============== CLEAN CC console.c arm-none-eabi-gcc: error: /usr/lib/picolibc/arm-none-eabi/picolibc.specs: No such file or directory make: *** [console.o] Error 1 ../../mk/libopencm3.mk:227: recipe for target 'console.o' failed Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Wed May 19 20:11:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 May 2021 20:11:29 +0000 Subject: Change in osmo-bts[rel-1.3.2]: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24305 ) Change subject: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g ...................................................................... osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/05/24305/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index bf0650d..b4ffe52 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -94,7 +94,7 @@ } /* schedule all frames of all TRX for given FN */ -static void trx_sched_fn(struct gsm_bts *bts, const uint32_t fn) +static void bts_sched_fn(struct gsm_bts *bts, const uint32_t fn) { struct trx_dl_burst_req br; struct gsm_bts_trx *trx; @@ -306,9 +306,9 @@ goto no_clock; } - /* call trx_sched_fn() for all expired FN */ + /* call bts_sched_fn() for all expired FN */ for (i = 0; i < expire_count; i++) - trx_sched_fn(bts, GSM_TDMA_FN_INC(tcs->last_fn_timer.fn)); + bts_sched_fn(bts, GSM_TDMA_FN_INC(tcs->last_fn_timer.fn)); return 0; @@ -371,7 +371,7 @@ { tcs->last_fn_timer.fn = fn; /* call trx cheduler function for new 'last' FN */ - trx_sched_fn(bts, tcs->last_fn_timer.fn); + bts_sched_fn(bts, tcs->last_fn_timer.fn); /* schedule first FN clock timer */ osmo_timerfd_setup(&tcs->fn_timer_ofd, trx_fn_timer_cb, bts); @@ -454,7 +454,7 @@ /* transmit what we still need to transmit */ while (fn != tcs->last_fn_timer.fn) { - trx_sched_fn(bts, GSM_TDMA_FN_INC(tcs->last_fn_timer.fn)); + bts_sched_fn(bts, GSM_TDMA_FN_INC(tcs->last_fn_timer.fn)); fn_caught_up++; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 Gerrit-Change-Number: 24305 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 20:11:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 May 2021 20:11:29 +0000 Subject: Change in osmo-bts[rel-1.3.2]: osmo-bts-trx: remove redundant assert() in bts_sched_fn() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24306 ) Change subject: osmo-bts-trx: remove redundant assert() in bts_sched_fn() ...................................................................... osmo-bts-trx: remove redundant assert() in bts_sched_fn() trx_phy_instance() does assert() that the given TRX pointer is not NULL. In bts_sched_fn() it can never be NULL, so drop it. Change-Id: I896ff5117588f2229cc54619ce62fd027a9ef25f --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/06/24306/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index b4ffe52..43fa273 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -107,7 +107,7 @@ /* process every TRX */ llist_for_each_entry(trx, &bts->trx_list, list) { - struct phy_instance *pinst = trx_phy_instance(trx); + struct phy_instance *pinst = trx->role_bts.l1h; struct phy_link *plink = pinst->phy_link; struct trx_l1h *l1h = pinst->u.osmotrx.hdl; struct l1sched_trx *l1t = &l1h->l1s; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I896ff5117588f2229cc54619ce62fd027a9ef25f Gerrit-Change-Number: 24306 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 20:11:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 May 2021 20:11:29 +0000 Subject: Change in osmo-bts[rel-1.3.2]: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24307 ) Change subject: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() ...................................................................... osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() In change [1] together with the actual implementation I introduced a serious bug to bts_sched_fn(): if a timeslot is configured to use frequency hopping, both 'pinst' and 'l1h' pointers are *overwriten* in the inner loop, so the Downlink burst is re-directed to the approproate PHY instance. However, if a subsequent timeslot is not hopping, the Downlink burst would be re-directed to the wrong PHY instance because both pointers were overwriten during a previous iteration. Let's move the 'struct phy_instance' pointer to the inner loop, so it's properly re-initialized for each timeslot iteration. Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Fixes: [1] I68f4ae09fd0789ad0d8f1c1e17e17dfc4de8e462 Related: SYS#4868, OS#4546 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 6 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/07/24307/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 43fa273..efca870 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -107,9 +107,9 @@ /* process every TRX */ llist_for_each_entry(trx, &bts->trx_list, list) { - struct phy_instance *pinst = trx->role_bts.l1h; - struct phy_link *plink = pinst->phy_link; - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; + const struct phy_instance *_pinst = trx->role_bts.l1h; + const struct phy_link *plink = _pinst->phy_link; + struct trx_l1h *l1h = _pinst->u.osmotrx.hdl; struct l1sched_trx *l1t = &l1h->l1s; /* we don't schedule, if power is off */ @@ -122,6 +122,8 @@ /* process every TS of TRX */ for (tn = 0; tn < ARRAY_SIZE(l1t->ts); tn++) { + const struct phy_instance *pinst = _pinst; + /* ready-to-send */ _sched_rts(l1t, tn, GSM_TDMA_FN_SUM(sched_fn, plink->u.osmotrx.rts_advance)); @@ -143,7 +145,6 @@ pinst = dlfh_route_br(&br, &trx->ts[tn]); if (pinst == NULL) continue; - l1h = pinst->u.osmotrx.hdl; } if (pinst->trx == bts->c0) { @@ -153,7 +154,7 @@ br.att = 0; } - trx_if_send_burst(l1h, &br); + trx_if_send_burst(pinst->u.osmotrx.hdl, &br); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24307 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 20:11:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 May 2021 20:11:30 +0000 Subject: =?UTF-8?Q?Change_in_osmo-bts=5Brel-1=2E3=2E2=5D=3A_Bump_version=3A_1=2E3=2E1=2E3-6a1fe_=E2=86=92_1=2E3=2E2?= References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24308 ) Change subject: Bump version: 1.3.1.3-6a1fe ? 1.3.2 ...................................................................... Bump version: 1.3.1.3-6a1fe ? 1.3.2 Change-Id: I6cb5aeb7ad0fd4cb893c2d8123db909a4a058304 Signed-off-by: Vadim Yanitskiy --- M debian/changelog 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/08/24308/1 diff --git a/debian/changelog b/debian/changelog index 25b7ae6..e9294d7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +osmo-bts (1.3.2) unstable; urgency=medium + + [ Vadim Yanitskiy ] + * osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g + * osmo-bts-trx: remove redundant assert() in bts_sched_fn() + * osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() + + -- Vadim Yanitskiy Wed, 19 May 2021 20:05:40 +0000 + osmo-bts (1.3.1) unstable; urgency=medium [ Vadim Yanitskiy ] -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I6cb5aeb7ad0fd4cb893c2d8123db909a4a058304 Gerrit-Change-Number: 24308 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 19 20:13:04 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 May 2021 20:13:04 +0000 Subject: =?UTF-8?Q?Change_in_osmo-bts=5Brel-1=2E3=2E2=5D=3A_Bump_version=3A_1=2E3=2E1=2E3-6a1fe_=E2=86=92_1=2E3=2E2?= In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24308 ) Change subject: Bump version: 1.3.1.3-6a1fe ? 1.3.2 ...................................................................... Patch Set 1: I am not a release expert, so please check if everything is correct. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I6cb5aeb7ad0fd4cb893c2d8123db909a4a058304 Gerrit-Change-Number: 24308 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 May 2021 20:13:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 02:44:00 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Thu, 20 May 2021 02:44:00 +0000 Subject: Change in osmo-sgsn[master]: vty: Fix optional display of pdp with mm-context References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24309 ) Change subject: vty: Fix optional display of pdp with mm-context ...................................................................... vty: Fix optional display of pdp with mm-context The vty is randomly including the pdp context when the vty command 'show mm-context all' is issued without the pdp parameter. I do not know why, but I assume that relying on a true/false test of argv[0] has unpredictable results. Change-Id: Idcde4dd30a39625b24a1c3a38901349875e0949a --- M src/sgsn/sgsn_vty.c 1 file changed, 2 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/09/24309/1 diff --git a/src/sgsn/sgsn_vty.c b/src/sgsn/sgsn_vty.c index 76d5202..3b2a04a 100644 --- a/src/sgsn/sgsn_vty.c +++ b/src/sgsn/sgsn_vty.c @@ -654,7 +654,7 @@ argv[0], VTY_NEWLINE); return CMD_WARNING; } - vty_dump_mmctx(vty, "", mm, argv[1] ? 1 : 0); + vty_dump_mmctx(vty, "", mm, (argc > 1) ? 1 : 0); return CMD_SUCCESS; } @@ -663,9 +663,8 @@ SHOW_STR MMCTX_STR "All MM Contexts\n" INCLUDE_PDP_STR) { struct sgsn_mm_ctx *mm; - llist_for_each_entry(mm, &sgsn_mm_ctxts, list) - vty_dump_mmctx(vty, "", mm, argv[0] ? 1 : 0); + vty_dump_mmctx(vty, "", mm, (argc > 0) ? 1 : 0); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Idcde4dd30a39625b24a1c3a38901349875e0949a Gerrit-Change-Number: 24309 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 10:56:32 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 20 May 2021 10:56:32 +0000 Subject: Change in osmo-bts[2021q1]: struct gsm_bts_trx: fix the PHY instance pointer References: Message-ID: Hello fixeria, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24310 to review the following change. Change subject: struct gsm_bts_trx: fix the PHY instance pointer ...................................................................... struct gsm_bts_trx: fix the PHY instance pointer First of all, there is no reason to use a void pointer because it's always 'struct phy_instance'. Also, no need to encapsulate this pointer into 'role_bts' because there are no other roles in osmo-bts (we used to have shared headers years ago). This commit also fixes a bug in test_sysmobts_auto_band(), where a pointer to 'struct femtol1_hdl' was directly assigned to trx.pinst. Change-Id: I9bd6f0921e0c6bf824d38485486ad78864cbe17e --- M include/osmo-bts/bts_trx.h M include/osmo-bts/phy_link.h M src/common/main.c M src/common/phy_link.c M src/common/vty.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/scheduler_trx.c M tests/sysmobts/sysmobts_test.c 8 files changed, 15 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/10/24310/1 diff --git a/include/osmo-bts/bts_trx.h b/include/osmo-bts/bts_trx.h index 4474903..24de77b 100644 --- a/include/osmo-bts/bts_trx.h +++ b/include/osmo-bts/bts_trx.h @@ -36,9 +36,8 @@ struct gsm_power_ctrl_params *ms_dpc_params; /* MS Dynamic Power Control */ bool ms_pwr_ctl_soft; /* is power control loop done by osmocom software? */ - struct { - void *l1h; - } role_bts; + /* The associated PHY instance */ + struct phy_instance *pinst; union { struct { diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index 0c693bb..467ad52 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -173,7 +173,7 @@ static inline struct phy_instance *trx_phy_instance(const struct gsm_bts_trx *trx) { OSMO_ASSERT(trx); - return trx->role_bts.l1h; + return trx->pinst; } int bts_model_phy_link_open(struct phy_link *plink); diff --git a/src/common/main.c b/src/common/main.c index 2503352..73efc25 100644 --- a/src/common/main.c +++ b/src/common/main.c @@ -341,7 +341,7 @@ } llist_for_each_entry(trx, &g_bts->trx_list, list) { - if (!trx->role_bts.l1h) { + if (!trx->pinst) { fprintf(stderr, "TRX %u has no associated PHY instance\n", trx->nr); exit(1); diff --git a/src/common/phy_link.c b/src/common/phy_link.c index 77d7aa6..411f870 100644 --- a/src/common/phy_link.c +++ b/src/common/phy_link.c @@ -118,7 +118,7 @@ void phy_instance_link_to_trx(struct phy_instance *pinst, struct gsm_bts_trx *trx) { - trx->role_bts.l1h = pinst; + trx->pinst = pinst; pinst->trx = trx; } @@ -128,8 +128,8 @@ llist_del(&pinst->list); /* remove reverse link from TRX */ - OSMO_ASSERT(pinst->trx->role_bts.l1h == pinst); - pinst->trx->role_bts.l1h = NULL; + OSMO_ASSERT(pinst->trx->pinst == pinst); + pinst->trx->pinst = NULL; pinst->trx = NULL; talloc_free(pinst); diff --git a/src/common/vty.c b/src/common/vty.c index 626cd60..01b3dcc 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -987,7 +987,7 @@ return CMD_WARNING; } - trx->role_bts.l1h = pinst; + trx->pinst = pinst; pinst->trx = trx; return CMD_SUCCESS; diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index 112a6ab..491f7cd 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -138,8 +138,7 @@ static inline struct l1sched_trx *trx_l1sched_hdl(struct gsm_bts_trx *trx) { - struct phy_instance *pinst = trx->role_bts.l1h; - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; + struct trx_l1h *l1h = trx->pinst->u.osmotrx.hdl; return &l1h->l1s; } diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index efd4954..c173f5b 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -73,13 +73,13 @@ /* Check the "cache" first, so we eliminate frequent lookups */ idx = gsm0502_hop_seq_gen(&time, SCHED_FH_PARAMS_VALS(ts), NULL); if (ts->fh_trx_list[idx] != NULL) - return ts->fh_trx_list[idx]->role_bts.l1h; + return ts->fh_trx_list[idx]->pinst; /* The "cache" may not be filled yet, lookup the transceiver */ llist_for_each_entry(trx, &ts->trx->bts->trx_list, list) { if (trx->arfcn == ts->hopping.arfcn_list[idx]) { ts->fh_trx_list[idx] = trx; - return trx->role_bts.l1h; + return trx->pinst; } } diff --git a/tests/sysmobts/sysmobts_test.c b/tests/sysmobts/sysmobts_test.c index 4b01ed7..d1e9e69 100644 --- a/tests/sysmobts/sysmobts_test.c +++ b/tests/sysmobts/sysmobts_test.c @@ -52,14 +52,17 @@ { struct gsm_bts bts; struct gsm_bts_trx trx; + struct phy_instance pinst; struct femtol1_hdl hdl; int i; memset(&bts, 0, sizeof(bts)); memset(&trx, 0, sizeof(trx)); + memset(&pinst, 0, sizeof(pinst)); memset(&hdl, 0, sizeof(hdl)); trx.bts = &bts; - trx.role_bts.l1h = &hdl; + trx.pinst = &pinst; + trx.pinst->u.sysmobts.hdl = &hdl; /* claim to support all hw_info's */ hdl.hw_info.band_support = GSM_BAND_850 | GSM_BAND_900 | -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I9bd6f0921e0c6bf824d38485486ad78864cbe17e Gerrit-Change-Number: 24310 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 10:56:32 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 20 May 2021 10:56:32 +0000 Subject: Change in osmo-bts[2021q1]: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g References: Message-ID: Hello fixeria, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24311 to review the following change. Change subject: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g ...................................................................... osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/11/24311/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index c173f5b..5937b85 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -94,7 +94,7 @@ } /* schedule all frames of all TRX for given FN */ -static void trx_sched_fn(struct gsm_bts *bts, const uint32_t fn) +static void bts_sched_fn(struct gsm_bts *bts, const uint32_t fn) { struct trx_dl_burst_req br; struct gsm_bts_trx *trx; @@ -306,9 +306,9 @@ goto no_clock; } - /* call trx_sched_fn() for all expired FN */ + /* call bts_sched_fn() for all expired FN */ for (i = 0; i < expire_count; i++) - trx_sched_fn(bts, GSM_TDMA_FN_INC(tcs->last_fn_timer.fn)); + bts_sched_fn(bts, GSM_TDMA_FN_INC(tcs->last_fn_timer.fn)); return 0; @@ -376,7 +376,7 @@ tcs->last_fn_timer.fn = fn; tcs->last_fn_timer.tv = *tv_now; /* call trx scheduler function for new 'last' FN */ - trx_sched_fn(bts, tcs->last_fn_timer.fn); + bts_sched_fn(bts, tcs->last_fn_timer.fn); return 0; } @@ -451,7 +451,7 @@ /* transmit what we still need to transmit */ while (fn != tcs->last_fn_timer.fn) { - trx_sched_fn(bts, GSM_TDMA_FN_INC(tcs->last_fn_timer.fn)); + bts_sched_fn(bts, GSM_TDMA_FN_INC(tcs->last_fn_timer.fn)); fn_caught_up++; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 Gerrit-Change-Number: 24311 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 10:56:33 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 20 May 2021 10:56:33 +0000 Subject: Change in osmo-bts[2021q1]: osmo-bts-trx: remove redundant assert() in bts_sched_fn() References: Message-ID: Hello fixeria, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24312 to review the following change. Change subject: osmo-bts-trx: remove redundant assert() in bts_sched_fn() ...................................................................... osmo-bts-trx: remove redundant assert() in bts_sched_fn() trx_phy_instance() does assert() that the given TRX pointer is not NULL. In bts_sched_fn() it can never be NULL, so drop it. Change-Id: I896ff5117588f2229cc54619ce62fd027a9ef25f --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/12/24312/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 5937b85..7d5cbfc 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -107,7 +107,7 @@ /* process every TRX */ llist_for_each_entry(trx, &bts->trx_list, list) { - struct phy_instance *pinst = trx_phy_instance(trx); + struct phy_instance *pinst = trx->pinst; struct phy_link *plink = pinst->phy_link; struct trx_l1h *l1h = pinst->u.osmotrx.hdl; struct l1sched_trx *l1t = &l1h->l1s; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I896ff5117588f2229cc54619ce62fd027a9ef25f Gerrit-Change-Number: 24312 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 10:56:34 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 20 May 2021 10:56:34 +0000 Subject: Change in osmo-bts[2021q1]: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() References: Message-ID: Hello fixeria, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24313 to review the following change. Change subject: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() ...................................................................... osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() In change [1] together with the actual implementation I introduced a serious bug to bts_sched_fn(): if a timeslot is configured to use frequency hopping, both 'pinst' and 'l1h' pointers are *overwriten* in the inner loop, so the Downlink burst is re-directed to the approproate PHY instance. However, if a subsequent timeslot is not hopping, the Downlink burst would be re-directed to the wrong PHY instance because both pointers were overwriten during a previous iteration. Let's move the 'struct phy_instance' pointer to the inner loop, so it's properly re-initialized for each timeslot iteration. Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Fixes: [1] I68f4ae09fd0789ad0d8f1c1e17e17dfc4de8e462 Related: SYS#4868, OS#4546 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/24313/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 7d5cbfc..3f7dc29 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -107,9 +107,8 @@ /* process every TRX */ llist_for_each_entry(trx, &bts->trx_list, list) { - struct phy_instance *pinst = trx->pinst; - struct phy_link *plink = pinst->phy_link; - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; + const struct phy_link *plink = trx->pinst->phy_link; + struct trx_l1h *l1h = trx->pinst->u.osmotrx.hdl; struct l1sched_trx *l1t = &l1h->l1s; /* we don't schedule, if power is off */ @@ -122,6 +121,8 @@ /* process every TS of TRX */ for (tn = 0; tn < ARRAY_SIZE(l1t->ts); tn++) { + const struct phy_instance *pinst = trx->pinst; + /* ready-to-send */ _sched_rts(l1t, tn, GSM_TDMA_FN_SUM(sched_fn, plink->u.osmotrx.rts_advance)); @@ -143,7 +144,6 @@ pinst = dlfh_route_br(&br, &trx->ts[tn]); if (pinst == NULL) continue; - l1h = pinst->u.osmotrx.hdl; } if (pinst->trx == bts->c0) { @@ -153,7 +153,7 @@ br.att = 0; } - trx_if_send_burst(l1h, &br); + trx_if_send_burst(pinst->u.osmotrx.hdl, &br); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24313 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 11:03:27 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 20 May 2021 11:03:27 +0000 Subject: Change in osmo-bts[rel-1.3.2]: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24305 ) Change subject: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 Gerrit-Change-Number: 24305 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 20 May 2021 11:03:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 11:03:48 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 20 May 2021 11:03:48 +0000 Subject: Change in osmo-bts[2021q1]: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24311 ) Change subject: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 Gerrit-Change-Number: 24311 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 20 May 2021 11:03:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 11:05:49 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 20 May 2021 11:05:49 +0000 Subject: Change in osmo-bts[rel-1.3.2]: osmo-bts-trx: remove redundant assert() in bts_sched_fn() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24306 ) Change subject: osmo-bts-trx: remove redundant assert() in bts_sched_fn() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I896ff5117588f2229cc54619ce62fd027a9ef25f Gerrit-Change-Number: 24306 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 20 May 2021 11:05:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 11:05:57 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 20 May 2021 11:05:57 +0000 Subject: Change in osmo-bts[2021q1]: osmo-bts-trx: remove redundant assert() in bts_sched_fn() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24312 ) Change subject: osmo-bts-trx: remove redundant assert() in bts_sched_fn() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I896ff5117588f2229cc54619ce62fd027a9ef25f Gerrit-Change-Number: 24312 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 20 May 2021 11:05:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 11:07:59 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 20 May 2021 11:07:59 +0000 Subject: Change in osmo-bts[rel-1.3.2]: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24307 ) Change subject: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24307 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 20 May 2021 11:07:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 11:08:09 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 20 May 2021 11:08:09 +0000 Subject: Change in osmo-bts[2021q1]: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24313 ) Change subject: osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24313 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 20 May 2021 11:08:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 11:11:23 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 20 May 2021 11:11:23 +0000 Subject: =?UTF-8?Q?Change_in_osmo-bts=5Brel-1=2E3=2E2=5D=3A_Bump_version=3A_1=2E3=2E1=2E3-6a1fe_=E2=86=92_1=2E3=2E2?= In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24308 ) Change subject: Bump version: 1.3.1.3-6a1fe ? 1.3.2 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24308/1/debian/changelog File debian/changelog: https://gerrit.osmocom.org/c/osmo-bts/+/24308/1/debian/changelog at 6 PS1, Line 6: * osmo-bts-trx: fix hopping pointer bug in bts_sched_fn() "struct gsm_bts_trx: fix the PHY instance pointer" is being backported to 2021q1, but not here. is this on purpose? https://gerrit.osmocom.org/c/osmo-bts/+/24310/1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I6cb5aeb7ad0fd4cb893c2d8123db909a4a058304 Gerrit-Change-Number: 24308 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 11:11:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 11:21:14 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 20 May 2021 11:21:14 +0000 Subject: Change in osmo-bts[2021q1]: struct gsm_bts_trx: fix the PHY instance pointer In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24310 ) Change subject: struct gsm_bts_trx: fix the PHY instance pointer ...................................................................... Patch Set 1: Code-Review+1 It seems like refactoring instead of actual bug fix in osmo-bts code, and a fix in a test... so not sure if we really need to backport this (and also it's missing from the "latest" backports)? but the patch itself looks good. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I9bd6f0921e0c6bf824d38485486ad78864cbe17e Gerrit-Change-Number: 24310 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 20 May 2021 11:21:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 11:49:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 11:49:52 +0000 Subject: Change in libosmocore[master]: kdf: add key derivation functions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24291 ) Change subject: kdf: add key derivation functions ...................................................................... Patch Set 5: (2 comments) This commit should definetly state from which repo + commit/release/version you imported all those kdf files from. https://gerrit.osmocom.org/c/libosmocore/+/24291/5/src/gsm/kdf.c File src/gsm/kdf.c: https://gerrit.osmocom.org/c/libosmocore/+/24291/5/src/gsm/kdf.c at 33 PS5, Line 33: #define HMAC_FUN(k,lk,s,sl,out) gnutls_hmac_fast(GNUTLS_MAC_SHA256,k,lk,s,sl,out) I'd rename it to "HMAC_FUNC" https://gerrit.osmocom.org/c/libosmocore/+/24291/5/src/gsm/kdf/common.h File src/gsm/kdf/common.h: https://gerrit.osmocom.org/c/libosmocore/+/24291/5/src/gsm/kdf/common.h at 2 PS5, Line 2: * wpa_supplicant/hostapd / common helper functions, etc. I guess we are fine with this? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd Gerrit-Change-Number: 24291 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 11:49:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 11:50:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 11:50:28 +0000 Subject: Change in libosmocore[master]: add RSL_IE_OSMO_TRAINING_SEQUENCE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24292 ) Change subject: add RSL_IE_OSMO_TRAINING_SEQUENCE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I573c26b1431ee789e42f6fa620947b003c384dc0 Gerrit-Change-Number: 24292 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 11:50:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 11:50:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 11:50:47 +0000 Subject: Change in libosmocore[master]: add RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm, RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24293 ) Change subject: add RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm, RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib4ea11c870683a58f0bbc8c9cd942faceba8c4d9 Gerrit-Change-Number: 24293 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 11:50:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 11:52:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 11:52:48 +0000 Subject: Change in osmo-bsc[master]: lchan and assignment FSMs: make Channel Mode Modify more sane In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23943 ) Change subject: lchan and assignment FSMs: make Channel Mode Modify more sane ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/23943/4/include/osmocom/bsc/gsm_data.h File include/osmocom/bsc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/23943/4/include/osmocom/bsc/gsm_data.h at 561 PS4, Line 561: enum lchan_activate_for { lchan_Activate_reason? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23943 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4986844f839b1c9672c61d916eb3d33d0042d747 Gerrit-Change-Number: 23943 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 11:52:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 11:54:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 11:54:56 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: fix failure log message for lchan unavailable In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24294 ) Change subject: assignment_fsm: fix failure log message for lchan unavailable ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id381dbb7ff6f0d790a7a92021fd68f94fbec0568 Gerrit-Change-Number: 24294 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 11:54:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 11:56:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 11:56:18 +0000 Subject: Change in osmo-bsc[master]: select_codecs(): do not confuse bool 'true' with integer value 1 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24295 ) Change subject: select_codecs(): do not confuse bool 'true' with integer value 1 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I17a82f4f208203b748ba2d6ace0ddc06f87c1cef Gerrit-Change-Number: 24295 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 11:56:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 11:58:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 11:58:53 +0000 Subject: Change in osmo-bsc[master]: gsm48_send_rr_ass_cmd(): rename dest_lchan to current_lchan In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24296 ) Change subject: gsm48_send_rr_ass_cmd(): rename dest_lchan to current_lchan ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24296/1/src/osmo-bsc/gsm_04_08_rr.c File src/osmo-bsc/gsm_04_08_rr.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24296/1/src/osmo-bsc/gsm_04_08_rr.c at 569 PS1, Line 569: int gsm48_send_rr_ass_cmd(struct gsm_lchan *current_lchan, struct gsm_lchan *lchan, uint8_t power_command) so what's "lchan" then? I'd really welcome some documentation above the function ,or at least perhaps also rename "lchan" to something else? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If2c102a8f1d45f84b6a765555abf7cd7a4749b0f Gerrit-Change-Number: 24296 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 11:58:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 11:59:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 11:59:35 +0000 Subject: Change in osmo-bsc[master]: gsm48_send_rr_ass_cmd(): rename lchan to new_lchan In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24297 ) Change subject: gsm48_send_rr_ass_cmd(): rename lchan to new_lchan ...................................................................... Patch Set 1: Code-Review+1 Ah! It's done here!!! I'd have done both changes in the same commit, but fine. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0de017f7c43ec495c2cd0f05f313740f42ab0bb1 Gerrit-Change-Number: 24297 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 11:59:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 11:59:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 11:59:38 +0000 Subject: Change in osmo-bsc[master]: gsm48_send_rr_ass_cmd(): rename dest_lchan to current_lchan In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24296 ) Change subject: gsm48_send_rr_ass_cmd(): rename dest_lchan to current_lchan ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If2c102a8f1d45f84b6a765555abf7cd7a4749b0f Gerrit-Change-Number: 24296 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 11:59:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:00:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:00:38 +0000 Subject: Change in osmo-bsc[master]: log: show src file, line of lchan_set_last_error In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24298 ) Change subject: log: show src file,line of lchan_set_last_error ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24298/1/include/osmocom/bsc/lchan_fsm.h File include/osmocom/bsc/lchan_fsm.h: https://gerrit.osmocom.org/c/osmo-bsc/+/24298/1/include/osmocom/bsc/lchan_fsm.h at 16 PS1, Line 16: if (LCHAN->last_error) \ () around LCHAN -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I571fdf2d418c52d120215cf19e57a3c96d67af07 Gerrit-Change-Number: 24298 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:00:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:01:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:01:46 +0000 Subject: Change in osmo-bsc[master]: gscon MGCP: properly skip redundant MDCX towards MSC In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24299 ) Change subject: gscon MGCP: properly skip redundant MDCX towards MSC ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If994ecef9d4269a8120b0575de9b6d0c3be19146 Gerrit-Change-Number: 24299 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:01:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:02:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:02:24 +0000 Subject: Change in osmo-bsc[master]: cosmetic: rename FOR_* to ACTIVATE_FOR_* In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24300 ) Change subject: cosmetic: rename FOR_* to ACTIVATE_FOR_* ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12190d4d154a1da6a9ebc9a755ccc2fe382ff188 Gerrit-Change-Number: 24300 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:02:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:03:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:03:24 +0000 Subject: Change in osmo-bsc[master]: cosmetic: rename lchan_activate_mode to lchan_activate_for In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24301 ) Change subject: cosmetic: rename lchan_activate_mode to lchan_activate_for ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia4420fcd1234dbee92e768e5a32eab13fba29ea9 Gerrit-Change-Number: 24301 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:03:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:03:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:03:36 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: tweak error log msg for mixed modes In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24302 ) Change subject: assignment_fsm: tweak error log msg for mixed modes ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic42b141012215f428066d739a2099b217f4e5d41 Gerrit-Change-Number: 24302 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:03:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:04:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:04:18 +0000 Subject: Change in osmo-bsc[master]: handover_test: ack release only when lchan is still waiting In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24303 ) Change subject: handover_test: ack release only when lchan is still waiting ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c7596df06d7c211adcfcd110a1984903a0820e1 Gerrit-Change-Number: 24303 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:04:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:09:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:09:59 +0000 Subject: Change in osmo-sgsn[master]: add support for multiple encryption algorithms + a5/4 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 ) Change subject: add support for multiple encryption algorithms + a5/4 ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/1/src/sgsn/gprs_llc.c File src/sgsn/gprs_llc.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/1/src/sgsn/gprs_llc.c at 718 PS1, Line 718: Non-related https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/1/src/sgsn/gprs_sgsn.c File src/sgsn/gprs_sgsn.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/1/src/sgsn/gprs_sgsn.c at 296 PS1, Line 296: ctx->ciph_algo = GPRS_ALGO_GEA4; // overwritten on attach We does it need to be set here if it's overwritten later? (In general we use /* */ style for comments.) https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/1/src/sgsn/sgsn_vty.c File src/sgsn/sgsn_vty.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/1/src/sgsn/sgsn_vty.c at 1710 PS1, Line 1710: g_cfg->cipher_support_mask = 1; // default to GEA0 support /* */ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Gerrit-Change-Number: 24304 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:09:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:11:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:11:29 +0000 Subject: Change in osmo-sgsn[master]: vty: Fix optional display of pdp with mm-context In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24309 ) Change subject: vty: Fix optional display of pdp with mm-context ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Idcde4dd30a39625b24a1c3a38901349875e0949a Gerrit-Change-Number: 24309 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:11:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:11:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:11:54 +0000 Subject: Change in osmo-bts[rel-1.3.2]: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24305 ) Change subject: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 Gerrit-Change-Number: 24305 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:11:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:12:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:12:30 +0000 Subject: Change in osmo-bts[2021q1]: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24311 ) Change subject: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 Gerrit-Change-Number: 24311 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:12:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:19:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:19:33 +0000 Subject: Change in osmo-gsm-tester[master]: ms-srs: change the cpu governor before launching the ms. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24270 ) Change subject: ms-srs: change the cpu governor before launching the ms. ...................................................................... Patch Set 1: What's the purpose of adding this complexity to OGT code? Why not simply do this kind of stuff on the script launching osmo-gsm-tester, or even permanentely set the governor in the host? I'm not really liking this idea tbh. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I86ec4fbba8a965e60103b30e2aa60cd2c3f348c9 Gerrit-Change-Number: 24270 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:19:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:23:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:23:01 +0000 Subject: Change in osmo-gsm-tester[master]: iperfserver: adds an offset to the default port. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24271 ) Change subject: iperfserver: adds an offset to the default port. ...................................................................... Patch Set 1: Code-Review-1 I don't really see the point of adding this parameter, it's not really needed, since you can already set the port directly. If you want to count from the default port, then you can easily do something like this: srv = IPerf3Server(...) srv.set_port(srv.DEFAULT_SRV_PORT + offset) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I23f0e5ae599825627a23333a0255577bbc013a3c Gerrit-Change-Number: 24271 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:23:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:25:26 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 20 May 2021 12:25:26 +0000 Subject: Change in osmo-mgw[master]: mgcp_common, mgcp_udp_send: make parameter buf const References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24314 ) Change subject: mgcp_common, mgcp_udp_send: make parameter buf const ...................................................................... mgcp_common, mgcp_udp_send: make parameter buf const When mgcp_udp_send() is called, the memory where *buf is pointing to is never modified. It should be marked as const. Change-Id: Iac90de5beb19bf52586ac6ffeab9eb5152edf339 --- M include/osmocom/mgcp/mgcp.h M src/libosmo-mgcp/mgcp_network.c 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/14/24314/1 diff --git a/include/osmocom/mgcp/mgcp.h b/include/osmocom/mgcp/mgcp.h index 1de579a..29963cc 100644 --- a/include/osmocom/mgcp/mgcp.h +++ b/include/osmocom/mgcp/mgcp.h @@ -211,4 +211,4 @@ int mgcp_create_bind(const char *source_addr, struct osmo_fd *fd, int port, uint8_t dscp, uint8_t prio); -int mgcp_udp_send(int fd, struct osmo_sockaddr *addr, int port, char *buf, int len); +int mgcp_udp_send(int fd, struct osmo_sockaddr *addr, int port, const char *buf, int len); diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index abe01c9..e03c100 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -177,7 +177,7 @@ * \param[in] buf buffer that holds the data to be send. * \param[in] len length of the data to be sent. * \returns bytes sent, -1 on error. */ -int mgcp_udp_send(int fd, struct osmo_sockaddr *addr, int port, char *buf, int len) +int mgcp_udp_send(int fd, struct osmo_sockaddr *addr, int port, const char *buf, int len) { char ipbuf[INET6_ADDRSTRLEN]; size_t addr_len; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iac90de5beb19bf52586ac6ffeab9eb5152edf339 Gerrit-Change-Number: 24314 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:25:27 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 20 May 2021 12:25:27 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: refactor MGCP_DUMMY_LOAD References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24315 ) Change subject: mgcp_network: refactor MGCP_DUMMY_LOAD ...................................................................... mgcp_network: refactor MGCP_DUMMY_LOAD The constant MGCP_DUMMY_LOAD is used ambigously. Sometimes it is used as initalizer for an array, sometimes it is used as a single byte. Also the name is not very expressive. Lets refactor this. Change-Id: I21d96cefeeb647958bfa1e22a0ea030884746fad --- M include/osmocom/mgcp/mgcp_network.h M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_osmux.c M tests/mgcp/mgcp_test.c 4 files changed, 17 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/15/24315/1 diff --git a/include/osmocom/mgcp/mgcp_network.h b/include/osmocom/mgcp/mgcp_network.h index 6e1e52c..cd56fcc 100644 --- a/include/osmocom/mgcp/mgcp_network.h +++ b/include/osmocom/mgcp/mgcp_network.h @@ -7,7 +7,16 @@ #include -#define MGCP_DUMMY_LOAD 0x23 +/* The following constant defines a an RTP dummy payload that is used for + * "UDP Hole Punching" (NAT) */ +static const char rtp_dummy_payload[] = { 0x23 }; + +/* Check if the data in a given message buffer matches the rtp dummy payload + * defined above */ +#define mgcp_is_rtp_dummy_payload(msg) \ + (msgb_length(msg) == sizeof(rtp_dummy_payload) && \ + memcmp(msgb_data(msg), rtp_dummy_payload, sizeof(rtp_dummy_payload)) == 0) + #define RTP_BUF_SIZE 4096 struct mgcp_rtp_stream_state { diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index e03c100..162fbc0 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -205,7 +205,6 @@ * \returns bytes sent, -1 on error. */ int mgcp_send_dummy(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn) { - static char buf[] = { MGCP_DUMMY_LOAD }; int rc; int was_rtcp = 0; @@ -216,7 +215,7 @@ mgcp_conn_dump(conn->conn)); rc = mgcp_udp_send(conn->end.rtp.fd, &conn->end.addr, - conn->end.rtp_port, buf, 1); + conn->end.rtp_port, rtp_dummy_payload, sizeof(rtp_dummy_payload)); if (rc == -1) goto failed; @@ -226,7 +225,7 @@ was_rtcp = 1; rc = mgcp_udp_send(conn->end.rtcp.fd, &conn->end.addr, - conn->end.rtcp_port, buf, 1); + conn->end.rtcp_port, rtp_dummy_payload, sizeof(rtp_dummy_payload)); if (rc >= 0) return rc; @@ -1398,11 +1397,6 @@ mgcp_cleanup_rtp_bridge_cb(endp, conn); } -static bool is_dummy_msg(enum rtp_proto proto, struct msgb *msg) -{ - return msgb_length(msg) == 1 && msgb_data(msg)[0] == MGCP_DUMMY_LOAD; -} - /* Handle incoming RTP data from NET */ static int rtp_data_net(struct osmo_fd *fd, unsigned int what) { @@ -1453,7 +1447,7 @@ goto out; } - if (is_dummy_msg(proto, msg)) { + if (mgcp_is_rtp_dummy_payload(msg)) { LOG_CONN_RTP(conn_src, LOGL_DEBUG, "rx dummy packet (dropped)\n"); rc = 0; goto out; diff --git a/src/libosmo-mgcp/mgcp_osmux.c b/src/libosmo-mgcp/mgcp_osmux.c index bb85735..8f0a906 100644 --- a/src/libosmo-mgcp/mgcp_osmux.c +++ b/src/libosmo-mgcp/mgcp_osmux.c @@ -375,7 +375,7 @@ } /* not any further processing dummy messages */ - if (msg->data[0] == MGCP_DUMMY_LOAD) + if (mgcp_is_rtp_dummy_payload(msg)) return osmux_handle_dummy(cfg, &addr, msg); rem = msg->len; diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 620b0d1..ae43eb5 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -616,7 +617,6 @@ return MGCP_POLICY_CONT; } -#define MGCP_DUMMY_LOAD 0x23 static int dummy_packets = 0; /* override and forward */ ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, @@ -626,7 +626,8 @@ htonl(((struct sockaddr_in *)dest_addr)->sin_addr.s_addr); int dest_port = htons(((struct sockaddr_in *)dest_addr)->sin_port); - if (len == 1 && ((const char *)buf)[0] == MGCP_DUMMY_LOAD) { + if (len == sizeof(rtp_dummy_payload) + && memcmp(buf, rtp_dummy_payload, sizeof(rtp_dummy_payload)) == 0) { fprintf(stderr, "Dummy packet to 0x%08x:%d, msg length %zu\n%s\n\n", dest_host, dest_port, len, osmo_hexdump(buf, len)); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I21d96cefeeb647958bfa1e22a0ea030884746fad Gerrit-Change-Number: 24315 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:25:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:25:26 +0000 Subject: Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 ) Change subject: util: adds the feature to force the rpath when patching files. ...................................................................... Patch Set 1: I would really like yo have some information in the commit on WHY is this really needed. Where you plan to use it? why isn't the other way working? please provide feedback. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec Gerrit-Change-Number: 24272 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:25:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:28:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:28:33 +0000 Subject: Change in osmo-gsm-tester[master]: iperf: adds the option to define the packet length for udp. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273 ) Change subject: iperf: adds the option to define the packet length for udp. ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273/1/src/osmo_gsm_tester/obj/iperf3.py File src/osmo_gsm_tester/obj/iperf3.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273/1/src/osmo_gsm_tester/obj/iperf3.py at 276 PS1, Line 276: buffer_length = str(values.get('length')) what if length is not defined? Probably safer to have something like this: if values.get('length'): buffer_length = str(values.get('length')) popen_args += ('-l', buffer_length) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273/1/sysmocom/scenarios/cfg-iperf3-length%40.conf File sysmocom/scenarios/cfg-iperf3-length at .conf: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273/1/sysmocom/scenarios/cfg-iperf3-length%40.conf at 3 PS1, Line 3: length: ${param1} extra trailing whitespace -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic886faa82b7cb25f2bce685eb80910623e4ff686 Gerrit-Change-Number: 24273 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:28:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:35:48 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 20 May 2021 12:35:48 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn-test: fix config sed for latest References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24316 ) Change subject: ttcn3-sgsn-test: fix config sed for latest ...................................................................... ttcn3-sgsn-test: fix config sed for latest Change-Id: I17d0554188fad6f890f844bf978d622661290fce --- M ttcn3-sgsn-test/jenkins.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/16/24316/1 diff --git a/ttcn3-sgsn-test/jenkins.sh b/ttcn3-sgsn-test/jenkins.sh index ab000d1..654a882 100755 --- a/ttcn3-sgsn-test/jenkins.sh +++ b/ttcn3-sgsn-test/jenkins.sh @@ -26,7 +26,7 @@ # Disable until osmo-sgsn.git release > 1.7.0 is available if [ "$IMAGE_SUFFIX" = "latest" ]; then - sed "/mme test-mme0/d" -i $VOL_BASE_DIR/stp/osmo-sgsn.cfg + sed "/mme test-mme0/d" -i $VOL_BASE_DIR/stp/osmo-stp.cfg sed "/gtp remote-ip/d" -i $VOL_BASE_DIR/sgsn/osmo-sgsn.cfg sed "/gtp ran-info-relay/d" -i $VOL_BASE_DIR/sgsn/osmo-sgsn.cfg fi -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I17d0554188fad6f890f844bf978d622661290fce Gerrit-Change-Number: 24316 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:35:49 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 20 May 2021 12:35:49 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add image_suffix_is_latest References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24317 ) Change subject: jenkins-common.sh: add image_suffix_is_latest ...................................................................... jenkins-common.sh: add image_suffix_is_latest Make sure we run the latest-code paths for "latest-centos8" too. Change-Id: Ibcc7dfb092b3766ef9b189ae990b43fdb746a022 --- M jenkins-common.sh M ttcn3-pcu-test/jenkins.sh M ttcn3-sgsn-test/jenkins.sh M ttcn3-stp-test/jenkins.sh 4 files changed, 11 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/17/24317/1 diff --git a/jenkins-common.sh b/jenkins-common.sh index e6a432d..36f7e9c 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -335,6 +335,14 @@ exit 1 } +# Check if IMAGE_SUFFIX starts with "latest" (e.g. "latest-centos8") +image_suffix_is_latest() { + case "$IMAGE_SUFFIX" in + latest*) return 0 ;; + *) return 1 ;; + esac +} + set -x # non-jenkins execution: assume local user name diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index c597e0e..606f1f5 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -17,7 +17,7 @@ cp PCU_Tests.cfg $VOL_BASE_DIR/pcu-tester/ # Disable until osmo-pcu release > 0.9.0 -if [ "$IMAGE_SUFFIX" = "latest" ]; then +if image_suffix_is_latest; then sed -i "s/^PCUIF_Components.mp_send_all_data_ind.*/PCUIF_Components.mp_send_all_data_ind := false;/" $VOL_BASE_DIR/pcu-tester/PCU_Tests.cfg fi diff --git a/ttcn3-sgsn-test/jenkins.sh b/ttcn3-sgsn-test/jenkins.sh index 654a882..05f7945 100755 --- a/ttcn3-sgsn-test/jenkins.sh +++ b/ttcn3-sgsn-test/jenkins.sh @@ -25,7 +25,7 @@ mkdir $VOL_BASE_DIR/unix # Disable until osmo-sgsn.git release > 1.7.0 is available -if [ "$IMAGE_SUFFIX" = "latest" ]; then +if image_suffix_is_latest; then sed "/mme test-mme0/d" -i $VOL_BASE_DIR/stp/osmo-stp.cfg sed "/gtp remote-ip/d" -i $VOL_BASE_DIR/sgsn/osmo-sgsn.cfg sed "/gtp ran-info-relay/d" -i $VOL_BASE_DIR/sgsn/osmo-sgsn.cfg diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh index 9d8dc8c..cecd07c 100755 --- a/ttcn3-stp-test/jenkins.sh +++ b/ttcn3-stp-test/jenkins.sh @@ -16,7 +16,7 @@ cp osmo-stp.cfg $VOL_BASE_DIR/stp/ # Disable until osmo-stp release > 1.4.0 -if [ "$IMAGE_SUFFIX" = "latest" ]; then +if image_suffix_is_latest; then sed -i "s/^STP_Tests_M3UA.mp_stp_has_asp_quirk.*/STP_Tests_M3UA.mp_stp_has_asp_quirk := false;/" $VOL_BASE_DIR/stp-tester/STP_Tests.cfg fi -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibcc7dfb092b3766ef9b189ae990b43fdb746a022 Gerrit-Change-Number: 24317 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:42:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:42:06 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf3-ul: modified the test to parameterize the number of ue in t... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24274 ) Change subject: 4g-iperf3-ul: modified the test to parameterize the number of ue in the test. ...................................................................... Patch Set 1: Code-Review-1 (5 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24274/1/sysmocom/suites/4g/iperf3_ul.py File sysmocom/suites/4g/iperf3_ul.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24274/1/sysmocom/suites/4g/iperf3_ul.py at 19 PS1, Line 19: ue = [] this naming is a bit confusing, it seems as it should contain only 1 ue. ue_li? https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24274/1/sysmocom/suites/4g/iperf3_ul.py at 31 PS1, Line 31: iperf3srv.append(tenv.iperf3srv({'addr': epc.tun_addr()}, n)) here you can use the .set_port() API ;) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24274/1/sysmocom/suites/4g/iperf3_ul.py at 58 PS1, Line 58: proc = [] Naming: Same here, proc is usually used for a single proc object, not a list. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24274/1/sysmocom/suites/4g/iperf3_ul.py at 67 PS1, Line 67: wait(ue[n].is_registered) You can speed up the test by moving this wait to a follow-up loop, so that you start all UE in parallel in the background and then wait for all of them to be registered. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24274/1/sysmocom/suites/4g/iperf3_ul.py at 74 PS1, Line 74: threads.append(threading.Thread(target=run_iperf, args=(proc[n],))) You don't really need threads here, and better not use them unless really necessarily, since you may end up with dangling threads if something fails (exception thrown by test or osmo-gsm-tester core). See how to do it properly here: osmo-gsm-tester/sysmocom/suites/gprs/iperf3m4.py osmo-gsm-tester/sysmocom/suites/gprs/lib/testlib.py In summary: try: for proc in procs: proc.launch() if ready_cb: ready_cb(ms_li) for proc in procs: proc.wait() except Exception as e: for proc in procs: try: proc.terminate() except Exception: print("Exception while terminating process %r" % repr(process)) raise e -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4b006df04bd1af6c117bcb25e6a6b1609ac732fb Gerrit-Change-Number: 24274 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:42:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:42:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:42:28 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf3-dl: modified the test to parameterize the number of ue in t... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24275 ) Change subject: 4g-iperf3-dl: modified the test to parameterize the number of ue in the test. ...................................................................... Patch Set 1: Code-Review-1 See same comments as previous commit. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifafea196289d1ce0d35ae66c6564266ba123b27a Gerrit-Change-Number: 24275 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:42:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:42:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:42:44 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf3-bidir: modified the test to parameterize the number of ue i... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24276 ) Change subject: 4g-iperf3-bidir: modified the test to parameterize the number of ue in the test. ...................................................................... Patch Set 1: Code-Review-1 Same comment as previous commit. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I34fb436d581eda12388819b5dee9a3bafd419a7f Gerrit-Change-Number: 24276 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:42:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:45:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:45:02 +0000 Subject: Change in osmo-gsm-tester[master]: srs-ms: allows to run given scripts before the execution of the UE. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277 ) Change subject: srs-ms: allows to run given scripts before the execution of the UE. ...................................................................... Patch Set 1: (1 comment) Again, this commit is missing information on WHY is this needed, or how is it going to be used. Without this information I cannot evaluate the commit and/or propose better alternatives. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277/1/src/osmo_gsm_tester/obj/ms_srs.py File src/osmo_gsm_tester/obj/ms_srs.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277/1/src/osmo_gsm_tester/obj/ms_srs.py at 233 PS1, Line 233: return trailing whitespace -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I718e686b5844f2f07eda820914678052f1008182 Gerrit-Change-Number: 24277 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:45:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:46:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:46:05 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: runs the given list of scripts before and after launching th... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24278 ) Change subject: srs-enb: runs the given list of scripts before and after launching the eNodeB. ...................................................................... Patch Set 1: Same, missing information about why/how is this going to be used. I'm not really liking the idea of spawning external random programs without a good reason. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5017caae933809b89b32ea132be8552d6554e20e Gerrit-Change-Number: 24278 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:46:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:47:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:47:10 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: adds fapi to the rf supported devices. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24279 ) Change subject: srs-enb: adds fapi to the rf supported devices. ...................................................................... Patch Set 1: Code-Review+2 Some comment regarding where info about this fapi stuff can be found in SRS documentation would be great. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24279 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0ac2a7db7c0533dfbc90f2526a7b823110d355c0 Gerrit-Change-Number: 24279 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:47:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:50:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:50:20 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf-*: registers one UE in the iperf parameterized tests in the ... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24280 ) Change subject: 4g-iperf-*: registers one UE in the iperf parameterized tests in the 4g test suite. ...................................................................... Patch Set 1: which enb doesn't support more than one UE? I don't remember such limitation -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Idfb641fe9fab83179d00d265e26fd231d5977081 Gerrit-Change-Number: 24280 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:50:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:53:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:53:42 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: patches the binary in fapi rf device with the given library_... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24281 ) Change subject: srs-enb: patches the binary in fapi rf device with the given library_path. ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24281/1/src/osmo_gsm_tester/obj/enb_srs.py File src/osmo_gsm_tester/obj/enb_srs.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24281/1/src/osmo_gsm_tester/obj/enb_srs.py at 398 PS1, Line 398: path = self._conf.get('library_path', None) So this is some library in some rando path in the system? why is it not in the trial? I think all this deserves proper description of the setup and why is it done this way. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24281/1/src/osmo_gsm_tester/obj/enb_srs.py at 401 PS1, Line 401: return trailing whitespace https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24281/1/src/osmo_gsm_tester/obj/enb_srs.py at 404 PS1, Line 404: self.rem_host.change_elf_force_rpath(remote_binary, path) why is the usual change_elf_rpath() working here? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icd7689a41a1c5fe8e4c427f3b9bc69b3f2b0f8ac Gerrit-Change-Number: 24281 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:53:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:55:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:55:36 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: sets the remote directory to the given one. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282 ) Change subject: srs-enb: sets the remote directory to the given one. ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282/1/src/osmo_gsm_tester/obj/enb_srs.py File src/osmo_gsm_tester/obj/enb_srs.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282/1/src/osmo_gsm_tester/obj/enb_srs.py at 101 PS1, Line 101: trailing whitespace https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282/1/src/osmo_gsm_tester/obj/enb_srs.py at 107 PS1, Line 107: return return not needed here after raise https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282/1/src/osmo_gsm_tester/obj/enb_srs.py at 110 PS1, Line 110: srsENB.REMOTE_DIR = path so you are changing a static field here? meaning you are changing the path for ALL instances. Not sure what you are trying to achieve here but doesn't look like the proper way of doing it. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I77a56835a4054b86d1d3f7da823a013b3370f767 Gerrit-Change-Number: 24282 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:55:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 12:56:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 12:56:57 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: adds environment variables to the resources schema. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24283 ) Change subject: srs-enb: adds environment variables to the resources schema. ...................................................................... Patch Set 1: how/why is this used? I only see the var being added there. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5c0ca66ae88d5f3a3ed04c620f386afe1afac9 Gerrit-Change-Number: 24283 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 12:56:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 13:02:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 13:02:07 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: adds support to the malloc interceptor. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284 ) Change subject: srs-enb: adds support to the malloc interceptor. ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284/1/src/osmo_gsm_tester/obj/enb_srs.py File src/osmo_gsm_tester/obj/enb_srs.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284/1/src/osmo_gsm_tester/obj/enb_srs.py at 287 PS1, Line 287: self.log(f'Setting var: {env[:index]} to value: {env[index + 1:]}') trailing whitespace https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284/1/sysmocom/scenarios/cfg-enb-malloc-interceptor.conf File sysmocom/scenarios/cfg-enb-malloc-interceptor.conf: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284/1/sysmocom/scenarios/cfg-enb-malloc-interceptor.conf at 4 PS1, Line 4: whitespace -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0078020468f58bdd70b0b5de879eb58192f947a6 Gerrit-Change-Number: 24284 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 13:02:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 13:49:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 13:49:34 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: adds support to the malloc interceptor. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284 ) Change subject: srs-enb: adds support to the malloc interceptor. ...................................................................... Patch Set 1: Isn't the malloc interceptor lib in a fixed known place? If that's the case, there' no need for specifying the path. Otherwise I'd rather add this kind of information generically as a "run_node" property -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0078020468f58bdd70b0b5de879eb58192f947a6 Gerrit-Change-Number: 24284 Gerrit-PatchSet: 1 Gerrit-Owner: Alejandro Leal Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 13:49:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 13:50:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 13:50:09 +0000 Subject: Change in osmo-bts[2021q1]: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24311 ) Change subject: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g ...................................................................... Patch Set 1: -Code-Review -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 Gerrit-Change-Number: 24311 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 13:50:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 13:50:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 13:50:24 +0000 Subject: Change in osmo-bts[rel-1.3.2]: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24305 ) Change subject: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g ...................................................................... Patch Set 1: -Code-Review -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 Gerrit-Change-Number: 24305 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 13:50:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 14:37:34 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 20 May 2021 14:37:34 +0000 Subject: Change in osmo-bsc[master]: bts.adoc: fix typo BGSGP -> BSSGP References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24318 ) Change subject: bts.adoc: fix typo BGSGP -> BSSGP ...................................................................... bts.adoc: fix typo BGSGP -> BSSGP Change-Id: I4387b516c5c116cd7179611dc34a90b0a744cb6c --- M doc/manuals/chapters/bts.adoc 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/18/24318/1 diff --git a/doc/manuals/chapters/bts.adoc b/doc/manuals/chapters/bts.adoc index 6ef0a0c..1b33d73 100644 --- a/doc/manuals/chapters/bts.adoc +++ b/doc/manuals/chapters/bts.adoc @@ -225,7 +225,7 @@ ==== `gprs cell bvci <2-65535>` Configures the 'BSSGP Virtual Circuit Identifier'. It must be unique -between all BGSGP connections to one SGSN. +between all BSSGP connections to one SGSN. NOTE: It is up to the system administrator to ensure all PCUs are allocated an unique bvci. OsmoBSC will not ensure this policy. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4387b516c5c116cd7179611dc34a90b0a744cb6c Gerrit-Change-Number: 24318 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 14:41:55 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 20 May 2021 14:41:55 +0000 Subject: Change in libosmocore[master]: kdf: add key derivation functions In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24291 ) Change subject: kdf: add key derivation functions ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24291/5/src/gsm/kdf/common.h File src/gsm/kdf/common.h: https://gerrit.osmocom.org/c/libosmocore/+/24291/5/src/gsm/kdf/common.h at 2 PS5, Line 2: * wpa_supplicant/hostapd / common helper functions, etc. > I guess we are fine with this? It is where our milenage came from all those years ago. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd Gerrit-Change-Number: 24291 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 14:41:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 14:57:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 14:57:22 +0000 Subject: Change in osmo-bsc[master]: bts.adoc: fix typo BGSGP -> BSSGP In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24318 ) Change subject: bts.adoc: fix typo BGSGP -> BSSGP ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4387b516c5c116cd7179611dc34a90b0a744cb6c Gerrit-Change-Number: 24318 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 14:57:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 16:17:16 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Thu, 20 May 2021 16:17:16 +0000 Subject: Change in osmo-gsm-tester[master]: ms-srs: change the cpu governor before launching the ms. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24270 ) Change subject: ms-srs: change the cpu governor before launching the ms. ...................................................................... Patch Set 1: > Patch Set 1: > > What's the purpose of adding this complexity to OGT code? Why not simply do this kind of stuff on the script launching osmo-gsm-tester, or even permanentely set the governor in the host? > I'm not really liking this idea tbh. Hi Pau, I needed to set the cpu governor to performance during the test execution to get the best of the device, but I don't want the device to be always in performance mode, as it is a waste of resources. I did it in the srs-ue as it's the class that has all the knowledge about what has to be done and in what order. For adding this feature in the script that launches osmo-gsm-tester, it will need to parse the information of the test to retrieve the resources and decide which one should change the governor, but it is already done by osmo-gsm-tester. As I said before, for the second option, I don't want the device to be always in performance mode, just only the test, so the device can be cooler and with less consumption. Do you have any other suggestion when I can place this funcionality. Thank you very much for your comments, they're giving me a wider vision of how osmo-gsm-tester works -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I86ec4fbba8a965e60103b30e2aa60cd2c3f348c9 Gerrit-Change-Number: 24270 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 16:17:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 16:24:05 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Thu, 20 May 2021 16:24:05 +0000 Subject: Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 ) Change subject: util: adds the feature to force the rpath when patching files. ...................................................................... Patch Set 1: > Patch Set 1: > > I would really like yo have some information in the commit on WHY is this really needed. Where you plan to use it? why isn't the other way working? please provide feedback. Hi Pau, I working with a new device and platform (ppc) and I created a crosscompiler for it. I places the libraries in a folder, so I need to patch the binary so it can find those libraries. The problem is that without the '--force-rpath' option passed to the patchelf utility the binary can't find those libraries, but it finds it with that option enabled for the patchelf utility. I decided to create a new function to allow this funcionality in order to avoid causing an impact on other parts of the code that are currently working with the normal function. Thanks -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec Gerrit-Change-Number: 24272 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 16:24:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 16:33:25 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Thu, 20 May 2021 16:33:25 +0000 Subject: Change in osmo-gsm-tester[master]: srs-ms: allows to run given scripts before the execution of the UE. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277 ) Change subject: srs-ms: allows to run given scripts before the execution of the UE. ...................................................................... Patch Set 1: > Patch Set 1: > > (1 comment) > > Again, this commit is missing information on WHY is this needed, or how is it going to be used. Without this information I cannot evaluate the commit and/or propose better alternatives. Hi Pau, Sorry about the lack of information. My idea behind this commit is to allow the srs-ue execute a list of given scripts before launching the program. I don't want to give the ue the knowledge of what it is executing, as it can be different scripts bases on a hardware model or other parameters. For example, I'm using it to check whether the uhd driver is working properly or not, and powercycling the device in case that it is not working. My idea is passing this scripts for the devices that need it and only execute it in those devices, independently of other properties. For example, 2 srsdevices can use uhd, but for any reason I just want to run the script/check in of them, so the script is passed to the one I want to check through the resources.conf. Do you have a better idea of how I could achieve this?? Thank you very much. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I718e686b5844f2f07eda820914678052f1008182 Gerrit-Change-Number: 24277 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 16:33:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 16:34:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 16:34:33 +0000 Subject: Change in osmo-bts[master]: bts: Clean up TS selection in sign_link_up References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24319 ) Change subject: bts: Clean up TS selection in sign_link_up ...................................................................... bts: Clean up TS selection in sign_link_up Change-Id: I0c92dfd05bf2ae40887980ef10b7e4c679213b6a --- M src/common/abis.c M tests/handover/handover_test.c 2 files changed, 11 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/19/24319/1 diff --git a/src/common/abis.c b/src/common/abis.c index be7e906..3dc7650 100644 --- a/src/common/abis.c +++ b/src/common/abis.c @@ -100,15 +100,17 @@ enum e1inp_sign_type type) { struct e1inp_sign_link *sign_link = NULL; + struct e1inp_ts *sign_ts; struct gsm_bts_trx *trx; int trx_nr; switch (type) { case E1INP_SIGN_OML: + sign_ts = e1inp_line_ipa_oml_ts(line); LOGP(DABIS, LOGL_INFO, "OML Signalling link up\n"); - e1inp_ts_config_sign(&line->ts[E1INP_SIGN_OML-1], line); + e1inp_ts_config_sign(sign_ts, line); sign_link = g_bts->oml_link = - e1inp_sign_link_create(&line->ts[E1INP_SIGN_OML-1], + e1inp_sign_link_create(sign_ts, E1INP_SIGN_OML, g_bts->c0, 255, 0); if (clock_gettime(CLOCK_MONOTONIC, &g_bts->oml_conn_established_timestamp) != 0) memset(&g_bts->oml_conn_established_timestamp, 0, @@ -118,6 +120,7 @@ break; default: trx_nr = type - E1INP_SIGN_RSL; + sign_ts = e1inp_line_ipa_rsl_ts(line, trx_nr); LOGP(DABIS, LOGL_INFO, "RSL Signalling link for TRX%d up\n", trx_nr); trx = gsm_bts_trx_num(g_bts, trx_nr); @@ -126,9 +129,9 @@ trx_nr); break; } - e1inp_ts_config_sign(&line->ts[type-1], line); + e1inp_ts_config_sign(sign_ts, line); sign_link = trx->rsl_link = - e1inp_sign_link_create(&line->ts[type-1], + e1inp_sign_link_create(sign_ts, E1INP_SIGN_RSL, trx, trx->rsl_tei, 0); trx_link_estab(trx); diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 6af8fac..9c9b020 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -58,6 +58,7 @@ { void *tall_bts_ctx; struct e1inp_line *line; + struct e1inp_ts *sign_ts; struct gsm_lchan *lchan; struct osmo_phsap_prim nl1sap; struct msgb *msg; @@ -90,9 +91,9 @@ line = e1inp_line_create(0, "ipa"); OSMO_ASSERT(line); - - e1inp_ts_config_sign(&line->ts[E1INP_SIGN_RSL-1], line); - trx->rsl_link = e1inp_sign_link_create(&line->ts[E1INP_SIGN_RSL-1], E1INP_SIGN_RSL, NULL, 0, 0); + sign_ts = e1inp_line_ipa_rsl_ts(line, 0); + e1inp_ts_config_sign(sign_ts, line); + trx->rsl_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_RSL, NULL, 0, 0); OSMO_ASSERT(trx->rsl_link); trx->rsl_link->trx = trx; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0c92dfd05bf2ae40887980ef10b7e4c679213b6a Gerrit-Change-Number: 24319 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 16:59:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 May 2021 16:59:06 +0000 Subject: Change in osmo-bts[master]: bts: Clean up TS selection in sign_link_up In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24319 ) Change subject: bts: Clean up TS selection in sign_link_up ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0c92dfd05bf2ae40887980ef10b7e4c679213b6a Gerrit-Change-Number: 24319 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 20 May 2021 16:59:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 16:59:20 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 May 2021 16:59:20 +0000 Subject: Change in osmo-bsc[master]: bts.adoc: fix typo BGSGP -> BSSGP In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24318 ) Change subject: bts.adoc: fix typo BGSGP -> BSSGP ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4387b516c5c116cd7179611dc34a90b0a744cb6c Gerrit-Change-Number: 24318 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 16:59:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 17:15:21 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 May 2021 17:15:21 +0000 Subject: Change in osmo-bts[rel-1.3.2]: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24305 ) Change subject: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 Gerrit-Change-Number: 24305 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 17:15:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 May 2021 17:15:26 +0000 Subject: Change in osmo-bts[rel-1.3.2]: osmo-bts-trx: remove redundant assert() in bts_sched_fn() In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24306 ) Change subject: osmo-bts-trx: remove redundant assert() in bts_sched_fn() ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I896ff5117588f2229cc54619ce62fd027a9ef25f Gerrit-Change-Number: 24306 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 17:26:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 17:26:45 +0000 Subject: Change in osmo-gsm-tester[master]: util: adds the feature to force the rpath when patching files. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 ) Change subject: util: adds the feature to force the rpath when patching files. ...................................................................... Patch Set 1: which binary? srsenb? which libraries? Are you building all that into a trial you pass to osmo-gsm-tester? Are you following a similar process to that of osmo-gsm-tester.git/contrib/jenkins-build-srslte.sh ? I'm really lacking detailed context here in order to understand the issues you are facing. How it comes you need --force-rpath and --set-rpath is not enough as with the other binaries/systems? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2d4a105d4843c0d31d6b5d8f8d4195247b290aec Gerrit-Change-Number: 24272 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 17:26:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 17:30:25 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 20 May 2021 17:30:25 +0000 Subject: Change in osmo-sgsn[master]: add support for multiple encryption algorithms + a5/4 In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 to look at the new patch set (#2). Change subject: add support for multiple encryption algorithms + a5/4 ...................................................................... add support for multiple encryption algorithms + a5/4 config file syntax is backwards compatible Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Related: SYS#5324 --- M include/osmocom/sgsn/gprs_sgsn.h M include/osmocom/sgsn/sgsn.h M src/sgsn/gprs_gmm.c M src/sgsn/gprs_llc.c M src/sgsn/gprs_sgsn.c M src/sgsn/sgsn_vty.c 6 files changed, 91 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/04/24304/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Gerrit-Change-Number: 24304 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 17:32:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 May 2021 17:32:59 +0000 Subject: Change in osmo-bts[rel-1.3.2]: osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24307 to look at the new patch set (#2). Change subject: osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() ...................................................................... osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() In change [1] together with the actual implementation I introduced a serious bug to trx_sched_fn(): if a timeslot is configured to use frequency hopping, both 'pinst' and 'l1h' pointers are *overwriten* in the inner loop, so the Downlink burst is re-directed to the approproate PHY instance. However, if a subsequent timeslot is not hopping, the Downlink burst would be re-directed to the wrong PHY instance because both pointers were overwriten during a previous iteration. Let's add another 'struct phy_instance' pointer to the inner loop, so it's properly re-initialized for each timeslot iteration. Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Fixes: [1] I68f4ae09fd0789ad0d8f1c1e17e17dfc4de8e462 Related: SYS#4868, OS#4546 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 6 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/07/24307/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24307 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 17:32:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 May 2021 17:32:59 +0000 Subject: =?UTF-8?Q?Change_in_osmo-bts=5Brel-1=2E3=2E2=5D=3A_Bump_version=3A_1=2E3=2E1=2E1-1c2c_=E2=86=92_1=2E3=2E2?= In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24308 to look at the new patch set (#2). Change subject: Bump version: 1.3.1.1-1c2c ? 1.3.2 ...................................................................... Bump version: 1.3.1.1-1c2c ? 1.3.2 Change-Id: I6cb5aeb7ad0fd4cb893c2d8123db909a4a058304 Signed-off-by: Vadim Yanitskiy --- M debian/changelog 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/08/24308/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I6cb5aeb7ad0fd4cb893c2d8123db909a4a058304 Gerrit-Change-Number: 24308 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 17:35:02 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 20 May 2021 17:35:02 +0000 Subject: Change in libosmocore[master]: kdf: add key derivation functions In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24291 to look at the new patch set (#6). Change subject: kdf: add key derivation functions ...................................................................... kdf: add key derivation functions generic sha code from git://w1.fi/hostap.git commit 7d2302f878c72b3474adc89971af659c2a7b1212 which also happens to be the source of our milenage code. Related: SYS#5324 Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd --- M include/Makefile.am A include/osmocom/crypt/kdf.h M src/gsm/Makefile.am A src/gsm/kdf.c A src/gsm/kdf/common.h A src/gsm/kdf/crypto.h A src/gsm/kdf/sha1-internal.c A src/gsm/kdf/sha1.c A src/gsm/kdf/sha1.h A src/gsm/kdf/sha1_i.h A src/gsm/kdf/sha256-internal.c A src/gsm/kdf/sha256.c A src/gsm/kdf/sha256.h A src/gsm/kdf/sha256_i.h M src/gsm/libosmogsm.map 15 files changed, 2,364 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/91/24291/6 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd Gerrit-Change-Number: 24291 Gerrit-PatchSet: 6 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 17:35:15 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 May 2021 17:35:15 +0000 Subject: Change in osmo-bts[2021q1]: struct gsm_bts_trx: fix the PHY instance pointer In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24310 ) Change subject: struct gsm_bts_trx: fix the PHY instance pointer ...................................................................... Patch Set 1: Code-Review-2 I reworked the fix, so please abandon this patch. Thanks! -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I9bd6f0921e0c6bf824d38485486ad78864cbe17e Gerrit-Change-Number: 24310 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 20 May 2021 17:35:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 17:35:22 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 May 2021 17:35:22 +0000 Subject: Change in osmo-bts[2021q1]: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24311 ) Change subject: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g ...................................................................... Patch Set 1: Code-Review-2 I reworked the fix, so please abandon this patch. Thanks! -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 Gerrit-Change-Number: 24311 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 17:35:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 17:35:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 May 2021 17:35:29 +0000 Subject: Change in osmo-bts[2021q1]: osmo-bts-trx: remove redundant assert() in bts_sched_fn() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24312 ) Change subject: osmo-bts-trx: remove redundant assert() in bts_sched_fn() ...................................................................... Patch Set 1: Code-Review-2 I reworked the fix, so please abandon this patch. Thanks! -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I896ff5117588f2229cc54619ce62fd027a9ef25f Gerrit-Change-Number: 24312 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 20 May 2021 17:35:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 17:36:21 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 20 May 2021 17:36:21 +0000 Subject: Change in libosmocore[master]: kdf: add key derivation functions In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24291 to look at the new patch set (#7). Change subject: kdf: add key derivation functions ...................................................................... kdf: add key derivation functions generic sha code from git://w1.fi/hostap.git commit 7d2302f878c72b3474adc89971af659c2a7b1212 which also happens to be the source of our milenage code. Related: SYS#5324 Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd --- M include/Makefile.am A include/osmocom/crypt/kdf.h M src/gsm/Makefile.am A src/gsm/kdf.c A src/gsm/kdf/common.h A src/gsm/kdf/crypto.h A src/gsm/kdf/sha1-internal.c A src/gsm/kdf/sha1.c A src/gsm/kdf/sha1.h A src/gsm/kdf/sha1_i.h A src/gsm/kdf/sha256-internal.c A src/gsm/kdf/sha256.c A src/gsm/kdf/sha256.h A src/gsm/kdf/sha256_i.h M src/gsm/libosmogsm.map 15 files changed, 2,364 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/91/24291/7 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd Gerrit-Change-Number: 24291 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 17:38:39 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 May 2021 17:38:39 +0000 Subject: Change in osmo-bts[2021q1]: osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2) to the change originally created by osmith. ( https://gerrit.osmocom.org/c/osmo-bts/+/24313 ) Change subject: osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() ...................................................................... osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() In change [1] together with the actual implementation I introduced a serious bug to trx_sched_fn(): if a timeslot is configured to use frequency hopping, both 'pinst' and 'l1h' pointers are *overwriten* in the inner loop, so the Downlink burst is re-directed to the approproate PHY instance. However, if a subsequent timeslot is not hopping, the Downlink burst would be re-directed to the wrong PHY instance because both pointers were overwriten during a previous iteration. Let's add another 'struct phy_instance' pointer to the inner loop, so it's properly re-initialized for each timeslot iteration. Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Fixes: [1] I68f4ae09fd0789ad0d8f1c1e17e17dfc4de8e462 Related: SYS#4868, OS#4546 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 6 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/24313/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24313 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 17:51:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 17:51:14 +0000 Subject: Change in osmo-gsm-tester[master]: srs-ms: allows to run given scripts before the execution of the UE. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277 ) Change subject: srs-ms: allows to run given scripts before the execution of the UE. ...................................................................... Patch Set 1: Hi, If you "don't want to give the ue the knowledge of what it is executing", then to me it looks like it's not the proper place to do it, since that's the object class which controls and manages one UE. Playing with lots of system-wide options there doesn't look correct. All system-wide configuration should in general be done outside of OGT, since the idea is that you may end up running whatever else in the same node at the same time (be it from same OGT instance or another one). I have the feeling you are trying to hook tons of generic features turning OGT into a full-blown network orchestrator, and hence you are adding a lot of complexity which imho shouldn't be here, since the environment is already complex enough. I don't want to end up with dozens of shell scripts to be moved and executed here and there if it can be avoided. And I'm pretty sure in the long run you don't want to end up there either. I'm not against adding stuff like that if really necessary, but I'd really like to discuss them one by one and see how it can be done in a good way. What exactly do you need to check and how? What's the exact problem and what do you need to do to solve it? Feel free to contact me over email or jabber if you want to discuss this further. Also feel free to contact me if you plan to add new features, I may be able to give you some hints to drive you into a good direction from start and speed up your development. For instance, in the case of powercycling the uhd device if it's not working, there's 3 ways I can quickly think could work: [1] In the jenkins job / script calling osmo-gsm-tester, connect to the remote host where you plan to run stuff (if it's a static setup) and make sure it's reset. [2] Have a systemd service running in each of those nodes which for instance is executed every 5 min and checks if no ssh user is in, then reset the device if needed [2] If there's a specific command you want to call in order to clean up something, add that explicitly to OGT code, instead of generic scripts. You can even generate and scp bash scripts on the fly from within OGT. You can define new tags on run_nodes or srsue resources if needed too in order to mark specific actions. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I718e686b5844f2f07eda820914678052f1008182 Gerrit-Change-Number: 24277 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 17:51:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 17:54:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 17:54:37 +0000 Subject: Change in libosmocore[master]: kdf: add key derivation functions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24291 ) Change subject: kdf: add key derivation functions ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd Gerrit-Change-Number: 24291 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 17:54:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 17:59:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 17:59:55 +0000 Subject: Change in osmo-bts[2021q1]: osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24313 ) Change subject: osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24313 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 17:59:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 18:10:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 18:10:33 +0000 Subject: Change in osmo-bts[master]: bts: Clean up TS selection in sign_link_up In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24319 to look at the new patch set (#2). Change subject: bts: Clean up TS selection in sign_link_up ...................................................................... bts: Clean up TS selection in sign_link_up Change-Id: I0c92dfd05bf2ae40887980ef10b7e4c679213b6a --- M src/common/abis.c M tests/handover/handover_test.c 2 files changed, 12 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/19/24319/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0c92dfd05bf2ae40887980ef10b7e4c679213b6a Gerrit-Change-Number: 24319 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 18:18:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 18:18:40 +0000 Subject: Change in osmo-bts[master]: bts: Clean up TS selection in sign_link_up In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24319 to look at the new patch set (#3). Change subject: bts: Clean up TS selection in sign_link_up ...................................................................... bts: Clean up TS selection in sign_link_up Change-Id: I0c92dfd05bf2ae40887980ef10b7e4c679213b6a --- M src/common/abis.c M tests/handover/handover_test.c 2 files changed, 22 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/19/24319/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0c92dfd05bf2ae40887980ef10b7e4c679213b6a Gerrit-Change-Number: 24319 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Thu May 20 18:45:02 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Thu, 20 May 2021 18:45:02 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-opencm3-projects_=C2=BB_a1=3Ddefa?= =?UTF-8?Q?ult,a2=3Ddefault,a3=3Ddefault,a4=3Dde?= =?UTF-8?Q?fault,osmocom-master-debian9_#14?= In-Reply-To: <998049666.1359.1621449902128@jenkins.osmocom.org> References: <998049666.1359.1621449902128@jenkins.osmocom.org> Message-ID: <1055786917.1418.1621536302176@jenkins.osmocom.org> See Changes: ------------------------------------------ Started by upstream project "master-osmo-opencm3-projects" build number 14 originally caused by: Started by timer Running as SYSTEM Building remotely on build2-deb9build-ansible (ttcn3 osmocom-gerrit-debian9 osmocom-master-debian9 repo-install-test coverity) in workspace The recommended git tool is: NONE No credentials specified > git rev-parse --resolve-git-dir # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git://git.osmocom.org/osmo-opencm3-projects # timeout=10 Fetching upstream changes from git://git.osmocom.org/osmo-opencm3-projects > git --version # timeout=10 > git --version # 'git version 2.11.0' > git fetch --tags --progress -- git://git.osmocom.org/osmo-opencm3-projects +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision 7527cab6d8364b2022bd4fa2fd03039eac2a99bb (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 Commit message: "add missing libcommon.mk" > git rev-list --no-walk 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.libopencm3.url # timeout=10 > git config -f .gitmodules --get submodule.libopencm3.path # timeout=10 > git config --get submodule.librfn.url # timeout=10 > git config -f .gitmodules --get submodule.librfn.path # timeout=10 > git submodule update --init --recursive libopencm3 # timeout=10 > git submodule update --init --recursive librfn # timeout=10 [osmocom-master-debian9] $ /bin/sh -xe /tmp/jenkins5550746800929185662.sh + ARTIFACT_STORE=/home/osmocom-build/jenkins_build_artifact_store + mkdir -p /home/osmocom-build/jenkins_build_artifact_store + docker run --rm=true --cap-add SYS_PTRACE -e ARTIFACT_STORE=/artifact_store -e ASCIIDOC_WARNINGS_CHECK=1 -e HOME=/build -e JOB_NAME=master-osmo-opencm3-projects/a1=default,a2=default,a3=default,a4=default,label=osmocom-master-debian9 -e MAKE=make -e OSMOPY_DEBUG_TCP_SOCKETS=1 -e OSMO_GSM_MANUALS_DIR=/opt/osmo-gsm-manuals -e PARALLEL_MAKE=-j 8 -e PUBLISH=1 -e WITH_MANUALS=1 -w /build -i -u build -v :/build -v /home/osmocom-build/jenkins_build_artifact_store:/artifact_store -v /home/osmocom-build/.ssh:/home/build/.ssh:ro osmocom-build/debian-stretch-jenkins /build/contrib/jenkins.sh --publish =============== relay-driver START ============== CLEAN CC console.c arm-none-eabi-gcc: error: /usr/lib/picolibc/arm-none-eabi/picolibc.specs: No such file or directory ../../mk/libopencm3.mk:227: recipe for target 'console.o' failed make: *** [console.o] Error 1 Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Thu May 20 19:03:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 19:03:07 +0000 Subject: Change in osmo-bts[rel-1.3.2]: osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24307 ) Change subject: osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24307 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 19:03:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 19:04:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 May 2021 19:04:46 +0000 Subject: =?UTF-8?Q?Change_in_osmo-bts=5Brel-1=2E3=2E2=5D=3A_Bump_version=3A_1=2E3=2E1=2E1-1c2c_=E2=86=92_1=2E3=2E2?= In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24308 ) Change subject: Bump version: 1.3.1.1-1c2c ? 1.3.2 ...................................................................... Patch Set 2: Code-Review+1 FYI, you created the temporary branch to merge to called "rel-1.3.2", but that's misleading, since the branch is actually now pointing to "v1.3.1" :) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I6cb5aeb7ad0fd4cb893c2d8123db909a4a058304 Gerrit-Change-Number: 24308 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 19:04:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 19:09:42 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 May 2021 19:09:42 +0000 Subject: =?UTF-8?Q?Change_in_osmo-bts=5Brel-1=2E3=2E2=5D=3A_Bump_version=3A_1=2E3=2E1=2E1-1c2c_=E2=86=92_1=2E3=2E2?= In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24308 ) Change subject: Bump version: 1.3.1.1-1c2c ? 1.3.2 ...................................................................... Patch Set 2: > Patch Set 2: Code-Review+1 > > FYI, you created the temporary branch to merge to called "rel-1.3.2", but that's misleading, since the branch is actually now pointing to "v1.3.1" :) Yes, and this is what step 2 in https://osmocom.org/projects/cellular-infrastructure/wiki/Make_a_new_release#Creating-a-patch-release suggested to do. Am I missing something? Where this branch is supposed to point to before this patchset is merged? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I6cb5aeb7ad0fd4cb893c2d8123db909a4a058304 Gerrit-Change-Number: 24308 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 May 2021 19:09:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 19:11:59 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 20 May 2021 19:11:59 +0000 Subject: Change in libosmo-abis[master]: ipaccess: do not block ipaccess_line_update on failure References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24320 ) Change subject: ipaccess: do not block ipaccess_line_update on failure ...................................................................... ipaccess: do not block ipaccess_line_update on failure The function ipaccess_line_update (called when the API user calls e1inp_line_update and the line is of type ipaccess) internally sets the line_already_initialized regardless whether the initalization is successful or not. This also means that if the initalization fails the API user is unable to retry the initalition with corrected line options. Change-Id: I90d330e2864f85b964628502afdb0c38eb54f15d Related: SYS#4971 --- M src/input/ipaccess.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/20/24320/1 diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c index e876790..a584e0d 100644 --- a/src/input/ipaccess.c +++ b/src/input/ipaccess.c @@ -1025,8 +1025,6 @@ if (il->line_already_initialized) return 0; - il->line_already_initialized = true; - switch(line->ops->cfg.ipa.role) { case E1INP_LINE_R_BSC: { struct ipa_server_link *oml_link, *rsl_link; @@ -1112,6 +1110,8 @@ default: break; } + + il->line_already_initialized = true; return ret; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I90d330e2864f85b964628502afdb0c38eb54f15d Gerrit-Change-Number: 24320 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 20 19:12:43 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Thu, 20 May 2021 19:12:43 +0000 Subject: Change in osmo-gsm-tester[master]: ms-srs: change the cpu governor before launching the ms. In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24270 ) Change subject: ms-srs: change the cpu governor before launching the ms. ...................................................................... Patch Set 1: > Patch Set 1: > > > Patch Set 1: > > > > What's the purpose of adding this complexity to OGT code? Why not simply do this kind of stuff on the script launching osmo-gsm-tester, or even permanentely set the governor in the host? > > I'm not really liking this idea tbh. > > Hi Pau, > > I needed to set the cpu governor to performance during the test execution to get the best of the device, but I don't want the device to be always in performance mode, as it is a waste of resources. > I did it in the srs-ue as it's the class that has all the knowledge about what has to be done and in what order. > For adding this feature in the script that launches osmo-gsm-tester, it will need to parse the information of the test to retrieve the resources and decide which one should change the governor, but it is already done by osmo-gsm-tester. > As I said before, for the second option, I don't want the device to be always in performance mode, just only the test, so the device can be cooler and with less consumption. > Do you have any other suggestion when I can place this funcionality. > > Thank you very much for your comments, they're giving me a wider vision of how osmo-gsm-tester works @pespin: we need some sort of way to execute custom scripts on a resource controlled by OGT. See other patch for that feature. This is mainly to configure external HW. In theory we could also call the CPU govenor script from that "pre-test" script. Adding a stand-alone govenor script, however, felt general-purpose enought so we went for this. approach. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I86ec4fbba8a965e60103b30e2aa60cd2c3f348c9 Gerrit-Change-Number: 24270 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 May 2021 19:12:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 07:53:04 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Fri, 21 May 2021 07:53:04 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf-*: registers one UE in the iperf parameterized tests in the ... In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24280 ) Change subject: 4g-iperf-*: registers one UE in the iperf parameterized tests in the 4g test suite. ...................................................................... Patch Set 1: > Patch Set 1: > > which enb doesn't support more than one UE? I don't remember such limitation Hello Pau, that limitation is in the enb_srs.py file, line 318 within this function: def ue_add(self, ue): if self.ue is not None: raise log.Error("More than one UE per ENB not yet supported (ZeroMQ)") self.ue = ue -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Idfb641fe9fab83179d00d265e26fd231d5977081 Gerrit-Change-Number: 24280 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 21 May 2021 07:53:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 08:15:47 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Fri, 21 May 2021 08:15:47 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: adds environment variables to the resources schema. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24283 ) Change subject: srs-enb: adds environment variables to the resources schema. ...................................................................... Patch Set 1: > Patch Set 1: > > how/why is this used? I only see the var being added there. this is a preparation for the next commit, which includes the malloc interceptor but I as see more than one functionality I segregate into 2 different commits (one for the malloc interceptor and one for passing enviroment variables to the srs_enb). What it's missing here is to add the variables to the env dictionary before launching the enb (it's only added for the malloc interceptor case). Does that sound good to you? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5c0ca66ae88d5f3a3ed04c620f386afe1afac9 Gerrit-Change-Number: 24283 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 21 May 2021 08:15:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 08:23:43 2021 From: gerrit-no-reply at lists.osmocom.org (alealcon) Date: Fri, 21 May 2021 08:23:43 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: adds support to the malloc interceptor. In-Reply-To: References: Message-ID: alealcon has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284 ) Change subject: srs-enb: adds support to the malloc interceptor. ...................................................................... Patch Set 1: > Patch Set 1: > > Isn't the malloc interceptor lib in a fixed known place? If that's the case, there' no need for specifying the path. Otherwise I'd rather add this kind of information generically as a "run_node" property It's not in a fixed known place. When you say add as a "run_node property" you mean something like this: - label: srsENB-B200 type: srsenb rf_dev_type: uhd rf_dev_args: "type=b200,serial=3129020" LD_preload: /path/to/lib/or/whatever What is the advantage of of doing this ways vs creating a property to add a list of environment variables? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0078020468f58bdd70b0b5de879eb58192f947a6 Gerrit-Change-Number: 24284 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 21 May 2021 08:23:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 09:44:09 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 21 May 2021 09:44:09 +0000 Subject: Change in osmo-bts[rel-1.3.2]: osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24307 ) Change subject: osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24307 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 09:44:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 09:44:39 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 21 May 2021 09:44:39 +0000 Subject: =?UTF-8?Q?Change_in_osmo-bts=5Brel-1=2E3=2E2=5D=3A_Bump_version=3A_1=2E3=2E1=2E1-1c2c_=E2=86=92_1=2E3=2E2?= In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24308 ) Change subject: Bump version: 1.3.1.1-1c2c ? 1.3.2 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I6cb5aeb7ad0fd4cb893c2d8123db909a4a058304 Gerrit-Change-Number: 24308 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 09:44:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 09:46:00 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 21 May 2021 09:46:00 +0000 Subject: Change in osmo-bts[2021q1]: struct gsm_bts_trx: fix the PHY instance pointer In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24310 ) Change subject: struct gsm_bts_trx: fix the PHY instance pointer ...................................................................... Abandoned patch was reworked -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I9bd6f0921e0c6bf824d38485486ad78864cbe17e Gerrit-Change-Number: 24310 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 09:46:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 21 May 2021 09:46:08 +0000 Subject: Change in osmo-bts[2021q1]: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24311 ) Change subject: osmo-bts-trx: cosmetic: s/trx_sched_fn/bts_sched_fn/g ...................................................................... Abandoned patch was reworked -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I47e05b5b3f586430aa0b56c3d3c9a1da23077513 Gerrit-Change-Number: 24311 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 09:46:18 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 21 May 2021 09:46:18 +0000 Subject: Change in osmo-bts[2021q1]: osmo-bts-trx: remove redundant assert() in bts_sched_fn() In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24312 ) Change subject: osmo-bts-trx: remove redundant assert() in bts_sched_fn() ...................................................................... Abandoned patch was reworked -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I896ff5117588f2229cc54619ce62fd027a9ef25f Gerrit-Change-Number: 24312 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 09:46:55 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 21 May 2021 09:46:55 +0000 Subject: Change in osmo-bts[2021q1]: osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24313 ) Change subject: osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24313 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 09:46:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 09:47:10 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 21 May 2021 09:47:10 +0000 Subject: Change in osmo-bts[2021q1]: osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24313 ) Change subject: osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() ...................................................................... osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() In change [1] together with the actual implementation I introduced a serious bug to trx_sched_fn(): if a timeslot is configured to use frequency hopping, both 'pinst' and 'l1h' pointers are *overwriten* in the inner loop, so the Downlink burst is re-directed to the approproate PHY instance. However, if a subsequent timeslot is not hopping, the Downlink burst would be re-directed to the wrong PHY instance because both pointers were overwriten during a previous iteration. Let's add another 'struct phy_instance' pointer to the inner loop, so it's properly re-initialized for each timeslot iteration. Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Fixes: [1] I68f4ae09fd0789ad0d8f1c1e17e17dfc4de8e462 Related: SYS#4868, OS#4546 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 6 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index efd4954..254f427 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -107,9 +107,9 @@ /* process every TRX */ llist_for_each_entry(trx, &bts->trx_list, list) { - struct phy_instance *pinst = trx_phy_instance(trx); - struct phy_link *plink = pinst->phy_link; - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; + const struct phy_instance *_pinst = trx_phy_instance(trx); + const struct phy_link *plink = _pinst->phy_link; + struct trx_l1h *l1h = _pinst->u.osmotrx.hdl; struct l1sched_trx *l1t = &l1h->l1s; /* we don't schedule, if power is off */ @@ -122,6 +122,8 @@ /* process every TS of TRX */ for (tn = 0; tn < ARRAY_SIZE(l1t->ts); tn++) { + const struct phy_instance *pinst = _pinst; + /* ready-to-send */ _sched_rts(l1t, tn, GSM_TDMA_FN_SUM(sched_fn, plink->u.osmotrx.rts_advance)); @@ -143,7 +145,6 @@ pinst = dlfh_route_br(&br, &trx->ts[tn]); if (pinst == NULL) continue; - l1h = pinst->u.osmotrx.hdl; } if (pinst->trx == bts->c0) { @@ -153,7 +154,7 @@ br.att = 0; } - trx_if_send_burst(l1h, &br); + trx_if_send_burst(pinst->u.osmotrx.hdl, &br); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24313 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 10:01:12 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 10:01:12 +0000 Subject: Change in osmo-bts[rel-1.3.2]: osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24307 ) Change subject: osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24307 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 10:01:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 10:07:33 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 10:07:33 +0000 Subject: Change in libosmocore[master]: kdf: add key derivation functions In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24291 ) Change subject: kdf: add key derivation functions ...................................................................... Patch Set 7: Code-Review+1 I don't know how much extra effort this would be, but I think it would be good if there were some tests for the osmo_kdf_ functions. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd Gerrit-Change-Number: 24291 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 10:07:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 10:10:06 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 10:10:06 +0000 Subject: Change in osmo-bsc[master]: bts.adoc: fix typo BGSGP -> BSSGP In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24318 ) Change subject: bts.adoc: fix typo BGSGP -> BSSGP ...................................................................... bts.adoc: fix typo BGSGP -> BSSGP Change-Id: I4387b516c5c116cd7179611dc34a90b0a744cb6c --- M doc/manuals/chapters/bts.adoc 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/chapters/bts.adoc b/doc/manuals/chapters/bts.adoc index 6ef0a0c..1b33d73 100644 --- a/doc/manuals/chapters/bts.adoc +++ b/doc/manuals/chapters/bts.adoc @@ -225,7 +225,7 @@ ==== `gprs cell bvci <2-65535>` Configures the 'BSSGP Virtual Circuit Identifier'. It must be unique -between all BGSGP connections to one SGSN. +between all BSSGP connections to one SGSN. NOTE: It is up to the system administrator to ensure all PCUs are allocated an unique bvci. OsmoBSC will not ensure this policy. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4387b516c5c116cd7179611dc34a90b0a744cb6c Gerrit-Change-Number: 24318 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 10:16:49 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 10:16:49 +0000 Subject: Change in osmo-gsm-tester[master]: iperfserver: adds an offset to the default port. In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24271 ) Change subject: iperfserver: adds an offset to the default port. ...................................................................... Patch Set 1: Code-Review-1 I have also looked at this. Using srv.set_port() is probably the better solution. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I23f0e5ae599825627a23333a0255577bbc013a3c Gerrit-Change-Number: 24271 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 10:16:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 10:25:15 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 10:25:15 +0000 Subject: Change in osmo-bsc[master]: select_codecs(): do not confuse bool 'true' with integer value 1 In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24295 ) Change subject: select_codecs(): do not confuse bool 'true' with integer value 1 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I17a82f4f208203b748ba2d6ace0ddc06f87c1cef Gerrit-Change-Number: 24295 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 10:25:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 10:27:19 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 10:27:19 +0000 Subject: Change in osmo-bsc[master]: bsc: Use osmo_clock_gettime everywhere In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24269 ) Change subject: bsc: Use osmo_clock_gettime everywhere ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I585910277f36d9d7950c9d7e435356eaf2a11ed7 Gerrit-Change-Number: 24269 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Fri, 21 May 2021 10:27:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 10:32:09 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 10:32:09 +0000 Subject: Change in osmo-bts[master]: osmo-bts-{trx, virtual}: fix: pinst->trx may be NULL In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24286 ) Change subject: osmo-bts-{trx,virtual}: fix: pinst->trx may be NULL ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib7d9cb7ae47fead723fa46454cd64bf6e88756bb Gerrit-Change-Number: 24286 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 10:32:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 10:53:45 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 10:53:45 +0000 Subject: Change in osmo-bts[rel-1.3.2]: osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24307 ) Change subject: osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() ...................................................................... osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() In change [1] together with the actual implementation I introduced a serious bug to trx_sched_fn(): if a timeslot is configured to use frequency hopping, both 'pinst' and 'l1h' pointers are *overwriten* in the inner loop, so the Downlink burst is re-directed to the approproate PHY instance. However, if a subsequent timeslot is not hopping, the Downlink burst would be re-directed to the wrong PHY instance because both pointers were overwriten during a previous iteration. Let's add another 'struct phy_instance' pointer to the inner loop, so it's properly re-initialized for each timeslot iteration. Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Fixes: [1] I68f4ae09fd0789ad0d8f1c1e17e17dfc4de8e462 Related: SYS#4868, OS#4546 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 6 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve osmith: Looks good to me, approved dexter: Looks good to me, but someone else must approve diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index bf0650d..e1340b5 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -107,9 +107,9 @@ /* process every TRX */ llist_for_each_entry(trx, &bts->trx_list, list) { - struct phy_instance *pinst = trx_phy_instance(trx); - struct phy_link *plink = pinst->phy_link; - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; + const struct phy_instance *_pinst = trx_phy_instance(trx); + const struct phy_link *plink = _pinst->phy_link; + struct trx_l1h *l1h = _pinst->u.osmotrx.hdl; struct l1sched_trx *l1t = &l1h->l1s; /* we don't schedule, if power is off */ @@ -122,6 +122,8 @@ /* process every TS of TRX */ for (tn = 0; tn < ARRAY_SIZE(l1t->ts); tn++) { + const struct phy_instance *pinst = _pinst; + /* ready-to-send */ _sched_rts(l1t, tn, GSM_TDMA_FN_SUM(sched_fn, plink->u.osmotrx.rts_advance)); @@ -143,7 +145,6 @@ pinst = dlfh_route_br(&br, &trx->ts[tn]); if (pinst == NULL) continue; - l1h = pinst->u.osmotrx.hdl; } if (pinst->trx == bts->c0) { @@ -153,7 +154,7 @@ br.att = 0; } - trx_if_send_burst(l1h, &br); + trx_if_send_burst(pinst->u.osmotrx.hdl, &br); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I9afbbef8dc5d885763356470c27d4392dce8e815 Gerrit-Change-Number: 24307 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 10:53:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 10:53:46 +0000 Subject: =?UTF-8?Q?Change_in_osmo-bts=5Brel-1=2E3=2E2=5D=3A_Bump_version=3A_1=2E3=2E1=2E1-1c2c_=E2=86=92_1=2E3=2E2?= In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24308 ) Change subject: Bump version: 1.3.1.1-1c2c ? 1.3.2 ...................................................................... Bump version: 1.3.1.1-1c2c ? 1.3.2 Change-Id: I6cb5aeb7ad0fd4cb893c2d8123db909a4a058304 Signed-off-by: Vadim Yanitskiy --- M debian/changelog 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/debian/changelog b/debian/changelog index 25b7ae6..85680dc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +osmo-bts (1.3.2) unstable; urgency=medium + + * osmo-bts-trx: fix hopping pointer bug in trx_sched_fn() + + -- Vadim Yanitskiy Thu, 20 May 2021 17:30:07 +0000 + osmo-bts (1.3.1) unstable; urgency=medium [ Vadim Yanitskiy ] -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: rel-1.3.2 Gerrit-Change-Id: I6cb5aeb7ad0fd4cb893c2d8123db909a4a058304 Gerrit-Change-Number: 24308 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:03:53 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 11:03:53 +0000 Subject: Change in osmo-bts[master]: bts: Clean up TS selection in sign_link_up In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24319 ) Change subject: bts: Clean up TS selection in sign_link_up ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0c92dfd05bf2ae40887980ef10b7e4c679213b6a Gerrit-Change-Number: 24319 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 21 May 2021 11:03:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:08:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 11:08:33 +0000 Subject: Change in osmo-bsc[master]: ipaccess-config: Clean up sign_link setup helper In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24267 ) Change subject: ipaccess-config: Clean up sign_link setup helper ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7a5231690c9f2f1c2378b1035900c6c246deb994 Gerrit-Change-Number: 24267 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 21 May 2021 11:08:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:09:05 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 11:09:05 +0000 Subject: Change in osmo-bsc[master]: bsc: Clean up TS selection in ipaccess_sign_link_up/down In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24268 ) Change subject: bsc: Clean up TS selection in ipaccess_sign_link_up/down ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3e60ebc979010830a5c40112824893a640c58fd4 Gerrit-Change-Number: 24268 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 21 May 2021 11:09:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:09:18 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 11:09:18 +0000 Subject: Change in osmo-bsc[master]: bsc: Use osmo_clock_gettime everywhere In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24269 ) Change subject: bsc: Use osmo_clock_gettime everywhere ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I585910277f36d9d7950c9d7e435356eaf2a11ed7 Gerrit-Change-Number: 24269 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 21 May 2021 11:09:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:09:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 11:09:40 +0000 Subject: Change in osmo-bsc[master]: bsc: Clean up TS selection in ipaccess_sign_link_up/down In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24268 ) Change subject: bsc: Clean up TS selection in ipaccess_sign_link_up/down ...................................................................... Patch Set 2: Code-Review+1 Letting the others to check this patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3e60ebc979010830a5c40112824893a640c58fd4 Gerrit-Change-Number: 24268 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 21 May 2021 11:09:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:10:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 11:10:29 +0000 Subject: Change in osmo-pcu[master]: bts: Use ms_store when calculating set of target PDCHs for Pkt Paging... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24225 ) Change subject: bts: Use ms_store when calculating set of target PDCHs for Pkt Paging Request ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I671e531921bbea2f5cc0f2bfcb8a39ea5c6673b8 Gerrit-Change-Number: 24225 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 May 2021 11:10:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:11:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 11:11:37 +0000 Subject: Change in osmo-pcu[master]: Clean false positive in newer GCC version checking guard of else clause In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24265 ) Change subject: Clean false positive in newer GCC version checking guard of else clause ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I37bfc8e85daaabbbf10dfd907b305e3e0ec31863 Gerrit-Change-Number: 24265 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 21 May 2021 11:11:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:12:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 11:12:07 +0000 Subject: Change in osmo-pcu[master]: Use LOGPDCH macro in bts_add_paging() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24266 ) Change subject: Use LOGPDCH macro in bts_add_paging() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I58daab719924d70de121f7a5f2cc1f122f8840af Gerrit-Change-Number: 24266 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 21 May 2021 11:12:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:21:58 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 11:21:58 +0000 Subject: Change in osmo-pcu[master]: Optimize PAGING-CS PDCH set selection when target MS is known In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24224 ) Change subject: Optimize PAGING-CS PDCH set selection when target MS is known ...................................................................... Patch Set 2: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24224/2/src/gprs_bssgp_pcu.c File src/gprs_bssgp_pcu.c: https://gerrit.osmocom.org/c/osmo-pcu/+/24224/2/src/gprs_bssgp_pcu.c at 194 PS2, Line 194: TIMSI TMSI -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iea46d5321a29d800813b1aa2bf4ce175ce45e2cf Gerrit-Change-Number: 24224 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 21 May 2021 11:21:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:28:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 11:28:47 +0000 Subject: Change in osmo-gsm-tester[master]: 4g-iperf-*: registers one UE in the iperf parameterized tests in the ... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24280 ) Change subject: 4g-iperf-*: registers one UE in the iperf parameterized tests in the 4g test suite. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Idfb641fe9fab83179d00d265e26fd231d5977081 Gerrit-Change-Number: 24280 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Fri, 21 May 2021 11:28:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:31:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 11:31:06 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: adds environment variables to the resources schema. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24283 ) Change subject: srs-enb: adds environment variables to the resources schema. ...................................................................... Patch Set 1: Please better merge this commit with the one using this attribute. We have tons of attributes, so let's better have them added in the same commit where they are used, otherwise it ends up being really difficult to figure out why/where are they used when looking at code or log history. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5c0ca66ae88d5f3a3ed04c620f386afe1afac9 Gerrit-Change-Number: 24283 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 21 May 2021 11:31:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:41:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 11:41:11 +0000 Subject: Change in osmo-gsm-tester[master]: srs-enb: adds support to the malloc interceptor. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284 ) Change subject: srs-enb: adds support to the malloc interceptor. ...................................................................... Patch Set 1: Something like: """ - label: srsENB-B200 type: srsenb rf_dev_type: uhd rf_dev_args: "type=b200,serial=306BD11" run_node: run_type: ssh run_addr: 10.42.42.117 ssh_user: jenkins ssh_addr: 10.42.42.117 lib_path_malloc_interceptor: /path/to/lib/or/whatever """ And then srsENB object asks for that info to the RunNode. This way any object using a RunNode (most 4G objects do) can reuse it. You could even extend RemoteHost to have a constructor RemoteHost.from_run_node() which sets up everything automatically picking the RunNode info and filling up self.remote_env. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0078020468f58bdd70b0b5de879eb58192f947a6 Gerrit-Change-Number: 24284 Gerrit-PatchSet: 1 Gerrit-Owner: alealcon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 21 May 2021 11:41:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:42:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 11:42:51 +0000 Subject: Change in osmo-pcu[master]: bts: Use ms_store when calculating set of target PDCHs for Pkt Paging... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24225 ) Change subject: bts: Use ms_store when calculating set of target PDCHs for Pkt Paging Request ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I671e531921bbea2f5cc0f2bfcb8a39ea5c6673b8 Gerrit-Change-Number: 24225 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 11:42:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:42:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 11:42:55 +0000 Subject: Change in osmo-pcu[master]: Move TBF list from BTS to the TRX structure In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24227 ) Change subject: Move TBF list from BTS to the TRX structure ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id3c59c11d57d765fe68aaebaac94290c0d84feb2 Gerrit-Change-Number: 24227 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 11:42:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:42:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 11:42:58 +0000 Subject: Change in osmo-pcu[master]: MsTest: Set up tbf talloc destructor In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24234 ) Change subject: MsTest: Set up tbf talloc destructor ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I096ff56321c8ae5e66634537aae8b95804282c65 Gerrit-Change-Number: 24234 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 11:42:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:43:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 11:43:00 +0000 Subject: Change in osmo-pcu[master]: Clean false positive in newer GCC version checking guard of else clause In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24265 ) Change subject: Clean false positive in newer GCC version checking guard of else clause ...................................................................... Clean false positive in newer GCC version checking guard of else clause Got this today with newer gcc (11.1.0) after system upgrade: egprs_rlc_compression.cpp:693:9: error: this ?else? clause does not guard... [-Werror=misleading-indentation] The indentation was indeed wrong, provoking a warning in GCC. From code flow point of view, however, the previous state was fine too, so no logical change is involved in this commit. Change-Id: I37bfc8e85daaabbbf10dfd907b305e3e0ec31863 --- M src/egprs_rlc_compression.cpp 1 file changed, 3 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/egprs_rlc_compression.cpp b/src/egprs_rlc_compression.cpp index 8f4fd87..fae529c 100644 --- a/src/egprs_rlc_compression.cpp +++ b/src/egprs_rlc_compression.cpp @@ -690,8 +690,7 @@ if (clen >= uclen) /* No Gain is observed, So no need to compress */ return 0; - else - LOGP(DRLCMACUL, LOGL_DEBUG, "CRBB bitmap = %s\n", osmo_hexdump(crbb_vec->data, (crbb_vec->cur_bit+7)/8)); - /* Add compressed bitmap to final buffer */ - return 1; + LOGP(DRLCMACUL, LOGL_DEBUG, "CRBB bitmap = %s\n", osmo_hexdump(crbb_vec->data, (crbb_vec->cur_bit+7)/8)); + /* Add compressed bitmap to final buffer */ + return 1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I37bfc8e85daaabbbf10dfd907b305e3e0ec31863 Gerrit-Change-Number: 24265 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:43:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 11:43:01 +0000 Subject: Change in osmo-pcu[master]: Use LOGPDCH macro in bts_add_paging() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24266 ) Change subject: Use LOGPDCH macro in bts_add_paging() ...................................................................... Use LOGPDCH macro in bts_add_paging() Change-Id: I58daab719924d70de121f7a5f2cc1f122f8840af --- M src/bts.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/bts.cpp b/src/bts.cpp index 261da19..5769c2f 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -402,7 +402,7 @@ if (!bts->trx[trx].pdch[ts].add_paging(chan_needed, mi)) return -ENOMEM; - LOGP(DRLCMAC, LOGL_INFO, "Paging on PACCH of TRX=%d TS=%d\n", trx, ts); + LOGPDCH(&bts->trx[trx].pdch[ts], DRLCMAC, LOGL_INFO, "Paging on PACCH\n"); any_tbf = 1; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I58daab719924d70de121f7a5f2cc1f122f8840af Gerrit-Change-Number: 24266 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:43:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 11:43:02 +0000 Subject: Change in osmo-pcu[master]: Optimize PAGING-CS PDCH set selection when target MS is known In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24224 ) Change subject: Optimize PAGING-CS PDCH set selection when target MS is known ...................................................................... Optimize PAGING-CS PDCH set selection when target MS is known Before this patch, when a PAGING-GS was received in PCU from SGSN, it would always forward the paging request to all PDCHs in all TRXs of all BTS (well, it did some heuristics to avoid sending it in some PDCHs where onyl repeated TBFs would be listening). The previous behavior, didn't make much sense in the case where the PCU is asked to page an MS which it knows (ie in which PDCHs is listening to). Hence, in that case it makes sense to simply send the paging request on 1 PDCH where the MS is listening, instead of sending it in a big set of different PDCHs. This commit also splits the old get_paging_mi() helper which was erroneously created to parseboth CS/PS-PAGING requesst, since they actually use a different set of target subscriber information (for instance, CS-PAGING provides optionally a TLLI, and one provides P-TMSI while the other provides TMSI). In this patch, the handling of CS paging request is split into 2 parts: 1- A new helper "struct paging_req_cs" is introduced, where incoming CS-PAGING requests (from both SGSN over BSSGP and BTS/BSC over PCUIF) are parsed and information stored. Then, from available information, it tries to find a target MS if avaialable 2- bts_add_paging() is called from both BSSGP and PCUIF paths with the helper struct and the target MS (NULL if not found). If MS exists, paging is forwarding only on 1 PDCH that MS is attached to. If no MS exists, then the old heursitics are used to forward the request to all MS. Change-Id: Iea46d5321a29d800813b1aa2bf4ce175ce45e2cf --- M src/bts.cpp M src/bts.h M src/gprs_bssgp_pcu.c M src/pcu_l1_if.cpp 4 files changed, 157 insertions(+), 24 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/bts.cpp b/src/bts.cpp index 5769c2f..e9864e7 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -337,11 +337,44 @@ bts_set_current_frame_number(bts, fn); } -int bts_add_paging(struct gprs_rlcmac_bts *bts, uint8_t chan_needed, const struct osmo_mobile_identity *mi) +/* Helper used by bts_add_paging() whenever the target MS is known */ +static void bts_add_paging_known_ms(struct GprsMs *ms, const struct osmo_mobile_identity *mi, uint8_t chan_needed) +{ + uint8_t ts; + + if (ms->ul_tbf) { + for (ts = 0; ts < ARRAY_SIZE(ms->ul_tbf->pdch); ts++) { + if (ms->ul_tbf->pdch[ts]) { + LOGPDCH(ms->ul_tbf->pdch[ts], DRLCMAC, LOGL_INFO, + "Paging on PACCH for %s\n", tbf_name(ms->ul_tbf)); + if (!ms->ul_tbf->pdch[ts]->add_paging(chan_needed, mi)) + continue; + return; + } + } + } + if (ms->dl_tbf) { + for (ts = 0; ts < ARRAY_SIZE(ms->dl_tbf->pdch); ts++) { + if (ms->dl_tbf->pdch[ts]) { + LOGPDCH(ms->dl_tbf->pdch[ts], DRLCMAC, LOGL_INFO, + "Paging on PACCH for %s\n", tbf_name(ms->ul_tbf)); + if (!ms->dl_tbf->pdch[ts]->add_paging(chan_needed, mi)) + continue; + return; + } + } + } + LOGPMS(ms, DRLCMAC, LOGL_INFO, "Unable to page on PACCH, no available TBFs\n"); + return; +} + +/* ms is NULL if no specific taget was found */ +int bts_add_paging(struct gprs_rlcmac_bts *bts, const struct paging_req_cs *req, struct GprsMs *ms) { uint8_t l, trx, ts, any_tbf = 0; struct gprs_rlcmac_tbf *tbf; struct llist_item *pos; + const struct osmo_mobile_identity *mi; uint8_t slot_mask[8]; int8_t first_ts; /* must be signed */ @@ -351,13 +384,31 @@ NULL }; + /* First, build the MI used to page on PDCH from available subscriber info: */ + if (req->mi_tmsi_present) { + mi = &req->mi_tmsi; + } else if (req->mi_imsi_present) { + mi = &req->mi_imsi; + } else { + LOGPMS(ms, DRLCMAC, LOGL_ERROR, "Unable to page on PACCH, no TMSI nor IMSI in request\n"); + return -EINVAL; + } + if (log_check_level(DRLCMAC, LOGL_INFO)) { char str[64]; osmo_mobile_identity_to_str_buf(str, sizeof(str), mi); - LOGP(DRLCMAC, LOGL_INFO, "Add RR paging: chan-needed=%d MI=%s\n", chan_needed, str); + LOGP(DRLCMAC, LOGL_INFO, "Add RR paging: chan-needed=%d MI=%s\n", req->chan_needed, str); } - /* collect slots to page + /* We known the target MS for the paging req, send the req only on PDCH + * were that target MS is listening (first slot is enough), and we are done. */ + if (ms) { + bts_add_paging_known_ms(ms, mi, req->chan_needed); + return 0; + } + + /* We don't know the target MS. + * collect slots to page * Mark slots for every TBF, but only mark one of it. * Mark only the first slot found. * Don't mark, if TBF uses a different slot that is already marked. */ @@ -399,7 +450,7 @@ for (ts = 0; ts < 8; ts++) { if ((slot_mask[trx] & (1 << ts))) { /* schedule */ - if (!bts->trx[trx].pdch[ts].add_paging(chan_needed, mi)) + if (!bts->trx[trx].pdch[ts].add_paging(req->chan_needed, mi)) return -ENOMEM; LOGPDCH(&bts->trx[trx].pdch[ts], DRLCMAC, LOGL_INFO, "Paging on PACCH\n"); diff --git a/src/bts.h b/src/bts.h index ea44fb7..11b5113 100644 --- a/src/bts.h +++ b/src/bts.h @@ -265,8 +265,17 @@ extern "C" { #endif +struct paging_req_cs { + uint8_t chan_needed; + uint32_t tlli; /* GSM_RESERVED_TMSI if not present */ + bool mi_tmsi_present; + struct osmo_mobile_identity mi_tmsi; + bool mi_imsi_present; + struct osmo_mobile_identity mi_imsi; +}; + struct GprsMs *bts_alloc_ms(struct gprs_rlcmac_bts *bts, uint8_t ms_class, uint8_t egprs_ms_class); -int bts_add_paging(struct gprs_rlcmac_bts *bts, uint8_t chan_needed, const struct osmo_mobile_identity *mi); +int bts_add_paging(struct gprs_rlcmac_bts *bts, const struct paging_req_cs *req, struct GprsMs *ms); uint32_t bts_rfn_to_fn(const struct gprs_rlcmac_bts *bts, int32_t rfn); diff --git a/src/gprs_bssgp_pcu.c b/src/gprs_bssgp_pcu.c index f6114de..5d0a489 100644 --- a/src/gprs_bssgp_pcu.c +++ b/src/gprs_bssgp_pcu.c @@ -171,8 +171,78 @@ ms_class, egprs_ms_class, delay_csec, data, len); } +/* 3GPP TS 48.018 Table 10.3.2. Returns 0 on success, suggested BSSGP cause otherwise */ +static unsigned int get_paging_cs_mi(struct paging_req_cs *req, const struct tlv_parsed *tp) +{ + int rc; + + req->chan_needed = tlvp_val8(tp, BSSGP_IE_CHAN_NEEDED, 0); + + if (!TLVP_PRESENT(tp, BSSGP_IE_IMSI)) { + LOGP(DBSSGP, LOGL_ERROR, "IMSI Mobile Identity mandatory IE not found\n"); + return BSSGP_CAUSE_MISSING_MAND_IE; + } + + rc = osmo_mobile_identity_decode(&req->mi_imsi, TLVP_VAL(tp, BSSGP_IE_IMSI), + TLVP_LEN(tp, BSSGP_IE_IMSI), true); + if (rc < 0 || req->mi_imsi.type != GSM_MI_TYPE_IMSI) { + LOGP(DBSSGP, LOGL_ERROR, "Invalid IMSI Mobile Identity\n"); + return BSSGP_CAUSE_INV_MAND_INF; + } + req->mi_imsi_present = true; + + /* TIMSI is optional */ + req->mi_tmsi_present = false; + if (TLVP_PRESENT(tp, BSSGP_IE_TMSI)) { + /* Be safe against an evil SGSN - check the length */ + if (TLVP_LEN(tp, BSSGP_IE_TMSI) != GSM23003_TMSI_NUM_BYTES) { + LOGP(DBSSGP, LOGL_NOTICE, "TMSI IE has odd length (!= 4)\n"); + return BSSGP_CAUSE_COND_IE_ERR; + } + + /* NOTE: TMSI (unlike IMSI) IE comes without MI type header */ + req->mi_tmsi = (struct osmo_mobile_identity){ + .type = GSM_MI_TYPE_TMSI, + }; + req->mi_tmsi.tmsi = osmo_load32be(TLVP_VAL(tp, BSSGP_IE_TMSI)); + req->mi_tmsi_present = true; + } + + if (TLVP_PRESENT(tp, BSSGP_IE_TLLI)) + req->tlli = osmo_load32be(TLVP_VAL(tp, BSSGP_IE_TLLI)); + else + req->tlli = GSM_RESERVED_TMSI; + + return 0; +} + +static int gprs_bssgp_pcu_rx_paging_cs(struct msgb *msg, const struct tlv_parsed *tp) +{ + struct paging_req_cs req; + struct gprs_rlcmac_bts *bts; + struct GprsMs *ms; + int rc; + + if ((rc = get_paging_cs_mi(&req, tp)) > 0) + return bssgp_tx_status((enum gprs_bssgp_cause) rc, NULL, msg); + + /* We need to page all BTSs since even if a BTS has a matching MS, it + * may have already moved to a newer BTS. On Each BTS, if the MS is + * known, then bts_add_paging() can optimize and page only on PDCHs the + * target MS is using. */ + llist_for_each_entry(bts, &the_pcu->bts_list, list) { + /* TODO: Match by TMSI before IMSI if present?! */ + ms = bts_ms_by_tlli(bts, req.tlli, req.tlli); + if (!ms && req.mi_imsi_present) + ms = bts_ms_by_imsi(bts, req.mi_imsi.imsi); + bts_add_paging(bts, &req, ms); + } + + return 0; +} + /* Returns 0 on success, suggested BSSGP cause otherwise */ -static unsigned int get_paging_mi(struct osmo_mobile_identity *mi, const struct tlv_parsed *tp) +static unsigned int get_paging_ps_mi(struct osmo_mobile_identity *mi, const struct tlv_parsed *tp) { /* Use TMSI (if present) or IMSI */ if (TLVP_PRESENT(tp, BSSGP_IE_TMSI)) { @@ -202,22 +272,6 @@ return 0; } -static int gprs_bssgp_pcu_rx_paging_cs(struct msgb *msg, const struct tlv_parsed *tp) -{ - struct osmo_mobile_identity mi; - struct gprs_rlcmac_bts *bts; - int rc; - - if ((rc = get_paging_mi(&mi, tp)) > 0) - return bssgp_tx_status((enum gprs_bssgp_cause) rc, NULL, msg); - - /* FIXME: look if MS is attached a specific BTS and then only page on that one? */ - llist_for_each_entry(bts, &the_pcu->bts_list, list) { - bts_add_paging(bts, tlvp_val8(tp, BSSGP_IE_CHAN_NEEDED, 0), &mi); - } - return 0; -} - static int gprs_bssgp_pcu_rx_paging_ps(struct msgb *msg, const struct tlv_parsed *tp) { struct osmo_mobile_identity mi_imsi; @@ -242,7 +296,7 @@ return bssgp_tx_status(BSSGP_CAUSE_INV_MAND_INF, NULL, msg); } - if ((rc = get_paging_mi(&paging_mi, tp)) > 0) + if ((rc = get_paging_ps_mi(&paging_mi, tp)) > 0) return bssgp_tx_status((enum gprs_bssgp_cause) rc, NULL, msg); /* FIXME: look if MS is attached a specific BTS and then only page on that one? */ diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 0ccf642..cfd36d7 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -817,6 +817,9 @@ static int pcu_rx_pag_req(struct gprs_rlcmac_bts *bts, struct gsm_pcu_if_pag_req *pag_req) { struct osmo_mobile_identity mi; + struct GprsMs *ms = NULL; + struct paging_req_cs req = { .chan_needed = pag_req->chan_needed, + .tlli = GSM_RESERVED_TMSI }; int rc; LOGP(DL1IF, LOGL_DEBUG, "Paging request received: chan_needed=%d " @@ -835,7 +838,23 @@ return -EINVAL; } - return bts_add_paging(bts, pag_req->chan_needed, &mi); + switch (mi.type) { + case GSM_MI_TYPE_TMSI: + req.mi_tmsi = mi; + req.mi_tmsi_present = true; + /* TODO: look up MS by TMSI? Derive TLLI? */ + break; + case GSM_MI_TYPE_IMSI: + req.mi_imsi = mi; + req.mi_imsi_present = true; + ms = bts_ms_by_imsi(bts, req.mi_imsi.imsi); + break; + default: + LOGP(DL1IF, LOGL_ERROR, "Unexpected MI type %u\n", mi.type); + return -EINVAL; + } + + return bts_add_paging(bts, &req, ms); } static int pcu_rx_susp_req(struct gprs_rlcmac_bts *bts, struct gsm_pcu_if_susp_req *susp_req) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iea46d5321a29d800813b1aa2bf4ce175ce45e2cf Gerrit-Change-Number: 24224 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:43:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 11:43:02 +0000 Subject: Change in osmo-pcu[master]: bts: Use ms_store when calculating set of target PDCHs for Pkt Paging... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24225 ) Change subject: bts: Use ms_store when calculating set of target PDCHs for Pkt Paging Request ...................................................................... bts: Use ms_store when calculating set of target PDCHs for Pkt Paging Request The ul_tbfs/dl_tbfs lists will become per-trx. Since in this case we want to operate on the BTS globally, let's iterate over MS objects instead. This makes more sense too since here we really aim at reaching a MS (subscriber) instead of specific TBFs. Later on the code can be optimized easily to schedule a Pkt Paging Request for only 1 of the TBFs of each MS instad of scheduling it for each TBFs in the MS. Change-Id: I671e531921bbea2f5cc0f2bfcb8a39ea5c6673b8 --- M src/bts.cpp 1 file changed, 10 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/bts.cpp b/src/bts.cpp index e9864e7..94cdcb3 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -373,17 +373,11 @@ { uint8_t l, trx, ts, any_tbf = 0; struct gprs_rlcmac_tbf *tbf; - struct llist_item *pos; + struct llist_head *tmp; const struct osmo_mobile_identity *mi; uint8_t slot_mask[8]; int8_t first_ts; /* must be signed */ - struct llist_head *tbfs_lists[] = { - &bts->ul_tbfs, - &bts->dl_tbfs, - NULL - }; - /* First, build the MI used to page on PDCH from available subscriber info: */ if (req->mi_tmsi_present) { mi = &req->mi_tmsi; @@ -409,13 +403,18 @@ /* We don't know the target MS. * collect slots to page - * Mark slots for every TBF, but only mark one of it. + * Mark up to one slot attached to each of the TBF of the MS. * Mark only the first slot found. * Don't mark, if TBF uses a different slot that is already marked. */ memset(slot_mask, 0, sizeof(slot_mask)); - for (l = 0; tbfs_lists[l]; l++) { - llist_for_each_entry(pos, tbfs_lists[l], list) { - tbf = (struct gprs_rlcmac_tbf *)pos->entry; + + llist_for_each(tmp, bts_ms_store(bts)->ms_list()) { + ms = llist_entry(tmp, typeof(*ms), list); + struct gprs_rlcmac_tbf *tbfs[] = { ms->ul_tbf, ms->dl_tbf }; + for (l = 0; l < ARRAY_SIZE(tbfs); l++) { + tbf = (struct gprs_rlcmac_tbf *)tbfs[l]; + if (!tbf) + continue; first_ts = -1; for (ts = 0; ts < 8; ts++) { if (tbf->pdch[ts]) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I671e531921bbea2f5cc0f2bfcb8a39ea5c6673b8 Gerrit-Change-Number: 24225 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:43:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 11:43:03 +0000 Subject: Change in osmo-pcu[master]: tbf: Log error path in setup() failing to assign control TS In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24226 ) Change subject: tbf: Log error path in setup() failing to assign control TS ...................................................................... tbf: Log error path in setup() failing to assign control TS Change-Id: I047209dfe139e37a80878318cca75cb50905536e --- M src/tbf.cpp 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, approved diff --git a/src/tbf.cpp b/src/tbf.cpp index fddede6..adfda95 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -751,6 +751,7 @@ rc = tbf_assign_control_ts(this); /* if no resource */ if (rc < 0) { + LOGPTBF(this, LOGL_ERROR, "Failed to assign control TS\n"); return -1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I047209dfe139e37a80878318cca75cb50905536e Gerrit-Change-Number: 24226 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:43:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 11:43:03 +0000 Subject: Change in osmo-pcu[master]: Move TBF list from BTS to the TRX structure In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24227 ) Change subject: Move TBF list from BTS to the TRX structure ...................................................................... Move TBF list from BTS to the TRX structure The TBFs are managed per TRX. Move the global list from BTS to TRX. Related: OS#1541 Change-Id: Id3c59c11d57d765fe68aaebaac94290c0d84feb2 --- M src/bts.cpp M src/bts.h M src/gprs_rlcmac_sched.cpp M src/pcu_vty_functions.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M tests/alloc/AllocTest.cpp M tests/ulc/PdchUlcTest.cpp 10 files changed, 47 insertions(+), 40 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve diff --git a/src/bts.cpp b/src/bts.cpp index 94cdcb3..dc550ef 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -263,9 +263,6 @@ bts->T_defs_bts = T_defs_bts; osmo_tdefs_reset(bts->T_defs_bts); - INIT_LLIST_HEAD(&bts->ul_tbfs); - INIT_LLIST_HEAD(&bts->dl_tbfs); - /* initialize back pointers */ for (size_t trx_no = 0; trx_no < ARRAY_SIZE(bts->trx); ++trx_no) bts_trx_init(&bts->trx[trx_no], bts, trx_no); @@ -1185,6 +1182,9 @@ trx->trx_no = trx_no; trx->bts = bts; + INIT_LLIST_HEAD(&trx->ul_tbfs); + INIT_LLIST_HEAD(&trx->dl_tbfs); + for (size_t ts_no = 0; ts_no < ARRAY_SIZE(trx->pdch); ts_no++) pdch_init(&trx->pdch[ts_no], trx, ts_no); } diff --git a/src/bts.h b/src/bts.h index 11b5113..52c89b9 100644 --- a/src/bts.h +++ b/src/bts.h @@ -59,6 +59,11 @@ struct gprs_rlcmac_bts *bts; uint8_t trx_no; + /* list of uplink TBFs */ + struct llist_head ul_tbfs; /* list of gprs_rlcmac_tbf */ + /* list of downlink TBFs */ + struct llist_head dl_tbfs; /* list of gprs_rlcmac_tbf */ + }; @@ -254,11 +259,6 @@ struct osmo_stat_item_group *statg; struct GprsMsStorage *ms_store; - - /* list of uplink TBFs */ - struct llist_head ul_tbfs; /* list of gprs_rlcmac_tbf */ - /* list of downlink TBFs */ - struct llist_head dl_tbfs; /* list of gprs_rlcmac_tbf */ }; #ifdef __cplusplus diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 0068eae..cd32653 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -41,19 +41,18 @@ struct gprs_rlcmac_ul_tbf *ul_ack; }; -static void get_ctrl_msg_tbf_candidates(const struct gprs_rlcmac_bts *bts, - const struct gprs_rlcmac_pdch *pdch, +static void get_ctrl_msg_tbf_candidates(const struct gprs_rlcmac_pdch *pdch, struct tbf_sched_candidates *tbf_cand) { struct gprs_rlcmac_ul_tbf *ul_tbf; struct gprs_rlcmac_dl_tbf *dl_tbf; struct llist_item *pos; - llist_for_each_entry(pos, &bts->ul_tbfs, list) { + llist_for_each_entry(pos, &pdch->trx->ul_tbfs, list) { ul_tbf = as_ul_tbf((struct gprs_rlcmac_tbf *)pos->entry); OSMO_ASSERT(ul_tbf); /* this trx, this ts */ - if (ul_tbf->trx->trx_no != pdch->trx->trx_no || !ul_tbf->is_control_ts(pdch->ts_no)) + if (!ul_tbf->is_control_ts(pdch->ts_no)) continue; if (ul_tbf->ul_ack_state_is(GPRS_RLCMAC_UL_ACK_SEND_ACK)) tbf_cand->ul_ack = ul_tbf; @@ -68,11 +67,11 @@ /* FIXME: Is this supposed to be fair? The last TBF for each wins? Maybe use llist_add_tail and skip once we have all states? */ } - llist_for_each_entry(pos, &bts->dl_tbfs, list) { + llist_for_each_entry(pos, &pdch->trx->dl_tbfs, list) { dl_tbf = as_dl_tbf((struct gprs_rlcmac_tbf *)pos->entry); OSMO_ASSERT(dl_tbf); /* this trx, this ts */ - if (dl_tbf->trx->trx_no != pdch->trx->trx_no || !dl_tbf->is_control_ts(pdch->ts_no)) + if (!dl_tbf->is_control_ts(pdch->ts_no)) continue; if (dl_tbf->dl_ass_state_is(GPRS_RLCMAC_DL_ASS_SEND_ASS)) tbf_cand->dl_ass = dl_tbf; @@ -481,7 +480,7 @@ if (usf_tbf && req_mcs_kind == EGPRS && ms_mode(usf_tbf->ms()) != EGPRS) req_mcs_kind = EGPRS_GMSK; - get_ctrl_msg_tbf_candidates(bts, pdch, &tbf_cand); + get_ctrl_msg_tbf_candidates(pdch, &tbf_cand); /* Prio 1: select control message */ if ((msg = sched_select_ctrl_msg(pdch, fn, block_nr, &tbf_cand))) { diff --git a/src/pcu_vty_functions.cpp b/src/pcu_vty_functions.cpp index c2250d9..0b83a68 100644 --- a/src/pcu_vty_functions.cpp +++ b/src/pcu_vty_functions.cpp @@ -44,7 +44,7 @@ #include "coding_scheme.h" } -static void tbf_print_vty_info(struct vty *vty, gprs_rlcmac_tbf *tbf) +static void tbf_print_vty_info(struct vty *vty, struct gprs_rlcmac_tbf *tbf) { gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); @@ -104,20 +104,28 @@ int pcu_vty_show_tbf_all(struct vty *vty, struct gprs_rlcmac_bts *bts, uint32_t flags) { struct llist_item *iter; + const struct gprs_rlcmac_trx *trx; struct gprs_rlcmac_tbf *tbf; + size_t trx_no; vty_out(vty, "UL TBFs%s", VTY_NEWLINE); - llist_for_each_entry(iter, &bts->ul_tbfs, list) { - tbf = (struct gprs_rlcmac_tbf *)iter->entry; - if (tbf->state_flags & flags) - tbf_print_vty_info(vty, tbf); + for (trx_no = 0; trx_no < ARRAY_SIZE(bts->trx); trx_no++) { + trx = &bts->trx[trx_no]; + llist_for_each_entry(iter, &trx->ul_tbfs, list) { + tbf = (struct gprs_rlcmac_tbf *)iter->entry; + if (tbf->state_flags & flags) + tbf_print_vty_info(vty, tbf); + } } vty_out(vty, "%sDL TBFs%s", VTY_NEWLINE, VTY_NEWLINE); - llist_for_each_entry(iter, &bts->dl_tbfs, list) { - tbf = (struct gprs_rlcmac_tbf *)iter->entry; - if (tbf->state_flags & flags) - tbf_print_vty_info(vty, tbf); + for (trx_no = 0; trx_no < ARRAY_SIZE(bts->trx); trx_no++) { + trx = &bts->trx[trx_no]; + llist_for_each_entry(iter, &trx->dl_tbfs, list) { + tbf = (struct gprs_rlcmac_tbf *)iter->entry; + if (tbf->state_flags & flags) + tbf_print_vty_info(vty, tbf); + } } return CMD_SUCCESS; diff --git a/src/tbf.cpp b/src/tbf.cpp index adfda95..afbb0b1 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -150,8 +150,8 @@ memset(&m_ms_list, 0, sizeof(m_ms_list)); m_ms_list.entry = this; - memset(&m_bts_list, 0, sizeof(m_bts_list)); - m_bts_list.entry = this; + memset(&m_trx_list, 0, sizeof(m_trx_list)); + m_trx_list.entry = this; m_rlc.init(); m_llc.init(); @@ -293,7 +293,7 @@ tbf->stop_timers("freeing TBF"); /* TODO: Could/Should generate bssgp_tx_llc_discarded */ tbf_unlink_pdch(tbf); - llist_del(tbf_bts_list(tbf)); + llist_del(tbf_trx_list(tbf)); if (tbf->ms()) tbf->set_ms(NULL); @@ -1092,11 +1092,11 @@ void gprs_rlcmac_tbf::rotate_in_list() { - llist_del(tbf_bts_list((struct gprs_rlcmac_tbf *)this)); + llist_del(tbf_trx_list((struct gprs_rlcmac_tbf *)this)); if (direction == GPRS_RLCMAC_UL_TBF) - llist_add(tbf_bts_list((struct gprs_rlcmac_tbf *)this), &bts->ul_tbfs); + llist_add(tbf_trx_list((struct gprs_rlcmac_tbf *)this), &trx->ul_tbfs); else - llist_add(tbf_bts_list((struct gprs_rlcmac_tbf *)this), &bts->dl_tbfs); + llist_add(tbf_trx_list((struct gprs_rlcmac_tbf *)this), &trx->dl_tbfs); } uint8_t gprs_rlcmac_tbf::tsc() const @@ -1166,9 +1166,9 @@ return &tbf->m_ms_list.list; } -struct llist_head *tbf_bts_list(struct gprs_rlcmac_tbf *tbf) +struct llist_head *tbf_trx_list(struct gprs_rlcmac_tbf *tbf) { - return &tbf->m_bts_list.list; + return &tbf->m_trx_list.list; } struct GprsMs *tbf_ms(const struct gprs_rlcmac_tbf *tbf) diff --git a/src/tbf.h b/src/tbf.h index 17f5b18..1bca82c 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -183,7 +183,7 @@ enum gprs_rlcmac_tbf_direction tbf_direction(const struct gprs_rlcmac_tbf *tbf); void tbf_set_ms(struct gprs_rlcmac_tbf *tbf, struct GprsMs *ms); struct llist_head *tbf_ms_list(struct gprs_rlcmac_tbf *tbf); -struct llist_head *tbf_bts_list(struct gprs_rlcmac_tbf *tbf); +struct llist_head *tbf_trx_list(struct gprs_rlcmac_tbf *tbf); struct GprsMs *tbf_ms(const struct gprs_rlcmac_tbf *tbf); bool tbf_timers_pending(struct gprs_rlcmac_tbf *tbf, enum tbf_timers t); void tbf_free(struct gprs_rlcmac_tbf *tbf); @@ -327,7 +327,7 @@ struct rate_ctr_group *m_ctrs; enum gprs_rlcmac_tbf_state state; struct llist_item m_ms_list; - struct llist_item m_bts_list; + struct llist_item m_trx_list; protected: void merge_and_clear_ms(GprsMs *old_ms); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 27dc4cf..45856e8 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -168,7 +168,7 @@ } } - llist_add(tbf_bts_list((struct gprs_rlcmac_tbf *)tbf), &bts->dl_tbfs); + llist_add(tbf_trx_list((struct gprs_rlcmac_tbf *)tbf), &tbf->trx->dl_tbfs); bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_DL_ALLOCATED); osmo_clock_gettime(CLOCK_MONOTONIC, &tbf->m_bw.dl_bw_tv); diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 231ed06..4450684 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -134,7 +134,7 @@ return NULL; } - llist_add_tail(tbf_bts_list(tbf), &bts->ul_tbfs); + llist_add_tail(tbf_trx_list(tbf), &tbf->trx->ul_tbfs); bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_UL_ALLOCATED); return tbf; @@ -212,7 +212,7 @@ } ms_attach_tbf(ms, ul_tbf); - llist_add(tbf_bts_list((struct gprs_rlcmac_tbf *)ul_tbf), &bts->ul_tbfs); + llist_add(tbf_trx_list((struct gprs_rlcmac_tbf *)ul_tbf), &trx->ul_tbfs); bts_do_rate_ctr_inc(ul_tbf->bts, CTR_TBF_UL_ALLOCATED); TBF_SET_ASS_ON(ul_tbf, GPRS_RLCMAC_FLAG_PACCH, false); TBF_SET_ASS_STATE_UL(ul_tbf, GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ); diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp index fe803e3..e3e9614 100644 --- a/tests/alloc/AllocTest.cpp +++ b/tests/alloc/AllocTest.cpp @@ -59,8 +59,8 @@ struct gprs_rlcmac_tbf *tfi_usage[8][8][2][32] = {{{{NULL}}}}; struct llist_head *tbf_lists[2] = { - &bts->ul_tbfs, - &bts->dl_tbfs + &bts->trx[0].ul_tbfs, + &bts->trx[0].dl_tbfs }; struct llist_item *pos; diff --git a/tests/ulc/PdchUlcTest.cpp b/tests/ulc/PdchUlcTest.cpp index 84035d1..c980e33 100644 --- a/tests/ulc/PdchUlcTest.cpp +++ b/tests/ulc/PdchUlcTest.cpp @@ -160,6 +160,7 @@ int _alloc_algorithm_dummy(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_tbf *tbf, bool single, int8_t use_tbf) { + tbf->trx = &bts->trx[0]; return 0; } @@ -174,7 +175,6 @@ struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); struct GprsMs *ms = ms_alloc(bts, 0x12345678); struct gprs_rlcmac_tbf *tbf1 = tbf_alloc_dl_tbf(bts, ms, 0, true); - tbf1->trx = &bts->trx[0]; struct gprs_rlcmac_pdch *pdch = &tbf1->trx->pdch[0]; int rc; uint32_t fn, last_fn; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id3c59c11d57d765fe68aaebaac94290c0d84feb2 Gerrit-Change-Number: 24227 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:43:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 11:43:04 +0000 Subject: Change in osmo-pcu[master]: MsTest: Set up tbf talloc destructor In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24234 ) Change subject: MsTest: Set up tbf talloc destructor ...................................................................... MsTest: Set up tbf talloc destructor This is right now not an issue, but it will be whenever talloc destructor contains extra steps like freeing an FSM. Change-Id: I096ff56321c8ae5e66634537aae8b95804282c65 --- M tests/ms/MsTest.cpp 1 file changed, 42 insertions(+), 24 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve diff --git a/tests/ms/MsTest.cpp b/tests/ms/MsTest.cpp index 498c835..2ff2fc2 100644 --- a/tests/ms/MsTest.cpp +++ b/tests/ms/MsTest.cpp @@ -46,6 +46,36 @@ int16_t spoof_mnc = 0, spoof_mcc = 0; bool spoof_mnc_3_digits = false; +static int ul_tbf_dtor(struct gprs_rlcmac_ul_tbf *tbf) +{ + tbf->~gprs_rlcmac_ul_tbf(); + return 0; +} + +static int dl_tbf_dtor(struct gprs_rlcmac_dl_tbf *tbf) +{ + tbf->~gprs_rlcmac_dl_tbf(); + return 0; +} + +static gprs_rlcmac_ul_tbf *alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms) +{ + gprs_rlcmac_ul_tbf *ul_tbf; + ul_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_ul_tbf); + talloc_set_destructor(ul_tbf, ul_tbf_dtor); + new (ul_tbf) gprs_rlcmac_ul_tbf(bts, ms); + return ul_tbf; +} + +static gprs_rlcmac_dl_tbf *alloc_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms) +{ + gprs_rlcmac_dl_tbf *dl_tbf; + dl_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); + talloc_set_destructor(dl_tbf, dl_tbf_dtor); + new (dl_tbf) gprs_rlcmac_dl_tbf(bts, ms); + return dl_tbf; +} + static void test_ms_state() { uint32_t tlli = 0xffeeddbb; @@ -59,10 +89,8 @@ ms = ms_alloc(bts, tlli); OSMO_ASSERT(ms_is_idle(ms)); - dl_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); - new (dl_tbf) gprs_rlcmac_dl_tbf(bts, ms); - ul_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_ul_tbf); - new (ul_tbf) gprs_rlcmac_ul_tbf(bts, ms); + dl_tbf = alloc_dl_tbf(bts, ms); + ul_tbf = alloc_ul_tbf(bts, ms); ms_attach_tbf(ms, ul_tbf); OSMO_ASSERT(!ms_is_idle(ms)); @@ -125,10 +153,8 @@ OSMO_ASSERT(ms_is_idle(ms)); - dl_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); - new (dl_tbf) gprs_rlcmac_dl_tbf(bts, ms); - ul_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_ul_tbf); - new (ul_tbf) gprs_rlcmac_ul_tbf(bts, ms); + dl_tbf = alloc_dl_tbf(bts, ms); + ul_tbf = alloc_ul_tbf(bts, ms); OSMO_ASSERT(last_cb == CB_UNKNOWN); @@ -199,12 +225,9 @@ OSMO_ASSERT(ms_is_idle(ms)); was_idle = false; - dl_tbf[0] = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); - new (dl_tbf[0]) gprs_rlcmac_dl_tbf(bts, ms); - dl_tbf[1] = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); - new (dl_tbf[1]) gprs_rlcmac_dl_tbf(bts, ms); - ul_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_ul_tbf); - new (ul_tbf) gprs_rlcmac_ul_tbf(bts, ms); + dl_tbf[0] = alloc_dl_tbf(bts, ms); + dl_tbf[1] = alloc_dl_tbf(bts, ms); + ul_tbf = alloc_ul_tbf(bts, ms); ms_attach_tbf(ms, dl_tbf[0]); OSMO_ASSERT(!ms_is_idle(ms)); @@ -419,8 +442,7 @@ /* delete ms */ ms = store.get_ms(tlli + 0); OSMO_ASSERT(ms != NULL); - ul_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_ul_tbf); - new (ul_tbf) gprs_rlcmac_ul_tbf(bts, ms); + ul_tbf = alloc_ul_tbf(bts, ms); ms_attach_tbf(ms, ul_tbf); ms_detach_tbf(ms, ul_tbf); ms = store.get_ms(tlli + 0); @@ -458,10 +480,8 @@ OSMO_ASSERT(ms_is_idle(ms)); - dl_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); - new (dl_tbf) gprs_rlcmac_dl_tbf(bts, ms); - ul_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_ul_tbf); - new (ul_tbf) gprs_rlcmac_ul_tbf(bts, ms); + dl_tbf = alloc_dl_tbf(bts, ms); + ul_tbf = alloc_ul_tbf(bts, ms); OSMO_ASSERT(last_cb == CB_UNKNOWN); @@ -516,8 +536,7 @@ OSMO_ASSERT(ms_is_idle(ms)); - dl_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); - new (dl_tbf) gprs_rlcmac_dl_tbf(bts, ms); + dl_tbf = alloc_dl_tbf(bts, ms); ms_attach_tbf(ms, dl_tbf); OSMO_ASSERT(!ms_is_idle(ms)); @@ -562,8 +581,7 @@ ms2 = ms_alloc(bts, tlli + 1); dump_ms(ms2, "2: with BTS defaults"); - dl_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); - new (dl_tbf) gprs_rlcmac_dl_tbf(bts, ms2); + dl_tbf = alloc_dl_tbf(bts, ms2); ms_attach_tbf(ms2, dl_tbf); dump_ms(ms2, "2: after TBF attach "); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I096ff56321c8ae5e66634537aae8b95804282c65 Gerrit-Change-Number: 24234 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:44:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 11:44:29 +0000 Subject: Change in osmo-pcu[master]: cosmetic: Fix typo s/TIMSI/TMSI/ References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24321 ) Change subject: cosmetic: Fix typo s/TIMSI/TMSI/ ...................................................................... cosmetic: Fix typo s/TIMSI/TMSI/ Change-Id: I64231311633b64d898625c49fdbf3f816dfbb97a --- M src/gprs_bssgp_pcu.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/21/24321/1 diff --git a/src/gprs_bssgp_pcu.c b/src/gprs_bssgp_pcu.c index 5d0a489..7ee2e45 100644 --- a/src/gprs_bssgp_pcu.c +++ b/src/gprs_bssgp_pcu.c @@ -191,7 +191,7 @@ } req->mi_imsi_present = true; - /* TIMSI is optional */ + /* TMSI is optional */ req->mi_tmsi_present = false; if (TLVP_PRESENT(tp, BSSGP_IE_TMSI)) { /* Be safe against an evil SGSN - check the length */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I64231311633b64d898625c49fdbf3f816dfbb97a Gerrit-Change-Number: 24321 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:47:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 11:47:13 +0000 Subject: Change in libosmo-abis[master]: ipaccess: do not block ipaccess_line_update on failure In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24320 ) Change subject: ipaccess: do not block ipaccess_line_update on failure ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I90d330e2864f85b964628502afdb0c38eb54f15d Gerrit-Change-Number: 24320 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 11:47:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:49:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 11:49:26 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn-test: fix config sed for latest In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24316 ) Change subject: ttcn3-sgsn-test: fix config sed for latest ...................................................................... Patch Set 1: Code-Review-2 what? this commit looks wrong. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I17d0554188fad6f890f844bf978d622661290fce Gerrit-Change-Number: 24316 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 11:49:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:50:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 11:50:14 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add image_suffix_is_latest In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24317 ) Change subject: jenkins-common.sh: add image_suffix_is_latest ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibcc7dfb092b3766ef9b189ae990b43fdb746a022 Gerrit-Change-Number: 24317 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 11:50:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 11:54:49 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 21 May 2021 11:54:49 +0000 Subject: Change in libosmocore[master]: kdf: add key derivation functions In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24291 ) Change subject: kdf: add key derivation functions ...................................................................... Patch Set 7: > Patch Set 7: Code-Review+1 > > I don't know how much extra effort this would be, but I think it would be good if there were some tests for the osmo_kdf_ functions. I'm not aware of any test vectors, so it's a bit hard to test them against a known good result. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd Gerrit-Change-Number: 24291 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 11:54:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 12:16:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 12:16:38 +0000 Subject: Change in osmo-pcu[master]: cosmetic: Fix typo s/TIMSI/TMSI/ In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24321 ) Change subject: cosmetic: Fix typo s/TIMSI/TMSI/ ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I64231311633b64d898625c49fdbf3f816dfbb97a Gerrit-Change-Number: 24321 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 21 May 2021 12:16:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 12:23:05 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 12:23:05 +0000 Subject: Change in osmo-pcu[master]: tbf: Move existing tbf_state implementation to osmo_fsm In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24235 ) Change subject: tbf: Move existing tbf_state implementation to osmo_fsm ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/24235/3/src/tbf_fsm.h File src/tbf_fsm.h: https://gerrit.osmocom.org/c/osmo-pcu/+/24235/3/src/tbf_fsm.h at 30 PS3, Line 30: TBF_EV_FOOBAR This looks a bit odd to me. If you don't have any meaningful events at the moment, can you simply have this enumerated type empty? What's the point of having TBF_EV_FOOBAR? https://gerrit.osmocom.org/c/osmo-pcu/+/24235/3/src/tbf_fsm.c File src/tbf_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/24235/3/src/tbf_fsm.c at 83 PS3, Line 83: //.onenter = st_assign_on_enter, Are you planning to implement these commented out handlers any time soon? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6bb4baea2dee191ba5bbcbec2ea9dcf681aa1237 Gerrit-Change-Number: 24235 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 21 May 2021 12:23:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 12:24:13 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 12:24:13 +0000 Subject: Change in libosmocore[master]: add RSL_IE_OSMO_TRAINING_SEQUENCE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24292 ) Change subject: add RSL_IE_OSMO_TRAINING_SEQUENCE ...................................................................... Patch Set 1: Code-Review+2 LGTM! -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I573c26b1431ee789e42f6fa620947b003c384dc0 Gerrit-Change-Number: 24292 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 12:24:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 12:24:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 12:24:48 +0000 Subject: Change in libosmocore[master]: add RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm, RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24293 ) Change subject: add RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm, RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm ...................................................................... Patch Set 1: Code-Review+2 LGTM! -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib4ea11c870683a58f0bbc8c9cd942faceba8c4d9 Gerrit-Change-Number: 24293 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 12:24:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 12:25:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 12:25:28 +0000 Subject: Change in osmo-pcu[master]: tbf: Move existing tbf_state implementation to osmo_fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24235 ) Change subject: tbf: Move existing tbf_state implementation to osmo_fsm ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/24235/3/src/tbf_fsm.h File src/tbf_fsm.h: https://gerrit.osmocom.org/c/osmo-pcu/+/24235/3/src/tbf_fsm.h at 30 PS3, Line 30: TBF_EV_FOOBAR > This looks a bit odd to me. [?] ACK, I'll see if empty enums are accepted. https://gerrit.osmocom.org/c/osmo-pcu/+/24235/3/src/tbf_fsm.c File src/tbf_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/24235/3/src/tbf_fsm.c at 83 PS3, Line 83: //.onenter = st_assign_on_enter, > Are you planning to implement these commented out handlers any time soon? As time permits, yes. It's one of the next steps I plan to do (since having logic moved into the FSM will ease a lot adding new features in the future imho). -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6bb4baea2dee191ba5bbcbec2ea9dcf681aa1237 Gerrit-Change-Number: 24235 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 21 May 2021 12:25:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 12:26:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 12:26:00 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add image_suffix_is_latest In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24317 ) Change subject: jenkins-common.sh: add image_suffix_is_latest ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibcc7dfb092b3766ef9b189ae990b43fdb746a022 Gerrit-Change-Number: 24317 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 12:26:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 12:26:55 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 12:26:55 +0000 Subject: Change in libosmo-abis[master]: ipaccess: do not block ipaccess_line_update on failure In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24320 ) Change subject: ipaccess: do not block ipaccess_line_update on failure ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I90d330e2864f85b964628502afdb0c38eb54f15d Gerrit-Change-Number: 24320 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 12:26:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 13:28:49 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 13:28:49 +0000 Subject: Change in pysim[master]: pySim_prog: remove unused import for dec_addr_tlv In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24009 to look at the new patch set (#6). Change subject: pySim_prog: remove unused import for dec_addr_tlv ...................................................................... pySim_prog: remove unused import for dec_addr_tlv The function dec_addr_tlv is imported from utils, but not used Change-Id: I2a962d544f288259f16c1dca92715953d1c24d82 Related: OS#4963 --- M pySim-read.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/09/24009/6 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2a962d544f288259f16c1dca92715953d1c24d82 Gerrit-Change-Number: 24009 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 13:31:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 13:31:05 +0000 Subject: Change in libosmocore[master]: add RSL_IE_OSMO_TRAINING_SEQUENCE In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24292 ) Change subject: add RSL_IE_OSMO_TRAINING_SEQUENCE ...................................................................... add RSL_IE_OSMO_TRAINING_SEQUENCE This IE is explained in the Abis manual in osmo-bts commit Ie583bd5969fdb45f772af198033e58d7c4077306 http://git.osmocom.org/osmo-bts/commit/?id=823cd529649b667af20bfa4e383255a8ed5931f1 Change-Id: I573c26b1431ee789e42f6fa620947b003c384dc0 --- M include/osmocom/gsm/protocol/gsm_08_58.h M src/gsm/rsl.c 2 files changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index 79ddb68..efac54d 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -357,6 +357,7 @@ /* Osmocom specific */ RSL_IE_OSMO_REP_ACCH_CAP= 0x60, + RSL_IE_OSMO_TRAINING_SEQUENCE = 0x61, /* ip.access */ RSL_IE_IPAC_SRTP_CONFIG = 0xe0, diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c index 2ab49c2..8d34543 100644 --- a/src/gsm/rsl.c +++ b/src/gsm/rsl.c @@ -127,6 +127,7 @@ [RSL_IE_LLP_APDU] = { TLV_TYPE_TLV }, [RSL_IE_SIEMENS_MRPCI] = { TLV_TYPE_TV }, [RSL_IE_OSMO_REP_ACCH_CAP] = { TLV_TYPE_TLV }, + [RSL_IE_OSMO_TRAINING_SEQUENCE] = { TLV_TYPE_TLV }, [RSL_IE_IPAC_PROXY_UDP] = { TLV_TYPE_FIXED, 2 }, [RSL_IE_IPAC_BSCMPL_TOUT] = { TLV_TYPE_TV }, [RSL_IE_IPAC_REMOTE_IP] = { TLV_TYPE_FIXED, 4 }, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I573c26b1431ee789e42f6fa620947b003c384dc0 Gerrit-Change-Number: 24292 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 13:31:06 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 13:31:06 +0000 Subject: Change in libosmocore[master]: add RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm, RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24293 ) Change subject: add RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm, RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm ...................................................................... add RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm, RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm These indicate VAMOS mode to osmo-bts during channel activation and channel mode modification. Change-Id: Ib4ea11c870683a58f0bbc8c9cd942faceba8c4d9 --- M include/osmocom/gsm/protocol/gsm_08_58.h 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index efac54d..97c02e8 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -489,6 +489,8 @@ #define RSL_CMOD_CRT_TCH_GROUP_Lm 0x19 /* half-rate: group call channel */ #define RSL_CMOD_CRT_TCH_BCAST_Bm 0x28 /* full-rate: broadcast call channel */ #define RSL_CMOD_CRT_TCH_BCAST_Lm 0x29 /* half-rate: broadcast call channel */ +#define RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm 0x88 /* full-rate in VAMOS mode */ +#define RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm 0x89 /* half-rate in VAMOS mode */ /* Speech */ #define RSL_CMOD_SP_GSM1 0x01 #define RSL_CMOD_SP_GSM2 0x11 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib4ea11c870683a58f0bbc8c9cd942faceba8c4d9 Gerrit-Change-Number: 24293 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 13:33:19 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 13:33:19 +0000 Subject: Change in osmo-bsc[master]: gsm48_send_rr_ass_cmd(): rename lchan to new_lchan In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24297 ) Change subject: gsm48_send_rr_ass_cmd(): rename lchan to new_lchan ...................................................................... Patch Set 1: yeah i wanted it trivially readable as a find-replace result -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0de017f7c43ec495c2cd0f05f313740f42ab0bb1 Gerrit-Change-Number: 24297 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 13:33:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 13:39:13 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 13:39:13 +0000 Subject: Change in osmo-bsc[master]: log: show src file, line of lchan_set_last_error In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24298 ) Change subject: log: show src file,line of lchan_set_last_error ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24298/1/include/osmocom/bsc/lchan_fsm.h File include/osmocom/bsc/lchan_fsm.h: https://gerrit.osmocom.org/c/osmo-bsc/+/24298/1/include/osmocom/bsc/lchan_fsm.h at 16 PS1, Line 16: if (LCHAN->last_error) \ > () around LCHAN thx! -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I571fdf2d418c52d120215cf19e57a3c96d67af07 Gerrit-Change-Number: 24298 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 21 May 2021 13:39:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 13:40:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 13:40:54 +0000 Subject: Change in pysim[master]: pySim_prog: remove unused import for dec_addr_tlv In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24009 ) Change subject: pySim_prog: remove unused import for dec_addr_tlv ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2a962d544f288259f16c1dca92715953d1c24d82 Gerrit-Change-Number: 24009 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 May 2021 13:40:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 13:41:19 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 13:41:19 +0000 Subject: Change in pysim[master]: pySim_prog: remove unused import for dec_addr_tlv In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24009 ) Change subject: pySim_prog: remove unused import for dec_addr_tlv ...................................................................... pySim_prog: remove unused import for dec_addr_tlv The function dec_addr_tlv is imported from utils, but not used Change-Id: I2a962d544f288259f16c1dca92715953d1c24d82 Related: OS#4963 --- M pySim-read.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index 9feef9d..1614a39 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -36,7 +36,7 @@ from pySim.transport import init_reader, argparse_add_reader_args from pySim.cards import card_detect, Card, UsimCard, IsimCard from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn -from pySim.utils import format_xplmn_w_act, dec_st, dec_addr_tlv +from pySim.utils import format_xplmn_w_act, dec_st from pySim.utils import h2s, format_ePDGSelection option_parser = argparse.ArgumentParser(prog='pySim-read', -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2a962d544f288259f16c1dca92715953d1c24d82 Gerrit-Change-Number: 24009 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 13:52:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 13:52:08 +0000 Subject: Change in osmo-bsc[master]: log: show src file, line of lchan_set_last_error In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24298 to look at the new patch set (#2). Change subject: log: show src file,line of lchan_set_last_error ...................................................................... log: show src file,line of lchan_set_last_error Change lchan_set_last_error() to macro so that the error log reflects where the error was encountered. Change-Id: I571fdf2d418c52d120215cf19e57a3c96d67af07 --- M include/osmocom/bsc/lchan_fsm.h M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c 3 files changed, 12 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/98/24298/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I571fdf2d418c52d120215cf19e57a3c96d67af07 Gerrit-Change-Number: 24298 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 13:52:09 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 13:52:09 +0000 Subject: Change in osmo-bsc[master]: add missing arg braces in LOG_LCHAN macro References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24322 ) Change subject: add missing arg braces in LOG_LCHAN macro ...................................................................... add missing arg braces in LOG_LCHAN macro Change-Id: Ifd9f868636fda3298bb19c061d3ef194fd941fc3 --- M include/osmocom/bsc/lchan_fsm.h 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/22/24322/1 diff --git a/include/osmocom/bsc/lchan_fsm.h b/include/osmocom/bsc/lchan_fsm.h index 2d5307a..99964a4 100644 --- a/include/osmocom/bsc/lchan_fsm.h +++ b/include/osmocom/bsc/lchan_fsm.h @@ -6,8 +6,8 @@ /* This macro automatically includes a final \n, if omitted. */ #define LOG_LCHAN(lchan, level, fmt, args...) do { \ - if (lchan->fi) \ - LOGPFSML(lchan->fi, level, "(type=%s) " fmt, gsm_lchant_name(lchan->type), ## args); \ + if ((lchan)->fi) \ + LOGPFSML((lchan)->fi, level, "(type=%s) " fmt, gsm_lchant_name((lchan)->type), ## args); \ else \ LOGP(DRSL, level, "%s (not initialized) " fmt, gsm_lchan_name(lchan), ## args); \ } while(0) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifd9f868636fda3298bb19c061d3ef194fd941fc3 Gerrit-Change-Number: 24322 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 14:05:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 14:05:29 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: fix failure log message for lchan unavailable In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24294 ) Change subject: assignment_fsm: fix failure log message for lchan unavailable ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id381dbb7ff6f0d790a7a92021fd68f94fbec0568 Gerrit-Change-Number: 24294 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 14:05:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 14:07:52 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 14:07:52 +0000 Subject: Change in osmo-bsc[master]: lchan and assignment FSMs: make Channel Mode Modify more sane In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23943 ) Change subject: lchan and assignment FSMs: make Channel Mode Modify more sane ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/23943/4/include/osmocom/bsc/gsm_data.h File include/osmocom/bsc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/23943/4/include/osmocom/bsc/gsm_data.h at 561 PS4, Line 561: enum lchan_activate_for { > lchan_Activate_reason? could have worked, too. let's not change it though, massive tail of code changes and probably merge conflicts; and "for" is shorter. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23943 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4986844f839b1c9672c61d916eb3d33d0042d747 Gerrit-Change-Number: 23943 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 14:07:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 14:14:14 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 14:14:14 +0000 Subject: Change in osmo-bsc[master]: gsm48_send_rr_ass_cmd(): rename dest_lchan to current_lchan In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24296 ) Change subject: gsm48_send_rr_ass_cmd(): rename dest_lchan to current_lchan ...................................................................... Patch Set 2: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24296/1/src/osmo-bsc/gsm_04_08_rr.c File src/osmo-bsc/gsm_04_08_rr.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24296/1/src/osmo-bsc/gsm_04_08_rr.c at 569 PS1, Line 569: int gsm48_send_rr_ass_cmd(struct gsm_lchan *current_lchan, struct gsm_lchan *lchan, uint8_t power_command) > so what's "lchan" then? I'd really welcome some documentation above the function ,or at least perhap [?] I agree with Pau, it should be clarified somehow. But AFAICS, the 'lchan' is actually the _new_ (destination) lchan that is getting assigned, and this patch just fixes the wrong naming. Further clarification can be done in a separate patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If2c102a8f1d45f84b6a765555abf7cd7a4749b0f Gerrit-Change-Number: 24296 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 14:14:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 14:14:55 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 14:14:55 +0000 Subject: Change in osmo-bsc[master]: gsm48_send_rr_ass_cmd(): rename lchan to new_lchan In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24297 ) Change subject: gsm48_send_rr_ass_cmd(): rename lchan to new_lchan ...................................................................... Patch Set 2: Code-Review+2 Indeed, my assumption was correct. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0de017f7c43ec495c2cd0f05f313740f42ab0bb1 Gerrit-Change-Number: 24297 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 14:14:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 14:25:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 21 May 2021 14:25:08 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn-test: fix config sed for latest In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/24316 to look at the new patch set (#2). Change subject: ttcn3-sgsn-test: fix config sed for latest ...................................................................... ttcn3-sgsn-test: fix config sed for latest Change-Id: I17d0554188fad6f890f844bf978d622661290fce --- M ttcn3-sgsn-test/jenkins.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/16/24316/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I17d0554188fad6f890f844bf978d622661290fce Gerrit-Change-Number: 24316 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 14:25:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 21 May 2021 14:25:08 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add image_suffix_is_latest In-Reply-To: References: Message-ID: Hello fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/24317 to look at the new patch set (#2). Change subject: jenkins-common.sh: add image_suffix_is_latest ...................................................................... jenkins-common.sh: add image_suffix_is_latest Make sure we run the latest-code paths for "latest-centos8" too. Change-Id: Ibcc7dfb092b3766ef9b189ae990b43fdb746a022 --- M jenkins-common.sh M ttcn3-pcu-test/jenkins.sh M ttcn3-sgsn-test/jenkins.sh M ttcn3-stp-test/jenkins.sh 4 files changed, 11 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/17/24317/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibcc7dfb092b3766ef9b189ae990b43fdb746a022 Gerrit-Change-Number: 24317 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 14:43:08 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 14:43:08 +0000 Subject: Change in pysim[master]: cards: IsimCard inherits UsimCard In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/24134 ) Change subject: cards: IsimCard inherits UsimCard ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2de36a488840ec2bad94fa1830f9a2ac369bad80 Gerrit-Change-Number: 24134 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 14:44:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 14:44:41 +0000 Subject: Change in osmo-bsc[master]: log: show src file, line of lchan_set_last_error In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24298 ) Change subject: log: show src file,line of lchan_set_last_error ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I571fdf2d418c52d120215cf19e57a3c96d67af07 Gerrit-Change-Number: 24298 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 21 May 2021 14:44:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 14:45:07 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 14:45:07 +0000 Subject: Change in pysim[master]: cards: populate name property in Card, UsimCard and IsimCard In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24135 to look at the new patch set (#4). Change subject: cards: populate name property in Card, UsimCard and IsimCard ...................................................................... cards: populate name property in Card, UsimCard and IsimCard Even though Card, UsimCard and IsimCard are abstract classes which are normally only used to inheret from mit may make sense to pre-populate the name property with some meaningful value. Change-Id: Id643e1f83718aea073e7200aecbf2db2def8652f --- M pySim/cards.py 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/35/24135/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id643e1f83718aea073e7200aecbf2db2def8652f Gerrit-Change-Number: 24135 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 14:45:54 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 14:45:54 +0000 Subject: Change in osmo-bsc[master]: add missing arg braces in LOG_LCHAN macro In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24322 ) Change subject: add missing arg braces in LOG_LCHAN macro ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifd9f868636fda3298bb19c061d3ef194fd941fc3 Gerrit-Change-Number: 24322 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 21 May 2021 14:45:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 14:47:44 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 14:47:44 +0000 Subject: Change in pysim[master]: cards: populate name property in Card, UsimCard and IsimCard In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24135 to look at the new patch set (#5). Change subject: cards: populate name property in Card, UsimCard and IsimCard ...................................................................... cards: populate name property in Card, UsimCard and IsimCard Even though Card, UsimCard and IsimCard are abstract classes which are normally only used to inherit from mit may make sense to pre-populate the name property with some meaningful value. Change-Id: Id643e1f83718aea073e7200aecbf2db2def8652f --- M pySim/cards.py 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/35/24135/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id643e1f83718aea073e7200aecbf2db2def8652f Gerrit-Change-Number: 24135 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 14:49:19 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 14:49:19 +0000 Subject: Change in pysim[master]: cards: populate name property in Card, UsimCard and IsimCard In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24135 ) Change subject: cards: populate name property in Card, UsimCard and IsimCard ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/pysim/+/24135/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/pysim/+/24135/2//COMMIT_MSG at 10 PS2, Line 10: inheret from mit > s/inheret/inherit/ [?] Done -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id643e1f83718aea073e7200aecbf2db2def8652f Gerrit-Change-Number: 24135 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 May 2021 14:49:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 14:51:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 14:51:48 +0000 Subject: Change in pysim[master]: cards: populate name property in Card, UsimCard and IsimCard In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24135 ) Change subject: cards: populate name property in Card, UsimCard and IsimCard ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id643e1f83718aea073e7200aecbf2db2def8652f Gerrit-Change-Number: 24135 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 May 2021 14:51:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 14:52:53 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 14:52:53 +0000 Subject: Change in osmo-bsc[master]: gscon MGCP: properly skip redundant MDCX towards MSC In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24299 ) Change subject: gscon MGCP: properly skip redundant MDCX towards MSC ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If994ecef9d4269a8120b0575de9b6d0c3be19146 Gerrit-Change-Number: 24299 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 14:52:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 14:53:52 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 14:53:52 +0000 Subject: Change in osmo-bsc[master]: cosmetic: rename FOR_* to ACTIVATE_FOR_* In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24300 ) Change subject: cosmetic: rename FOR_* to ACTIVATE_FOR_* ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12190d4d154a1da6a9ebc9a755ccc2fe382ff188 Gerrit-Change-Number: 24300 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 14:53:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 14:54:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 14:54:29 +0000 Subject: Change in osmo-bsc[master]: cosmetic: rename lchan_activate_mode to lchan_activate_for In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24301 ) Change subject: cosmetic: rename lchan_activate_mode to lchan_activate_for ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia4420fcd1234dbee92e768e5a32eab13fba29ea9 Gerrit-Change-Number: 24301 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 14:54:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:00:09 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 15:00:09 +0000 Subject: Change in osmo-bsc[master]: lchan and assignment FSMs: make Channel Mode Modify more sane In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23943 ) Change subject: lchan and assignment FSMs: make Channel Mode Modify more sane ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23943 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4986844f839b1c9672c61d916eb3d33d0042d747 Gerrit-Change-Number: 23943 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 15:00:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:00:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 15:00:37 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: tweak error log msg for mixed modes In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24302 ) Change subject: assignment_fsm: tweak error log msg for mixed modes ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic42b141012215f428066d739a2099b217f4e5d41 Gerrit-Change-Number: 24302 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 15:00:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:00:58 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 15:00:58 +0000 Subject: Change in osmo-bsc[master]: handover_test: ack release only when lchan is still waiting In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24303 ) Change subject: handover_test: ack release only when lchan is still waiting ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c7596df06d7c211adcfcd110a1984903a0820e1 Gerrit-Change-Number: 24303 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 15:00:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:15:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 15:15:46 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: rework and split up bts_sched_fn() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24323 ) Change subject: [VAMOS] osmo-bts-trx: rework and split up bts_sched_fn() ...................................................................... [VAMOS] osmo-bts-trx: rework and split up bts_sched_fn() Currently, in bts_sched_fn() we send a Downlink burst to the PHY immediately after calling the associated logical channel handler. Together with the obvious performance advantages, this approach imposes some serious limitations. The code has already become quite complex with the introduction of the baseband frequency hopping, and now it's not possible anymore to extend it further. TRXD PDU batching, which is essential for VAMOS implementation, requires us to make the scheduler more flexible at the expense of increased memory consumption and additional CPU cycles. This patch splits up Downlink burst scheduling into 3 main steps: 1. bts_sched_init_buffers(): initialization of per-TRX Downlink burst buffers allocated by phy_instance_create(). For C0/TRX0 all timeslots are pre-initialized with dummy burst. 2. bts_sched_fn(): generating burst bits for all active lchans. 3. bts_sched_flush_buffers(): sending everything to the PHY. This approach allows us to a) get rid of the ugly tail in bts_sched_fn() that was responsible for sending dummy bursts on C0/TRX0; b) implement the PDU batching and have several variants of bts_sched_flush_buffers() providing the alternative batching approaches later on; c) implement PDU merging for the upcoming shadow transceivers. Change-Id: Iec78989517865b3275a9784d1042a5ebd1d2815f Related: SYS#4895, OS#4941 --- M include/osmo-bts/phy_link.h M src/osmo-bts-trx/scheduler_trx.c 2 files changed, 76 insertions(+), 51 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/23/24323/1 diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index c4b60f3..bc934ec 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -113,6 +113,7 @@ struct { struct trx_l1h *hdl; bool sw_act_reported; + struct trx_dl_burst_req br[TRX_NR_TS]; } osmotrx; struct { /* logical transceiver number within one PHY */ diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index c90a0a3..2a37abb 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -3,6 +3,7 @@ /* (C) 2013 by Andreas Eversberg * (C) 2015 by Alexander Chemeris * (C) 2015-2017 by Harald Welte + * (C) 2020-2021 by sysmocom - s.m.f.c. GmbH * * All Rights Reserved * @@ -92,19 +93,72 @@ return NULL; } +static void bts_sched_init_buffers(struct gsm_bts *bts, const uint32_t fn) +{ + struct gsm_bts_trx *trx; + uint8_t tn; + + llist_for_each_entry(trx, &bts->trx_list, list) { + struct phy_instance *pinst = trx->pinst; + const struct phy_link *plink = pinst->phy_link; + + /* Advance frame number, so the PHY has more time to process bursts */ + const uint32_t sched_fn = GSM_TDMA_FN_SUM(fn, plink->u.osmotrx.clock_advance); + + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + struct trx_dl_burst_req *br = &pinst->u.osmotrx.br[tn]; + + *br = (struct trx_dl_burst_req) { + .trx_num = trx->nr, + .fn = sched_fn, + .tn = tn, + }; + } + } + + /* Initialize all timeslots on C0/TRX0 with dummy burst */ + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + struct phy_instance *pinst = bts->c0->pinst; + struct trx_dl_burst_req *br = &pinst->u.osmotrx.br[tn]; + + memcpy(br->burst, _sched_dummy_burst, GSM_BURST_LEN); + br->burst_len = GSM_BURST_LEN; + } +} + +static void bts_sched_flush_buffers(struct gsm_bts *bts) +{ + const struct gsm_bts_trx *trx; + unsigned int tn; + + llist_for_each_entry(trx, &bts->trx_list, list) { + const struct phy_instance *pinst = trx->pinst; + struct trx_l1h *l1h = pinst->u.osmotrx.hdl; + + for (tn = 0; tn < TRX_NR_TS; tn++) { + const struct trx_dl_burst_req *br; + + br = &pinst->u.osmotrx.br[tn]; + if (!br->burst_len) + continue; + trx_if_send_burst(l1h, br); + } + } +} + /* schedule all frames of all TRX for given FN */ static void bts_sched_fn(struct gsm_bts *bts, const uint32_t fn) { - struct trx_dl_burst_req br; struct gsm_bts_trx *trx; - uint8_t c0_mask = 0x00; - uint32_t sched_fn; - uint8_t tn; + unsigned int tn; /* send time indication */ l1if_mph_time_ind(bts, fn); - /* process every TRX */ + /* Initialize Downlink burst buffers */ + bts_sched_init_buffers(bts, fn); + + /* Populate Downlink burst buffers for each TRX/TS */ llist_for_each_entry(trx, &bts->trx_list, list) { const struct phy_link *plink = trx->pinst->phy_link; struct trx_l1h *l1h = trx->pinst->u.osmotrx.hdl; @@ -113,66 +167,36 @@ if (!trx_if_powered(l1h)) continue; - /* advance frame number, so the transceiver has more - * time until it must be transmitted. */ - sched_fn = GSM_TDMA_FN_SUM(fn, plink->u.osmotrx.clock_advance); - /* process every TS of TRX */ for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { - const struct phy_instance *pinst = trx->pinst; - struct l1sched_ts *l1ts = trx->ts[tn].priv; + struct phy_instance *pinst = trx->pinst; + struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + struct l1sched_ts *l1ts = ts->priv; + struct trx_dl_burst_req *br; /* ready-to-send */ - _sched_rts(l1ts, GSM_TDMA_FN_SUM(sched_fn, plink->u.osmotrx.rts_advance)); + _sched_rts(l1ts, GSM_TDMA_FN_SUM(fn, plink->u.osmotrx.clock_advance + + plink->u.osmotrx.rts_advance)); - /* All other parameters to be set by _sched_dl_burst() */ - br = (struct trx_dl_burst_req) { - .fn = sched_fn, - .tn = tn, - }; - - /* get burst for FN */ - _sched_dl_burst(l1ts, &br); - if (br.burst_len == 0) { - /* if no bits, send no burst */ - continue; - } + /* pre-initialized buffer for the Downlink burst */ + br = &pinst->u.osmotrx.br[tn]; /* resolve PHY instance if freq. hopping is enabled */ - if (trx->ts[tn].hopping.enabled) { - pinst = dlfh_route_br(&br, &trx->ts[tn]); + if (ts->hopping.enabled) { + pinst = dlfh_route_br(br, ts); if (pinst == NULL) continue; + /* simply use a different buffer */ + br = &pinst->u.osmotrx.br[tn]; } - if (pinst->trx == bts->c0) { - /* update dummy burst mask for C0 */ - c0_mask |= (1 << tn); - /* ensure no attenuation on C0 */ - br.att = 0; - } - - trx_if_send_burst(pinst->u.osmotrx.hdl, &br); + /* get burst for FN */ + _sched_dl_burst(l1ts, br); } } - /* send dummy bursts on inactive timeslots of C0 */ - struct phy_instance *pinst = trx_phy_instance(bts->c0); - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; - struct phy_link *plink = pinst->phy_link; - - br = (struct trx_dl_burst_req) { - .fn = GSM_TDMA_FN_SUM(fn, plink->u.osmotrx.clock_advance), - .burst_len = GSM_BURST_LEN, - }; - - memcpy(br.burst, _sched_dummy_burst, GSM_BURST_LEN); - - for (br.tn = 0; br.tn < TRX_NR_TS; br.tn++) { - if (c0_mask & (1 << br.tn)) - continue; - trx_if_send_burst(l1h, &br); - } + /* Send everything to the PHY */ + bts_sched_flush_buffers(bts); } /* Find a route (TRX instance) for a given Uplink burst indication */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iec78989517865b3275a9784d1042a5ebd1d2815f Gerrit-Change-Number: 24323 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:15:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 15:15:47 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: implement and enable PDU batching for TRXDv2 References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24324 ) Change subject: [VAMOS] osmo-bts-trx: implement and enable PDU batching for TRXDv2 ...................................................................... [VAMOS] osmo-bts-trx: implement and enable PDU batching for TRXDv2 This change implements TRXD PDU batching approach b), which is described in section 25.3.4 of the user manual [1]. This approach is quite easy to implement on the transceiver side, so we can enable it by default. .Example: datagram structure for combination b) ---- +--------+----------------+---------+------------------------+ | TRXN=N | TDMA FN=F TN=0 | BATCH=1 | Hard-/Soft-bits | +--------+----------------+---------+------------------------+ | TRXN=N | TDMA FN=F TN=1 | BATCH=1 | Hard-/Soft-bits | +--------+----------------+---------+------------------------+ | TRXN=N | TDMA FN=F TN=2 | BATCH=1 | Hard-/Soft-bits | +--------+----------------+---------+------------------------+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--------+----------------+---------+------------------------+ | TRXN=N | TDMA FN=F TN=7 | BATCH=0 | Hard-/Soft-bits | +--------+----------------+---------+------------------------+ ---- Other PDU batching approaches can be introduced later. [1] https://downloads.osmocom.org/docs/latest/osmobts-usermanual.pdf Change-Id: I9b4cc8e10cd683b28d22e32890569484cd20372d Related: SYS#4895, OS#4941 --- M include/osmo-bts/scheduler.h M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-trx/trx_if.c 3 files changed, 23 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/24/24324/1 diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 3ea08d9..cf980bc 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -256,8 +256,6 @@ size_t burst_len; }; -#define TRX_BR_F_MORE_PDUS (1 << 0) - /*! DL burst request with the corresponding meta info */ struct trx_dl_burst_req { uint8_t flags; /*!< see TRX_BR_F_* */ diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 2a37abb..fa5c719 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -143,6 +143,9 @@ continue; trx_if_send_burst(l1h, br); } + + /* Batch all timeslots into a single TRXD PDU */ + trx_if_send_burst(l1h, NULL); } } diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 8479d4c..13799d9 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -1071,6 +1071,7 @@ { uint8_t pdu_ver = l1h->config.trxd_pdu_ver_use; static uint8_t *buf = &trx_data_buf[0]; + static uint8_t *last_pdu = NULL; static unsigned int pdu_num = 0; ssize_t snd_len, buf_len; @@ -1081,6 +1082,16 @@ return -ENODEV; } + /* Burst batching breaker */ + if (br == NULL) { + if (pdu_num > 0) + goto sendall; + return -ENOMSG; + } + + /* Pointer to the last encoded PDU */ + last_pdu = &buf[0]; + switch (pdu_ver) { /* Both versions have the same PDU format */ case 0: /* TRXDv0 */ @@ -1092,7 +1103,8 @@ break; case 2: /* TRXDv2 */ buf[0] = br->tn; - buf[1] = (br->trx_num & 0x3f) | (br->flags << 7); + /* BATCH.ind will be unset in the last PDU */ + buf[1] = (br->trx_num & 0x3f) | (1 << 7); buf[2] = br->mts; buf[3] = br->att; buf[4] = (uint8_t) br->scpir; @@ -1117,14 +1129,19 @@ /* One more PDU in the buffer */ pdu_num++; - /* More PDUs to send? Batch them! */ - if (pdu_ver >= 2 && br->flags & TRX_BR_F_MORE_PDUS) + /* TRXDv2: wait for the batching breaker */ + if (pdu_ver >= 2) return 0; +sendall: LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, "Tx TRXDv%u datagram with %u PDU(s): fn=%u\n", pdu_ver, pdu_num, br->fn); + /* TRXDv2: unset BATCH.ind in the last PDU */ + if (pdu_ver >= 2) + last_pdu[1] &= ~(1 << 7); + buf_len = buf - &trx_data_buf[0]; buf = &trx_data_buf[0]; pdu_num = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b4cc8e10cd683b28d22e32890569484cd20372d Gerrit-Change-Number: 24324 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:15:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 15:15:47 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: indicate MTS in Downlink TRXDv2 PDUs References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24325 ) Change subject: [VAMOS] osmo-bts-trx: indicate MTS in Downlink TRXDv2 PDUs ...................................................................... [VAMOS] osmo-bts-trx: indicate MTS in Downlink TRXDv2 PDUs Change-Id: I1a17a25883214c068f9b1a6d651128b8f760d1fb Related: SYS#4895, OS#4941 --- M include/osmo-bts/scheduler.h M src/common/scheduler.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-trx/trx_if.c 4 files changed, 20 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/25/24325/1 diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index cf980bc..beb2716 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -264,10 +264,13 @@ uint32_t fn; /*!< TDMA frame number */ uint8_t tn; /*!< TDMA timeslot number */ uint8_t att; /*!< Tx power attenuation */ - uint8_t mts; /*!< MTS (Modulation and Training Sequence) */ int8_t scpir; /*!< SCPIR (for AQPSK only) */ uint8_t trx_num; /*!< TRX (RF channel) number */ + enum trx_mod_type mod; /*!< Modulation type */ + uint8_t tsc_set; /*!< Training Sequence Set */ + uint8_t tsc; /*!< Training Sequence Code */ + /* Internally used by the scheduler */ enum trx_chan_type chan; uint8_t bid; diff --git a/src/common/scheduler.c b/src/common/scheduler.c index f5a5b89..7d9e98b 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1219,6 +1219,9 @@ if (func(l1ts, br) != 0) return; + /* Modulation may be changed by func() */ + br->mod = l1cs->dl_mod_type; + /* BS Power reduction (in dB) per logical channel */ if (l1cs->lchan != NULL) br->att = l1cs->lchan->bs_power_ctrl.current; diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index fa5c719..824779f 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -107,11 +107,16 @@ for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { struct trx_dl_burst_req *br = &pinst->u.osmotrx.br[tn]; + const struct gsm_bts_trx_ts *ts = &trx->ts[tn]; *br = (struct trx_dl_burst_req) { .trx_num = trx->nr, .fn = sched_fn, .tn = tn, + + /* Modulation and Training Sequence */ + .mod = TRX_MOD_T_GMSK, + .tsc = gsm_ts_tsc(ts), }; } } diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 13799d9..b08f187 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -740,6 +740,11 @@ TRX_UL_V2HDR_LEN, /* TRXDv2 */ }; +static const uint8_t trx_data_mod_val[] = { + [TRX_MOD_T_GMSK] = 0x00, /* .00xx... */ + [TRX_MOD_T_8PSK] = 0x20, /* .010x... */ +}; + /* Header dissector for TRXDv0 (and part of TRXDv1) */ static inline void trx_data_handle_hdr_v0_part(struct trx_ul_burst_ind *bi, const uint8_t *buf) @@ -1105,7 +1110,9 @@ buf[0] = br->tn; /* BATCH.ind will be unset in the last PDU */ buf[1] = (br->trx_num & 0x3f) | (1 << 7); - buf[2] = br->mts; + buf[2] = trx_data_mod_val[br->mod] + | (br->tsc_set << 3) + | (br->tsc & 0x07); buf[3] = br->att; buf[4] = (uint8_t) br->scpir; buf[5] = buf[6] = buf[7] = 0x00; /* Spare */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1a17a25883214c068f9b1a6d651128b8f760d1fb Gerrit-Change-Number: 24325 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:15:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 15:15:47 +0000 Subject: Change in osmo-bts[master]: [VAMOS] common/scheduler: unify symbol names for training sequences References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24326 ) Change subject: [VAMOS] common/scheduler: unify symbol names for training sequences ...................................................................... [VAMOS] common/scheduler: unify symbol names for training sequences Change-Id: Ice464e5b02b11b0f13df247fe6a01420a29bf1c5 Related: SYS#4895, OS#4941 --- M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c M src/osmo-bts-trx/sched_lchan_fcch_sch.c M src/osmo-bts-trx/sched_lchan_pdtch.c M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_lchan_xcch.c 7 files changed, 12 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/26/24326/1 diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index 2a0dd11..d5ce5bf 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -35,9 +35,9 @@ extern const struct trx_chan_desc trx_chan_desc[_TRX_CHAN_MAX]; extern const ubit_t _sched_dummy_burst[]; -extern const ubit_t _sched_tsc[8][26]; -extern const ubit_t _sched_egprs_tsc[8][78]; -extern const ubit_t _sched_sch_train[64]; +extern const ubit_t _sched_train_seq_gmsk_nb[8][26]; +extern const ubit_t _sched_train_seq_8psk_nb[8][78]; +extern const ubit_t _sched_train_seq_gmsk_sb[64]; struct msgb *_sched_dequeue_prim(struct l1sched_ts *l1ts, const struct trx_dl_burst_req *br); diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 7d9e98b..96049a3 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -63,7 +63,7 @@ }; /*! \brief Training Sequences (TS 05.02 Chapter 5.2.3) */ -const ubit_t _sched_tsc[8][26] = { +const ubit_t _sched_train_seq_gmsk_nb[8][26] = { { 0,0,1,0,0,1,0,1,1,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,1,1, }, { 0,0,1,0,1,1,0,1,1,1,0,1,1,1,1,0,0,0,1,0,1,1,0,1,1,1, }, { 0,1,0,0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,0,0,0,0,1,1,1,0, }, @@ -74,7 +74,7 @@ { 1,1,1,0,1,1,1,1,0,0,0,1,0,0,1,0,1,1,1,0,1,1,1,1,0,0, }, }; -const ubit_t _sched_egprs_tsc[8][78] = { +const ubit_t _sched_train_seq_8psk_nb[8][78] = { { 1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0, 1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1, 1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1, }, @@ -102,7 +102,7 @@ }; /*! \brief SCH training sequence (TS 05.02 Chapter 5.2.5) */ -const ubit_t _sched_sch_train[64] = { +const ubit_t _sched_train_seq_gmsk_sb[64] = { 1,0,1,1,1,0,0,1,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1, 0,0,1,0,1,1,0,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,1,0,0,0,0,1,1,0,1,1, }; diff --git a/src/osmo-bts-trx/sched_lchan_fcch_sch.c b/src/osmo-bts-trx/sched_lchan_fcch_sch.c index eaf140f..43e01ee 100644 --- a/src/osmo-bts-trx/sched_lchan_fcch_sch.c +++ b/src/osmo-bts-trx/sched_lchan_fcch_sch.c @@ -80,7 +80,7 @@ /* compose burst */ memcpy(br->burst + 3, burst, 39); - memcpy(br->burst + 42, _sched_sch_train, 64); + memcpy(br->burst + 42, _sched_train_seq_gmsk_sb, 64); memcpy(br->burst + 106, burst + 39, 39); br->burst_len = GSM_BURST_LEN; diff --git a/src/osmo-bts-trx/sched_lchan_pdtch.c b/src/osmo-bts-trx/sched_lchan_pdtch.c index 8648cb8..dede371 100644 --- a/src/osmo-bts-trx/sched_lchan_pdtch.c +++ b/src/osmo-bts-trx/sched_lchan_pdtch.c @@ -212,7 +212,7 @@ burst = *bursts_p + br->bid * 348; memset(br->burst, 1, 9); memcpy(br->burst + 9, burst, 174); - memcpy(br->burst + 183, _sched_egprs_tsc[gsm_ts_tsc(l1ts->ts)], 78); + memcpy(br->burst + 183, _sched_train_seq_8psk_nb[gsm_ts_tsc(l1ts->ts)], 78); memcpy(br->burst + 261, burst + 174, 174); memset(br->burst + 435, 1, 9); @@ -220,7 +220,7 @@ } else { burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(l1ts->ts)], 26); + memcpy(br->burst + 61, _sched_train_seq_gmsk_nb[gsm_ts_tsc(l1ts->ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c index 0961758..5605969 100644 --- a/src/osmo-bts-trx/sched_lchan_tchf.c +++ b/src/osmo-bts-trx/sched_lchan_tchf.c @@ -562,7 +562,7 @@ /* compose burst */ burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(l1ts->ts)], 26); + memcpy(br->burst + 61, _sched_train_seq_gmsk_nb[gsm_ts_tsc(l1ts->ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c index e526e48..91ce02f 100644 --- a/src/osmo-bts-trx/sched_lchan_tchh.c +++ b/src/osmo-bts-trx/sched_lchan_tchh.c @@ -451,7 +451,7 @@ /* compose burst */ burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(l1ts->ts)], 26); + memcpy(br->burst + 61, _sched_train_seq_gmsk_nb[gsm_ts_tsc(l1ts->ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; diff --git a/src/osmo-bts-trx/sched_lchan_xcch.c b/src/osmo-bts-trx/sched_lchan_xcch.c index 62b511c..b31175e 100644 --- a/src/osmo-bts-trx/sched_lchan_xcch.c +++ b/src/osmo-bts-trx/sched_lchan_xcch.c @@ -239,7 +239,7 @@ /* compose burst */ burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_tsc[gsm_ts_tsc(l1ts->ts)], 26); + memcpy(br->burst + 61, _sched_train_seq_gmsk_nb[gsm_ts_tsc(l1ts->ts)], 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice464e5b02b11b0f13df247fe6a01420a29bf1c5 Gerrit-Change-Number: 24326 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:15:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 15:15:48 +0000 Subject: Change in osmo-bts[master]: [VAMOS] struct gsm_lchan: store Training Sequence Code/Set References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24327 ) Change subject: [VAMOS] struct gsm_lchan: store Training Sequence Code/Set ...................................................................... [VAMOS] struct gsm_lchan: store Training Sequence Code/Set Change-Id: I3744bc308b99ef941e6e9d139444e414abebc14b Related: SYS#4895, OS#4941 --- M include/osmo-bts/gsm_data.h M include/osmo-bts/scheduler.h M src/common/l1sap.c M src/common/scheduler.c M src/osmo-bts-trx/sched_lchan_pdtch.c M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_lchan_xcch.c 8 files changed, 32 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/27/24327/1 diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index be18007..70c640b 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -278,6 +278,8 @@ struct osmo_rtp_socket *rtp_socket; } abis_ip; + /* Training Sequence Code and set */ + uint8_t tsc_set:5, tsc:3; uint8_t rqd_ta; char *name; diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index beb2716..72858f5 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -12,6 +12,12 @@ #define TRX_CHAN_IS_ACTIVE(state, chan) \ (trx_chan_desc[chan].flags & TRX_CHAN_FLAG_AUTO_ACTIVE || (state)->active) +#define TRX_GMSK_NB_TSC(br) \ + _sched_train_seq_gmsk_nb[(br)->tsc] + +#define TRX_8PSK_NB_TSC(br) \ + _sched_train_seq_8psk_nb[(br)->tsc] + /* These types define the different channels on a multiframe. * Each channel has queues and can be activated individually. */ diff --git a/src/common/l1sap.c b/src/common/l1sap.c index b74e0d3..3a2bcfd 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -2,6 +2,7 @@ /* (C) 2011 by Harald Welte * (C) 2013 by Andreas Eversberg + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -1962,11 +1963,16 @@ int l1sap_chan_act(struct gsm_bts_trx *trx, uint8_t chan_nr, struct tlv_parsed *tp) { struct gsm_lchan *lchan = get_lchan_by_chan_nr(trx, chan_nr); + const struct gsm_bts_trx_ts *ts = &trx->ts[chan_nr & 0x07]; const struct gsm48_chan_desc *cd; int rc; LOGPLCHAN(lchan, DL1C, LOGL_INFO, "activating channel %s\n", rsl_chan_nr_str(chan_nr)); + /* Default Training Sequence Code and Set */ + lchan->tsc = gsm_ts_tsc(ts); + lchan->tsc_set = 0; + /* osmo-pcu calls this without a valid 'tp' parameter, so we * need to make sure ew don't crash here */ if (tp && TLVP_PRES_LEN(tp, RSL_IE_CHAN_IDENT, sizeof(*cd) + 1)) { @@ -1981,6 +1987,9 @@ cd->h0.tsc, trx->bts->bsic & 7); return -RSL_ERR_SERV_OPT_UNIMPL; } + + lchan->tsc_set = (cd->chan_nr & 0x80) ? 1 : 0; + lchan->tsc = cd->h0.tsc; } lchan->s = trx->bts->radio_link_timeout.current; diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 96049a3..97e83b8 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1194,6 +1194,7 @@ { const struct l1sched_chan_state *l1cs; const struct trx_sched_frame *frame; + const struct gsm_lchan *lchan; uint8_t offset, period; trx_sched_dl_func *func; @@ -1210,11 +1211,18 @@ func = trx_chan_desc[br->chan].dl_fn; l1cs = &l1ts->chan_state[br->chan]; + lchan = l1cs->lchan; /* NOTE: may be NULL! */ /* check if channel is active */ if (!TRX_CHAN_IS_ACTIVE(l1cs, br->chan)) return; + /* Training Sequence Code and Set */ + if (lchan != NULL) { + br->tsc_set = lchan->tsc_set; + br->tsc = lchan->tsc; + } + /* get burst from function */ if (func(l1ts, br) != 0) return; @@ -1223,8 +1231,8 @@ br->mod = l1cs->dl_mod_type; /* BS Power reduction (in dB) per logical channel */ - if (l1cs->lchan != NULL) - br->att = l1cs->lchan->bs_power_ctrl.current; + if (lchan != NULL) + br->att = lchan->bs_power_ctrl.current; /* encrypt */ if (br->burst_len && l1cs->dl_encr_algo) { diff --git a/src/osmo-bts-trx/sched_lchan_pdtch.c b/src/osmo-bts-trx/sched_lchan_pdtch.c index dede371..335ba6f 100644 --- a/src/osmo-bts-trx/sched_lchan_pdtch.c +++ b/src/osmo-bts-trx/sched_lchan_pdtch.c @@ -212,7 +212,7 @@ burst = *bursts_p + br->bid * 348; memset(br->burst, 1, 9); memcpy(br->burst + 9, burst, 174); - memcpy(br->burst + 183, _sched_train_seq_8psk_nb[gsm_ts_tsc(l1ts->ts)], 78); + memcpy(br->burst + 183, TRX_8PSK_NB_TSC(br), 78); memcpy(br->burst + 261, burst + 174, 174); memset(br->burst + 435, 1, 9); @@ -220,7 +220,7 @@ } else { burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_train_seq_gmsk_nb[gsm_ts_tsc(l1ts->ts)], 26); + memcpy(br->burst + 61, TRX_GMSK_NB_TSC(br), 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c index 5605969..689925f 100644 --- a/src/osmo-bts-trx/sched_lchan_tchf.c +++ b/src/osmo-bts-trx/sched_lchan_tchf.c @@ -562,7 +562,7 @@ /* compose burst */ burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_train_seq_gmsk_nb[gsm_ts_tsc(l1ts->ts)], 26); + memcpy(br->burst + 61, TRX_GMSK_NB_TSC(br), 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c index 91ce02f..4f03bd1 100644 --- a/src/osmo-bts-trx/sched_lchan_tchh.c +++ b/src/osmo-bts-trx/sched_lchan_tchh.c @@ -451,7 +451,7 @@ /* compose burst */ burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_train_seq_gmsk_nb[gsm_ts_tsc(l1ts->ts)], 26); + memcpy(br->burst + 61, TRX_GMSK_NB_TSC(br), 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; diff --git a/src/osmo-bts-trx/sched_lchan_xcch.c b/src/osmo-bts-trx/sched_lchan_xcch.c index b31175e..4bfc101 100644 --- a/src/osmo-bts-trx/sched_lchan_xcch.c +++ b/src/osmo-bts-trx/sched_lchan_xcch.c @@ -239,7 +239,7 @@ /* compose burst */ burst = *bursts_p + br->bid * 116; memcpy(br->burst + 3, burst, 58); - memcpy(br->burst + 61, _sched_train_seq_gmsk_nb[gsm_ts_tsc(l1ts->ts)], 26); + memcpy(br->burst + 61, TRX_GMSK_NB_TSC(br), 26); memcpy(br->burst + 87, burst + 58, 58); br->burst_len = GSM_BURST_LEN; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3744bc308b99ef941e6e9d139444e414abebc14b Gerrit-Change-Number: 24327 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:15:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 15:15:48 +0000 Subject: Change in osmo-bts[master]: [VAMOS] scheduler: add new GMSK training sequences from 3GPP 45.002 References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24328 ) Change subject: [VAMOS] scheduler: add new GMSK training sequences from 3GPP 45.002 ...................................................................... [VAMOS] scheduler: add new GMSK training sequences from 3GPP 45.002 Change-Id: I03fe712da5a3cc1a59f40a98a57f43306c3586c6 Related: SYS#4895, OS#4941 --- M include/osmo-bts/scheduler.h M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c 3 files changed, 44 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/28/24328/1 diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 72858f5..9093229 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -13,7 +13,7 @@ (trx_chan_desc[chan].flags & TRX_CHAN_FLAG_AUTO_ACTIVE || (state)->active) #define TRX_GMSK_NB_TSC(br) \ - _sched_train_seq_gmsk_nb[(br)->tsc] + _sched_train_seq_gmsk_nb[(br)->tsc_set][(br)->tsc] #define TRX_8PSK_NB_TSC(br) \ _sched_train_seq_8psk_nb[(br)->tsc] diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index d5ce5bf..c54591e 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -35,7 +35,7 @@ extern const struct trx_chan_desc trx_chan_desc[_TRX_CHAN_MAX]; extern const ubit_t _sched_dummy_burst[]; -extern const ubit_t _sched_train_seq_gmsk_nb[8][26]; +extern const ubit_t _sched_train_seq_gmsk_nb[4][8][26]; extern const ubit_t _sched_train_seq_8psk_nb[8][78]; extern const ubit_t _sched_train_seq_gmsk_sb[64]; diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 97e83b8..fca83a7 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -62,16 +62,48 @@ 0,0,0, }; -/*! \brief Training Sequences (TS 05.02 Chapter 5.2.3) */ -const ubit_t _sched_train_seq_gmsk_nb[8][26] = { - { 0,0,1,0,0,1,0,1,1,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,1,1, }, - { 0,0,1,0,1,1,0,1,1,1,0,1,1,1,1,0,0,0,1,0,1,1,0,1,1,1, }, - { 0,1,0,0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,0,0,0,0,1,1,1,0, }, - { 0,1,0,0,0,1,1,1,1,0,1,1,0,1,0,0,0,1,0,0,0,1,1,1,1,0, }, - { 0,0,0,1,1,0,1,0,1,1,1,0,0,1,0,0,0,0,0,1,1,0,1,0,1,1, }, - { 0,1,0,0,1,1,1,0,1,0,1,1,0,0,0,0,0,1,0,0,1,1,1,0,1,0, }, - { 1,0,1,0,0,1,1,1,1,1,0,1,1,0,0,0,1,0,1,0,0,1,1,1,1,1, }, - { 1,1,1,0,1,1,1,1,0,0,0,1,0,0,1,0,1,1,1,0,1,1,1,1,0,0, }, +/*! Training Sequences for Normal Burst (see 3GPP TS 45.002, section 5.2.3) */ +const ubit_t _sched_train_seq_gmsk_nb[4][8][26] = { + { /* TSC set 1, table 5.2.3a */ + { 0,0,1,0,0,1,0,1,1,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,1,1 }, + { 0,0,1,0,1,1,0,1,1,1,0,1,1,1,1,0,0,0,1,0,1,1,0,1,1,1 }, + { 0,1,0,0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,0,0,0,0,1,1,1,0 }, + { 0,1,0,0,0,1,1,1,1,0,1,1,0,1,0,0,0,1,0,0,0,1,1,1,1,0 }, + { 0,0,0,1,1,0,1,0,1,1,1,0,0,1,0,0,0,0,0,1,1,0,1,0,1,1 }, + { 0,1,0,0,1,1,1,0,1,0,1,1,0,0,0,0,0,1,0,0,1,1,1,0,1,0 }, + { 1,0,1,0,0,1,1,1,1,1,0,1,1,0,0,0,1,0,1,0,0,1,1,1,1,1 }, + { 1,1,1,0,1,1,1,1,0,0,0,1,0,0,1,0,1,1,1,0,1,1,1,1,0,0 }, + }, + { /* TSC set 2, table 5.2.3b */ + { 0,1,1,0,0,0,1,0,0,0,1,0,0,1,0,0,1,1,1,1,0,1,0,1,1,1 }, + { 0,1,0,1,1,1,1,0,1,0,0,1,1,0,1,1,1,0,1,1,1,0,0,0,0,1 }, + { 0,1,0,0,0,0,0,1,0,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,0,0 }, + { 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,0,1,1,1,1,0,1,0,0,0,0 }, + { 0,1,1,1,0,1,0,0,1,1,1,1,0,1,0,0,1,1,1,0,1,1,1,1,1,0 }, + { 0,1,0,0,0,0,0,1,0,0,1,1,0,1,0,1,0,0,1,1,1,1,0,0,1,1 }, + { 0,0,0,1,0,0,0,0,1,1,0,1,0,0,0,0,1,1,0,1,1,1,0,1,0,1 }, + { 0,1,0,0,0,1,0,1,1,1,0,0,1,1,1,1,1,1,0,0,1,0,1,0,0,1 }, + }, + { /* TSC set 3, table 5.2.3c */ + { 1,1,0,0,0,0,1,0,0,1,0,0,0,1,1,1,1,0,1,0,1,0,0,0,1,0 }, + { 0,0,1,0,1,1,1,1,1,0,0,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0 }, + { 1,1,0,0,1,0,0,0,1,1,1,1,1,0,1,1,1,0,1,0,1,1,0,1,1,0 }, + { 0,0,1,1,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,1,0,1,1,0,0 }, + { 0,0,0,1,1,1,1,0,1,0,1,1,1,0,1,0,0,0,0,1,0,0,0,1,1,0 }, + { 1,1,0,0,1,1,1,1,0,1,0,1,0,1,1,1,1,0,0,1,0,0,0,0,0,0 }, + { 1,0,1,1,1,0,0,1,1,0,1,0,1,1,1,1,1,1,0,0,0,1,0,0,0,0 }, + { 1,1,1,0,0,1,0,1,1,1,1,0,1,1,1,0,0,0,0,0,1,0,0,1,0,0 }, + }, + { /* TSC set 4, table 5.2.3d */ + { 1,1,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,0,1,1,0,1,0,0,0,0 }, + { 0,1,1,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,1,1,1,0,0,0,0 }, + { 1,1,1,0,0,1,0,0,0,0,0,1,0,1,0,1,0,0,1,1,1,0,0,0,0,0 }, + { 0,1,1,0,1,1,0,0,1,1,1,1,1,0,1,0,1,0,0,0,0,1,1,0,0,0 }, + { 1,1,0,1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,1,0,0,0,0 }, + { 1,1,0,1,0,0,1,1,1,1,1,1,1,0,1,0,0,0,1,1,0,1,0,1,1,0 }, + { 0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,1,0,1,0,1,1,0,0,0,0 }, + { 0,1,0,1,1,1,0,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,1,1,0 }, + }, }; const ubit_t _sched_train_seq_8psk_nb[8][78] = { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I03fe712da5a3cc1a59f40a98a57f43306c3586c6 Gerrit-Change-Number: 24328 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:15:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 15:15:48 +0000 Subject: Change in osmo-bts[master]: [VAMOS] l1sap_chan_act(): handle Osmocom specific Training Sequence IE References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24329 ) Change subject: [VAMOS] l1sap_chan_act(): handle Osmocom specific Training Sequence IE ...................................................................... [VAMOS] l1sap_chan_act(): handle Osmocom specific Training Sequence IE Change-Id: I717e5b2a6ca5b4faeaab9cae4bb971907945871b Related: SYS#5315, OS#4940 --- M src/common/l1sap.c 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/29/24329/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 3a2bcfd..f2e2bde 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1992,6 +1992,13 @@ lchan->tsc = cd->h0.tsc; } + /* Osmocom specific IE indicating Training Sequence Code and Set */ + if (tp && TLVP_PRES_LEN(tp, RSL_IE_OSMO_TRAINING_SEQUENCE, 2)) { + const uint8_t *ie = TLVP_VAL(tp, RSL_IE_OSMO_TRAINING_SEQUENCE); + lchan->tsc_set = ie[0]; + lchan->tsc = ie[1]; + } + lchan->s = trx->bts->radio_link_timeout.current; rc = l1sap_chan_act_dact_modify(trx, chan_nr, PRIM_INFO_ACTIVATE, 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I717e5b2a6ca5b4faeaab9cae4bb971907945871b Gerrit-Change-Number: 24329 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:22:32 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 15:22:32 +0000 Subject: Change in pysim[master]: cards: populate name property in Card, UsimCard and IsimCard In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24135 ) Change subject: cards: populate name property in Card, UsimCard and IsimCard ...................................................................... cards: populate name property in Card, UsimCard and IsimCard Even though Card, UsimCard and IsimCard are abstract classes which are normally only used to inherit from mit may make sense to pre-populate the name property with some meaningful value. Change-Id: Id643e1f83718aea073e7200aecbf2db2def8652f --- M pySim/cards.py 1 file changed, 8 insertions(+), 0 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/cards.py b/pySim/cards.py index dcba26c..7744c7a 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -34,6 +34,8 @@ class Card(object): + name = 'SIM' + def __init__(self, scc): self._scc = scc self._adm_chv_num = 4 @@ -291,6 +293,9 @@ self._scc.update_record(ef, rec_no, "ff" * len, force_len=False, verify=True) class UsimCard(Card): + + name = 'USIM' + def __init__(self, ssc): super(UsimCard, self).__init__(ssc) @@ -361,6 +366,9 @@ return sw class IsimCard(Card): + + name = 'ISIM' + def __init__(self, ssc): super(IsimCard, self).__init__(ssc) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id643e1f83718aea073e7200aecbf2db2def8652f Gerrit-Change-Number: 24135 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:32:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 15:32:54 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add image_suffix_is_latest In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24317 ) Change subject: jenkins-common.sh: add image_suffix_is_latest ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibcc7dfb092b3766ef9b189ae990b43fdb746a022 Gerrit-Change-Number: 24317 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 15:32:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:33:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 15:33:20 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn-test: fix config sed for latest In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24316 ) Change subject: ttcn3-sgsn-test: fix config sed for latest ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I17d0554188fad6f890f844bf978d622661290fce Gerrit-Change-Number: 24316 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 15:33:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:33:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 15:33:21 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn-test: fix config sed for latest In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24316 ) Change subject: ttcn3-sgsn-test: fix config sed for latest ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I17d0554188fad6f890f844bf978d622661290fce Gerrit-Change-Number: 24316 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 15:33:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:33:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 15:33:23 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn-test: fix config sed for latest In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24316 ) Change subject: ttcn3-sgsn-test: fix config sed for latest ...................................................................... ttcn3-sgsn-test: fix config sed for latest Change-Id: I17d0554188fad6f890f844bf978d622661290fce --- M ttcn3-sgsn-test/jenkins.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/ttcn3-sgsn-test/jenkins.sh b/ttcn3-sgsn-test/jenkins.sh index ab000d1..c35d73f 100755 --- a/ttcn3-sgsn-test/jenkins.sh +++ b/ttcn3-sgsn-test/jenkins.sh @@ -26,7 +26,7 @@ # Disable until osmo-sgsn.git release > 1.7.0 is available if [ "$IMAGE_SUFFIX" = "latest" ]; then - sed "/mme test-mme0/d" -i $VOL_BASE_DIR/stp/osmo-sgsn.cfg + sed "/mme test-mme0/d" -i $VOL_BASE_DIR/sgsn/osmo-sgsn.cfg sed "/gtp remote-ip/d" -i $VOL_BASE_DIR/sgsn/osmo-sgsn.cfg sed "/gtp ran-info-relay/d" -i $VOL_BASE_DIR/sgsn/osmo-sgsn.cfg fi -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I17d0554188fad6f890f844bf978d622661290fce Gerrit-Change-Number: 24316 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:34:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 15:34:20 +0000 Subject: Change in osmo-bsc[master]: add missing arg braces in LOG_LCHAN macro In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24322 ) Change subject: add missing arg braces in LOG_LCHAN macro ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifd9f868636fda3298bb19c061d3ef194fd941fc3 Gerrit-Change-Number: 24322 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 15:34:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:40:35 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 21 May 2021 15:40:35 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add image_suffix_is_latest In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24317 ) Change subject: jenkins-common.sh: add image_suffix_is_latest ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibcc7dfb092b3766ef9b189ae990b43fdb746a022 Gerrit-Change-Number: 24317 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 15:40:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:40:38 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 21 May 2021 15:40:38 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add image_suffix_is_latest In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24317 ) Change subject: jenkins-common.sh: add image_suffix_is_latest ...................................................................... jenkins-common.sh: add image_suffix_is_latest Make sure we run the latest-code paths for "latest-centos8" too. Change-Id: Ibcc7dfb092b3766ef9b189ae990b43fdb746a022 --- M jenkins-common.sh M ttcn3-pcu-test/jenkins.sh M ttcn3-sgsn-test/jenkins.sh M ttcn3-stp-test/jenkins.sh 4 files changed, 11 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved osmith: Verified diff --git a/jenkins-common.sh b/jenkins-common.sh index e6a432d..36f7e9c 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -335,6 +335,14 @@ exit 1 } +# Check if IMAGE_SUFFIX starts with "latest" (e.g. "latest-centos8") +image_suffix_is_latest() { + case "$IMAGE_SUFFIX" in + latest*) return 0 ;; + *) return 1 ;; + esac +} + set -x # non-jenkins execution: assume local user name diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index c597e0e..606f1f5 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -17,7 +17,7 @@ cp PCU_Tests.cfg $VOL_BASE_DIR/pcu-tester/ # Disable until osmo-pcu release > 0.9.0 -if [ "$IMAGE_SUFFIX" = "latest" ]; then +if image_suffix_is_latest; then sed -i "s/^PCUIF_Components.mp_send_all_data_ind.*/PCUIF_Components.mp_send_all_data_ind := false;/" $VOL_BASE_DIR/pcu-tester/PCU_Tests.cfg fi diff --git a/ttcn3-sgsn-test/jenkins.sh b/ttcn3-sgsn-test/jenkins.sh index c35d73f..7bb7afd 100755 --- a/ttcn3-sgsn-test/jenkins.sh +++ b/ttcn3-sgsn-test/jenkins.sh @@ -25,7 +25,7 @@ mkdir $VOL_BASE_DIR/unix # Disable until osmo-sgsn.git release > 1.7.0 is available -if [ "$IMAGE_SUFFIX" = "latest" ]; then +if image_suffix_is_latest; then sed "/mme test-mme0/d" -i $VOL_BASE_DIR/sgsn/osmo-sgsn.cfg sed "/gtp remote-ip/d" -i $VOL_BASE_DIR/sgsn/osmo-sgsn.cfg sed "/gtp ran-info-relay/d" -i $VOL_BASE_DIR/sgsn/osmo-sgsn.cfg diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh index 9d8dc8c..cecd07c 100755 --- a/ttcn3-stp-test/jenkins.sh +++ b/ttcn3-stp-test/jenkins.sh @@ -16,7 +16,7 @@ cp osmo-stp.cfg $VOL_BASE_DIR/stp/ # Disable until osmo-stp release > 1.4.0 -if [ "$IMAGE_SUFFIX" = "latest" ]; then +if image_suffix_is_latest; then sed -i "s/^STP_Tests_M3UA.mp_stp_has_asp_quirk.*/STP_Tests_M3UA.mp_stp_has_asp_quirk := false;/" $VOL_BASE_DIR/stp-tester/STP_Tests.cfg fi -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibcc7dfb092b3766ef9b189ae990b43fdb746a022 Gerrit-Change-Number: 24317 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:45:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 15:45:49 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: rework and split up bts_sched_fn() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24323 ) Change subject: [VAMOS] osmo-bts-trx: rework and split up bts_sched_fn() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iec78989517865b3275a9784d1042a5ebd1d2815f Gerrit-Change-Number: 24323 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 15:45:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:54:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 15:54:31 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: implement and enable PDU batching for TRXDv2 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24324 ) Change subject: [VAMOS] osmo-bts-trx: implement and enable PDU batching for TRXDv2 ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24324/1/src/osmo-bts-trx/trx_if.c File src/osmo-bts-trx/trx_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/24324/1/src/osmo-bts-trx/trx_if.c at 1086 PS1, Line 1086: if (br == NULL) { The code flow used here looks really complex and confusing with all the checkings and goto. Have a look at the following proposal: if (br) { ... https://gerrit.osmocom.org/c/osmo-bts/+/24324/1/src/osmo-bts-trx/trx_if.c at 1133 PS1, Line 1133: if (pdu_ver >= 2) ... } else if (pdu_ver < 2 || pdu_num == 0) { return -ENOMSG; } else { last_pdu[1] &= ~(1 << 7); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b4cc8e10cd683b28d22e32890569484cd20372d Gerrit-Change-Number: 24324 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 21 May 2021 15:54:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:54:56 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 15:54:56 +0000 Subject: Change in libosmo-sccp[master]: VTY: write_one_asp(): fix 1 << 31 cannot be represented by 'int' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24330 ) Change subject: VTY: write_one_asp(): fix 1 << 31 cannot be represented by 'int' ...................................................................... VTY: write_one_asp(): fix 1 << 31 cannot be represented by 'int' Change-Id: Ib144df42baed16aeffa5b56afd0c17960ee6004e Closes: OS#5158 --- M src/osmo_ss7_vty.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/30/24330/1 diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index dcbe9b2..63625a8 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -857,8 +857,8 @@ } if (!asp->cfg.is_server) vty_out(vty, " sctp-role client%s", VTY_NEWLINE); - for (i = 0; i < 32; i++) { - if (!(asp->cfg.quirks & (1 << i))) + for (i = 0; i < sizeof(uint32_t) * 8; i++) { + if (!(asp->cfg.quirks & ((uint32_t) 1 << i))) continue; vty_out(vty, " quirk %s%s", get_value_string(asp_quirk_names, (1 << i)), VTY_NEWLINE); } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib144df42baed16aeffa5b56afd0c17960ee6004e Gerrit-Change-Number: 24330 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:56:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 15:56:26 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: indicate MTS in Downlink TRXDv2 PDUs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24325 ) Change subject: [VAMOS] osmo-bts-trx: indicate MTS in Downlink TRXDv2 PDUs ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24325/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/24325/1/src/common/scheduler.c at 1222 PS1, Line 1222: /* Modulation may be changed by func() */ which func()? I don't get it. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1a17a25883214c068f9b1a6d651128b8f760d1fb Gerrit-Change-Number: 24325 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 15:56:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:57:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 15:57:08 +0000 Subject: Change in osmo-bts[master]: [VAMOS] common/scheduler: unify symbol names for training sequences In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24326 ) Change subject: [VAMOS] common/scheduler: unify symbol names for training sequences ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice464e5b02b11b0f13df247fe6a01420a29bf1c5 Gerrit-Change-Number: 24326 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 15:57:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 15:59:18 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 15:59:18 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: indicate MTS in Downlink TRXDv2 PDUs In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24325 ) Change subject: [VAMOS] osmo-bts-trx: indicate MTS in Downlink TRXDv2 PDUs ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24325/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/24325/1/src/common/scheduler.c at 1222 PS1, Line 1222: /* Modulation may be changed by func() */ > which func()? I don't get it. We're calling func() 3 lines above, it's basically a logical channel handler. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1a17a25883214c068f9b1a6d651128b8f760d1fb Gerrit-Change-Number: 24325 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 15:59:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:00:13 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 16:00:13 +0000 Subject: Change in libosmo-abis[master]: ipaccess: do not block ipaccess_line_update on failure In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24320 ) Change subject: ipaccess: do not block ipaccess_line_update on failure ...................................................................... ipaccess: do not block ipaccess_line_update on failure The function ipaccess_line_update (called when the API user calls e1inp_line_update and the line is of type ipaccess) internally sets the line_already_initialized regardless whether the initalization is successful or not. This also means that if the initalization fails the API user is unable to retry the initalition with corrected line options. Change-Id: I90d330e2864f85b964628502afdb0c38eb54f15d Related: SYS#4971 --- M src/input/ipaccess.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c index e876790..a584e0d 100644 --- a/src/input/ipaccess.c +++ b/src/input/ipaccess.c @@ -1025,8 +1025,6 @@ if (il->line_already_initialized) return 0; - il->line_already_initialized = true; - switch(line->ops->cfg.ipa.role) { case E1INP_LINE_R_BSC: { struct ipa_server_link *oml_link, *rsl_link; @@ -1112,6 +1110,8 @@ default: break; } + + il->line_already_initialized = true; return ret; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I90d330e2864f85b964628502afdb0c38eb54f15d Gerrit-Change-Number: 24320 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:01:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 16:01:49 +0000 Subject: Change in osmo-bts[master]: [VAMOS] struct gsm_lchan: store Training Sequence Code/Set In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24327 ) Change subject: [VAMOS] struct gsm_lchan: store Training Sequence Code/Set ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24327/1/src/common/l1sap.c File src/common/l1sap.c: https://gerrit.osmocom.org/c/osmo-bts/+/24327/1/src/common/l1sap.c at 1991 PS1, Line 1991: lchan->tsc_set = (cd->chan_nr & 0x80) ? 1 : 0; is tsc_set really a number indexing the selected set? or set as in set(unset and hence a boolean? https://gerrit.osmocom.org/c/osmo-bts/+/24327/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/24327/1/src/common/scheduler.c at 1221 PS1, Line 1221: if (lchan != NULL) { why not reusing the already existing check below if (lchan != NULL) ? This function is called lots of times. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3744bc308b99ef941e6e9d139444e414abebc14b Gerrit-Change-Number: 24327 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 21 May 2021 16:01:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:02:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 16:02:15 +0000 Subject: Change in osmo-bts[master]: [VAMOS] scheduler: add new GMSK training sequences from 3GPP 45.002 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24328 ) Change subject: [VAMOS] scheduler: add new GMSK training sequences from 3GPP 45.002 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I03fe712da5a3cc1a59f40a98a57f43306c3586c6 Gerrit-Change-Number: 24328 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 16:02:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:21:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 May 2021 16:21:41 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: implement and enable PDU batching for TRXDv2 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24324 ) Change subject: [VAMOS] osmo-bts-trx: implement and enable PDU batching for TRXDv2 ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24324/1/src/osmo-bts-trx/trx_if.c File src/osmo-bts-trx/trx_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/24324/1/src/osmo-bts-trx/trx_if.c at 1086 PS1, Line 1086: if (br == NULL) { > The code flow used here looks really complex and confusing with all the checkings and goto. [?] I guess it's the matter of personal preferences. I am absolutely fine with goto, and don't think it's complex nor confusing. Just a conditional jump. https://gerrit.osmocom.org/c/osmo-bts/+/24324/1/src/osmo-bts-trx/trx_if.c at 1133 PS1, Line 1133: if (pdu_ver >= 2) > ... [?] Doesn't look more readable to me, sorry. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b4cc8e10cd683b28d22e32890569484cd20372d Gerrit-Change-Number: 24324 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 21 May 2021 16:21:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:26:14 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 21 May 2021 16:26:14 +0000 Subject: Change in osmo-bsc[master]: ctrl: Introduce CTRL SET cmd to apply VTY cfg file In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24253 ) Change subject: ctrl: Introduce CTRL SET cmd to apply VTY cfg file ...................................................................... Patch Set 4: Code-Review+1 (1 comment) Just checking if the todo is there intentionally or forgotten. Otherwise looks fine. https://gerrit.osmocom.org/c/osmo-bsc/+/24253/4/src/osmo-bsc/bsc_ctrl_commands.c File src/osmo-bsc/bsc_ctrl_commands.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24253/4/src/osmo-bsc/bsc_ctrl_commands.c at 49 PS4, Line 49: //TODO: Attempt DRY-RUN parsing TODO? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c6c13418e5f7b4681b0e2a5cc8bb3bc6d8d17c3 Gerrit-Change-Number: 24253 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 May 2021 16:26:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:47:17 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 16:47:17 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: implement and enable PDU batching for TRXDv2 In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24324 ) Change subject: [VAMOS] osmo-bts-trx: implement and enable PDU batching for TRXDv2 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24324/1/src/osmo-bts-trx/trx_if.c File src/osmo-bts-trx/trx_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/24324/1/src/osmo-bts-trx/trx_if.c at 1085 PS1, Line 1085: /* Burst batching breaker */ i think the 'goto sendall' is not complex at all. but i would appreciate a code comment explaining why br == null && pdu_num > 0 should jump there. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b4cc8e10cd683b28d22e32890569484cd20372d Gerrit-Change-Number: 24324 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: neels Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 21 May 2021 16:47:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:47:56 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 16:47:56 +0000 Subject: Change in osmo-bsc[master]: lchan and assignment FSMs: make Channel Mode Modify more sane In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23943 ) Change subject: lchan and assignment FSMs: make Channel Mode Modify more sane ...................................................................... Patch Set 4: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23943 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4986844f839b1c9672c61d916eb3d33d0042d747 Gerrit-Change-Number: 23943 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 16:47:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:48:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 16:48:38 +0000 Subject: Change in osmo-bsc[master]: gscon MGCP: properly skip redundant MDCX towards MSC In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24299 ) Change subject: gscon MGCP: properly skip redundant MDCX towards MSC ...................................................................... Patch Set 1: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If994ecef9d4269a8120b0575de9b6d0c3be19146 Gerrit-Change-Number: 24299 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 16:48:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:49:43 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 16:49:43 +0000 Subject: Change in osmo-bsc[master]: gsm48_send_rr_ass_cmd(): rename dest_lchan to current_lchan In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24296 ) Change subject: gsm48_send_rr_ass_cmd(): rename dest_lchan to current_lchan ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24296/1/src/osmo-bsc/gsm_04_08_rr.c File src/osmo-bsc/gsm_04_08_rr.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24296/1/src/osmo-bsc/gsm_04_08_rr.c at 569 PS1, Line 569: int gsm48_send_rr_ass_cmd(struct gsm_lchan *current_lchan, struct gsm_lchan *lchan, uint8_t power_command) > I agree with Pau, it should be clarified somehow. [?] it's in the next patch -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If2c102a8f1d45f84b6a765555abf7cd7a4749b0f Gerrit-Change-Number: 24296 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 16:49:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:50:20 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 16:50:20 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: fix failure log message for lchan unavailable In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24294 ) Change subject: assignment_fsm: fix failure log message for lchan unavailable ...................................................................... assignment_fsm: fix failure log message for lchan unavailable Actually print the three different modes, and fix the length conditions. Change-Id: Id381dbb7ff6f0d790a7a92021fd68f94fbec0568 --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index faaec53..6d07a39 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -554,10 +554,10 @@ " No lchan available for: pref=%s:%s / alt1=%s:%s / alt2=%s:%s\n", gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode), rate_names[req->ch_mode_rate[0].chan_rate], - req->n_ch_mode_rate >= 1 ? gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode) : "", - req->n_ch_mode_rate >= 1 ? rate_names[req->ch_mode_rate[0].chan_rate] : "", - req->n_ch_mode_rate >= 2 ? gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode) : "", - req->n_ch_mode_rate >= 2 ? rate_names[req->ch_mode_rate[0].chan_rate] : "" + req->n_ch_mode_rate > 1 ? gsm48_chan_mode_name(req->ch_mode_rate[1].chan_mode) : "", + req->n_ch_mode_rate > 1 ? rate_names[req->ch_mode_rate[1].chan_rate] : "", + req->n_ch_mode_rate > 2 ? gsm48_chan_mode_name(req->ch_mode_rate[2].chan_mode) : "", + req->n_ch_mode_rate > 2 ? rate_names[req->ch_mode_rate[2].chan_rate] : "" ); return; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id381dbb7ff6f0d790a7a92021fd68f94fbec0568 Gerrit-Change-Number: 24294 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:50:20 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 16:50:20 +0000 Subject: Change in osmo-bsc[master]: select_codecs(): do not confuse bool 'true' with integer value 1 In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24295 ) Change subject: select_codecs(): do not confuse bool 'true' with integer value 1 ...................................................................... select_codecs(): do not confuse bool 'true' with integer value 1 In practice, '+ true' may result in '+ 1', but that is not type safe. We rely on the number of items added by summing up booleans, rather make it explicitly 1. Change-Id: I17a82f4f208203b748ba2d6ace0ddc06f87c1cef --- M src/osmo-bsc/osmo_bsc_bssap.c 1 file changed, 6 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve dexter: Looks good to me, approved diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index c3716ce..7a7579b 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -681,12 +681,12 @@ case GSM0808_SPEECH_FULL_BM: rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_FR); - nc += (rc == 0); + nc += (rc == 0) ? 1 : 0; break; case GSM0808_SPEECH_HALF_LM: rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_HR); - nc += (rc == 0); + nc += (rc == 0) ? 1 : 0; break; case GSM0808_SPEECH_PERM: case GSM0808_SPEECH_PERM_NO_CHANGE: @@ -694,19 +694,19 @@ case GSM0808_SPEECH_FULL_PREF: rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_FR); - nc += (rc == 0); + nc += (rc == 0) ? 1 : 0; rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_HR); - nc += (rc == 0); + nc += (rc == 0) ? 1 : 0; break; case GSM0808_SPEECH_HALF_PREF_NO_CHANGE: case GSM0808_SPEECH_HALF_PREF: rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_HR); - nc += (rc == 0); + nc += (rc == 0) ? 1 : 0; rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_FR); - nc += (rc == 0); + nc += (rc == 0) ? 1 : 0; break; default: rc = -EINVAL; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I17a82f4f208203b748ba2d6ace0ddc06f87c1cef Gerrit-Change-Number: 24295 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:50:21 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 16:50:21 +0000 Subject: Change in osmo-bsc[master]: gsm48_send_rr_ass_cmd(): rename dest_lchan to current_lchan In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24296 ) Change subject: gsm48_send_rr_ass_cmd(): rename dest_lchan to current_lchan ...................................................................... gsm48_send_rr_ass_cmd(): rename dest_lchan to current_lchan This variable is the lchan that the Assignment Command should be sent to, i.e. the MS's current lchan. The "dest" could be interpreted as the destination of the assignment, the lchan that the MS should move to. Change-Id: If2c102a8f1d45f84b6a765555abf7cd7a4749b0f --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 5e9bc69..e308575 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -566,7 +566,7 @@ } /* Chapter 9.1.2: Assignment Command */ -int gsm48_send_rr_ass_cmd(struct gsm_lchan *dest_lchan, struct gsm_lchan *lchan, uint8_t power_command) +int gsm48_send_rr_ass_cmd(struct gsm_lchan *current_lchan, struct gsm_lchan *lchan, uint8_t power_command) { struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 ASS CMD"); struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); @@ -575,7 +575,7 @@ DEBUGP(DRR, "-> ASSIGNMENT COMMAND tch_mode=0x%02x\n", lchan->tch_mode); - msg->lchan = dest_lchan; + msg->lchan = current_lchan; gh->proto_discr = GSM48_PDISC_RR; gh->msg_type = GSM48_MT_RR_ASS_CMD; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If2c102a8f1d45f84b6a765555abf7cd7a4749b0f Gerrit-Change-Number: 24296 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:50:21 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 16:50:21 +0000 Subject: Change in osmo-bsc[master]: gsm48_send_rr_ass_cmd(): rename lchan to new_lchan In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24297 ) Change subject: gsm48_send_rr_ass_cmd(): rename lchan to new_lchan ...................................................................... gsm48_send_rr_ass_cmd(): rename lchan to new_lchan Clarify that this is the lchan that is being assigned to the MS, in contrast to the current lchan. Change-Id: I0de017f7c43ec495c2cd0f05f313740f42ab0bb1 --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 10 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index e308575..764af72 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -566,14 +566,14 @@ } /* Chapter 9.1.2: Assignment Command */ -int gsm48_send_rr_ass_cmd(struct gsm_lchan *current_lchan, struct gsm_lchan *lchan, uint8_t power_command) +int gsm48_send_rr_ass_cmd(struct gsm_lchan *current_lchan, struct gsm_lchan *new_lchan, uint8_t power_command) { struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 ASS CMD"); struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); struct gsm48_ass_cmd *ass = (struct gsm48_ass_cmd *) msgb_put(msg, sizeof(*ass)); - DEBUGP(DRR, "-> ASSIGNMENT COMMAND tch_mode=0x%02x\n", lchan->tch_mode); + DEBUGP(DRR, "-> ASSIGNMENT COMMAND tch_mode=0x%02x\n", new_lchan->tch_mode); msg->lchan = current_lchan; gh->proto_discr = GSM48_PDISC_RR; @@ -587,28 +587,28 @@ * the chan_desc. But as long as multi-slot configurations * are not used we seem to be fine. */ - gsm48_lchan2chan_desc(&ass->chan_desc, lchan); + gsm48_lchan2chan_desc(&ass->chan_desc, new_lchan); ass->power_command = power_command; /* Cell Channel Description (freq. hopping), TV (see 3GPP TS 44.018, 10.5.2.1b) */ - if (lchan->ts->hopping.enabled) { + if (new_lchan->ts->hopping.enabled) { const struct gsm48_system_information_type_1 *si1 = \ - GSM_BTS_SI(lchan->ts->trx->bts, 1); + GSM_BTS_SI(new_lchan->ts->trx->bts, 1); msgb_tv_fixed_put(msg, GSM48_IE_CELL_CH_DESC, sizeof(si1->cell_channel_description), si1->cell_channel_description); } - msgb_tv_put(msg, GSM48_IE_CHANMODE_1, lchan->tch_mode); + msgb_tv_put(msg, GSM48_IE_CHANMODE_1, new_lchan->tch_mode); /* Mobile Allocation (freq. hopping), TLV (see 3GPP TS 44.018, 10.5.2.21) */ - if (lchan->ts->hopping.enabled) { - msgb_tlv_put(msg, GSM48_IE_MA_AFTER, lchan->ts->hopping.ma_len, - lchan->ts->hopping.ma_data); + if (new_lchan->ts->hopping.enabled) { + msgb_tlv_put(msg, GSM48_IE_MA_AFTER, new_lchan->ts->hopping.ma_len, + new_lchan->ts->hopping.ma_data); } /* in case of multi rate we need to attach a config */ - mr_config_for_ms(lchan, msg); + mr_config_for_ms(new_lchan, msg); return gsm48_sendmsg(msg); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0de017f7c43ec495c2cd0f05f313740f42ab0bb1 Gerrit-Change-Number: 24297 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:50:21 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 16:50:21 +0000 Subject: Change in osmo-bsc[master]: log: show src file, line of lchan_set_last_error In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24298 ) Change subject: log: show src file,line of lchan_set_last_error ...................................................................... log: show src file,line of lchan_set_last_error Change lchan_set_last_error() to macro so that the error log reflects where the error was encountered. Change-Id: I571fdf2d418c52d120215cf19e57a3c96d67af07 --- M include/osmocom/bsc/lchan_fsm.h M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c 3 files changed, 12 insertions(+), 24 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/include/osmocom/bsc/lchan_fsm.h b/include/osmocom/bsc/lchan_fsm.h index ded7f54..2d5307a 100644 --- a/include/osmocom/bsc/lchan_fsm.h +++ b/include/osmocom/bsc/lchan_fsm.h @@ -12,6 +12,13 @@ LOGP(DRSL, level, "%s (not initialized) " fmt, gsm_lchan_name(lchan), ## args); \ } while(0) +#define LCHAN_SET_LAST_ERROR(LCHAN, fmt, args...) do { \ + if ((LCHAN)->last_error) \ + talloc_free((LCHAN)->last_error); \ + (LCHAN)->last_error = talloc_asprintf((LCHAN)->ts->trx, fmt, ##args); \ + LOG_LCHAN(LCHAN, LOGL_ERROR, "%s\n", (LCHAN)->last_error); \ + } while(0) + enum lchan_fsm_state { LCHAN_ST_UNUSED, LCHAN_ST_CBCH, /*< Blocked by CBCH channel combination, not usable as SDCCH. */ @@ -74,6 +81,4 @@ void lchan_forget_conn(struct gsm_lchan *lchan); -void lchan_set_last_error(struct gsm_lchan *lchan, const char *fmt, ...); - void lchan_fsm_skip_error(struct gsm_lchan *lchan); diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 4eb95ff..94f7821 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -66,25 +66,6 @@ } } -void lchan_set_last_error(struct gsm_lchan *lchan, const char *fmt, ...) -{ - va_list ap; - /* This dance allows using an existing error reason in above fmt */ - char *last_error_was = lchan->last_error; - lchan->last_error = NULL; - - if (fmt) { - va_start(ap, fmt); - lchan->last_error = talloc_vasprintf(lchan->ts->trx, fmt, ap); - va_end(ap); - - LOG_LCHAN(lchan, LOGL_ERROR, "%s\n", lchan->last_error); - } - - if (last_error_was) - talloc_free(last_error_was); -} - /* The idea here is that we must not require to change any lchan state in order to deny a request. */ #define lchan_on_activation_failure(lchan, for_conn, activ_for) \ _lchan_on_activation_failure(lchan, for_conn, activ_for, \ @@ -240,7 +221,7 @@ const uint32_t state_chg = STATE_CHG; \ LOG_LCHAN(_lchan, LOGL_DEBUG, "Handling failure, will then transition to state %s\n", \ osmo_fsm_state_name(fsm, state_chg)); \ - lchan_set_last_error(_lchan, "lchan %s in state %s: " fmt, \ + LCHAN_SET_LAST_ERROR(_lchan, "lchan %s in state %s: " fmt, \ _lchan->activate.concluded ? "failure" : "allocation failed", \ osmo_fsm_state_name(fsm, state_was), ## args); \ lchan_on_activation_failure(_lchan, _lchan->activate.info.activ_for, _lchan->conn); \ @@ -547,7 +528,9 @@ OSMO_ASSERT(info); OSMO_ASSERT(!lchan->conn); OSMO_ASSERT(!lchan->mgw_endpoint_ci_bts); - lchan_set_last_error(lchan, NULL); + if (lchan->last_error) + talloc_free(lchan->last_error); + lchan->last_error = NULL; lchan->release.requested = false; lchan->activate.info = *info; diff --git a/src/osmo-bsc/lchan_rtp_fsm.c b/src/osmo-bsc/lchan_rtp_fsm.c index cd195d0..8991acc 100644 --- a/src/osmo-bsc/lchan_rtp_fsm.c +++ b/src/osmo-bsc/lchan_rtp_fsm.c @@ -63,7 +63,7 @@ #define lchan_rtp_fail(fmt, args...) do { \ struct gsm_lchan *_lchan = fi->priv; \ uint32_t state_was = fi->state; \ - lchan_set_last_error(_lchan, "lchan-rtp failure in state %s: " fmt, \ + LCHAN_SET_LAST_ERROR(_lchan, "lchan-rtp failure in state %s: " fmt, \ osmo_fsm_state_name(fi->fsm, state_was), ## args); \ osmo_fsm_inst_dispatch(_lchan->fi, LCHAN_EV_RTP_ERROR, 0); \ } while(0) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I571fdf2d418c52d120215cf19e57a3c96d67af07 Gerrit-Change-Number: 24298 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:50:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 16:50:22 +0000 Subject: Change in osmo-bsc[master]: add missing arg braces in LOG_LCHAN macro In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24322 ) Change subject: add missing arg braces in LOG_LCHAN macro ...................................................................... add missing arg braces in LOG_LCHAN macro Change-Id: Ifd9f868636fda3298bb19c061d3ef194fd941fc3 --- M include/osmocom/bsc/lchan_fsm.h 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/lchan_fsm.h b/include/osmocom/bsc/lchan_fsm.h index 2d5307a..99964a4 100644 --- a/include/osmocom/bsc/lchan_fsm.h +++ b/include/osmocom/bsc/lchan_fsm.h @@ -6,8 +6,8 @@ /* This macro automatically includes a final \n, if omitted. */ #define LOG_LCHAN(lchan, level, fmt, args...) do { \ - if (lchan->fi) \ - LOGPFSML(lchan->fi, level, "(type=%s) " fmt, gsm_lchant_name(lchan->type), ## args); \ + if ((lchan)->fi) \ + LOGPFSML((lchan)->fi, level, "(type=%s) " fmt, gsm_lchant_name((lchan)->type), ## args); \ else \ LOGP(DRSL, level, "%s (not initialized) " fmt, gsm_lchan_name(lchan), ## args); \ } while(0) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifd9f868636fda3298bb19c061d3ef194fd941fc3 Gerrit-Change-Number: 24322 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:52:02 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 16:52:02 +0000 Subject: Change in osmo-bsc[master]: lchan and assignment FSMs: make Channel Mode Modify more sane In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/23943 to look at the new patch set (#5). Change subject: lchan and assignment FSMs: make Channel Mode Modify more sane ...................................................................... lchan and assignment FSMs: make Channel Mode Modify more sane The Channel Mode Modify procedure is currently implemented for changing a TCH lchan from signalling to voice mode. For that, however, it is re-using (abusing) the channel activation structs and state transitions, and thus always implies activating a voice stream when the mode modification is done. I will add a Channel Mode Modify to enable VAMOS mode soon, so I require separate structs and state transitions which also work on an lchan that already has a voice stream established: a struct lchan_modify_info and LCHAN_EV_REQUEST_MODE_MODIFY, and dedicated assignment FSM state ASSIGNMENT_ST_WAIT_LCHAN_MODIFIED. For the part where a Channel Mode Modify enables a voice stream after switching from signalling to speech mode, still use the channel activation code path, but only once the mode modification is done. General improvements: - To ask for a mode modification, emit an FSM event that ensures a mode modify only happens when the lchan state allows it. - The new lchan_modify_info struct reflects only those parts that have an effect during a mode modification (before the lchan_activate_info was fully populated, many values not having an effect). - More accurate logging, indicating "Mode Modify" instead of "Channel Activation" A TTCN3 test for the Channel Mode Modify procedure is added in Idf4efaed986de0bbd2b663313e837352cc139f0f, and the test passes both before and after this patch is applied. Related: SYS#4895 Change-Id: I4986844f839b1c9672c61d916eb3d33d0042d747 --- M doc/assignment-fsm.dot M include/osmocom/bsc/assignment_fsm.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/lchan_fsm.h M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c 7 files changed, 224 insertions(+), 70 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/43/23943/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23943 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4986844f839b1c9672c61d916eb3d33d0042d747 Gerrit-Change-Number: 23943 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:53:20 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 May 2021 16:53:20 +0000 Subject: Change in osmo-bsc[master]: lchan and assignment FSMs: make Channel Mode Modify more sane In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23943 ) Change subject: lchan and assignment FSMs: make Channel Mode Modify more sane ...................................................................... Patch Set 5: Code-Review+2 from patch set 4 there is just a trivial fix of allowed state transitions in lchan_fsm.c. re-add previous +2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23943 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4986844f839b1c9672c61d916eb3d33d0042d747 Gerrit-Change-Number: 23943 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 16:53:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:56:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 16:56:56 +0000 Subject: Change in osmo-bsc[master]: ctrl: Introduce CTRL SET cmd to apply VTY cfg file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24253 ) Change subject: ctrl: Introduce CTRL SET cmd to apply VTY cfg file ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24253/4/src/osmo-bsc/bsc_ctrl_commands.c File src/osmo-bsc/bsc_ctrl_commands.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24253/4/src/osmo-bsc/bsc_ctrl_commands.c at 49 PS4, Line 49: //TODO: Attempt DRY-RUN parsing > TODO? I indeed need to remove it, thanks. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c6c13418e5f7b4681b0e2a5cc8bb3bc6d8d17c3 Gerrit-Change-Number: 24253 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 May 2021 16:56:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 16:57:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 16:57:58 +0000 Subject: Change in osmo-bsc[master]: ctrl: Introduce CTRL SET cmd to apply VTY cfg file In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, daniel, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24253 to look at the new patch set (#5). Change subject: ctrl: Introduce CTRL SET cmd to apply VTY cfg file ...................................................................... ctrl: Introduce CTRL SET cmd to apply VTY cfg file Depends: libosmocore.git Change-Id I720ac04386261628c0798a1bfcaa91e2490a86c3 Related: SYS#5369 Change-Id: I4c6c13418e5f7b4681b0e2a5cc8bb3bc6d8d17c3 --- M TODO-RELEASE M src/osmo-bsc/bsc_ctrl_commands.c M tests/Makefile.am A tests/ctrl/osmo-bsc-apply-config-file-invalid.cfg A tests/ctrl/osmo-bsc-apply-config-file.cfg M tests/ctrl_test_runner.py 6 files changed, 149 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/53/24253/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c6c13418e5f7b4681b0e2a5cc8bb3bc6d8d17c3 Gerrit-Change-Number: 24253 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 17:02:38 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 21 May 2021 17:02:38 +0000 Subject: Change in osmo-bsc[master]: ctrl: Introduce CTRL SET cmd to apply VTY cfg file In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24253 ) Change subject: ctrl: Introduce CTRL SET cmd to apply VTY cfg file ...................................................................... Patch Set 5: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24253/4/src/osmo-bsc/bsc_ctrl_commands.c File src/osmo-bsc/bsc_ctrl_commands.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24253/4/src/osmo-bsc/bsc_ctrl_commands.c at 49 PS4, Line 49: //TODO: Attempt DRY-RUN parsing > I indeed need to remove it, thanks. Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c6c13418e5f7b4681b0e2a5cc8bb3bc6d8d17c3 Gerrit-Change-Number: 24253 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 May 2021 17:02:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 17:03:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 May 2021 17:03:15 +0000 Subject: Change in osmo-bsc[master]: ctrl: Introduce CTRL SET cmd to apply VTY cfg file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24253 ) Change subject: ctrl: Introduce CTRL SET cmd to apply VTY cfg file ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c6c13418e5f7b4681b0e2a5cc8bb3bc6d8d17c3 Gerrit-Change-Number: 24253 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 17:03:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 17:36:14 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 17:36:14 +0000 Subject: Change in pysim[master]: cards: rename class "Card" to "SimCard" In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24142 to look at the new patch set (#2). Change subject: cards: rename class "Card" to "SimCard" ...................................................................... cards: rename class "Card" to "SimCard" There are the classes IsimCard and UsimCard, which inheret from Card, which is the base class for a normal non ISIM/USIM simcard. Card also has methods in it that are related to simcards, so it is not just any "Card", it is a SimCard and should be called that way. Change-Id: I2077ded44bc2297b8d478c5bd1895951b494efcc --- M pySim-read.py M pySim-shell.py M pySim/cards.py 3 files changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/42/24142/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2077ded44bc2297b8d478c5bd1895951b494efcc Gerrit-Change-Number: 24142 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 18:18:27 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 18:18:27 +0000 Subject: Change in pysim[master]: cards: rename class "Card" to "SimCard" In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24142 to look at the new patch set (#3). Change subject: cards: rename class "Card" to "SimCard" ...................................................................... cards: rename class "Card" to "SimCard" There are the classes IsimCard and UsimCard, which inheret from Card, which is the base class for a normal non ISIM/USIM simcard. Card also has methods in it that are related to simcards, so it is not just any "Card", it is a SimCard and should be called that way. Change-Id: I2077ded44bc2297b8d478c5bd1895951b494efcc --- M pySim-read.py M pySim-shell.py M pySim/cards.py 3 files changed, 11 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/42/24142/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2077ded44bc2297b8d478c5bd1895951b494efcc Gerrit-Change-Number: 24142 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Fri May 21 18:45:02 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Fri, 21 May 2021 18:45:02 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-opencm3-projects_=C2=BB_a1=3Ddefa?= =?UTF-8?Q?ult,a2=3Ddefault,a3=3Ddefault,a4=3Dde?= =?UTF-8?Q?fault,osmocom-master-debian9_#15?= In-Reply-To: <1055786917.1418.1621536302176@jenkins.osmocom.org> References: <1055786917.1418.1621536302176@jenkins.osmocom.org> Message-ID: <1568150535.1483.1621622702146@jenkins.osmocom.org> See Changes: ------------------------------------------ Started by upstream project "master-osmo-opencm3-projects" build number 15 originally caused by: Started by timer Running as SYSTEM Building remotely on build2-deb9build-ansible (ttcn3 osmocom-gerrit-debian9 osmocom-master-debian9 repo-install-test coverity) in workspace The recommended git tool is: NONE No credentials specified > git rev-parse --resolve-git-dir # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git://git.osmocom.org/osmo-opencm3-projects # timeout=10 Fetching upstream changes from git://git.osmocom.org/osmo-opencm3-projects > git --version # timeout=10 > git --version # 'git version 2.11.0' > git fetch --tags --progress -- git://git.osmocom.org/osmo-opencm3-projects +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision 7527cab6d8364b2022bd4fa2fd03039eac2a99bb (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 Commit message: "add missing libcommon.mk" > git rev-list --no-walk 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.libopencm3.url # timeout=10 > git config -f .gitmodules --get submodule.libopencm3.path # timeout=10 > git config --get submodule.librfn.url # timeout=10 > git config -f .gitmodules --get submodule.librfn.path # timeout=10 > git submodule update --init --recursive libopencm3 # timeout=10 > git submodule update --init --recursive librfn # timeout=10 [osmocom-master-debian9] $ /bin/sh -xe /tmp/jenkins8400462305064595052.sh + ARTIFACT_STORE=/home/osmocom-build/jenkins_build_artifact_store + mkdir -p /home/osmocom-build/jenkins_build_artifact_store + docker run --rm=true --cap-add SYS_PTRACE -e ARTIFACT_STORE=/artifact_store -e ASCIIDOC_WARNINGS_CHECK=1 -e HOME=/build -e JOB_NAME=master-osmo-opencm3-projects/a1=default,a2=default,a3=default,a4=default,label=osmocom-master-debian9 -e MAKE=make -e OSMOPY_DEBUG_TCP_SOCKETS=1 -e OSMO_GSM_MANUALS_DIR=/opt/osmo-gsm-manuals -e PARALLEL_MAKE=-j 8 -e PUBLISH=1 -e WITH_MANUALS=1 -w /build -i -u build -v :/build -v /home/osmocom-build/jenkins_build_artifact_store:/artifact_store -v /home/osmocom-build/.ssh:/home/build/.ssh:ro osmocom-build/debian-stretch-jenkins /build/contrib/jenkins.sh --publish =============== relay-driver START ============== CLEAN CC console.c arm-none-eabi-gcc: error: /usr/lib/picolibc/arm-none-eabi/picolibc.specs: No such file or directory ../../mk/libopencm3.mk:227: recipe for target 'console.o' failed make: *** [console.o] Error 1 Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Fri May 21 18:54:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 May 2021 18:54:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TITAN project migration to eclipse gitlab References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24331 ) Change subject: TITAN project migration to eclipse gitlab ...................................................................... TITAN project migration to eclipse gitlab As announced in https://www.eclipse.org/forums/index.php/t/1107586/ TITAN is migrating both their github and git.eclipse.org repositories to eclipse gitlab. Let's adjust our Makefile accordingly Change-Id: I6a501d50891c4fda78d33d3efd6030244a4aaf50 --- M deps/Makefile 1 file changed, 20 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/31/24331/1 diff --git a/deps/Makefile b/deps/Makefile index 3d49a68..9296f1b 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -13,25 +13,40 @@ # See the License for the specific language governing permissions and # limitations under the License. -ECLIPSEGITHUB:=https://github.com/eclipse -ECLIPSEGIT2:=https://git.eclipse.org/r/titan ECLIPSEGITLAB:=https://gitlab.eclipse.org/eclipse/titan OSMOGITHUB:=https://github.com/osmocom OSMOGIT:=git://git.osmocom.org -ECLIPSEGITHUB_REPOS= titan.Libraries.TCCUsefulFunctions \ +ECLIPSEGITLAB_REPOS= titan.Libraries.TCCUsefulFunctions \ + titan.ProtocolEmulations.M3UA \ + titan.ProtocolModules.BSSAPP_v7.3.0 \ + titan.ProtocolModules.DIAMETER_ProtocolModule_Generator \ titan.ProtocolModules.DNS \ + titan.ProtocolModules.GRE \ + titan.ProtocolModules.GTP_v13.5.0 \ + titan.ProtocolModules.GTPv2_v13.7.0 \ titan.ProtocolModules.ICMP \ titan.ProtocolModules.ICMPv6 \ titan.ProtocolModules.IP \ + titan.ProtocolModules.ISUP_Q.762 \ titan.ProtocolModules.JSON_v07_2006 \ titan.ProtocolModules.L2TP \ + titan.ProtocolModules.LLC_v7.1.0 \ titan.ProtocolModules.M3UA \ + titan.ProtocolModules.MobileL3_v13.4.0 \ titan.ProtocolModules.SMPP \ titan.ProtocolModules.TCP \ titan.ProtocolModules.UDP \ titan.ProtocolModules.RTP \ - titan.ProtocolModules.DIAMETER_ProtocolModule_Generator \ + titan.ProtocolModules.M2PA \ + titan.ProtocolModules.ROSE \ + titan.ProtocolModules.SCTP \ + titan.ProtocolModules.SDP \ + titan.ProtocolModules.SUA \ + titan.ProtocolModules.NAS_EPS_15.2.0.1 \ + titan.ProtocolModules.NS_v7.3.0 \ + titan.ProtocolModules.SGsAP_13.2.0 \ + titan.ProtocolModules.SNDCP_v7.0.0 \ titan.TestPorts.Common_Components.Socket-API \ titan.TestPorts.Common_Components.Abstract_Socket \ titan.TestPorts.HTTPmsg \ @@ -44,25 +59,6 @@ titan.TestPorts.TCPasp \ titan.TestPorts.UNIX_DOMAIN_SOCKETasp -ECLIPSEGIT2_REPOS= titan.ProtocolEmulations.M3UA \ - titan.ProtocolModules.GRE \ - titan.ProtocolModules.M2PA \ - titan.ProtocolModules.ROSE \ - titan.ProtocolModules.SCTP \ - titan.ProtocolModules.SUA \ - titan.ProtocolModules.SDP \ - titan.ProtocolModules.BSSAPP_v7.3.0 \ - titan.ProtocolModules.GTPv2_v13.7.0 \ - titan.ProtocolModules.ISUP_Q.762 \ - titan.ProtocolModules.LLC_v7.1.0 \ - titan.ProtocolModules.MobileL3_v13.4.0 \ - titan.ProtocolModules.NAS_EPS_15.2.0.1 \ - titan.ProtocolModules.NS_v7.3.0 \ - titan.ProtocolModules.SGsAP_13.2.0 \ - titan.ProtocolModules.SNDCP_v7.0.0 - -ECLIPSEGITLAB_REPOS= titan.ProtocolModules.GTP_v13.5.0 - OSMOGITHUB_REPOS= titan.TestPorts.SCTPasp \ titan.TestPorts.MTP3asp \ titan.TestPorts.UDPasp \ @@ -75,7 +71,7 @@ titan.TestPorts.AF_PACKET \ osmo-uecups -ALL_REPOS=$(ECLIPSEGITHUB_REPOS) $(ECLIPSEGIT2_REPOS) $(ECLIPSEGITLAB_REPOS) $(OSMOGITHUB_REPOS) $(OSMOGIT_REPOS) +ALL_REPOS=$(ECLIPSEGITLAB_REPOS) $(OSMOGITHUB_REPOS) $(OSMOGIT_REPOS) # Tag names from 'git-describe --tags'; if not available, a commit hash may be used instead. # Do not put references to branches here, except for local testing: this breaks the caching @@ -183,12 +179,6 @@ endif endef -$(foreach dir,$(ECLIPSEGITHUB_REPOS), \ - $(eval $(call GIT_template,$(dir),$(ECLIPSEGITHUB)))) - -$(foreach dir,$(ECLIPSEGIT2_REPOS), \ - $(eval $(call GIT_template,$(dir),$(ECLIPSEGIT2)))) - $(foreach dir,$(ECLIPSEGITLAB_REPOS), \ $(eval $(call GIT_template,$(dir),$(ECLIPSEGITLAB)))) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24331 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: I6a501d50891c4fda78d33d3efd6030244a4aaf50 Gerrit-Change-Number: 24331 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 20:19:38 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 20:19:38 +0000 Subject: Change in libosmo-abis[master]: ipa: do not open socket in nonblocking mode References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24332 ) Change subject: ipa: do not open socket in nonblocking mode ...................................................................... ipa: do not open socket in nonblocking mode The function ipa_client_conn_open opens an osmo-socket using osmo_sock_init2 and sets the OSMO_SOCK_F_NONBLOCK. This makes error detection (e.g. host is unreachable) difficult because the connect call will return with -EINPROGRESS, which is not handled as an error, so opening a socket to any random ip-address will be successful. Change-Id: I926a75920f7a15c670f7445f2e74e876c5fad7be Related: SYS#4971 --- M src/input/ipa.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/32/24332/1 diff --git a/src/input/ipa.c b/src/input/ipa.c index c121987..6bc3f4a 100644 --- a/src/input/ipa.c +++ b/src/input/ipa.c @@ -224,7 +224,7 @@ ret = osmo_sock_init2(AF_INET, SOCK_STREAM, IPPROTO_TCP, link->local_addr, link->local_port, link->addr, link->port, - OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_NONBLOCK| + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT| OSMO_SOCK_F_DSCP(link->dscp) | OSMO_SOCK_F_PRIO(link->priority)); if (ret < 0) return ret; -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I926a75920f7a15c670f7445f2e74e876c5fad7be Gerrit-Change-Number: 24332 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 21 20:29:50 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 May 2021 20:29:50 +0000 Subject: Change in libosmo-abis[master]: ipa: do not open socket in nonblocking mode In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24332 ) Change subject: ipa: do not open socket in nonblocking mode ...................................................................... Patch Set 1: This patch may be a bit controversial, I might need a little help here. The problem is that I am able to open sockets non existing IP-addresses with ipa_client_conn_open(). The reason for this is that the OSMO_SOCK_F_NONBLOCK is set. (see also https://linux.die.net/man/3/connect, "O_NONBLOCK is set for the file descriptor for the socket and the connection cannot be immediately established; the connection shall be established asynchronously.") This means at the moment where I call ipa_client_conn_open(), the connection is not yet made when the call returns. In this patch I remove OSMO_SOCK_F_NONBLOCK. This fixes the problem I have in osmo-bts at the moment. Everything appears to be fine, I also think that since everything in the osmo-world is controlled via a select loop the nonblocking mode is not even necessary but I am not sure. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I926a75920f7a15c670f7445f2e74e876c5fad7be Gerrit-Change-Number: 24332 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 May 2021 20:29:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 02:39:25 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 22 May 2021 02:39:25 +0000 Subject: Change in osmo-bsc[master]: gscon MGCP: properly skip redundant MDCX towards MSC In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24299 ) Change subject: gscon MGCP: properly skip redundant MDCX towards MSC ...................................................................... gscon MGCP: properly skip redundant MDCX towards MSC So far we were comparing the requested MSC side RTP address+port with the MGW side's address+port, which would practically always fail, and hence we always issued redundant MDCX even if for unchanged MSC side. Skip the MDCX if the MSC side remains unchanged. Emit the success event immediately if the MDCX is skipped. Depends: Ibb488925827d9dc0ccb1f8d6d84728745d086793 (osmo-mgw/libosmo-mgcp-client) Change-Id: If994ecef9d4269a8120b0575de9b6d0c3be19146 --- M TODO-RELEASE M src/osmo-bsc/bsc_subscr_conn_fsm.c 2 files changed, 4 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve neels: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index d0e3ff0..d13cea4 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -10,3 +10,4 @@ libosmocore >1.5.1 needs osmo_bts_features_name(), osmo_bts_features_desc() libosmogsm >1.5.1 enum entry GSM0808_FE_IE_LAST_USED_EUTRAN_PLMN_ID libosmogsm >1.5.1 introduced struct needed gsm0808_old_bss_to_new_bss_info->last_eutran_plmn_id +libosmo-mgcp-client >1.8.0 need osmo_mgcpc_ep_ci_get_remote_rtp_info() diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index f169c32..43804a2 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -600,7 +600,7 @@ ci = conn->user_plane.mgw_endpoint_ci_msc; if (ci) { - const struct mgcp_conn_peer *prev_crcx_info = osmo_mgcpc_ep_ci_get_rtp_info(ci); + const struct mgcp_conn_peer *prev_crcx_info = osmo_mgcpc_ep_ci_get_remote_rtp_info(ci); if (!conn->user_plane.mgw_endpoint) { LOGPFSML(conn->fi, LOGL_ERROR, "Internal error: conn has a CI but no endpoint\n"); @@ -618,6 +618,8 @@ LOGPFSML(conn->fi, LOGL_DEBUG, "MSC side MGW endpoint ci is already configured to %s\n", osmo_mgcpc_ep_ci_name(ci)); + /* Immediately dispatch the success event */ + osmo_fsm_inst_dispatch(notify, event_success, notify_data); return true; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If994ecef9d4269a8120b0575de9b6d0c3be19146 Gerrit-Change-Number: 24299 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 02:39:25 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 22 May 2021 02:39:25 +0000 Subject: Change in osmo-bsc[master]: cosmetic: rename FOR_* to ACTIVATE_FOR_* In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24300 ) Change subject: cosmetic: rename FOR_* to ACTIVATE_FOR_* ...................................................................... cosmetic: rename FOR_* to ACTIVATE_FOR_* Soon, there will also be enums with ASSIGNMENT_FOR_* and MODIFY_FOR_* naming. Add the ACTIVATE_ prefix to the existing enum to clarify. Change-Id: I12190d4d154a1da6a9ebc9a755ccc2fe382ff188 --- M doc/assignment.msc M doc/handover-inter-bsc-in.msc M doc/handover-intra-bsc-fsm.dot M doc/handover.msc M doc/lchan.msc M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/lchan_fsm.c 12 files changed, 53 insertions(+), 53 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/doc/assignment.msc b/doc/assignment.msc index fae088f..5c3bbfb 100644 --- a/doc/assignment.msc +++ b/doc/assignment.msc @@ -30,7 +30,7 @@ |||; lchan abox lchan [label="UNUSED"]; ass box ass [label="conn->assignment.new_lchan = lchan_select_by_chan_mode()"]; - lchan <- ass [label="lchan_activate(FOR_ASSIGNMENT)"]; + lchan <- ass [label="lchan_activate(ACTIVATE_FOR_ASSIGNMENT)"]; lchan abox lchan [label="WAIT_TS_READY"]; lchan rbox lchan [label="most details omitted, see lchan_fsm and lchan_rtp_fsm diagrams"]; ...; diff --git a/doc/handover-inter-bsc-in.msc b/doc/handover-inter-bsc-in.msc index 9534f90..fa3d75e 100644 --- a/doc/handover-inter-bsc-in.msc +++ b/doc/handover-inter-bsc-in.msc @@ -14,7 +14,7 @@ ho abox ho [label="allocate\nHO_ST_NOT_STARTED"]; ho box ho [label="lchan_select_by_chan_mode()"]; ho abox ho [label="HO_ST_WAIT_\nLCHAN_ACTIVE"]; - lchan <- ho [label="lchan_activate(FOR_HANDOVER)"]; + lchan <- ho [label="lchan_activate(ACTIVATE_FOR_HANDOVER)"]; lchan rbox lchan [label="(most details omitted, see lchan_fsm diagrams)"]; ...; diff --git a/doc/handover-intra-bsc-fsm.dot b/doc/handover-intra-bsc-fsm.dot index 7cb0d3c..53b3eed 100644 --- a/doc/handover-intra-bsc-fsm.dot +++ b/doc/handover-intra-bsc-fsm.dot @@ -12,7 +12,7 @@ invisible -> old_lchan [style=invisible,arrowhead=none] intra -> WAIT_LCHAN_ACTIVE [label="handover_start()",style=dotted] - WAIT_LCHAN_ACTIVE -> lchan [label="lchan_activate(FOR_HANDOVER)",style=dotted] + WAIT_LCHAN_ACTIVE -> lchan [label="lchan_activate(ACTIVATE_FOR_HANDOVER)",style=dotted] lchan -> WAIT_LCHAN_ACTIVE [label="HO_EV_\nLCHAN_\nACTIVE,ERROR",style=dotted,constraint=false] WAIT_LCHAN_ACTIVE -> WAIT_RR_HO_DETECT WAIT_RR_HO_DETECT -> old_lchan [label="RR Handover\nCommand",style=dotted,constraint=false] diff --git a/doc/handover.msc b/doc/handover.msc index 1a2580a..9734429 100644 --- a/doc/handover.msc +++ b/doc/handover.msc @@ -31,7 +31,7 @@ ho box ho [label="lchan_select_by_type()"]; ho abox ho [label="HO_ST_WAIT_\nLCHAN_ACTIVE"]; - lchan <- ho [label="lchan_activate(FOR_HANDOVER)"]; + lchan <- ho [label="lchan_activate(ACTIVATE_FOR_HANDOVER)"]; lchan rbox lchan [label="(most details omitted, see lchan_fsm diagrams)"]; ...; diff --git a/doc/lchan.msc b/doc/lchan.msc index af9a59b..b35c310 100644 --- a/doc/lchan.msc +++ b/doc/lchan.msc @@ -34,11 +34,11 @@ ...; ts -> lchan [label="LCHAN_EV_TS_READY"]; lchan abox lchan [label="LCHAN_ST_\nWAIT_ACTIV_ACK"]; - --- [label="IF FOR_MS_CHANNEL_REQUEST"]; + --- [label="IF ACTIVATE_FOR_MS_CHANNEL_REQUEST"]; ms <= lchan [label="RSL Chan Activ (RSL_ACT_INTRA_IMM_ASS)"]; - --- [label="ELSE: FOR_ASSIGNMENT"]; + --- [label="ELSE: ACTIVATE_FOR_ASSIGNMENT"]; ms <= lchan [label="RSL Chan Activ (RSL_ACT_INTRA_NORM_ASS)"]; - --- [label="ELSE: FOR_HANDOVER"]; + --- [label="ELSE: ACTIVATE_FOR_HANDOVER"]; ms <= lchan [label="RSL Chan Activ (RSL_ACT_INTER_ASYNC)"]; --- [label="END"]; ...; @@ -47,12 +47,12 @@ ms => lchan [label="RSL Chan Activ ACK"]; lchan box lchan [label="lchan_fsm_post_activ_ack()"]; - --- [label="IF FOR_MS_CHANNEL_REQUEST"]; + --- [label="IF ACTIVATE_FOR_MS_CHANNEL_REQUEST"]; ms <= lchan [label="RR Immediate Assignment"]; - --- [label="ELSE: FOR_ASSIGNMENT"]; + --- [label="ELSE: ACTIVATE_FOR_ASSIGNMENT"]; lchan rbox lchan [label="dispatch\nASSIGNMENT_EV_\nLCHAN_ACTIVE\n(see Assignment FSM diagrams)"]; ms <= lchan [label="RR Assignment Command"]; - --- [label="ELSE: FOR_HANDOVER"]; + --- [label="ELSE: ACTIVATE_FOR_HANDOVER"]; lchan rbox lchan [label="dispatch\nHO_EV_LCHAN_ACTIVE\n(see Handover FSM diagrams)"]; --- [label="END"]; @@ -107,12 +107,12 @@ ms => lchan [label="RLL Establish Ind"]; lchan abox lchan [label="LCHAN_ST_\nESTABLISHED"]; lchan box lchan [label="lchan_on_fully_established()"]; - --- [label="IF FOR_MS_CHANNEL_REQUEST"]; + --- [label="IF ACTIVATE_FOR_MS_CHANNEL_REQUEST"]; ms note lchan [label="No action required. The MS will have sent an L3 message in the RLL Establish Ind and is then free to dispatch DTAP."]; - --- [label="ELSE: FOR_ASSIGNMENT"]; + --- [label="ELSE: ACTIVATE_FOR_ASSIGNMENT"]; lchan rbox lchan [label="dispatch\nASSIGNMENT_EV_\nLCHAN_ESTABLISHED\n(see Assignment FSM diagrams)"]; - --- [label="ELSE: FOR_HANDOVER"]; + --- [label="ELSE: ACTIVATE_FOR_HANDOVER"]; lchan rbox lchan [label="dispatch\nHO_EV_LCHAN_ESTABLISHED\n(see Handover FSM diagrams)"]; --- [label="END"]; ...; @@ -202,11 +202,11 @@ ms rbox mgwep [label="On any error"]; |||; - --- [label="IF FOR_MS_CHANNEL_REQUEST"]; + --- [label="IF ACTIVATE_FOR_MS_CHANNEL_REQUEST"]; ms <= lchan [label="RR Immediate Assign Reject"]; - --- [label="ELSE: FOR_ASSIGNMENT"]; + --- [label="ELSE: ACTIVATE_FOR_ASSIGNMENT"]; lchan rbox lchan [label="dispatch\nASSIGNMENT_EV_\nLCHAN_ERROR\n(see Assignment FSM diagrams)"]; - --- [label="ELSE: FOR_HANDOVER"]; + --- [label="ELSE: ACTIVATE_FOR_HANDOVER"]; lchan rbox lchan [label="dispatch\nHO_EV_LCHAN_ERROR\n(see Handover FSM diagrams)"]; --- [label="END"]; |||; diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index dc10dc6..e3101ff 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -559,11 +559,11 @@ #define ts_for_each_potential_lchan(lchan, ts) ts_as_pchan_for_each_lchan(lchan, ts, (ts)->pchan_on_init) enum lchan_activate_mode { - FOR_NONE, - FOR_MS_CHANNEL_REQUEST, - FOR_ASSIGNMENT, - FOR_HANDOVER, - FOR_VTY, + ACTIVATE_FOR_NONE, + ACTIVATE_FOR_MS_CHANNEL_REQUEST, + ACTIVATE_FOR_ASSIGNMENT, + ACTIVATE_FOR_HANDOVER, + ACTIVATE_FOR_VTY, }; extern const struct value_string lchan_activate_mode_names[]; diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 20fb759..eb30345 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1767,7 +1767,7 @@ LOG_LCHAN(lchan, LOGL_DEBUG, "MS: Channel Request: reason=%s ra=0x%02x ta=%d\n", gsm_chreq_name(rqd->reason), rqd->ref.ra, rqd->ta); info = (struct lchan_activate_info){ - .activ_for = FOR_MS_CHANNEL_REQUEST, + .activ_for = ACTIVATE_FOR_MS_CHANNEL_REQUEST, .chan_mode = GSM48_CMODE_SIGN, .ta = rqd->ta, .ta_known = true, diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 6d07a39..3a17396 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -495,7 +495,7 @@ gsm_lchan_name(conn->lchan)); info = (struct lchan_activate_info){ - .activ_for = FOR_ASSIGNMENT, + .activ_for = ACTIVATE_FOR_ASSIGNMENT, .for_conn = conn, .chan_mode = conn->lchan->ch_mode_rate.chan_mode, .encr = conn->lchan->encr, @@ -572,7 +572,7 @@ assignment_fsm_state_chg(ASSIGNMENT_ST_WAIT_LCHAN_ACTIVE); info = (struct lchan_activate_info){ - .activ_for = FOR_ASSIGNMENT, + .activ_for = ACTIVATE_FOR_ASSIGNMENT, .for_conn = conn, .chan_mode = conn->lchan->ch_mode_rate.chan_mode, .encr = conn->lchan->encr, diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index ab883f4..c482fb9 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6070,13 +6070,13 @@ lchan->type = lchan_t; if (!strcmp(codec_str, "hr") || !strcmp(codec_str, "fr")) { info = (struct lchan_activate_info) { - .activ_for = FOR_VTY, + .activ_for = ACTIVATE_FOR_VTY, .chan_mode = GSM48_CMODE_SPEECH_V1, .requires_voice_stream = false, }; } else if (!strcmp(codec_str, "efr")) { info = (struct lchan_activate_info) { - .activ_for = FOR_VTY, + .activ_for = ACTIVATE_FOR_VTY, .chan_mode = GSM48_CMODE_SPEECH_EFR, .s15_s0 = amr_modes[amr_mode], .requires_voice_stream = false, @@ -6087,14 +6087,14 @@ return CMD_WARNING; } info = (struct lchan_activate_info) { - .activ_for = FOR_VTY, + .activ_for = ACTIVATE_FOR_VTY, .chan_mode = GSM48_CMODE_SPEECH_AMR, .s15_s0 = amr_modes[amr_mode], .requires_voice_stream = false, }; } else if (!strcmp(codec_str, "sig")) { info = (struct lchan_activate_info) { - .activ_for = FOR_VTY, + .activ_for = ACTIVATE_FOR_VTY, .chan_mode = GSM48_CMODE_SIGN, .requires_voice_stream = false, }; diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 2595ea9..d5a9d6b 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -908,11 +908,11 @@ } const struct value_string lchan_activate_mode_names[] = { - OSMO_VALUE_STRING(FOR_NONE), - OSMO_VALUE_STRING(FOR_MS_CHANNEL_REQUEST), - OSMO_VALUE_STRING(FOR_ASSIGNMENT), - OSMO_VALUE_STRING(FOR_HANDOVER), - OSMO_VALUE_STRING(FOR_VTY), + OSMO_VALUE_STRING(ACTIVATE_FOR_NONE), + OSMO_VALUE_STRING(ACTIVATE_FOR_MS_CHANNEL_REQUEST), + OSMO_VALUE_STRING(ACTIVATE_FOR_ASSIGNMENT), + OSMO_VALUE_STRING(ACTIVATE_FOR_HANDOVER), + OSMO_VALUE_STRING(ACTIVATE_FOR_VTY), {} }; diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 53cafed..0b5a8be 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -396,7 +396,7 @@ ho_fsm_state_chg(HO_ST_WAIT_LCHAN_ACTIVE); info = (struct lchan_activate_info){ - .activ_for = FOR_HANDOVER, + .activ_for = ACTIVATE_FOR_HANDOVER, .for_conn = conn, .chan_mode = conn->lchan->tch_mode, .encr = conn->lchan->encr, @@ -694,7 +694,7 @@ ho_fsm_state_chg(HO_ST_WAIT_LCHAN_ACTIVE); info = (struct lchan_activate_info){ - .activ_for = FOR_HANDOVER, + .activ_for = ACTIVATE_FOR_HANDOVER, .for_conn = conn, .chan_mode = ch_mode_rate.chan_mode, .s15_s0 = ch_mode_rate.s15_s0, diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 94f7821..8527d38 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -80,7 +80,7 @@ switch (activ_for) { - case FOR_MS_CHANNEL_REQUEST: + case ACTIVATE_FOR_MS_CHANNEL_REQUEST: if (!lchan->activate.immediate_assignment_sent) { /* Failure before Immediate Assignment message, send a reject. */ LOG_LCHAN(lchan, LOGL_NOTICE, "Tx Immediate Assignment Reject (%s)\n", @@ -92,14 +92,14 @@ * lchan_on_activation_failure(), no additional action or logging needed. */ break; - case FOR_ASSIGNMENT: + case ACTIVATE_FOR_ASSIGNMENT: LOG_LCHAN(lchan, LOGL_NOTICE, "Signalling Assignment FSM of error (%s)\n", lchan->last_error ? : "unknown error"); _osmo_fsm_inst_dispatch(for_conn->assignment.fi, ASSIGNMENT_EV_LCHAN_ERROR, lchan, file, line); return; - case FOR_HANDOVER: + case ACTIVATE_FOR_HANDOVER: LOG_LCHAN(lchan, LOGL_NOTICE, "Signalling Handover FSM of error (%s)\n", lchan->last_error ? : "unknown error"); if (!for_conn) { @@ -117,7 +117,7 @@ _osmo_fsm_inst_dispatch(for_conn->ho.fi, HO_EV_LCHAN_ERROR, lchan, file, line); break; - case FOR_VTY: + case ACTIVATE_FOR_VTY: LOG_LCHAN(lchan, LOGL_ERROR, "VTY user invoked lchan activation failed (%s)\n", lchan->last_error ? : "unknown error"); break; @@ -136,12 +136,12 @@ lchan->activate.concluded = true; switch (lchan->activate.info.activ_for) { - case FOR_MS_CHANNEL_REQUEST: + case ACTIVATE_FOR_MS_CHANNEL_REQUEST: /* No signalling to do here, MS is free to use the channel, and should go on to connect * to the MSC and establish a subscriber connection. */ break; - case FOR_ASSIGNMENT: + case ACTIVATE_FOR_ASSIGNMENT: if (!lchan->conn) { LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for assignment succeeded, but lchan has no conn:" @@ -163,7 +163,7 @@ * will try to roll back a modified RTP connection. */ break; - case FOR_HANDOVER: + case ACTIVATE_FOR_HANDOVER: if (!lchan->conn) { LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for handover succeeded, but lchan has no conn\n"); @@ -264,7 +264,7 @@ switch (info->activ_for) { - case FOR_ASSIGNMENT: + case ACTIVATE_FOR_ASSIGNMENT: if (!info->for_conn || !info->for_conn->fi) { LOG_LCHAN(lchan, LOGL_ERROR, "Activation requested, but no conn\n"); @@ -281,7 +281,7 @@ } break; - case FOR_HANDOVER: + case ACTIVATE_FOR_HANDOVER: if (!info->for_conn || !info->for_conn->fi) { LOG_LCHAN(lchan, LOGL_ERROR, "Activation requested, but no conn\n"); @@ -452,7 +452,7 @@ mr = &bts->mr_half; mr_conf_bts = (struct gsm48_multi_rate_conf *)mr->gsm48_ie; - if (lchan->activate.info.activ_for == FOR_VTY) + if (lchan->activate.info.activ_for == ACTIVATE_FOR_VTY) /* If the channel is activated manually from VTY, then there is no * conn attached to the lchan, also no MSC is involved. Since this * option is for debugging and the codec choice is an intentional @@ -486,7 +486,7 @@ * configuration that is set for the BTS and the specified rate. * if the channel activation was triggerd by the VTY, do not * filter anything (see also comment above) */ - if (lchan->activate.info.activ_for != FOR_VTY) { + if (lchan->activate.info.activ_for != ACTIVATE_FOR_VTY) { rc_rate = calc_amr_rate_intersection(&mr_conf_filtered, mr_conf_bts, &mr_conf_filtered); if (rc_rate < 0) { LOG_LCHAN(lchan, LOGL_ERROR, @@ -670,15 +670,15 @@ } switch (lchan->activate.info.activ_for) { - case FOR_MS_CHANNEL_REQUEST: + case ACTIVATE_FOR_MS_CHANNEL_REQUEST: act_type = RSL_ACT_INTRA_IMM_ASS; break; - case FOR_HANDOVER: + case ACTIVATE_FOR_HANDOVER: act_type = lchan->conn->ho.async ? RSL_ACT_INTER_ASYNC : RSL_ACT_INTER_SYNC; ho_ref = lchan->conn->ho.ho_ref; break; default: - case FOR_ASSIGNMENT: + case ACTIVATE_FOR_ASSIGNMENT: act_type = RSL_ACT_INTRA_NORM_ASS; break; } @@ -762,7 +762,7 @@ switch (lchan->activate.info.activ_for) { - case FOR_MS_CHANNEL_REQUEST: + case ACTIVATE_FOR_MS_CHANNEL_REQUEST: rc = rsl_tx_imm_assignment(lchan); if (rc) { lchan_fail("Failed to Tx RR Immediate Assignment message (rc=%d %s)\n", @@ -773,7 +773,7 @@ lchan->activate.immediate_assignment_sent = true; break; - case FOR_ASSIGNMENT: + case ACTIVATE_FOR_ASSIGNMENT: if (!lchan->conn) { LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for assignment succeeded, but lchan has no conn:" @@ -793,7 +793,7 @@ osmo_fsm_inst_dispatch(lchan->conn->assignment.fi, ASSIGNMENT_EV_LCHAN_ACTIVE, lchan); break; - case FOR_HANDOVER: + case ACTIVATE_FOR_HANDOVER: if (!lchan->conn) { LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for handover succeeded, but lchan has no conn:" @@ -833,7 +833,7 @@ /* When activating a channel for VTY, skip waiting for activity from * lchan_rtp_fsm, but only if no voice stream is required. */ - if (lchan->activate.info.activ_for == FOR_VTY && + if (lchan->activate.info.activ_for == ACTIVATE_FOR_VTY && !lchan->activate.info.requires_voice_stream) { lchan_fsm_state_chg(LCHAN_ST_ESTABLISHED); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12190d4d154a1da6a9ebc9a755ccc2fe382ff188 Gerrit-Change-Number: 24300 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 02:39:26 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 22 May 2021 02:39:26 +0000 Subject: Change in osmo-bsc[master]: cosmetic: rename lchan_activate_mode to lchan_activate_for In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24301 ) Change subject: cosmetic: rename lchan_activate_mode to lchan_activate_for ...................................................................... cosmetic: rename lchan_activate_mode to lchan_activate_for In subsequent patches, I will add enum lchan_modify_for and enum assignment_for, I prefer to have similar lchan_activate_for naming. Change-Id: Ia4420fcd1234dbee92e768e5a32eab13fba29ea9 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/lchan_fsm.c 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index e3101ff..bd83ea0 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -558,7 +558,7 @@ */ #define ts_for_each_potential_lchan(lchan, ts) ts_as_pchan_for_each_lchan(lchan, ts, (ts)->pchan_on_init) -enum lchan_activate_mode { +enum lchan_activate_for { ACTIVATE_FOR_NONE, ACTIVATE_FOR_MS_CHANNEL_REQUEST, ACTIVATE_FOR_ASSIGNMENT, @@ -567,11 +567,11 @@ }; extern const struct value_string lchan_activate_mode_names[]; -static inline const char *lchan_activate_mode_name(enum lchan_activate_mode activ_for) +static inline const char *lchan_activate_mode_name(enum lchan_activate_for activ_for) { return get_value_string(lchan_activate_mode_names, activ_for); } struct lchan_activate_info { - enum lchan_activate_mode activ_for; + enum lchan_activate_for activ_for; struct gsm_subscriber_connection *for_conn; /* This always is for a specific lchan, so its lchan->type indicates full or half rate. * When a dyn TS was selected, the lchan->type has been set to the desired rate. */ diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 8527d38..83524e0 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -70,7 +70,7 @@ #define lchan_on_activation_failure(lchan, for_conn, activ_for) \ _lchan_on_activation_failure(lchan, for_conn, activ_for, \ __FILE__, __LINE__) -static void _lchan_on_activation_failure(struct gsm_lchan *lchan, enum lchan_activate_mode activ_for, +static void _lchan_on_activation_failure(struct gsm_lchan *lchan, enum lchan_activate_for activ_for, struct gsm_subscriber_connection *for_conn, const char *file, int line) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia4420fcd1234dbee92e768e5a32eab13fba29ea9 Gerrit-Change-Number: 24301 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 02:39:26 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 22 May 2021 02:39:26 +0000 Subject: Change in osmo-bsc[master]: lchan and assignment FSMs: make Channel Mode Modify more sane In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23943 ) Change subject: lchan and assignment FSMs: make Channel Mode Modify more sane ...................................................................... lchan and assignment FSMs: make Channel Mode Modify more sane The Channel Mode Modify procedure is currently implemented for changing a TCH lchan from signalling to voice mode. For that, however, it is re-using (abusing) the channel activation structs and state transitions, and thus always implies activating a voice stream when the mode modification is done. I will add a Channel Mode Modify to enable VAMOS mode soon, so I require separate structs and state transitions which also work on an lchan that already has a voice stream established: a struct lchan_modify_info and LCHAN_EV_REQUEST_MODE_MODIFY, and dedicated assignment FSM state ASSIGNMENT_ST_WAIT_LCHAN_MODIFIED. For the part where a Channel Mode Modify enables a voice stream after switching from signalling to speech mode, still use the channel activation code path, but only once the mode modification is done. General improvements: - To ask for a mode modification, emit an FSM event that ensures a mode modify only happens when the lchan state allows it. - The new lchan_modify_info struct reflects only those parts that have an effect during a mode modification (before the lchan_activate_info was fully populated, many values not having an effect). - More accurate logging, indicating "Mode Modify" instead of "Channel Activation" A TTCN3 test for the Channel Mode Modify procedure is added in Idf4efaed986de0bbd2b663313e837352cc139f0f, and the test passes both before and after this patch is applied. Related: SYS#4895 Change-Id: I4986844f839b1c9672c61d916eb3d33d0042d747 --- M doc/assignment-fsm.dot M include/osmocom/bsc/assignment_fsm.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/lchan_fsm.h M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c 7 files changed, 224 insertions(+), 70 deletions(-) Approvals: neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/assignment-fsm.dot b/doc/assignment-fsm.dot index c218153..4eb8d98 100644 --- a/doc/assignment-fsm.dot +++ b/doc/assignment-fsm.dot @@ -12,6 +12,7 @@ gscon2 [label="conn FSM",shape=box3d] lchan [label="lchan FSM\n(new lchan)",shape=box3d] old_lchan [label="old lchan",shape=box3d] + lchan2 [label="lchan FSM",shape=box3d] bssap [label="osmo_bsc_bssap.c",shape=box] @@ -22,8 +23,7 @@ bssap -> gscon [label="GSCON_EV_ASSIGNMENT_START\ndata=struct assignment_request",style=dotted] gscon -> WAIT_LCHAN_ACTIVE [label="assignment_fsm_start()",style=dotted] - gscon -> WAIT_LCHAN_ESTABLISHED [label="assignment_fsm_start()\n(mode modify)",style=dotted] - WAIT_LCHAN_ACTIVE -> lchan [label="lchan_activate()\nFOR_ASSIGNMENT",style=dotted] + WAIT_LCHAN_ACTIVE -> lchan [label="lchan_activate()\nFOR_ASSIGNMENT",style=dotted] lchan -> WAIT_LCHAN_ACTIVE [label="ASSIGNMENT_EV_\nLCHAN_\nACTIVE,ERROR",style=dotted] lchan -> WAIT_LCHAN_ESTABLISHED [label="ASSIGNMENT_EV_\nLCHAN_\nESTABLISHED,ERROR",style=dotted] @@ -40,4 +40,10 @@ WAIT_MGW_ENDPOINT_TO_MSC -> gscon2 [label="gscon_connect_\nmgw_to_msc()",style=dotted] gscon2 -> WAIT_MGW_ENDPOINT_TO_MSC [label="ASSIGNMENT_EV_\nMSC_MGW_OK",style=dotted] terminate -> gscon2 [label="GSCON_EV_\nASSIGNMENT_END",style=dotted] + + WAIT_LCHAN_ACTIVE -> WAIT_LCHAN_MODIFIED [label="assignment_fsm_start()\n(mode modify)"] + WAIT_LCHAN_MODIFIED -> lchan2 [label="lchan_mode_modify()\nMODIFY_FOR_ASSIGNMENT",style=dotted] + lchan2 -> WAIT_LCHAN_MODIFIED [label="ASSIGNMENT_EV_\nLCHAN_\nMODIFIED,ERROR",style=dotted] + WAIT_LCHAN_MODIFIED -> WAIT_MGW_ENDPOINT_TO_MSC [label="needs\nvoice\nstream"] + WAIT_LCHAN_MODIFIED -> terminate [label="no change\nin voice\nstream"] } diff --git a/include/osmocom/bsc/assignment_fsm.h b/include/osmocom/bsc/assignment_fsm.h index 156da42..b4af335 100644 --- a/include/osmocom/bsc/assignment_fsm.h +++ b/include/osmocom/bsc/assignment_fsm.h @@ -24,11 +24,13 @@ ASSIGNMENT_ST_WAIT_RR_ASS_COMPLETE, ASSIGNMENT_ST_WAIT_LCHAN_ESTABLISHED, ASSIGNMENT_ST_WAIT_MGW_ENDPOINT_TO_MSC, + ASSIGNMENT_ST_WAIT_LCHAN_MODIFIED, }; enum assignment_fsm_event { ASSIGNMENT_EV_LCHAN_ACTIVE, ASSIGNMENT_EV_LCHAN_ESTABLISHED, + ASSIGNMENT_EV_LCHAN_MODIFIED, ASSIGNMENT_EV_LCHAN_ERROR, ASSIGNMENT_EV_MSC_MGW_OK, ASSIGNMENT_EV_MSC_MGW_FAIL, diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index bd83ea0..5a202bf 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -564,6 +564,7 @@ ACTIVATE_FOR_ASSIGNMENT, ACTIVATE_FOR_HANDOVER, ACTIVATE_FOR_VTY, + ACTIVATE_FOR_MODE_MODIFY_RTP, }; extern const struct value_string lchan_activate_mode_names[]; @@ -589,6 +590,25 @@ uint8_t ta; }; +enum lchan_modify_for { + MODIFY_FOR_NONE, + MODIFY_FOR_ASSIGNMENT, + MODIFY_FOR_VTY, +}; + +extern const struct value_string lchan_modify_for_names[]; +static inline const char *lchan_modify_for_name(enum lchan_modify_for modify_for) +{ return get_value_string(lchan_modify_for_names, modify_for); } + +struct lchan_modify_info { + enum lchan_modify_for modify_for; + enum gsm48_chan_mode chan_mode; + bool requires_voice_stream; + uint16_t msc_assigned_cic; + /* AMR config */ + uint16_t s15_s0; +}; + struct gsm_lchan { /* The TS that we're part of */ struct gsm_bts_trx_ts *ts; @@ -614,6 +634,11 @@ } activate; struct { + struct lchan_modify_info info; + bool concluded; + } modify; + + struct { /* If an event to release the lchan comes in while still waiting for responses, just mark this * flag, so that the lchan will gracefully release at the next sensible junction. */ bool requested; diff --git a/include/osmocom/bsc/lchan_fsm.h b/include/osmocom/bsc/lchan_fsm.h index 99964a4..74e2a96 100644 --- a/include/osmocom/bsc/lchan_fsm.h +++ b/include/osmocom/bsc/lchan_fsm.h @@ -65,6 +65,7 @@ void lchan_activate(struct gsm_lchan *lchan, struct lchan_activate_info *info); void lchan_ready_to_switch_rtp(struct gsm_lchan *lchan); +void lchan_mode_modify(struct gsm_lchan *lchan, struct lchan_modify_info *info); static inline const char *lchan_state_name(struct gsm_lchan *lchan) { diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 3a17396..228cb1f 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -241,20 +241,23 @@ static void assignment_success(struct gsm_subscriber_connection *conn) { struct gsm_bts *bts; + bool lchan_changed = (conn->assignment.new_lchan != NULL); - /* Take on the new lchan */ - gscon_change_primary_lchan(conn, conn->assignment.new_lchan); - conn->assignment.new_lchan = NULL; + /* Take on the new lchan. If there only was a Channel Mode Modify, then there is no new lchan to take on. */ + if (lchan_changed) { + gscon_change_primary_lchan(conn, conn->assignment.new_lchan); - OSMO_ASSERT((bts = conn_get_bts(conn)) != NULL); - if (is_siemens_bts(bts) && ts_is_tch(conn->lchan->ts)) { - /* HACK: store the actual Classmark 2 LV from the subscriber and use it here! */ - uint8_t cm2_lv[] = { 0x02, 0x00, 0x00 }; - send_siemens_mrpci(conn->lchan, cm2_lv); + OSMO_ASSERT((bts = conn_get_bts(conn)) != NULL); + if (is_siemens_bts(bts) && ts_is_tch(conn->lchan->ts)) { + /* HACK: store the actual Classmark 2 LV from the subscriber and use it here! */ + uint8_t cm2_lv[] = { 0x02, 0x00, 0x00 }; + send_siemens_mrpci(conn->lchan, cm2_lv); + } + + /* apply LCLS configuration (if any) */ + lcls_apply_config(conn); } - - /* apply LCLS configuration (if any) */ - lcls_apply_config(conn); + conn->assignment.new_lchan = NULL; send_assignment_complete(conn); /* If something went wrong during send_assignment_complete(), the fi will be gone from @@ -267,15 +270,17 @@ return; } - /* Rembered this only for error handling: should assignment fail, assignment_reset() will release - * the MGW endpoint right away. If successful, the conn continues to use the endpoint. */ - conn->assignment.created_ci_for_msc = NULL; + if (lchan_changed) { + /* Rembered this only for error handling: should assignment fail, assignment_reset() will release + * the MGW endpoint right away. If successful, the conn continues to use the endpoint. */ + conn->assignment.created_ci_for_msc = NULL; - /* New RTP information is now accepted */ - conn->user_plane.msc_assigned_cic = conn->assignment.req.msc_assigned_cic; - osmo_strlcpy(conn->user_plane.msc_assigned_rtp_addr, conn->assignment.req.msc_rtp_addr, - sizeof(conn->user_plane.msc_assigned_rtp_addr)); - conn->user_plane.msc_assigned_rtp_port = conn->assignment.req.msc_rtp_port; + /* New RTP information is now accepted */ + conn->user_plane.msc_assigned_cic = conn->assignment.req.msc_assigned_cic; + osmo_strlcpy(conn->user_plane.msc_assigned_rtp_addr, conn->assignment.req.msc_rtp_addr, + sizeof(conn->user_plane.msc_assigned_rtp_addr)); + conn->user_plane.msc_assigned_rtp_port = conn->assignment.req.msc_rtp_port; + } LOG_ASSIGNMENT(conn, LOGL_DEBUG, "Assignment successful\n"); osmo_fsm_inst_term(conn->assignment.fi, OSMO_FSM_TERM_REGULAR, 0); @@ -285,7 +290,9 @@ static void assignment_fsm_update_id(struct gsm_subscriber_connection *conn) { - struct gsm_lchan *new_lchan = conn->assignment.new_lchan; + /* Assignment can do a new channel activation, in which case new_lchan points at the new lchan. + * Or assignment can Channel Mode Modify the already used lchan, in which case new_lchan == NULL. */ + struct gsm_lchan *new_lchan = (conn->assignment.new_lchan ? : conn->lchan); if (!new_lchan) { osmo_fsm_inst_update_id(conn->assignment.fi, conn->fi->id); return; @@ -435,7 +442,8 @@ [CH_RATE_FULL] = "FR", }; struct osmo_fsm_inst *fi; - struct lchan_activate_info info; + struct lchan_activate_info activ_info; + struct lchan_modify_info modif_info; int i; OSMO_ASSERT(conn); @@ -465,6 +473,8 @@ * LCHAN_EV_REQUEST_MODE_MODIFY in lchan_fsm.c. To not break the lchan, do not even attempt to re-use an lchan * that already has an RTP stream set up, rather establish a new lchan (that transition is well implemented). */ if (reuse_existing_lchan(conn) && !conn->lchan->fi_rtp) { + /* The new lchan is the old lchan, keep new_lchan == NULL. */ + conn->assignment.new_lchan = NULL; /* If the requested mode and the current TCH mode matches up, just send the * assignment complete directly and be done with the assignment procedure. */ @@ -494,28 +504,17 @@ gsm48_chan_mode_name(conn->lchan->ch_mode_rate.chan_mode), gsm_lchan_name(conn->lchan)); - info = (struct lchan_activate_info){ - .activ_for = ACTIVATE_FOR_ASSIGNMENT, - .for_conn = conn, + modif_info = (struct lchan_modify_info){ + .modify_for = MODIFY_FOR_ASSIGNMENT, .chan_mode = conn->lchan->ch_mode_rate.chan_mode, - .encr = conn->lchan->encr, - .s15_s0 = conn->lchan->ch_mode_rate.s15_s0, .requires_voice_stream = conn->assignment.requires_voice_stream, + .s15_s0 = conn->lchan->ch_mode_rate.s15_s0, .msc_assigned_cic = req->msc_assigned_cic, - .re_use_mgw_endpoint_from_lchan = conn->lchan, - .ta = conn->lchan->last_ta, - .ta_known = true, }; - osmo_fsm_inst_dispatch(conn->lchan->fi, LCHAN_EV_REQUEST_MODE_MODIFY, &info); - - /* Since we opted not to allocate a new lchan, the new lchan is still the old lchan. */ - conn->assignment.new_lchan = conn->lchan; - - /* Also we need to skip the RR assignment, so we jump forward and wait for the lchan_fsm until it - * reaches the established state again. */ - assignment_fsm_state_chg(ASSIGNMENT_ST_WAIT_LCHAN_ESTABLISHED); - + if (assignment_fsm_state_chg(ASSIGNMENT_ST_WAIT_LCHAN_MODIFIED)) + return; + lchan_mode_modify(conn->lchan, &modif_info); return; } @@ -571,7 +570,7 @@ req->use_osmux ? "yes" : "no"); assignment_fsm_state_chg(ASSIGNMENT_ST_WAIT_LCHAN_ACTIVE); - info = (struct lchan_activate_info){ + activ_info = (struct lchan_activate_info){ .activ_for = ACTIVATE_FOR_ASSIGNMENT, .for_conn = conn, .chan_mode = conn->lchan->ch_mode_rate.chan_mode, @@ -583,7 +582,7 @@ .ta = conn->lchan->last_ta, .ta_known = true, }; - lchan_activate(conn->assignment.new_lchan, &info); + lchan_activate(conn->assignment.new_lchan, &activ_info); } static void assignment_fsm_wait_lchan(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -695,8 +694,10 @@ conn->assignment.req.msc_rtp_addr, conn->assignment.req.msc_rtp_port); + /* Assignment can do a new channel activation, in which case new_lchan points at the new lchan. + * Or assignment can Channel Mode Modify the already used lchan, in which case new_lchan == NULL. */ if (!gscon_connect_mgw_to_msc(conn, - conn->assignment.new_lchan, + conn->assignment.new_lchan ? : conn->lchan, conn->assignment.req.msc_rtp_addr, conn->assignment.req.msc_rtp_port, fi, @@ -742,6 +743,19 @@ } } +static void assignment_fsm_wait_lchan_modified(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch (event) { + + case ASSIGNMENT_EV_LCHAN_MODIFIED: + assignment_fsm_post_lchan_established(fi); + return; + + default: + OSMO_ASSERT(false); + } +} + #define S(x) (1 << (x)) static const struct osmo_fsm_state assignment_fsm_states[] = { @@ -754,7 +768,7 @@ .out_state_mask = 0 | S(ASSIGNMENT_ST_WAIT_LCHAN_ACTIVE) | S(ASSIGNMENT_ST_WAIT_RR_ASS_COMPLETE) - | S(ASSIGNMENT_ST_WAIT_LCHAN_ESTABLISHED) /* MODE MODIFY */ + | S(ASSIGNMENT_ST_WAIT_LCHAN_MODIFIED) , }, [ASSIGNMENT_ST_WAIT_RR_ASS_COMPLETE] = { @@ -790,11 +804,22 @@ | S(ASSIGNMENT_EV_MSC_MGW_FAIL) , }, + [ASSIGNMENT_ST_WAIT_LCHAN_MODIFIED] = { + .name = "WAIT_LCHAN_MODIFIED", + .action = assignment_fsm_wait_lchan_modified, + .in_event_mask = 0 + | S(ASSIGNMENT_EV_LCHAN_MODIFIED) + , + .out_state_mask = 0 + | S(ASSIGNMENT_ST_WAIT_MGW_ENDPOINT_TO_MSC) + , + }, }; static const struct value_string assignment_fsm_event_names[] = { OSMO_VALUE_STRING(ASSIGNMENT_EV_LCHAN_ACTIVE), OSMO_VALUE_STRING(ASSIGNMENT_EV_LCHAN_ESTABLISHED), + OSMO_VALUE_STRING(ASSIGNMENT_EV_LCHAN_MODIFIED), OSMO_VALUE_STRING(ASSIGNMENT_EV_LCHAN_ERROR), OSMO_VALUE_STRING(ASSIGNMENT_EV_MSC_MGW_OK), OSMO_VALUE_STRING(ASSIGNMENT_EV_MSC_MGW_FAIL), @@ -807,6 +832,11 @@ void assignment_fsm_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct gsm_subscriber_connection *conn = assignment_fi_conn(fi); + + /* Assignment can do a new channel activation, in which case new_lchan points at the new lchan. + * Or assignment can Channel Mode Modify the already used lchan, in which case new_lchan == NULL. */ + struct gsm_lchan *new_lchan = conn->assignment.new_lchan ? : conn->lchan; + switch (event) { case ASSIGNMENT_EV_CONN_RELEASING: @@ -815,10 +845,11 @@ return; case ASSIGNMENT_EV_LCHAN_ERROR: - if (data != conn->assignment.new_lchan) + if (data != new_lchan) return; - assignment_fail(conn->assignment.new_lchan->activate.gsm0808_error_cause, - "Failed to activate lchan %s", + assignment_fail(new_lchan->activate.gsm0808_error_cause, + "Failed to %s lchan %s", + conn->assignment.new_lchan ? "activate" : "modify", gsm_lchan_name(conn->assignment.new_lchan)); return; diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index d5a9d6b..6c08229 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -916,6 +916,13 @@ {} }; +const struct value_string lchan_modify_for_names[] = { + OSMO_VALUE_STRING(MODIFY_FOR_NONE), + OSMO_VALUE_STRING(MODIFY_FOR_ASSIGNMENT), + OSMO_VALUE_STRING(MODIFY_FOR_VTY), + {} +}; + /* This may be specific to RR Channel Release, and the mappings were chosen by pure naive guessing without a proper * specification available. */ enum gsm48_rr_cause bsc_gsm48_rr_cause_from_gsm0808_cause(enum gsm0808_cause c) diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 83524e0..1735346 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -66,6 +66,53 @@ } } +static void lchan_on_mode_modify_success(struct gsm_lchan *lchan) +{ + lchan->modify.concluded = true; + + switch (lchan->modify.info.modify_for) { + + case MODIFY_FOR_ASSIGNMENT: + osmo_fsm_inst_dispatch(lchan->conn->assignment.fi, ASSIGNMENT_EV_LCHAN_MODIFIED, lchan); + break; + + default: + break; + } +} + +#define lchan_on_mode_modify_failure(lchan, modify_for, for_conn) \ + _lchan_on_mode_modify_failure(lchan, modify_for, for_conn, \ + __FILE__, __LINE__) +static void _lchan_on_mode_modify_failure(struct gsm_lchan *lchan, enum lchan_modify_for modify_for, + struct gsm_subscriber_connection *for_conn, + const char *file, int line) +{ + if (lchan->modify.concluded) + return; + lchan->modify.concluded = true; + + switch (modify_for) { + + case MODIFY_FOR_ASSIGNMENT: + LOG_LCHAN(lchan, LOGL_NOTICE, "Signalling Assignment FSM of error (%s)\n", + lchan->last_error ? : "unknown error"); + _osmo_fsm_inst_dispatch(for_conn->assignment.fi, ASSIGNMENT_EV_LCHAN_ERROR, lchan, + file, line); + return; + + case MODIFY_FOR_VTY: + LOG_LCHAN(lchan, LOGL_ERROR, "VTY user invoked lchan Channel Mode Modify failed (%s)\n", + lchan->last_error ? : "unknown error"); + break; + + default: + LOG_LCHAN(lchan, LOGL_ERROR, "lchan Channel Mode Modify failed (%s)\n", + lchan->last_error ? : "unknown error"); + break; + } +} + /* The idea here is that we must not require to change any lchan state in order to deny a request. */ #define lchan_on_activation_failure(lchan, for_conn, activ_for) \ _lchan_on_activation_failure(lchan, for_conn, activ_for, \ @@ -122,6 +169,10 @@ lchan->last_error ? : "unknown error"); break; + case ACTIVATE_FOR_MODE_MODIFY_RTP: + lchan_on_mode_modify_failure(lchan, lchan->modify.info.modify_for, for_conn); + break; + default: LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation failed (%s)\n", lchan->last_error ? : "unknown error"); @@ -183,6 +234,10 @@ * we will try to roll back a modified RTP connection. */ break; + case ACTIVATE_FOR_MODE_MODIFY_RTP: + lchan_on_mode_modify_success(lchan); + break; + default: LOG_LCHAN(lchan, LOGL_NOTICE, "lchan %s fully established\n", lchan_activate_mode_name(lchan->activate.info.activ_for)); @@ -323,6 +378,18 @@ /* Remain in state UNUSED */ } +void lchan_mode_modify(struct gsm_lchan *lchan, struct lchan_modify_info *info) +{ + OSMO_ASSERT(lchan && info); + + /* To make sure that the lchan is actually allowed to initiate Mode Modify, feed through an FSM event. */ + if (osmo_fsm_inst_dispatch(lchan->fi, LCHAN_EV_REQUEST_MODE_MODIFY, info)) { + LOG_LCHAN(lchan, LOGL_ERROR, + "Channel Mode Modify requested, but cannot dispatch LCHAN_EV_REQUEST_MODE_MODIFY event\n"); + lchan_on_mode_modify_failure(lchan, info->modify_for, lchan->conn); + } +} + static void lchan_fsm_update_id(struct gsm_lchan *lchan) { osmo_fsm_inst_update_id_f(lchan->fi, "%u-%u-%u-%s-%u", @@ -881,7 +948,7 @@ static void lchan_fsm_wait_rr_chan_mode_modify_ack_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); - gsm48_lchan_modify(lchan, lchan->activate.info.chan_mode); + gsm48_lchan_modify(lchan, lchan->modify.info.chan_mode); } static void lchan_fsm_wait_rr_chan_mode_modify_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -921,10 +988,27 @@ switch (event) { case LCHAN_EV_RSL_CHAN_MODE_MODIFY_ACK: - if (lchan->activate.info.requires_voice_stream) + /* The Channel Mode Modify was ACKed, now the requested values become the accepted and used values. */ + lchan->tch_mode = lchan->modify.info.chan_mode; + lchan->s15_s0 = lchan->modify.info.s15_s0; + + if (lchan->modify.info.requires_voice_stream + && !lchan->fi_rtp) { + /* Continue with RTP stream establishing as done in lchan_activate(). Place the requested values in + * lchan->activate.info and continue with voice stream setup. */ + lchan->activate.info = (struct lchan_activate_info){ + .activ_for = ACTIVATE_FOR_MODE_MODIFY_RTP, + .for_conn = lchan->conn, + .s15_s0 = lchan->modify.info.s15_s0, + .requires_voice_stream = true, + .msc_assigned_cic = lchan->modify.info.msc_assigned_cic, + }; + lchan->activate.concluded = false; lchan_fsm_state_chg(LCHAN_ST_WAIT_RLL_RTP_ESTABLISH); - else + } else { lchan_fsm_state_chg(LCHAN_ST_ESTABLISHED); + lchan_on_mode_modify_success(lchan); + } return; case LCHAN_EV_RSL_CHAN_MODE_MODIFY_NACK: @@ -1014,7 +1098,7 @@ static void lchan_fsm_established(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); - struct lchan_activate_info *info; + struct lchan_modify_info *modif_info; struct osmo_mgcpc_ep_ci *use_mgwep_ci; switch (event) { @@ -1052,35 +1136,29 @@ return; } - info = data; - lchan->activate.info = *info; + modif_info = data; + lchan->modify.info = *modif_info; + lchan->modify.concluded = false; + use_mgwep_ci = lchan_use_mgw_endpoint_ci_bts(lchan); - if (info->chan_mode == GSM48_CMODE_SPEECH_AMR) { - if (lchan_mr_config(lchan, info->s15_s0) < 0) { + if (modif_info->chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (lchan_mr_config(lchan, modif_info->s15_s0) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; } } LOG_LCHAN(lchan, LOGL_INFO, - "Modification requested: %s voice=%s MGW-ci=%s type=%s tch-mode=%s encr-alg=A5/%u ck=%s\n", - lchan_activate_mode_name(lchan->activate.info.activ_for), - lchan->activate.info.requires_voice_stream ? "yes" : "no", - lchan->activate.info.requires_voice_stream ? + "Modification requested: %s voice=%s MGW-ci=%s type=%s tch-mode=%s\n", + lchan_modify_for_name(lchan->modify.info.modify_for), + lchan->modify.info.requires_voice_stream ? "yes" : "no", + lchan->modify.info.requires_voice_stream ? (use_mgwep_ci ? osmo_mgcpc_ep_ci_name(use_mgwep_ci) : "new") : "none", gsm_lchant_name(lchan->type), - gsm48_chan_mode_name(lchan->tch_mode), - (lchan->activate.info.encr.alg_id ? : 1) - 1, - lchan->activate.info.encr.key_len ? osmo_hexdump_nospc(lchan->activate.info.encr.key, - lchan->activate.info.encr.key_len) : "none"); + gsm48_chan_mode_name(lchan->tch_mode)); - /* While the mode is changed the lchan is virtually "not activated", at least - * from the FSM implementations perspective */ - lchan->activate.concluded = false; - - /* Initiate mode modification, start with the MS side (RR) */ lchan_fsm_state_chg(LCHAN_ST_WAIT_RR_CHAN_MODE_MODIFY_ACK); return; @@ -1389,8 +1467,9 @@ | S(LCHAN_EV_RR_CHAN_MODE_MODIFY_ERROR) , .out_state_mask = 0 - | S(LCHAN_ST_BORKEN) | S(LCHAN_ST_WAIT_RSL_CHAN_MODE_MODIFY_ACK) + | S(LCHAN_ST_WAIT_RF_RELEASE_ACK) + | S(LCHAN_ST_BORKEN) , }, [LCHAN_ST_WAIT_RSL_CHAN_MODE_MODIFY_ACK] = { @@ -1402,8 +1481,10 @@ | S(LCHAN_EV_RSL_CHAN_MODE_MODIFY_NACK) , .out_state_mask = 0 - | S(LCHAN_ST_BORKEN) + | S(LCHAN_ST_ESTABLISHED) | S(LCHAN_ST_WAIT_RLL_RTP_ESTABLISH) + | S(LCHAN_ST_WAIT_RF_RELEASE_ACK) + | S(LCHAN_ST_BORKEN) , }, [LCHAN_ST_ESTABLISHED] = { @@ -1514,6 +1595,7 @@ OSMO_VALUE_STRING(LCHAN_EV_RR_CHAN_MODE_MODIFY_ERROR), OSMO_VALUE_STRING(LCHAN_EV_RSL_CHAN_MODE_MODIFY_ACK), OSMO_VALUE_STRING(LCHAN_EV_RSL_CHAN_MODE_MODIFY_NACK), + OSMO_VALUE_STRING(LCHAN_EV_REQUEST_MODE_MODIFY), {} }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23943 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4986844f839b1c9672c61d916eb3d33d0042d747 Gerrit-Change-Number: 23943 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 02:39:26 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 22 May 2021 02:39:26 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: tweak error log msg for mixed modes In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24302 ) Change subject: assignment_fsm: tweak error log msg for mixed modes ...................................................................... assignment_fsm: tweak error log msg for mixed modes Change-Id: Ic42b141012215f428066d739a2099b217f4e5d41 --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 228cb1f..cf3c50e 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -401,7 +401,7 @@ requires_voice_pref = requires_voice_alt; else if (requires_voice_alt != requires_voice_pref) { assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, - "Inconsistent channel modes: %s != %s", + "Requested a mix of Signalling and non-Signalling channel modes: %s != %s", gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode), gsm48_chan_mode_name(req->ch_mode_rate[i].chan_mode)); return -EINVAL; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic42b141012215f428066d739a2099b217f4e5d41 Gerrit-Change-Number: 24302 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 02:39:27 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 22 May 2021 02:39:27 +0000 Subject: Change in osmo-bsc[master]: handover_test: ack release only when lchan is still waiting In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24303 ) Change subject: handover_test: ack release only when lchan is still waiting ...................................................................... handover_test: ack release only when lchan is still waiting Change-Id: I4c7596df06d7c211adcfcd110a1984903a0820e1 --- M tests/handover/handover_test.c 1 file changed, 8 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index d2b1757..8e23a4f 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -439,12 +439,14 @@ static void lchan_release_ack(struct gsm_lchan *lchan) { - if (lchan->fi && lchan->fi->state == LCHAN_ST_WAIT_BEFORE_RF_RELEASE) { - /* don't wait before release */ - osmo_fsm_inst_state_chg(lchan->fi, LCHAN_ST_WAIT_RF_RELEASE_ACK, 0, 0); - /* ack the release */ - osmo_fsm_inst_dispatch(lchan->fi, LCHAN_EV_RSL_RF_CHAN_REL_ACK, 0); - } + if (!lchan->fi || lchan->fi->state != LCHAN_ST_WAIT_BEFORE_RF_RELEASE) + return; + /* don't wait before release */ + osmo_fsm_inst_state_chg(lchan->fi, LCHAN_ST_WAIT_RF_RELEASE_ACK, 0, 0); + if (lchan->fi->state == LCHAN_ST_UNUSED) + return; + /* ack the release */ + osmo_fsm_inst_dispatch(lchan->fi, LCHAN_EV_RSL_RF_CHAN_REL_ACK, 0); } static void lchan_clear(struct gsm_lchan *lchan) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c7596df06d7c211adcfcd110a1984903a0820e1 Gerrit-Change-Number: 24303 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 07:33:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 22 May 2021 07:33:11 +0000 Subject: Change in pysim[master]: transport/pcsc: Raise exception if reader number is out of range References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24333 ) Change subject: transport/pcsc: Raise exception if reader number is out of range ...................................................................... transport/pcsc: Raise exception if reader number is out of range Change-Id: I0acd6900feabb1cfa03b84f24903c6b746a6bdea --- M pySim/transport/pcsc.py 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/33/24333/1 diff --git a/pySim/transport/pcsc.py b/pySim/transport/pcsc.py index 73a99e8..c16abac 100644 --- a/pySim/transport/pcsc.py +++ b/pySim/transport/pcsc.py @@ -19,10 +19,10 @@ from smartcard.CardConnection import CardConnection from smartcard.CardRequest import CardRequest -from smartcard.Exceptions import NoCardException, CardRequestTimeoutException, CardConnectionException +from smartcard.Exceptions import NoCardException, CardRequestTimeoutException, CardConnectionException, CardConnectionException from smartcard.System import readers -from pySim.exceptions import NoCardError, ProtocolError +from pySim.exceptions import NoCardError, ProtocolError, ReaderError from pySim.transport import LinkBase from pySim.utils import h2i, i2h @@ -33,6 +33,8 @@ def __init__(self, reader_number:int=0, **kwargs): super().__init__(**kwargs) r = readers() + if reader_number >= len(r): + raise ReaderError self._reader = r[reader_number] self._con = self._reader.createConnection() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0acd6900feabb1cfa03b84f24903c6b746a6bdea Gerrit-Change-Number: 24333 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 07:33:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 22 May 2021 07:33:11 +0000 Subject: Change in pysim[master]: commands: check for status word in USIM authenticate command References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24334 ) Change subject: commands: check for status word in USIM authenticate command ...................................................................... commands: check for status word in USIM authenticate command Change-Id: I4c7e7261dd597cef0825826b36d50a144efa90d9 --- M pySim/commands.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/34/24334/1 diff --git a/pySim/commands.py b/pySim/commands.py index 0b3d9b6..83ad167 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -359,7 +359,7 @@ p2 = '81' elif context == 'gsm': p2 = '80' - (data, sw) = self._tp.send_apdu_constr(self.cla_byte, '88', '00', p2, AuthCmd3G, cmd_data, AuthResp3G) + (data, sw) = self._tp.send_apdu_constr_checksw(self.cla_byte, '88', '00', p2, AuthCmd3G, cmd_data, AuthResp3G) if 'auts' in data: ret = {'synchronisation_failure': data} else: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4c7e7261dd597cef0825826b36d50a144efa90d9 Gerrit-Change-Number: 24334 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 07:33:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 22 May 2021 07:33:11 +0000 Subject: Change in pysim[master]: cards: All USIM should use CLA 0x00 and request the FCP References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24335 ) Change subject: cards: All USIM should use CLA 0x00 and request the FCP ...................................................................... cards: All USIM should use CLA 0x00 and request the FCP This is a matter of TS 102 221, and not a matter of the specific implementation (card model). Change-Id: I4e684760cef212d807e541ea74855208249ecf63 --- M pySim/cards.py 1 file changed, 2 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/35/24335/1 diff --git a/pySim/cards.py b/pySim/cards.py index 7744c7a..5168a39 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -298,6 +298,8 @@ def __init__(self, ssc): super(UsimCard, self).__init__(ssc) + self._scc.cla_byte = "00" + self._scc.sel_ctrl = "0004" #request an FCP def read_ehplmn(self): (res, sw) = self._scc.read_binary(EF_USIM_ADF_map['EHPLMN']) @@ -890,8 +892,6 @@ def __init__(self, ssc): super(SysmoUSIMSJS1, self).__init__(ssc) - self._scc.cla_byte = "00" - self._scc.sel_ctrl = "0004" #request an FCP @classmethod def autodetect(kls, scc): @@ -1189,8 +1189,6 @@ def __init__(self, ssc): super(WavemobileSim, self).__init__(ssc) self._adm_chv_num = 0x0A - self._scc.cla_byte = "00" - self._scc.sel_ctrl = "0004" #request an FCP @classmethod def autodetect(kls, scc): @@ -1280,8 +1278,6 @@ def __init__(self, ssc): super(SysmoISIMSJA2, self).__init__(ssc) - self._scc.cla_byte = "00" - self._scc.sel_ctrl = "0004" #request an FCP @classmethod def autodetect(kls, scc): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4e684760cef212d807e541ea74855208249ecf63 Gerrit-Change-Number: 24335 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 10:13:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 May 2021 10:13:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TITAN project migration to eclipse gitlab In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24331 ) Change subject: TITAN project migration to eclipse gitlab ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24331 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: I6a501d50891c4fda78d33d3efd6030244a4aaf50 Gerrit-Change-Number: 24331 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 22 May 2021 10:13:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 11:48:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 May 2021 11:48:24 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: indicate MTS in Downlink TRXDv2 PDUs In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24325 to look at the new patch set (#2). Change subject: [VAMOS] osmo-bts-trx: indicate MTS in Downlink TRXDv2 PDUs ...................................................................... [VAMOS] osmo-bts-trx: indicate MTS in Downlink TRXDv2 PDUs Change-Id: I1a17a25883214c068f9b1a6d651128b8f760d1fb Related: SYS#4895, OS#4941 --- M include/osmo-bts/scheduler.h M src/common/scheduler.c M src/osmo-bts-trx/trx_if.c 3 files changed, 19 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/25/24325/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1a17a25883214c068f9b1a6d651128b8f760d1fb Gerrit-Change-Number: 24325 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 11:48:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 May 2021 11:48:24 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: rework handling of Training Sequence In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24327 to look at the new patch set (#2). Change subject: [VAMOS] osmo-bts-trx: rework handling of Training Sequence ...................................................................... [VAMOS] osmo-bts-trx: rework handling of Training Sequence Change-Id: I3744bc308b99ef941e6e9d139444e414abebc14b Related: SYS#4895, OS#4941 --- M include/osmo-bts/gsm_data.h M include/osmo-bts/scheduler.h M src/common/bts_trx.c M src/common/gsm_data.c M src/common/oml.c M src/common/pcu_sock.c M src/common/scheduler.c M src/common/vty.c M src/osmo-bts-trx/sched_lchan_pdtch.c M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_lchan_xcch.c 12 files changed, 23 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/27/24327/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3744bc308b99ef941e6e9d139444e414abebc14b Gerrit-Change-Number: 24327 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 11:48:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 May 2021 11:48:24 +0000 Subject: Change in osmo-bts[master]: [VAMOS] l1sap_chan_act(): handle Osmocom specific Training Sequence IE In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24329 to look at the new patch set (#2). Change subject: [VAMOS] l1sap_chan_act(): handle Osmocom specific Training Sequence IE ...................................................................... [VAMOS] l1sap_chan_act(): handle Osmocom specific Training Sequence IE Change-Id: I717e5b2a6ca5b4faeaab9cae4bb971907945871b Related: SYS#5315, OS#4940 --- M src/common/rsl.c 1 file changed, 33 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/29/24329/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I717e5b2a6ca5b4faeaab9cae4bb971907945871b Gerrit-Change-Number: 24329 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 11:48:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 May 2021 11:48:26 +0000 Subject: Change in osmo-bts[master]: [VAMOS] common: make 'struct gsm_bts_trx_ts' pointers const References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24336 ) Change subject: [VAMOS] common: make 'struct gsm_bts_trx_ts' pointers const ...................................................................... [VAMOS] common: make 'struct gsm_bts_trx_ts' pointers const Change-Id: I0369ef4ae603a4afed0661a5894df6a7135b1919 --- M include/osmo-bts/gsm_data.h M src/common/gsm_data.c 2 files changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/36/24336/1 diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index be18007..50ee88e 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -526,9 +526,9 @@ struct gsm_lchan *rsl_lchan_lookup(struct gsm_bts_trx *trx, uint8_t chan_nr, int *rc); -enum gsm_phys_chan_config ts_pchan(struct gsm_bts_trx_ts *ts); -uint8_t ts_subslots(struct gsm_bts_trx_ts *ts); -bool ts_is_tch(struct gsm_bts_trx_ts *ts); +enum gsm_phys_chan_config ts_pchan(const struct gsm_bts_trx_ts *ts); +uint8_t ts_subslots(const struct gsm_bts_trx_ts *ts); +bool ts_is_tch(const struct gsm_bts_trx_ts *ts); int lchan2ecu_codec(const struct gsm_lchan *lchan); diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 7cf48bf..f109722 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -352,7 +352,7 @@ }; /*! Return the actual pchan type, also heeding dynamic TS. */ -enum gsm_phys_chan_config ts_pchan(struct gsm_bts_trx_ts *ts) +enum gsm_phys_chan_config ts_pchan(const struct gsm_bts_trx_ts *ts) { switch (ts->pchan) { case GSM_PCHAN_TCH_F_TCH_H_PDCH: @@ -369,7 +369,7 @@ /*! According to ts->pchan and possibly ts->dyn_pchan, return the number of * logical channels available in the timeslot. */ -uint8_t ts_subslots(struct gsm_bts_trx_ts *ts) +uint8_t ts_subslots(const struct gsm_bts_trx_ts *ts) { return subslots_per_pchan[ts_pchan(ts)]; } @@ -385,7 +385,7 @@ } } -bool ts_is_tch(struct gsm_bts_trx_ts *ts) +bool ts_is_tch(const struct gsm_bts_trx_ts *ts) { return pchan_is_tch(ts_pchan(ts)); } @@ -403,7 +403,7 @@ /* determine the ECU codec constant for the codec used by given lchan */ int lchan2ecu_codec(const struct gsm_lchan *lchan) { - struct gsm_bts_trx_ts *ts = lchan->ts; + const struct gsm_bts_trx_ts *ts = lchan->ts; switch (lchan->tch_mode) { case GSM48_CMODE_SPEECH_V1: -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0369ef4ae603a4afed0661a5894df6a7135b1919 Gerrit-Change-Number: 24336 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 11:48:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 May 2021 11:48:26 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_data.h: fix wrong bit-mask in BSIC2BCC macro References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24337 ) Change subject: [VAMOS] gsm_data.h: fix wrong bit-mask in BSIC2BCC macro ...................................................................... [VAMOS] gsm_data.h: fix wrong bit-mask in BSIC2BCC macro BCC takes 3 LSB bits of the BSIC, so we should apply 0b111 or 0x07. The BSIC is specified in 3GPP TS 03.03 section 4.3.2. Change-Id: Id24ad64e6c6de080ab43faa272daf844fbba6954 Related: SYS#5315, OS#4940 --- M include/osmo-bts/gsm_data.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/37/24337/1 diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 50ee88e..69b18bc 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -519,7 +519,7 @@ uint8_t gsm_lchan_as_pchan2chan_nr(const struct gsm_lchan *lchan, enum gsm_phys_chan_config as_pchan); -#define BSIC2BCC(bsic) ((bsic) & 0x3) +#define BSIC2BCC(bsic) ((bsic) & 0x07) uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id24ad64e6c6de080ab43faa272daf844fbba6954 Gerrit-Change-Number: 24337 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 11:48:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 May 2021 11:48:26 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_data.h: introduce and use BTS_TSC macro References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24338 ) Change subject: [VAMOS] gsm_data.h: introduce and use BTS_TSC macro ...................................................................... [VAMOS] gsm_data.h: introduce and use BTS_TSC macro Change-Id: I0cf915d2d3a640aa1442cf6abe9a314261b4a64e Related: SYS#5315, OS#4940 --- M include/osmo-bts/gsm_data.h M src/common/gsm_data.c M src/common/l1sap.c M src/common/oml.c M src/osmo-bts-lc15/oml.c M src/osmo-bts-oc2g/oml.c M src/osmo-bts-octphy/l1_oml.c M src/osmo-bts-sysmo/oml.c 8 files changed, 15 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/38/24338/1 diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 69b18bc..3dfd5b7 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -520,6 +520,7 @@ enum gsm_phys_chan_config as_pchan); #define BSIC2BCC(bsic) ((bsic) & 0x07) +#define BTS_TSC(bts) BSIC2BCC((bts)->bsic) uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts); diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index f109722..f014acf 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -277,7 +277,7 @@ if (ts->tsc != -1) return ts->tsc; else - return ts->trx->bts->bsic & 7; + return BTS_TSC(ts->trx->bts); } /* determine logical channel based on TRX and channel number IE */ diff --git a/src/common/l1sap.c b/src/common/l1sap.c index b74e0d3..45abe4e 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1975,10 +1975,10 @@ /* The PHY may not support using different TSCs */ if (!osmo_bts_has_feature(trx->bts->features, BTS_FEAT_MULTI_TSC) - && cd->h0.tsc != (trx->bts->bsic & 7)) { + && cd->h0.tsc != BTS_TSC(trx->bts)) { LOGPLCHAN(lchan, DL1C, LOGL_ERROR, "This PHY does not support " "lchan TSC %u != BSIC-TSC %u, sending NACK\n", - cd->h0.tsc, trx->bts->bsic & 7); + cd->h0.tsc, BTS_TSC(trx->bts)); return -RSL_ERR_SERV_OPT_UNIMPL; } } diff --git a/src/common/oml.c b/src/common/oml.c index c32260b..0bbe0a6 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -964,7 +964,7 @@ ts->tsc = *TLVP_VAL(&tp, NM_ATT_TSC); } else { /* If there is no TSC specified, use the BCC */ - ts->tsc = BSIC2BCC(bts->bsic); + ts->tsc = BTS_TSC(bts); } LOGPFOH(DOML, LOGL_INFO, foh, "SET CHAN ATTR (TSC=%u pchan=%s", ts->tsc, gsm_pchan_name(ts->pchan)); diff --git a/src/osmo-bts-lc15/oml.c b/src/osmo-bts-lc15/oml.c index 39d0e5e..3010fe7 100644 --- a/src/osmo-bts-lc15/oml.c +++ b/src/osmo-bts-lc15/oml.c @@ -432,7 +432,7 @@ dev_par->freqBand = lc15_band; dev_par->u16Arfcn = trx->arfcn; dev_par->u16BcchArfcn = trx->bts->c0->arfcn; - dev_par->u8NbTsc = trx->bts->bsic & 7; + dev_par->u8NbTsc = BTS_TSC(trx->bts); if (!trx_ms_pwr_ctrl_is_osmo(trx)) { /* Target is in the middle between lower and upper RxLev thresholds */ @@ -1835,9 +1835,9 @@ * channels with a different TSC!! */ if (TLVP_PRESENT(new_attr, NM_ATT_TSC) && TLVP_LEN(new_attr, NM_ATT_TSC) >= 1 && - *TLVP_VAL(new_attr, NM_ATT_TSC) != (bts->bsic & 7)) { + *TLVP_VAL(new_attr, NM_ATT_TSC) != BTS_TSC(bts)) { LOGP(DOML, LOGL_ERROR, "Channel TSC %u != BSIC-TSC %u\n", - *TLVP_VAL(new_attr, NM_ATT_TSC), bts->bsic & 7); + *TLVP_VAL(new_attr, NM_ATT_TSC), BTS_TSC(bts)); return -NM_NACK_PARAM_RANGE; } break; diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c index 8fd3688..151b92e 100644 --- a/src/osmo-bts-oc2g/oml.c +++ b/src/osmo-bts-oc2g/oml.c @@ -447,7 +447,7 @@ dev_par->freqBand = oc2g_band; dev_par->u16Arfcn = trx->arfcn; dev_par->u16BcchArfcn = trx->bts->c0->arfcn; - dev_par->u8NbTsc = trx->bts->bsic & 7; + dev_par->u8NbTsc = BTS_TSC(trx->bts); if (!trx_ms_pwr_ctrl_is_osmo(trx)) { /* Target is in the middle between lower and upper RxLev thresholds */ @@ -1844,9 +1844,9 @@ * channels with a different TSC!! */ if (TLVP_PRESENT(new_attr, NM_ATT_TSC) && TLVP_LEN(new_attr, NM_ATT_TSC) >= 1 && - *TLVP_VAL(new_attr, NM_ATT_TSC) != (bts->bsic & 7)) { + *TLVP_VAL(new_attr, NM_ATT_TSC) != BTS_TSC(bts)) { LOGP(DOML, LOGL_ERROR, "Channel TSC %u != BSIC-TSC %u\n", - *TLVP_VAL(new_attr, NM_ATT_TSC), bts->bsic & 7); + *TLVP_VAL(new_attr, NM_ATT_TSC), BTS_TSC(bts)); return -NM_NACK_PARAM_RANGE; } break; diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c index b7f4935..9bd01f4 100644 --- a/src/osmo-bts-octphy/l1_oml.c +++ b/src/osmo-bts-octphy/l1_oml.c @@ -1352,7 +1352,7 @@ } oc->Config.usBcchArfcn = trx->bts->c0->arfcn; #endif - oc->Config.usTsc = trx->bts->bsic & 0x7; + oc->Config.usTsc = BTS_TSC(trx->bts); oc->RfConfig.ulRxGainDb = plink->u.octphy.rx_gain_db; /* FIXME: compute this based on nominal transmit power, etc. */ if (plink->u.octphy.tx_atten_flag) { diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c index ac3176c..25c5651 100644 --- a/src/osmo-bts-sysmo/oml.c +++ b/src/osmo-bts-sysmo/oml.c @@ -427,7 +427,7 @@ dev_par->freqBand = femto_band; dev_par->u16Arfcn = trx->arfcn; dev_par->u16BcchArfcn = trx->bts->c0->arfcn; - dev_par->u8NbTsc = trx->bts->bsic & 7; + dev_par->u8NbTsc = BTS_TSC(trx->bts); if (!trx_ms_pwr_ctrl_is_osmo(trx)) { /* Target is in the middle between lower and upper RxLev thresholds */ @@ -1748,9 +1748,9 @@ * one one TRX, so we need to make sure not to activate * channels with a different TSC!! */ if (TLVP_PRES_LEN(new_attr, NM_ATT_TSC, 1) && - *TLVP_VAL(new_attr, NM_ATT_TSC) != (bts->bsic & 7)) { + *TLVP_VAL(new_attr, NM_ATT_TSC) != BTS_TSC(bts)) { LOGP(DOML, LOGL_ERROR, "Channel TSC %u != BSIC-TSC %u\n", - *TLVP_VAL(new_attr, NM_ATT_TSC), bts->bsic & 7); + *TLVP_VAL(new_attr, NM_ATT_TSC), BTS_TSC(bts)); return -NM_NACK_PARAM_RANGE; } break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0cf915d2d3a640aa1442cf6abe9a314261b4a64e Gerrit-Change-Number: 24338 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 11:48:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 May 2021 11:48:26 +0000 Subject: Change in osmo-bts[master]: [VAMOS] rsl_rx_mode_modif(): handle Channel Identification IE References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24339 ) Change subject: [VAMOS] rsl_rx_mode_modif(): handle Channel Identification IE ...................................................................... [VAMOS] rsl_rx_mode_modif(): handle Channel Identification IE For some reason, handling of the Channel Identification IE was done in l1sap_chan_act(). This function is being called on reciept of the CHANnel ACTIVation message, but not on MODE MODIFY. Change-Id: I07f95e69e6230a1daca62cc0a7c64954f191fa8a Related: SYS#5315, OS#4940 --- M src/common/l1sap.c M src/common/rsl.c 2 files changed, 32 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/39/24339/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 45abe4e..a47f653 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1962,27 +1962,10 @@ int l1sap_chan_act(struct gsm_bts_trx *trx, uint8_t chan_nr, struct tlv_parsed *tp) { struct gsm_lchan *lchan = get_lchan_by_chan_nr(trx, chan_nr); - const struct gsm48_chan_desc *cd; int rc; LOGPLCHAN(lchan, DL1C, LOGL_INFO, "activating channel %s\n", rsl_chan_nr_str(chan_nr)); - /* osmo-pcu calls this without a valid 'tp' parameter, so we - * need to make sure ew don't crash here */ - if (tp && TLVP_PRES_LEN(tp, RSL_IE_CHAN_IDENT, sizeof(*cd) + 1)) { - /* Channel Description IE comes together with its IEI (see 9.3.5) */ - cd = (const struct gsm48_chan_desc *) (TLVP_VAL(tp, RSL_IE_CHAN_IDENT) + 1); - - /* The PHY may not support using different TSCs */ - if (!osmo_bts_has_feature(trx->bts->features, BTS_FEAT_MULTI_TSC) - && cd->h0.tsc != BTS_TSC(trx->bts)) { - LOGPLCHAN(lchan, DL1C, LOGL_ERROR, "This PHY does not support " - "lchan TSC %u != BSIC-TSC %u, sending NACK\n", - cd->h0.tsc, BTS_TSC(trx->bts)); - return -RSL_ERR_SERV_OPT_UNIMPL; - } - } - lchan->s = trx->bts->radio_link_timeout.current; rc = l1sap_chan_act_dact_modify(trx, chan_nr, PRIM_INFO_ACTIVATE, 0); diff --git a/src/common/rsl.c b/src/common/rsl.c index 1cc7abb..601e5f8 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -230,6 +230,33 @@ return 0; } +/* Handle RSL Channel Identification IE (see section 9.3.5) */ +static int rsl_handle_chan_ident_ie(struct gsm_lchan *lchan, + const struct tlv_parsed *tp, + uint8_t *cause) +{ + const struct gsm_bts_trx_ts *ts = lchan->ts; + const struct gsm_bts *bts = ts->trx->bts; + const struct gsm48_chan_desc *cd; + + if (TLVP_PRES_LEN(tp, RSL_IE_CHAN_IDENT, sizeof(*cd) + 1)) { + /* Channel Description IE comes together with its IEI (see 9.3.5) */ + cd = (const struct gsm48_chan_desc *) (TLVP_VAL(tp, RSL_IE_CHAN_IDENT) + 1); + + /* The PHY may not support using different TSCs */ + if (!osmo_bts_has_feature(bts->features, BTS_FEAT_MULTI_TSC) + && cd->h0.tsc != BTS_TSC(bts)) { + LOGPLCHAN(lchan, DL1C, LOGL_ERROR, "This PHY does not support " + "lchan TSC %u != BSIC-TSC %u, sending NACK\n", + cd->h0.tsc, BTS_TSC(bts)); + *cause = RSL_ERR_SERV_OPT_UNIMPL; + return -ENOTSUP; + } + } + + return 0; +} + /* * support @@ -1445,6 +1472,8 @@ if (type != RSL_ACT_OSMO_PDCH) { if (rsl_handle_chan_mod_ie(lchan, &tp, &cause) != 0) return rsl_tx_chan_act_nack(lchan, cause); + if (rsl_handle_chan_ident_ie(lchan, &tp, &cause) != 0) + return rsl_tx_chan_act_nack(lchan, cause); } /* 9.3.7 Encryption Information */ @@ -1956,6 +1985,9 @@ /* 9.3.6 Channel Mode */ if (rsl_handle_chan_mod_ie(lchan, &tp, &cause) != 0) return rsl_tx_mode_modif_nack(lchan, cause); + /* 9.3.5 Channel Identification */ + if (rsl_handle_chan_ident_ie(lchan, &tp, &cause) != 0) + return rsl_tx_mode_modif_nack(lchan, cause); if (bts_supports_cm(lchan->ts->trx->bts, ts_pchan(lchan->ts), lchan->tch_mode) != 1) { LOGPLCHAN(lchan, DRSL, LOGL_ERROR, "%s: invalid mode: %s (wrong BSC configuration?)\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I07f95e69e6230a1daca62cc0a7c64954f191fa8a Gerrit-Change-Number: 24339 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 11:48:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 May 2021 11:48:27 +0000 Subject: Change in osmo-bts[master]: [VAMOS] rsl: call bts_supports_cm() from rsl_handle_chan_mod_ie() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24340 ) Change subject: [VAMOS] rsl: call bts_supports_cm() from rsl_handle_chan_mod_ie() ...................................................................... [VAMOS] rsl: call bts_supports_cm() from rsl_handle_chan_mod_ie() Ensure that we check the PHY capabilities in both cases: * RSL CHANnel ACTIVation, and * RSL CHANnel MODE MODIFY, by calling bts_supports_cm() from rsl_handle_chan_mod_ie(). Modify bts_supports_cm() to accept a 'struct rsl_ie_chan_mode', so we can handle VAMOS enabled channel modes and CSD later on. Change-Id: I31a444592436705ec9d6ddade3cbfa7f8cb4bb91 Related: SYS#5315, OS#4940 --- M include/osmo-bts/bts.h M src/common/bts.c M src/common/rsl.c M tests/misc/misc_test.c 4 files changed, 69 insertions(+), 35 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/40/24340/1 diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index 141dce2..978a548 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -400,8 +400,8 @@ int bts_main(int argc, char **argv); -int bts_supports_cm(struct gsm_bts *bts, enum gsm_phys_chan_config pchan, - enum gsm48_chan_mode cm); +int bts_supports_cm(const struct gsm_bts *bts, + const struct rsl_ie_chan_mode *cm); int32_t bts_get_avg_fn_advance(const struct gsm_bts *bts); diff --git a/src/common/bts.c b/src/common/bts.c index fe4d26e..b5615d6 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -854,28 +854,35 @@ return &bts->gsm_time; } -int bts_supports_cm(struct gsm_bts *bts, enum gsm_phys_chan_config pchan, - enum gsm48_chan_mode cm) +int bts_supports_cm(const struct gsm_bts *bts, + const struct rsl_ie_chan_mode *cm) { enum osmo_bts_features feature = _NUM_BTS_FEAT; - /* We assume that signalling support is mandatory, - * there is no BTS_FEAT_* definition to check that. */ - if (cm == GSM48_CMODE_SIGN) + switch (cm->spd_ind) { + case RSL_CMOD_SPD_SIGN: + /* We assume that signalling support is mandatory, + * there is no BTS_FEAT_* definition to check that. */ return 1; + case RSL_CMOD_SPD_SPEECH: + break; + case RSL_CMOD_SPD_DATA: + default: + return 0; + } /* Before the requested pchan/cm combination can be checked, we need to * convert it to a feature identifier we can check */ - switch (pchan) { - case GSM_PCHAN_TCH_F: - switch(cm) { - case GSM48_CMODE_SPEECH_V1: + switch (cm->chan_rt) { + case RSL_CMOD_CRT_TCH_Bm: + switch (cm->chan_rate) { + case RSL_CMOD_SP_GSM1: feature = BTS_FEAT_SPEECH_F_V1; break; - case GSM48_CMODE_SPEECH_EFR: + case RSL_CMOD_SP_GSM2: feature = BTS_FEAT_SPEECH_F_EFR; break; - case GSM48_CMODE_SPEECH_AMR: + case RSL_CMOD_SP_GSM3: feature = BTS_FEAT_SPEECH_F_AMR; break; default: @@ -884,12 +891,12 @@ } break; - case GSM_PCHAN_TCH_H: - switch(cm) { - case GSM48_CMODE_SPEECH_V1: + case RSL_CMOD_CRT_TCH_Lm: + switch (cm->chan_rate) { + case RSL_CMOD_SP_GSM1: feature = BTS_FEAT_SPEECH_H_V1; break; - case GSM48_CMODE_SPEECH_AMR: + case RSL_CMOD_SP_GSM3: feature = BTS_FEAT_SPEECH_H_AMR; break; default: @@ -899,8 +906,9 @@ break; default: - LOGP(DRSL, LOGL_ERROR, "BTS %u: unhandled pchan %s when checking mode %s\n", - bts->nr, gsm_pchan_name(pchan), gsm48_chan_mode_name(cm)); + LOGP(DRSL, LOGL_ERROR, + "Unhandled RSL channel type=0x%02x/rate=0x%02x\n", + cm->chan_rt, cm->chan_rate); return 0; } diff --git a/src/common/rsl.c b/src/common/rsl.c index 601e5f8..bb53aa5 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -227,6 +227,14 @@ #undef RSL_CMODE + if (bts_supports_cm(lchan->ts->trx->bts, cm) != 1) { + LOGPLCHAN(lchan, DRSL, LOGL_ERROR, "Channel type=0x%02x/mode=%s " + "is not supported by the PHY\n", cm->chan_rt, + gsm48_chan_mode_name(lchan->tch_mode)); + *cause = RSL_ERR_SERV_OPT_UNAVAIL; + return -ENOTSUP; + } + return 0; } @@ -1989,12 +1997,6 @@ if (rsl_handle_chan_ident_ie(lchan, &tp, &cause) != 0) return rsl_tx_mode_modif_nack(lchan, cause); - if (bts_supports_cm(lchan->ts->trx->bts, ts_pchan(lchan->ts), lchan->tch_mode) != 1) { - LOGPLCHAN(lchan, DRSL, LOGL_ERROR, "%s: invalid mode: %s (wrong BSC configuration?)\n", - gsm_ts_and_pchan_name(lchan->ts), gsm48_chan_mode_name(lchan->tch_mode)); - return rsl_tx_mode_modif_nack(lchan, RSL_ERR_SERV_OPT_UNAVAIL); - } - /* 9.3.7 Encryption Information */ if (TLVP_PRESENT(&tp, RSL_IE_ENCR_INFO)) { uint8_t len = TLVP_LEN(&tp, RSL_IE_ENCR_INFO); diff --git a/tests/misc/misc_test.c b/tests/misc/misc_test.c index 439d6b3..e65fcb4 100644 --- a/tests/misc/misc_test.c +++ b/tests/misc/misc_test.c @@ -162,25 +162,49 @@ static void test_bts_supports_cm(void) { + struct rsl_ie_chan_mode cm; struct gsm_bts *bts; bts = gsm_bts_alloc(ctx, 0); + /* Signalling shall be supported regardless of the features */ + cm = (struct rsl_ie_chan_mode) { .chan_rt = RSL_CMOD_CRT_TCH_Bm, + .spd_ind = RSL_CMOD_SPD_SIGN }; + OSMO_ASSERT(bts_supports_cm(bts, &cm) == 1); /* TCH/F */ + + cm = (struct rsl_ie_chan_mode) { .chan_rt = RSL_CMOD_CRT_TCH_Lm, + .spd_ind = RSL_CMOD_SPD_SIGN }; + OSMO_ASSERT(bts_supports_cm(bts, &cm) == 1); /* TCH/H */ + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_V1); osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_V1); osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_AMR); osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_AMR); - OSMO_ASSERT(bts_supports_cm - (bts, GSM_PCHAN_TCH_F, GSM48_CMODE_SPEECH_V1) == 1); - OSMO_ASSERT(bts_supports_cm - (bts, GSM_PCHAN_TCH_H, GSM48_CMODE_SPEECH_V1) == 1); - OSMO_ASSERT(bts_supports_cm - (bts, GSM_PCHAN_TCH_F, GSM48_CMODE_SPEECH_EFR) == 0); - OSMO_ASSERT(bts_supports_cm - (bts, GSM_PCHAN_TCH_F, GSM48_CMODE_SPEECH_AMR) == 1); - OSMO_ASSERT(bts_supports_cm - (bts, GSM_PCHAN_TCH_H, GSM48_CMODE_SPEECH_AMR) == 1); + cm = (struct rsl_ie_chan_mode) { .chan_rt = RSL_CMOD_CRT_TCH_Bm, + .spd_ind = RSL_CMOD_SPD_SPEECH, + .chan_rate = RSL_CMOD_SP_GSM1 }; + OSMO_ASSERT(bts_supports_cm(bts, &cm) == 1); /* TCH/FS */ + + cm = (struct rsl_ie_chan_mode) { .chan_rt = RSL_CMOD_CRT_TCH_Lm, + .spd_ind = RSL_CMOD_SPD_SPEECH, + .chan_rate = RSL_CMOD_SP_GSM1 }; + OSMO_ASSERT(bts_supports_cm(bts, &cm) == 1); /* TCH/HS */ + + cm = (struct rsl_ie_chan_mode) { .chan_rt = RSL_CMOD_CRT_TCH_Bm, + .spd_ind = RSL_CMOD_SPD_SPEECH, + .chan_rate = RSL_CMOD_SP_GSM2 }; + OSMO_ASSERT(bts_supports_cm(bts, &cm) == 0); /* TCH/EFS */ + + cm = (struct rsl_ie_chan_mode) { .chan_rt = RSL_CMOD_CRT_TCH_Bm, + .spd_ind = RSL_CMOD_SPD_SPEECH, + .chan_rate = RSL_CMOD_SP_GSM3 }; + OSMO_ASSERT(bts_supports_cm(bts, &cm) == 1); /* TCH/AFS */ + + cm = (struct rsl_ie_chan_mode) { .chan_rt = RSL_CMOD_CRT_TCH_Lm, + .spd_ind = RSL_CMOD_SPD_SPEECH, + .chan_rate = RSL_CMOD_SP_GSM3 }; + OSMO_ASSERT(bts_supports_cm(bts, &cm) == 1); /* TCH/AHS */ talloc_free(bts); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I31a444592436705ec9d6ddade3cbfa7f8cb4bb91 Gerrit-Change-Number: 24340 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 11:48:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 May 2021 11:48:27 +0000 Subject: Change in osmo-bts[master]: [VAMOS] bts_supports_cm(): handle RSL_CMOD_CRT_OSMO_TCH_VAMOS_{Bm, Lm} References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24341 ) Change subject: [VAMOS] bts_supports_cm(): handle RSL_CMOD_CRT_OSMO_TCH_VAMOS_{Bm,Lm} ...................................................................... [VAMOS] bts_supports_cm(): handle RSL_CMOD_CRT_OSMO_TCH_VAMOS_{Bm,Lm} Change-Id: I61040df30246ff79c9b13055bb1fec92fe64f3dd Related: SYS#5315, OS#4940 --- M src/common/bts.c 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/41/24341/1 diff --git a/src/common/bts.c b/src/common/bts.c index b5615d6..bf29113 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -874,6 +874,10 @@ /* Before the requested pchan/cm combination can be checked, we need to * convert it to a feature identifier we can check */ switch (cm->chan_rt) { + case RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm: + if (!osmo_bts_has_feature(bts->features, BTS_FEAT_VAMOS)) + return 0; + /* fall-through */ case RSL_CMOD_CRT_TCH_Bm: switch (cm->chan_rate) { case RSL_CMOD_SP_GSM1: @@ -891,6 +895,10 @@ } break; + case RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm: + if (!osmo_bts_has_feature(bts->features, BTS_FEAT_VAMOS)) + return 0; + /* fall-through */ case RSL_CMOD_CRT_TCH_Lm: switch (cm->chan_rate) { case RSL_CMOD_SP_GSM1: -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I61040df30246ff79c9b13055bb1fec92fe64f3dd Gerrit-Change-Number: 24341 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 14:19:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 May 2021 14:19:34 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: clarify logging messages in trx_if_{open, close}() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24285 ) Change subject: osmo-bts-trx: clarify logging messages in trx_if_{open,close}() ...................................................................... Patch Set 1: Code-Review+2 Trivial change. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I48e64b5b52fc476f915d3a93535b21f0f192b7a9 Gerrit-Change-Number: 24285 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 22 May 2021 14:19:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 14:19:39 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 May 2021 14:19:39 +0000 Subject: Change in osmo-bts[master]: osmo-bts-{trx, virtual}: fix: pinst->trx may be NULL In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24286 ) Change subject: osmo-bts-{trx,virtual}: fix: pinst->trx may be NULL ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib7d9cb7ae47fead723fa46454cd64bf6e88756bb Gerrit-Change-Number: 24286 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 22 May 2021 14:19:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 14:19:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 May 2021 14:19:48 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: clarify logging messages in trx_if_{open, close}() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24285 ) Change subject: osmo-bts-trx: clarify logging messages in trx_if_{open,close}() ...................................................................... osmo-bts-trx: clarify logging messages in trx_if_{open,close}() Change-Id: I48e64b5b52fc476f915d3a93535b21f0f192b7a9 --- M src/osmo-bts-trx/trx_if.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 8479d4c..ba30bb2 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -1164,7 +1164,7 @@ /*! close the TRX for given handle (data + control socket) */ void trx_if_close(struct trx_l1h *l1h) { - LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, "Close transceiver\n"); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, "Closing TRXC/TRXD connections\n"); trx_if_flush(l1h); @@ -1195,7 +1195,7 @@ struct phy_link *plink = pinst->phy_link; int rc; - LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, "Open transceiver\n"); + LOGPPHI(pinst, DTRX, LOGL_NOTICE, "Opening TRXC/TRXD connections\n"); /* open sockets */ rc = trx_udp_open(l1h, &l1h->trx_ofd_ctrl, -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I48e64b5b52fc476f915d3a93535b21f0f192b7a9 Gerrit-Change-Number: 24285 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 14:19:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 May 2021 14:19:48 +0000 Subject: Change in osmo-bts[master]: osmo-bts-{trx, virtual}: fix: pinst->trx may be NULL In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24286 ) Change subject: osmo-bts-{trx,virtual}: fix: pinst->trx may be NULL ...................................................................... osmo-bts-{trx,virtual}: fix: pinst->trx may be NULL We assume that it's legal to have dangling PHY instances that are not associated with any TRX instances in the configuration file. Obviously, such PHY instances have pinst->trx set to NULL. The DSP based models seem to handle dangling PHY instances without any problems, so let's ensure that we always check pinst->trx against NULL in the osmo-bts-{trx,virtual} specific code. Change-Id: Ib7d9cb7ae47fead723fa46454cd64bf6e88756bb Fixes: CID#236092 "Dereference before null check" --- M include/osmo-bts/phy_link.h M src/common/scheduler.c M src/osmo-bts-trx/trx_if.c M src/osmo-bts-trx/trx_provision_fsm.c M src/osmo-bts-trx/trx_vty.c M src/osmo-bts-virtual/l1_if.c 6 files changed, 24 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index c4b60f3..becc442 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -97,7 +97,7 @@ struct phy_link *phy_link; /* back-pointer to the TRX to which we're associated */ - struct gsm_bts_trx *trx; + struct gsm_bts_trx *trx; /* NOTE: may be NULL! */ union { struct { diff --git a/src/common/scheduler.c b/src/common/scheduler.c index f5a5b89..4af6457 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -578,6 +578,8 @@ { unsigned int tn, i; + OSMO_ASSERT(trx != NULL); + LOGPTRX(trx, DL1C, LOGL_DEBUG, "Init scheduler structures\n"); for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index ba30bb2..fcad75c 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -1235,7 +1235,9 @@ if (!l1h) return -EINVAL; - trx_sched_init(pinst->trx); + /* PHY instance may be not associated with a TRX instance */ + if (pinst->trx != NULL) + trx_sched_init(pinst->trx); rc = trx_if_open(l1h); if (rc < 0) { diff --git a/src/osmo-bts-trx/trx_provision_fsm.c b/src/osmo-bts-trx/trx_provision_fsm.c index 1e5de2e..070037d 100644 --- a/src/osmo-bts-trx/trx_provision_fsm.c +++ b/src/osmo-bts-trx/trx_provision_fsm.c @@ -279,7 +279,10 @@ l1h->config.trxd_pdu_ver_req = pinst->phy_link->u.osmotrx.trxd_pdu_ver_max; /* Apply initial RFMUTE state */ - trx_if_cmd_rfmute(l1h, pinst->trx->mo.nm_state.administrative != NM_STATE_UNLOCKED); + if (pinst->trx != NULL) + trx_if_cmd_rfmute(l1h, pinst->trx->mo.nm_state.administrative != NM_STATE_UNLOCKED); + else + trx_if_cmd_rfmute(l1h, true); } static void st_open_poweroff(struct osmo_fsm_inst *fi, uint32_t event, void *data) diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index b85dcdc..2b0913f 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -99,17 +99,23 @@ struct trx_l1h *l1h = pinst->u.osmotrx.hdl; struct gsm_bts_trx *trx = pinst->trx; - vty_out(vty, "PHY Instance %s%s", - phy_instance_name(pinst), VTY_NEWLINE); + vty_out(vty, "PHY Instance '%s': bound to %s%s", + phy_instance_name(pinst), + gsm_trx_name(trx), + VTY_NEWLINE); + + if (trx != NULL) { + const int actual = get_p_actual_mdBm(trx, trx->power_params.p_total_tgt_mdBm); + const int max = get_p_max_out_mdBm(trx); + vty_out(vty, " tx-attenuation : %d dB%s", + (max - actual) / 1000, VTY_NEWLINE); + } if (l1h->config.rxgain_valid) vty_out(vty, " rx-gain : %d dB%s", l1h->config.rxgain, VTY_NEWLINE); else vty_out(vty, " rx-gain : undefined%s", VTY_NEWLINE); - vty_out(vty, " tx-attenuation : %d dB%s", - (get_p_max_out_mdBm(trx) - get_p_actual_mdBm(trx, trx->power_params.p_total_tgt_mdBm))/1000, - VTY_NEWLINE); if (l1h->config.maxdly_valid) vty_out(vty, " maxdly : %d%s", l1h->config.maxdly, VTY_NEWLINE); diff --git a/src/osmo-bts-virtual/l1_if.c b/src/osmo-bts-virtual/l1_if.c index 0fbc35d..444d6ad 100644 --- a/src/osmo-bts-virtual/l1_if.c +++ b/src/osmo-bts-virtual/l1_if.c @@ -214,13 +214,15 @@ /* iterate over list of PHY instances and initialize the scheduler */ llist_for_each_entry(pinst, &plink->instances, list) { + if (pinst->trx == NULL) + continue; trx_sched_init(pinst->trx); /* Only start the scheduler for the transceiver on C0. * If we have multiple transceivers, CCCH is always on C0 * and has to be auto active */ /* Other TRX are activated via OML by a PRIM_INFO_MODIFY * / PRIM_INFO_ACTIVATE */ - if (pinst->trx && pinst->trx == pinst->trx->bts->c0) { + if (pinst->trx == pinst->trx->bts->c0) { vbts_sched_start(pinst->trx->bts); /* init lapdm layer 3 callback for the trx on timeslot 0 == BCCH */ lchan_init_lapdm(&pinst->trx->ts[0].lchan[CCCH_LCHAN]); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib7d9cb7ae47fead723fa46454cd64bf6e88756bb Gerrit-Change-Number: 24286 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 14:19:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 May 2021 14:19:50 +0000 Subject: Change in osmo-bts[master]: common: make the arguments of phy_{link, instance}_name() const In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24287 ) Change subject: common: make the arguments of phy_{link,instance}_name() const ...................................................................... common: make the arguments of phy_{link,instance}_name() const Change-Id: Ic01d131148065c9143d3a90f8020e2e133941292 Related: CID#236092 "Dereference before null check" --- M include/osmo-bts/phy_link.h M src/common/phy_link.c 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index becc442..bd1a0c3 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -155,7 +155,7 @@ struct phy_link *phy_link_by_num(int num); struct phy_link *phy_link_create(void *ctx, int num); void phy_link_destroy(struct phy_link *plink); -const char *phy_link_name(struct phy_link *plink); +const char *phy_link_name(const struct phy_link *plink); void phy_link_state_set(struct phy_link *plink, enum phy_link_state state); enum phy_link_state phy_link_state_get(struct phy_link *plink); const char *phy_link_state_name(enum phy_link_state state); @@ -165,7 +165,7 @@ struct phy_instance *phy_instance_create(struct phy_link *plink, int num); void phy_instance_link_to_trx(struct phy_instance *pinst, struct gsm_bts_trx *trx); void phy_instance_destroy(struct phy_instance *pinst); -const char *phy_instance_name(struct phy_instance *pinst); +const char *phy_instance_name(const struct phy_instance *pinst); static inline struct phy_instance *trx_phy_instance(const struct gsm_bts_trx *trx) { diff --git a/src/common/phy_link.c b/src/common/phy_link.c index 411f870..93c6f2c 100644 --- a/src/common/phy_link.c +++ b/src/common/phy_link.c @@ -146,7 +146,7 @@ } static char name_buf[32]; -const char *phy_link_name(struct phy_link *plink) +const char *phy_link_name(const struct phy_link *plink) { snprintf(name_buf, sizeof(name_buf), "phy%u", plink->num); return name_buf; @@ -167,7 +167,7 @@ return 0; } -const char *phy_instance_name(struct phy_instance *pinst) +const char *phy_instance_name(const struct phy_instance *pinst) { snprintf(name_buf, sizeof(name_buf), "phy%u.%u", pinst->phy_link->num, pinst->num); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic01d131148065c9143d3a90f8020e2e133941292 Gerrit-Change-Number: 24287 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Sat May 22 18:45:02 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sat, 22 May 2021 18:45:02 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-opencm3-projects_=C2=BB_a1=3Ddefa?= =?UTF-8?Q?ult,a2=3Ddefault,a3=3Ddefault,a4=3Dde?= =?UTF-8?Q?fault,osmocom-master-debian9_#16?= In-Reply-To: <1568150535.1483.1621622702146@jenkins.osmocom.org> References: <1568150535.1483.1621622702146@jenkins.osmocom.org> Message-ID: <1683526293.1542.1621709102280@jenkins.osmocom.org> See Changes: ------------------------------------------ Started by upstream project "master-osmo-opencm3-projects" build number 16 originally caused by: Started by timer Running as SYSTEM Building remotely on build2-deb9build-ansible (ttcn3 osmocom-gerrit-debian9 osmocom-master-debian9 repo-install-test coverity) in workspace The recommended git tool is: NONE No credentials specified > git rev-parse --resolve-git-dir # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git://git.osmocom.org/osmo-opencm3-projects # timeout=10 Fetching upstream changes from git://git.osmocom.org/osmo-opencm3-projects > git --version # timeout=10 > git --version # 'git version 2.11.0' > git fetch --tags --progress -- git://git.osmocom.org/osmo-opencm3-projects +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision 7527cab6d8364b2022bd4fa2fd03039eac2a99bb (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 Commit message: "add missing libcommon.mk" > git rev-list --no-walk 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.libopencm3.url # timeout=10 > git config -f .gitmodules --get submodule.libopencm3.path # timeout=10 > git config --get submodule.librfn.url # timeout=10 > git config -f .gitmodules --get submodule.librfn.path # timeout=10 > git submodule update --init --recursive libopencm3 # timeout=10 > git submodule update --init --recursive librfn # timeout=10 [osmocom-master-debian9] $ /bin/sh -xe /tmp/jenkins6977196718520940803.sh + ARTIFACT_STORE=/home/osmocom-build/jenkins_build_artifact_store + mkdir -p /home/osmocom-build/jenkins_build_artifact_store + docker run --rm=true --cap-add SYS_PTRACE -e ARTIFACT_STORE=/artifact_store -e ASCIIDOC_WARNINGS_CHECK=1 -e HOME=/build -e JOB_NAME=master-osmo-opencm3-projects/a1=default,a2=default,a3=default,a4=default,label=osmocom-master-debian9 -e MAKE=make -e OSMOPY_DEBUG_TCP_SOCKETS=1 -e OSMO_GSM_MANUALS_DIR=/opt/osmo-gsm-manuals -e PARALLEL_MAKE=-j 8 -e PUBLISH=1 -e WITH_MANUALS=1 -w /build -i -u build -v :/build -v /home/osmocom-build/jenkins_build_artifact_store:/artifact_store -v /home/osmocom-build/.ssh:/home/build/.ssh:ro osmocom-build/debian-stretch-jenkins /build/contrib/jenkins.sh --publish =============== relay-driver START ============== CLEAN CC console.c arm-none-eabi-gcc: error: /usr/lib/picolibc/arm-none-eabi/picolibc.specs: No such file or directory make: *** [console.o] Error 1 ../../mk/libopencm3.mk:227: recipe for target 'console.o' failed Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Sat May 22 20:38:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 22 May 2021 20:38:59 +0000 Subject: Change in libosmo-sccp[master]: VTY: write_one_asp(): fix 1 << 31 cannot be represented by 'int' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24330 ) Change subject: VTY: write_one_asp(): fix 1 << 31 cannot be represented by 'int' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib144df42baed16aeffa5b56afd0c17960ee6004e Gerrit-Change-Number: 24330 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 22 May 2021 20:38:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 20:39:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 22 May 2021 20:39:04 +0000 Subject: Change in libosmo-sccp[master]: VTY: write_one_asp(): fix 1 << 31 cannot be represented by 'int' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24330 ) Change subject: VTY: write_one_asp(): fix 1 << 31 cannot be represented by 'int' ...................................................................... VTY: write_one_asp(): fix 1 << 31 cannot be represented by 'int' Change-Id: Ib144df42baed16aeffa5b56afd0c17960ee6004e Closes: OS#5158 --- M src/osmo_ss7_vty.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index dcbe9b2..63625a8 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -857,8 +857,8 @@ } if (!asp->cfg.is_server) vty_out(vty, " sctp-role client%s", VTY_NEWLINE); - for (i = 0; i < 32; i++) { - if (!(asp->cfg.quirks & (1 << i))) + for (i = 0; i < sizeof(uint32_t) * 8; i++) { + if (!(asp->cfg.quirks & ((uint32_t) 1 << i))) continue; vty_out(vty, " quirk %s%s", get_value_string(asp_quirk_names, (1 << i)), VTY_NEWLINE); } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib144df42baed16aeffa5b56afd0c17960ee6004e Gerrit-Change-Number: 24330 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 20:39:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 22 May 2021 20:39:17 +0000 Subject: Change in pysim[master]: transport/pcsc: Raise exception if reader number is out of range In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24333 ) Change subject: transport/pcsc: Raise exception if reader number is out of range ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0acd6900feabb1cfa03b84f24903c6b746a6bdea Gerrit-Change-Number: 24333 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 22 May 2021 20:39:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 20:39:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 22 May 2021 20:39:25 +0000 Subject: Change in pysim[master]: commands: check for status word in USIM authenticate command In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24334 ) Change subject: commands: check for status word in USIM authenticate command ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4c7e7261dd597cef0825826b36d50a144efa90d9 Gerrit-Change-Number: 24334 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 22 May 2021 20:39:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 20:39:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 22 May 2021 20:39:27 +0000 Subject: Change in pysim[master]: transport/pcsc: Raise exception if reader number is out of range In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24333 ) Change subject: transport/pcsc: Raise exception if reader number is out of range ...................................................................... transport/pcsc: Raise exception if reader number is out of range Change-Id: I0acd6900feabb1cfa03b84f24903c6b746a6bdea --- M pySim/transport/pcsc.py 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/transport/pcsc.py b/pySim/transport/pcsc.py index 73a99e8..c16abac 100644 --- a/pySim/transport/pcsc.py +++ b/pySim/transport/pcsc.py @@ -19,10 +19,10 @@ from smartcard.CardConnection import CardConnection from smartcard.CardRequest import CardRequest -from smartcard.Exceptions import NoCardException, CardRequestTimeoutException, CardConnectionException +from smartcard.Exceptions import NoCardException, CardRequestTimeoutException, CardConnectionException, CardConnectionException from smartcard.System import readers -from pySim.exceptions import NoCardError, ProtocolError +from pySim.exceptions import NoCardError, ProtocolError, ReaderError from pySim.transport import LinkBase from pySim.utils import h2i, i2h @@ -33,6 +33,8 @@ def __init__(self, reader_number:int=0, **kwargs): super().__init__(**kwargs) r = readers() + if reader_number >= len(r): + raise ReaderError self._reader = r[reader_number] self._con = self._reader.createConnection() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0acd6900feabb1cfa03b84f24903c6b746a6bdea Gerrit-Change-Number: 24333 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 22 20:39:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 22 May 2021 20:39:27 +0000 Subject: Change in pysim[master]: commands: check for status word in USIM authenticate command In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24334 ) Change subject: commands: check for status word in USIM authenticate command ...................................................................... commands: check for status word in USIM authenticate command Change-Id: I4c7e7261dd597cef0825826b36d50a144efa90d9 --- M pySim/commands.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/commands.py b/pySim/commands.py index 0b3d9b6..83ad167 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -359,7 +359,7 @@ p2 = '81' elif context == 'gsm': p2 = '80' - (data, sw) = self._tp.send_apdu_constr(self.cla_byte, '88', '00', p2, AuthCmd3G, cmd_data, AuthResp3G) + (data, sw) = self._tp.send_apdu_constr_checksw(self.cla_byte, '88', '00', p2, AuthCmd3G, cmd_data, AuthResp3G) if 'auts' in data: ret = {'synchronisation_failure': data} else: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4c7e7261dd597cef0825826b36d50a144efa90d9 Gerrit-Change-Number: 24334 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:02:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:02:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TITAN project migration to eclipse gitlab In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24331 ) Change subject: TITAN project migration to eclipse gitlab ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24331 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: I6a501d50891c4fda78d33d3efd6030244a4aaf50 Gerrit-Change-Number: 24331 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 10:02:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:02:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:02:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TITAN project migration to eclipse gitlab In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24331 ) Change subject: TITAN project migration to eclipse gitlab ...................................................................... TITAN project migration to eclipse gitlab As announced in https://www.eclipse.org/forums/index.php/t/1107586/ TITAN is migrating both their github and git.eclipse.org repositories to eclipse gitlab. Let's adjust our Makefile accordingly Change-Id: I6a501d50891c4fda78d33d3efd6030244a4aaf50 --- M deps/Makefile 1 file changed, 20 insertions(+), 30 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/deps/Makefile b/deps/Makefile index 3d49a68..9296f1b 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -13,25 +13,40 @@ # See the License for the specific language governing permissions and # limitations under the License. -ECLIPSEGITHUB:=https://github.com/eclipse -ECLIPSEGIT2:=https://git.eclipse.org/r/titan ECLIPSEGITLAB:=https://gitlab.eclipse.org/eclipse/titan OSMOGITHUB:=https://github.com/osmocom OSMOGIT:=git://git.osmocom.org -ECLIPSEGITHUB_REPOS= titan.Libraries.TCCUsefulFunctions \ +ECLIPSEGITLAB_REPOS= titan.Libraries.TCCUsefulFunctions \ + titan.ProtocolEmulations.M3UA \ + titan.ProtocolModules.BSSAPP_v7.3.0 \ + titan.ProtocolModules.DIAMETER_ProtocolModule_Generator \ titan.ProtocolModules.DNS \ + titan.ProtocolModules.GRE \ + titan.ProtocolModules.GTP_v13.5.0 \ + titan.ProtocolModules.GTPv2_v13.7.0 \ titan.ProtocolModules.ICMP \ titan.ProtocolModules.ICMPv6 \ titan.ProtocolModules.IP \ + titan.ProtocolModules.ISUP_Q.762 \ titan.ProtocolModules.JSON_v07_2006 \ titan.ProtocolModules.L2TP \ + titan.ProtocolModules.LLC_v7.1.0 \ titan.ProtocolModules.M3UA \ + titan.ProtocolModules.MobileL3_v13.4.0 \ titan.ProtocolModules.SMPP \ titan.ProtocolModules.TCP \ titan.ProtocolModules.UDP \ titan.ProtocolModules.RTP \ - titan.ProtocolModules.DIAMETER_ProtocolModule_Generator \ + titan.ProtocolModules.M2PA \ + titan.ProtocolModules.ROSE \ + titan.ProtocolModules.SCTP \ + titan.ProtocolModules.SDP \ + titan.ProtocolModules.SUA \ + titan.ProtocolModules.NAS_EPS_15.2.0.1 \ + titan.ProtocolModules.NS_v7.3.0 \ + titan.ProtocolModules.SGsAP_13.2.0 \ + titan.ProtocolModules.SNDCP_v7.0.0 \ titan.TestPorts.Common_Components.Socket-API \ titan.TestPorts.Common_Components.Abstract_Socket \ titan.TestPorts.HTTPmsg \ @@ -44,25 +59,6 @@ titan.TestPorts.TCPasp \ titan.TestPorts.UNIX_DOMAIN_SOCKETasp -ECLIPSEGIT2_REPOS= titan.ProtocolEmulations.M3UA \ - titan.ProtocolModules.GRE \ - titan.ProtocolModules.M2PA \ - titan.ProtocolModules.ROSE \ - titan.ProtocolModules.SCTP \ - titan.ProtocolModules.SUA \ - titan.ProtocolModules.SDP \ - titan.ProtocolModules.BSSAPP_v7.3.0 \ - titan.ProtocolModules.GTPv2_v13.7.0 \ - titan.ProtocolModules.ISUP_Q.762 \ - titan.ProtocolModules.LLC_v7.1.0 \ - titan.ProtocolModules.MobileL3_v13.4.0 \ - titan.ProtocolModules.NAS_EPS_15.2.0.1 \ - titan.ProtocolModules.NS_v7.3.0 \ - titan.ProtocolModules.SGsAP_13.2.0 \ - titan.ProtocolModules.SNDCP_v7.0.0 - -ECLIPSEGITLAB_REPOS= titan.ProtocolModules.GTP_v13.5.0 - OSMOGITHUB_REPOS= titan.TestPorts.SCTPasp \ titan.TestPorts.MTP3asp \ titan.TestPorts.UDPasp \ @@ -75,7 +71,7 @@ titan.TestPorts.AF_PACKET \ osmo-uecups -ALL_REPOS=$(ECLIPSEGITHUB_REPOS) $(ECLIPSEGIT2_REPOS) $(ECLIPSEGITLAB_REPOS) $(OSMOGITHUB_REPOS) $(OSMOGIT_REPOS) +ALL_REPOS=$(ECLIPSEGITLAB_REPOS) $(OSMOGITHUB_REPOS) $(OSMOGIT_REPOS) # Tag names from 'git-describe --tags'; if not available, a commit hash may be used instead. # Do not put references to branches here, except for local testing: this breaks the caching @@ -183,12 +179,6 @@ endif endef -$(foreach dir,$(ECLIPSEGITHUB_REPOS), \ - $(eval $(call GIT_template,$(dir),$(ECLIPSEGITHUB)))) - -$(foreach dir,$(ECLIPSEGIT2_REPOS), \ - $(eval $(call GIT_template,$(dir),$(ECLIPSEGIT2)))) - $(foreach dir,$(ECLIPSEGITLAB_REPOS), \ $(eval $(call GIT_template,$(dir),$(ECLIPSEGITLAB)))) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24331 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: I6a501d50891c4fda78d33d3efd6030244a4aaf50 Gerrit-Change-Number: 24331 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:04:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:04:51 +0000 Subject: Change in pysim[master]: cards: All USIM should use CLA 0x00 and request the FCP In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24335 to look at the new patch set (#2). Change subject: cards: All USIM should use CLA 0x00 and request the FCP ...................................................................... cards: All USIM should use CLA 0x00 and request the FCP This is a matter of TS 102 221, and not a matter of the specific implementation (card model). For some reason the FairwavesSIM does require A0 class bytes to be used? Change-Id: I4e684760cef212d807e541ea74855208249ecf63 --- M pySim/cards.py 1 file changed, 4 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/35/24335/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4e684760cef212d807e541ea74855208249ecf63 Gerrit-Change-Number: 24335 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:04:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:04:51 +0000 Subject: Change in pysim[master]: contrib: Add sim-rest-{server,client}.py References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24342 ) Change subject: contrib: Add sim-rest-{server,client}.py ...................................................................... contrib: Add sim-rest-{server,client}.py sim-rest-server.py can be used to provide a RESTful API to allow remote clients to perform the authentication command against a SIM card in a PC/SC reader. sim-rest-client.py is an example client against sim-rest-server.py which can be used to test the functionality of sim-rest-server.py. Change-Id: I738ca3109ab038d4f5595cc1dab6a49087df5886 --- A contrib/sim-rest-client.py A contrib/sim-rest-server.py 2 files changed, 246 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/42/24342/1 diff --git a/contrib/sim-rest-client.py b/contrib/sim-rest-client.py new file mode 100755 index 0000000..68f87b0 --- /dev/null +++ b/contrib/sim-rest-client.py @@ -0,0 +1,157 @@ +#!/usr/bin/env python3 +# +# sim-rest-client.py: client program to test the sim-rest-server.py +# +# this will generate authentication tuples just like a HLR / HSS +# and will then send the related challenge to the REST interface +# of sim-rest-server.py +# +# sim-rest-server.py will then contact the SIM card to perform the +# authentication (just like a 3GPP RAN), and return the results via +# the REST to sim-rest-client.py. +# +# (C) 2021 by Harald Welte +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +import sys +import argparse +import requests +import struct +import secrets + +from CryptoMobile.Milenage import Milenage +from CryptoMobile.utils import xor_buf + +def unpack48(x:bytes) -> int: + """Decode a big-endian 48bit number from binary to integer.""" + x2, x3 = struct.unpack('>IH', x) + return (x2 << 16) | x3 + +def pack48(x:int) -> bytes: + """Encode a big-endian 48bit number from integer to binary.""" + x3 = x & 0xffff + x2 = x >> 16 + return struct.pack('>IH', x2, x3) + +def milenage_generate(opc:bytes, amf:bytes, k:bytes, sqn:bytes, rand:bytes) -> dict(): + """Generate an MILENAGE Authentication Tuple.""" + m = Milenage(None) + m.set_opc(opc) + mac_a = m.f1(k, rand, sqn, amf) + res, ck, ik, ak = m.f2345(k, rand) + + # AUTN = (SQN ^ AK) || AMF || MAC + sqn_ak = xor_buf(sqn, ak) + autn = b''.join([sqn_ak, amf, mac_a]) + + return {'res': res, 'ck': ck, 'ik': ik, 'autn': autn} + +def milenage_auts(opc:bytes, k:bytes, rand:bytes, auts:bytes): + """Validate AUTS. If successful, returns SQN_MS""" + amf = b'\x00\x00' # TS 33.102 Section 6.3.3 + m = Milenage(None) + m.set_opc(opc) + ak = m.f5star(k, rand) + + sqn_ak = auts[:6] + sqn = xor_buf(sqn_ak, ak[:6]) + + mac_s = m.f1star(k, rand, sqn, amf) + if mac_s == auts[6:14]: + return sqn + else: + return False + + +def build_url(suffix:str) -> str: + """Build an URL from global server_host, server_port, BASE_PATH and suffix.""" + BASE_PATH= "/sim-auth-api/v1" + return "http://%s:%u%s%s" % (server_host, server_port, BASE_PATH, suffix) + + +def rest_post(suffix:str, js:dict = None): + """Perform a RESTful POST.""" + url = build_url(suffix) + if verbose: + print("POST %s (%s)" % (url, str(js))) + resp = requests.post(url, json=js) + if verbose: + print("-> %s" % (resp)) + if not resp.ok: + print("POST failed") + return resp + + + +def main(argv): + global server_port, server_host, verbose + + parser = argparse.ArgumentParser() + parser.add_argument("-H", "--host", help="Host to connect to", default="localhost") + parser.add_argument("-p", "--port", help="TCP port to connect to", default=8000) + parser.add_argument("-v", "--verbose", help="increase output verbosity", action='count', default=0) + parser.add_argument("-n", "--slot-nr", help="SIM slot number", type=int, default=0) + parser.add_argument("-c", "--count", help="Auth count", type=int, default=10) + + parser.add_argument("-k", "--key", help="Secret key K (hex)", type=str, required=True) + parser.add_argument("-o", "--opc", help="Secret OPc (hex)", type=str, required=True) + parser.add_argument("-a", "--amf", help="AMF Field (hex)", type=str, default="0000") + parser.add_argument("-s", "--sqn", help="SQN Field (hex)", type=str, default="000000000000") + + args = parser.parse_args() + + server_host = args.host + server_port = args.port + verbose = args.verbose + + #opc = bytes.fromhex('767A662ACF4587EB0C450C6A95540A04') + #k = bytes.fromhex('876B2D8D403EE96755BEF3E0A1857EBE') + opc = bytes.fromhex(args.opc) + k = bytes.fromhex(args.key) + amf = bytes.fromhex(args.amf) + sqn = bytes.fromhex(args.sqn) + + for i in range(args.count): + rand = secrets.token_bytes(16) + t = milenage_generate(opc=opc, amf=amf, k=k, sqn=sqn, rand=rand) + + req_json = {'rand': rand.hex(), 'autn': t['autn'].hex()} + print("-> %s" % req_json) + resp = rest_post('/slot/%u' % args.slot_nr, req_json) + resp_json = resp.json() + print("<- %s" % resp_json) + if 'synchronisation_failure' in resp_json: + auts = bytes.fromhex(resp_json['synchronisation_failure']['auts']) + sqn_ms = milenage_auts(opc, k, rand, auts) + if sqn_ms != False: + print("SQN_MS = %s" % sqn_ms.hex()) + sqn_ms_int = unpack48(sqn_ms) + # we assume an IND bit-length of 5 here + sqn = pack48(sqn_ms_int + (1 << 5)) + else: + raise RuntimeError("AUTS auth failure during re-sync?!?") + elif 'successful_3g_authentication' in resp_json: + auth_res = resp_json['successful_3g_authentication'] + assert bytes.fromhex(auth_res['res']) == t['res'] + assert bytes.fromhex(auth_res['ck']) == t['ck'] + assert bytes.fromhex(auth_res['ik']) == t['ik'] + # we assume an IND bit-length of 5 here + sqn = pack48(unpack48(sqn) + (1 << 5)) + else: + raise RuntimeError("Auth failure") + + +if __name__ == "__main__": + main(sys.argv) diff --git a/contrib/sim-rest-server.py b/contrib/sim-rest-server.py new file mode 100755 index 0000000..a727d2f --- /dev/null +++ b/contrib/sim-rest-server.py @@ -0,0 +1,89 @@ +#!/usr/bin/env python3 + +# RESTful HTTP service for performing authentication against USIM cards +# +# (C) 2021 by Harald Welte +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +import json +import sys +import argparse + +from klein import run, route + +from pySim.transport import ApduTracer +from pySim.transport.pcsc import PcscSimLink +from pySim.commands import SimCardCommands +from pySim.cards import UsimCard +from pySim.exceptions import * + +class ApduPrintTracer(ApduTracer): + def trace_response(self, cmd, sw, resp): + #print("CMD: %s -> RSP: %s %s" % (cmd, sw, resp)) + pass + + at route('/sim-auth-api/v1/slot/') +def auth(request, slot): + """REST API endpoint for performing authentication against a USIM. + Expects a JSON body containing RAND and AUTN. + Returns a JSON body containing RES, CK, IK and Kc.""" + try: + # there are two hex-string JSON parameters in the body: rand and autn + content = json.loads(request.content.read()) + rand = content['rand'] + autn = content['autn'] + except: + request.setResponseCode(400) + return "Malformed Request" + + try: + tp = PcscSimLink(slot, apdu_tracer=ApduPrintTracer()) + tp.connect() + except ReaderError: + request.setResponseCode(404) + return "Specified SIM Slot doesn't exist" + except ProtocolError: + request.setResponseCode(500) + return "Error" + except NoCardError: + request.setResponseCode(410) + return "No SIM card inserted in slot" + + scc = SimCardCommands(tp) + card = UsimCard(scc) + try: + card.read_aids() + card.select_adf_by_aid(adf='usim') + res, sw = scc.authenticate(rand, autn) + except SwMatchError as e: + request.setResponseCode(500) + return "Communication Error %s" % e + + tp.disconnect() + + return json.dumps(res, indent=4) + +def main(argv): + parser = argparse.ArgumentParser() + parser.add_argument("-H", "--host", help="Host/IP to bind HTTP to", default="localhost") + parser.add_argument("-p", "--port", help="TCP port to bind HTTP to", default=8000) + #parser.add_argument("-v", "--verbose", help="increase output verbosity", action='count', default=0) + + args = parser.parse_args() + + run(args.host, args.port) + +if __name__ == "__main__": + main(sys.argv) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I738ca3109ab038d4f5595cc1dab6a49087df5886 Gerrit-Change-Number: 24342 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:05:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:05:29 +0000 Subject: Change in pysim[master]: commands: pad short data input in update_record() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24008 ) Change subject: commands: pad short data input in update_record() ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9a5df0e46c3dd2e87d447c5c01cf15844b0eed07 Gerrit-Change-Number: 24008 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 23 May 2021 10:05:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:05:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:05:36 +0000 Subject: Change in pysim[master]: utils: split string formatting from dec_addr_tlv In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24010 ) Change subject: utils: split string formatting from dec_addr_tlv ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id017b0786089adac4d6c5be688742eaa9699e529 Gerrit-Change-Number: 24010 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 23 May 2021 10:05:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:05:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:05:43 +0000 Subject: Change in pysim[master]: ts_31_103: finish decoder and fix encoder for EF.PCSCF In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24011 ) Change subject: ts_31_103: finish decoder and fix encoder for EF.PCSCF ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24011 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7613b8b71624dc5802aca93163788a2a2d4ca345 Gerrit-Change-Number: 24011 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 23 May 2021 10:05:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:05:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:05:50 +0000 Subject: Change in pysim[master]: commands: pad short data input in update_record() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24008 ) Change subject: commands: pad short data input in update_record() ...................................................................... commands: pad short data input in update_record() The method update_record as a "force_len" parameter, which is somewhat irretatating. Some explainatory comments and a reformat of the if statement will help to make it more understandable to the api user. In the non force_len case the method determines the record length from the select response and throws an exception if the data input does not match that length. This makes sense if the data input exceeds the record length of the file but if the data input is less then the record length the situation is fixable by padding the input with 0xff. This also a quite common case because in some situation it is not guaranteed that the data will fill the entire record. Change-Id: I9a5df0e46c3dd2e87d447c5c01cf15844b0eed07 Related: OS#4963 --- M pySim/commands.py 1 file changed, 13 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/commands.py b/pySim/commands.py index 83ad167..48c66bd 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -216,13 +216,20 @@ def update_record(self, ef, rec_no:int, data:str, force_len:bool=False, verify:bool=False, conserve:bool=False): - r = self.select_path(ef) - if not force_len: - rec_length = self.__record_len(r) - if (len(data) // 2 != rec_length): - raise ValueError('Invalid data length (expected %d, got %d)' % (rec_length, len(data) // 2)) - else: + res = self.select_path(ef) + + 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) + if (len(data) // 2 > rec_length): + raise ValueError('Data length exceeds record length (expected max %d, got %d)' % (rec_length, len(data) // 2)) + elif (len(data) // 2 < rec_length): + data = rpad(data, rec_length * 2) # Save write cycles by reading+comparing before write if conserve: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9a5df0e46c3dd2e87d447c5c01cf15844b0eed07 Gerrit-Change-Number: 24008 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:05:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:05:51 +0000 Subject: Change in pysim[master]: utils: split string formatting from dec_addr_tlv In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24010 ) Change subject: utils: split string formatting from dec_addr_tlv ...................................................................... utils: split string formatting from dec_addr_tlv The function dec_addr_tlv() takes an encoded FQDN or IPv4 address and fromats it into a human readable string that contains the human readable form and the encoded hex form. Unfortunately this limits the usecase of dec_addr_tlv. Lets split the string generation into a separate function so that we can use dec_addr_tlv universally Change-Id: Id017b0786089adac4d6c5be688742eaa9699e529 Related: OS#4963 --- M pySim/cards.py M pySim/utils.py 2 files changed, 36 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/cards.py b/pySim/cards.py index 7744c7a..c41f343 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -32,6 +32,24 @@ from smartcard.util import toBytes from pytlv.TLV import * +def format_addr(addr:str, addr_type:str) -> str: + """ + helper function to format an FQDN (addr_type = '00') or IPv4 + (addr_type = '01') address string into a printable string that + contains the hexadecimal representation and the original address + string (addr) + """ + res = "" + if addr_type == '00': #FQDN + res += "\t%s # %s\n" % (s2h(addr), addr) + elif addr_type == '01': #IPv4 + octets = addr.split(".") + addr_hex = "" + for o in octets: + addr_hex += ("%02x" % int(o)) + res += "\t%s # %s\n" % (addr_hex, addr) + return res + class Card(object): name = 'SIM' @@ -316,7 +334,12 @@ def read_epdgid(self): (res, sw) = self._scc.read_binary(EF_USIM_ADF_map['ePDGId']) if sw == '9000': - return (dec_addr_tlv(res), sw) + try: + addr, addr_type = dec_addr_tlv(res) + except: + addr = None + addr_type = None + return (format_addr(addr, addr_type), sw) else: return (None, sw) @@ -378,7 +401,12 @@ for i in range(0, rec_cnt): (res, sw) = self._scc.read_record(EF_ISIM_ADF_map['PCSCF'], i + 1) if sw == '9000': - content = dec_addr_tlv(res) + try: + addr, addr_type = dec_addr_tlv(res) + except: + addr = None + addr_type = None + content = format_addr(addr, addr_type) pcscf_recs += "%s" % (len(content) and content or '\tNot available\n') else: pcscf_recs += "\tP-CSCF: Can't read, response code = %s\n" % (sw) diff --git a/pySim/utils.py b/pySim/utils.py index 3a8ddac..ff55642 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -692,8 +692,6 @@ # Convert from hex str to int bytes list addr_tlv_bytes = h2i(hexstr) - s = "" - # Get list of tuples containing parsed TLVs tlvs = TLV_parser(addr_tlv_bytes) @@ -718,15 +716,18 @@ if addr_type == 0x00: #FQDN # Skip address tye byte i.e. first byte in value list content = tlv[2][1:] - s += "\t%s # %s\n" % (i2h(content), i2s(content)) + return (i2s(content), '00') + elif addr_type == 0x01: #IPv4 # Skip address tye byte i.e. first byte in value list # Skip the unused byte in Octect 4 after address type byte as per 3GPP TS 31.102 ipv4 = tlv[2][2:] content = '.'.join(str(x) for x in ipv4) - s += "\t%s # %s\n" % (i2h(ipv4), content) + return (content, '01') + else: + raise ValueError("Invalid address type") - return s + return (None, None) def enc_addr_tlv(addr, addr_type='00'): """ -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id017b0786089adac4d6c5be688742eaa9699e529 Gerrit-Change-Number: 24010 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:05:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:05:52 +0000 Subject: Change in pysim[master]: ts_31_103: finish decoder and fix encoder for EF.PCSCF In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24011 ) Change subject: ts_31_103: finish decoder and fix encoder for EF.PCSCF ...................................................................... ts_31_103: finish decoder and fix encoder for EF.PCSCF The encoder/decoder functions in class EF_PCSCF look rather unfinshed because of problems with dec_addr_tlv(), since those problems are fixed by a previous patch we can now finish the decoder function and fix the decoder as well. Change-Id: I7613b8b71624dc5802aca93163788a2a2d4ca345 Related: OS#4963 --- M pySim/ts_31_103.py 1 file changed, 5 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pySim/ts_31_103.py b/pySim/ts_31_103.py index 6224bc8..5ca8279 100644 --- a/pySim/ts_31_103.py +++ b/pySim/ts_31_103.py @@ -116,10 +116,12 @@ def __init__(self, fid='6f09', sfid=None, name='EF.P-CSCF', desc='P-CSCF Address'): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) def _decode_record_hex(self, raw_hex): - # FIXME: this doesn't do JSON output - return dec_addr_tlv(raw_hex) + addr, addr_type = dec_addr_tlv(raw_hex) + return {"addr": addr, "addr_type": addr_type} def _encode_record_hex(self, json_in): - return enc_addr_tlv(json_in) + addr = json_in['addr'] + addr_type = json_in['addr_type'] + return enc_addr_tlv(addr, addr_type) # TS 31.103 Section 4.2.9 class EF_GBABP(TransparentEF): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24011 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7613b8b71624dc5802aca93163788a2a2d4ca345 Gerrit-Change-Number: 24011 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:06:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:06:06 +0000 Subject: Change in pysim[master]: pySim-read: adjust meaning of HPLMN/OPLMN flags in EF_SPN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24249 ) Change subject: pySim-read: adjust meaning of HPLMN/OPLMN flags in EF_SPN ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I65c6f0e9bc1a12a4a74c4274eebb8e612296888f Gerrit-Change-Number: 24249 Gerrit-PatchSet: 1 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 10:06:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:06:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:06:08 +0000 Subject: Change in pysim[master]: pySim-read: adjust meaning of HPLMN/OPLMN flags in EF_SPN In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24249 ) Change subject: pySim-read: adjust meaning of HPLMN/OPLMN flags in EF_SPN ...................................................................... pySim-read: adjust meaning of HPLMN/OPLMN flags in EF_SPN The updated wording better reflects the actual meaning of a set or unset flag, especially as OPLMN is inverted. Change-Id: I65c6f0e9bc1a12a4a74c4274eebb8e612296888f --- M pySim-read.py M pysim-testdata/Fairwaves-SIM.ok M pysim-testdata/Wavemobile-SIM.ok M pysim-testdata/fakemagicsim.ok M pysim-testdata/sysmoISIM-SJA2.ok M pysim-testdata/sysmoUSIM-SJS1.ok M pysim-testdata/sysmosim-gr1.ok 7 files changed, 14 insertions(+), 14 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim-read.py b/pySim-read.py index 1614a39..1f2e123 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -126,8 +126,8 @@ (res, sw) = card.read_spn() if sw == '9000': print("SPN: %s" % (res[0] or "Not available")) - print("Display HPLMN: %s" % (res[1],)) - print("Display OPLMN: %s" % (res[2],)) + print("Show in HPLMN: %s" % (res[1],)) + print("Hide in OPLMN: %s" % (res[2],)) else: print("SPN: Can't read, response code = %s" % (sw,)) except Exception as e: diff --git a/pysim-testdata/Fairwaves-SIM.ok b/pysim-testdata/Fairwaves-SIM.ok index eebf965..2a912e2 100644 --- a/pysim-testdata/Fairwaves-SIM.ok +++ b/pysim-testdata/Fairwaves-SIM.ok @@ -7,8 +7,8 @@ GID2: ffffffffffffffff SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff SPN: Fairwaves -Display HPLMN: False -Display OPLMN: False +Show in HPLMN: False +Hide in OPLMN: False PLMNsel: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: ffffff0000 # unused diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok index a6bdeaa..0eb8cc8 100644 --- a/pysim-testdata/Wavemobile-SIM.ok +++ b/pysim-testdata/Wavemobile-SIM.ok @@ -7,8 +7,8 @@ GID2: Can't read file -- SW match failed! Expected 9000 and got 6a82. SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff SPN: wavemobile -Display HPLMN: False -Display OPLMN: False +Show in HPLMN: False +Hide in OPLMN: False PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN WB-S1, E-UTRAN NB-S1, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT diff --git a/pysim-testdata/fakemagicsim.ok b/pysim-testdata/fakemagicsim.ok index 11296f5..805b360 100644 --- a/pysim-testdata/fakemagicsim.ok +++ b/pysim-testdata/fakemagicsim.ok @@ -8,8 +8,8 @@ GID2: Can't read file -- SW match failed! Expected 9000 and got 9404. SMSP: ffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Magic -Display HPLMN: True -Display OPLMN: False +Show in HPLMN: True +Hide in OPLMN: False PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: Can't read file -- SW match failed! Expected 9000 and got 9404. OPLMNwAcT: Can't read file -- SW match failed! Expected 9000 and got 9404. diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index 8a5d30a..87cb857 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -7,8 +7,8 @@ GID2: ffffffffffffffffffff SMSP: ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Magic -Display HPLMN: True -Display OPLMN: True +Show in HPLMN: True +Hide in OPLMN: True PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN WB-S1, E-UTRAN NB-S1, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT diff --git a/pysim-testdata/sysmoUSIM-SJS1.ok b/pysim-testdata/sysmoUSIM-SJS1.ok index ab15f10..e65f276 100644 --- a/pysim-testdata/sysmoUSIM-SJS1.ok +++ b/pysim-testdata/sysmoUSIM-SJS1.ok @@ -7,8 +7,8 @@ GID2: ffffffffffffffffffff SMSP: ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Magic -Display HPLMN: True -Display OPLMN: True +Show in HPLMN: True +Hide in OPLMN: True PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: 00f110ffff # MCC: 001 MNC: 01 AcT: UTRAN, E-UTRAN WB-S1, E-UTRAN NB-S1, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT diff --git a/pysim-testdata/sysmosim-gr1.ok b/pysim-testdata/sysmosim-gr1.ok index 3aff2a3..60c568b 100644 --- a/pysim-testdata/sysmosim-gr1.ok +++ b/pysim-testdata/sysmosim-gr1.ok @@ -8,8 +8,8 @@ GID2: Can't read file -- SW match failed! Expected 9000 and got 9404. SMSP: ffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Not available -Display HPLMN: False -Display OPLMN: False +Show in HPLMN: False +Hide in OPLMN: False PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: Can't read file -- SW match failed! Expected 9000 and got 9404. OPLMNwAcT: Can't read file -- SW match failed! Expected 9000 and got 9404. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I65c6f0e9bc1a12a4a74c4274eebb8e612296888f Gerrit-Change-Number: 24249 Gerrit-PatchSet: 2 Gerrit-Owner: Falkenber9 Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:07:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:07:03 +0000 Subject: Change in osmo-bts[master]: [VAMOS] common: make 'struct gsm_bts_trx_ts' pointers const In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24336 ) Change subject: [VAMOS] common: make 'struct gsm_bts_trx_ts' pointers const ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0369ef4ae603a4afed0661a5894df6a7135b1919 Gerrit-Change-Number: 24336 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 10:07:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:07:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:07:59 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_data.h: fix wrong bit-mask in BSIC2BCC macro In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24337 ) Change subject: [VAMOS] gsm_data.h: fix wrong bit-mask in BSIC2BCC macro ...................................................................... Patch Set 1: Code-Review+2 that's actually a serious bug. Maybe something to cherry pick to 2021q1? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id24ad64e6c6de080ab43faa272daf844fbba6954 Gerrit-Change-Number: 24337 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 10:07:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:08:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:08:36 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_data.h: introduce and use BTS_TSC macro In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24338 ) Change subject: [VAMOS] gsm_data.h: introduce and use BTS_TSC macro ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0cf915d2d3a640aa1442cf6abe9a314261b4a64e Gerrit-Change-Number: 24338 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 10:08:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:09:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:09:19 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: rework and split up bts_sched_fn() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24323 ) Change subject: [VAMOS] osmo-bts-trx: rework and split up bts_sched_fn() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iec78989517865b3275a9784d1042a5ebd1d2815f Gerrit-Change-Number: 24323 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 23 May 2021 10:09:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:09:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:09:27 +0000 Subject: Change in osmo-bts[master]: [VAMOS] common: make 'struct gsm_bts_trx_ts' pointers const In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24336 ) Change subject: [VAMOS] common: make 'struct gsm_bts_trx_ts' pointers const ...................................................................... [VAMOS] common: make 'struct gsm_bts_trx_ts' pointers const Change-Id: I0369ef4ae603a4afed0661a5894df6a7135b1919 --- M include/osmo-bts/gsm_data.h M src/common/gsm_data.c 2 files changed, 7 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index be18007..50ee88e 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -526,9 +526,9 @@ struct gsm_lchan *rsl_lchan_lookup(struct gsm_bts_trx *trx, uint8_t chan_nr, int *rc); -enum gsm_phys_chan_config ts_pchan(struct gsm_bts_trx_ts *ts); -uint8_t ts_subslots(struct gsm_bts_trx_ts *ts); -bool ts_is_tch(struct gsm_bts_trx_ts *ts); +enum gsm_phys_chan_config ts_pchan(const struct gsm_bts_trx_ts *ts); +uint8_t ts_subslots(const struct gsm_bts_trx_ts *ts); +bool ts_is_tch(const struct gsm_bts_trx_ts *ts); int lchan2ecu_codec(const struct gsm_lchan *lchan); diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 7cf48bf..f109722 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -352,7 +352,7 @@ }; /*! Return the actual pchan type, also heeding dynamic TS. */ -enum gsm_phys_chan_config ts_pchan(struct gsm_bts_trx_ts *ts) +enum gsm_phys_chan_config ts_pchan(const struct gsm_bts_trx_ts *ts) { switch (ts->pchan) { case GSM_PCHAN_TCH_F_TCH_H_PDCH: @@ -369,7 +369,7 @@ /*! According to ts->pchan and possibly ts->dyn_pchan, return the number of * logical channels available in the timeslot. */ -uint8_t ts_subslots(struct gsm_bts_trx_ts *ts) +uint8_t ts_subslots(const struct gsm_bts_trx_ts *ts) { return subslots_per_pchan[ts_pchan(ts)]; } @@ -385,7 +385,7 @@ } } -bool ts_is_tch(struct gsm_bts_trx_ts *ts) +bool ts_is_tch(const struct gsm_bts_trx_ts *ts) { return pchan_is_tch(ts_pchan(ts)); } @@ -403,7 +403,7 @@ /* determine the ECU codec constant for the codec used by given lchan */ int lchan2ecu_codec(const struct gsm_lchan *lchan) { - struct gsm_bts_trx_ts *ts = lchan->ts; + const struct gsm_bts_trx_ts *ts = lchan->ts; switch (lchan->tch_mode) { case GSM48_CMODE_SPEECH_V1: -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0369ef4ae603a4afed0661a5894df6a7135b1919 Gerrit-Change-Number: 24336 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:09:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:09:27 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_data.h: fix wrong bit-mask in BSIC2BCC macro In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24337 ) Change subject: [VAMOS] gsm_data.h: fix wrong bit-mask in BSIC2BCC macro ...................................................................... [VAMOS] gsm_data.h: fix wrong bit-mask in BSIC2BCC macro BCC takes 3 LSB bits of the BSIC, so we should apply 0b111 or 0x07. The BSIC is specified in 3GPP TS 03.03 section 4.3.2. Change-Id: Id24ad64e6c6de080ab43faa272daf844fbba6954 Related: SYS#5315, OS#4940 --- M include/osmo-bts/gsm_data.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 50ee88e..69b18bc 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -519,7 +519,7 @@ uint8_t gsm_lchan_as_pchan2chan_nr(const struct gsm_lchan *lchan, enum gsm_phys_chan_config as_pchan); -#define BSIC2BCC(bsic) ((bsic) & 0x3) +#define BSIC2BCC(bsic) ((bsic) & 0x07) uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id24ad64e6c6de080ab43faa272daf844fbba6954 Gerrit-Change-Number: 24337 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:09:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:09:27 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_data.h: introduce and use BTS_TSC macro In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24338 ) Change subject: [VAMOS] gsm_data.h: introduce and use BTS_TSC macro ...................................................................... [VAMOS] gsm_data.h: introduce and use BTS_TSC macro Change-Id: I0cf915d2d3a640aa1442cf6abe9a314261b4a64e Related: SYS#5315, OS#4940 --- M include/osmo-bts/gsm_data.h M src/common/gsm_data.c M src/common/l1sap.c M src/common/oml.c M src/osmo-bts-lc15/oml.c M src/osmo-bts-oc2g/oml.c M src/osmo-bts-octphy/l1_oml.c M src/osmo-bts-sysmo/oml.c 8 files changed, 15 insertions(+), 14 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 69b18bc..3dfd5b7 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -520,6 +520,7 @@ enum gsm_phys_chan_config as_pchan); #define BSIC2BCC(bsic) ((bsic) & 0x07) +#define BTS_TSC(bts) BSIC2BCC((bts)->bsic) uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts); diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index f109722..f014acf 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -277,7 +277,7 @@ if (ts->tsc != -1) return ts->tsc; else - return ts->trx->bts->bsic & 7; + return BTS_TSC(ts->trx->bts); } /* determine logical channel based on TRX and channel number IE */ diff --git a/src/common/l1sap.c b/src/common/l1sap.c index b74e0d3..45abe4e 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1975,10 +1975,10 @@ /* The PHY may not support using different TSCs */ if (!osmo_bts_has_feature(trx->bts->features, BTS_FEAT_MULTI_TSC) - && cd->h0.tsc != (trx->bts->bsic & 7)) { + && cd->h0.tsc != BTS_TSC(trx->bts)) { LOGPLCHAN(lchan, DL1C, LOGL_ERROR, "This PHY does not support " "lchan TSC %u != BSIC-TSC %u, sending NACK\n", - cd->h0.tsc, trx->bts->bsic & 7); + cd->h0.tsc, BTS_TSC(trx->bts)); return -RSL_ERR_SERV_OPT_UNIMPL; } } diff --git a/src/common/oml.c b/src/common/oml.c index c32260b..0bbe0a6 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -964,7 +964,7 @@ ts->tsc = *TLVP_VAL(&tp, NM_ATT_TSC); } else { /* If there is no TSC specified, use the BCC */ - ts->tsc = BSIC2BCC(bts->bsic); + ts->tsc = BTS_TSC(bts); } LOGPFOH(DOML, LOGL_INFO, foh, "SET CHAN ATTR (TSC=%u pchan=%s", ts->tsc, gsm_pchan_name(ts->pchan)); diff --git a/src/osmo-bts-lc15/oml.c b/src/osmo-bts-lc15/oml.c index 39d0e5e..3010fe7 100644 --- a/src/osmo-bts-lc15/oml.c +++ b/src/osmo-bts-lc15/oml.c @@ -432,7 +432,7 @@ dev_par->freqBand = lc15_band; dev_par->u16Arfcn = trx->arfcn; dev_par->u16BcchArfcn = trx->bts->c0->arfcn; - dev_par->u8NbTsc = trx->bts->bsic & 7; + dev_par->u8NbTsc = BTS_TSC(trx->bts); if (!trx_ms_pwr_ctrl_is_osmo(trx)) { /* Target is in the middle between lower and upper RxLev thresholds */ @@ -1835,9 +1835,9 @@ * channels with a different TSC!! */ if (TLVP_PRESENT(new_attr, NM_ATT_TSC) && TLVP_LEN(new_attr, NM_ATT_TSC) >= 1 && - *TLVP_VAL(new_attr, NM_ATT_TSC) != (bts->bsic & 7)) { + *TLVP_VAL(new_attr, NM_ATT_TSC) != BTS_TSC(bts)) { LOGP(DOML, LOGL_ERROR, "Channel TSC %u != BSIC-TSC %u\n", - *TLVP_VAL(new_attr, NM_ATT_TSC), bts->bsic & 7); + *TLVP_VAL(new_attr, NM_ATT_TSC), BTS_TSC(bts)); return -NM_NACK_PARAM_RANGE; } break; diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c index 8fd3688..151b92e 100644 --- a/src/osmo-bts-oc2g/oml.c +++ b/src/osmo-bts-oc2g/oml.c @@ -447,7 +447,7 @@ dev_par->freqBand = oc2g_band; dev_par->u16Arfcn = trx->arfcn; dev_par->u16BcchArfcn = trx->bts->c0->arfcn; - dev_par->u8NbTsc = trx->bts->bsic & 7; + dev_par->u8NbTsc = BTS_TSC(trx->bts); if (!trx_ms_pwr_ctrl_is_osmo(trx)) { /* Target is in the middle between lower and upper RxLev thresholds */ @@ -1844,9 +1844,9 @@ * channels with a different TSC!! */ if (TLVP_PRESENT(new_attr, NM_ATT_TSC) && TLVP_LEN(new_attr, NM_ATT_TSC) >= 1 && - *TLVP_VAL(new_attr, NM_ATT_TSC) != (bts->bsic & 7)) { + *TLVP_VAL(new_attr, NM_ATT_TSC) != BTS_TSC(bts)) { LOGP(DOML, LOGL_ERROR, "Channel TSC %u != BSIC-TSC %u\n", - *TLVP_VAL(new_attr, NM_ATT_TSC), bts->bsic & 7); + *TLVP_VAL(new_attr, NM_ATT_TSC), BTS_TSC(bts)); return -NM_NACK_PARAM_RANGE; } break; diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c index b7f4935..9bd01f4 100644 --- a/src/osmo-bts-octphy/l1_oml.c +++ b/src/osmo-bts-octphy/l1_oml.c @@ -1352,7 +1352,7 @@ } oc->Config.usBcchArfcn = trx->bts->c0->arfcn; #endif - oc->Config.usTsc = trx->bts->bsic & 0x7; + oc->Config.usTsc = BTS_TSC(trx->bts); oc->RfConfig.ulRxGainDb = plink->u.octphy.rx_gain_db; /* FIXME: compute this based on nominal transmit power, etc. */ if (plink->u.octphy.tx_atten_flag) { diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c index ac3176c..25c5651 100644 --- a/src/osmo-bts-sysmo/oml.c +++ b/src/osmo-bts-sysmo/oml.c @@ -427,7 +427,7 @@ dev_par->freqBand = femto_band; dev_par->u16Arfcn = trx->arfcn; dev_par->u16BcchArfcn = trx->bts->c0->arfcn; - dev_par->u8NbTsc = trx->bts->bsic & 7; + dev_par->u8NbTsc = BTS_TSC(trx->bts); if (!trx_ms_pwr_ctrl_is_osmo(trx)) { /* Target is in the middle between lower and upper RxLev thresholds */ @@ -1748,9 +1748,9 @@ * one one TRX, so we need to make sure not to activate * channels with a different TSC!! */ if (TLVP_PRES_LEN(new_attr, NM_ATT_TSC, 1) && - *TLVP_VAL(new_attr, NM_ATT_TSC) != (bts->bsic & 7)) { + *TLVP_VAL(new_attr, NM_ATT_TSC) != BTS_TSC(bts)) { LOGP(DOML, LOGL_ERROR, "Channel TSC %u != BSIC-TSC %u\n", - *TLVP_VAL(new_attr, NM_ATT_TSC), bts->bsic & 7); + *TLVP_VAL(new_attr, NM_ATT_TSC), BTS_TSC(bts)); return -NM_NACK_PARAM_RANGE; } break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0cf915d2d3a640aa1442cf6abe9a314261b4a64e Gerrit-Change-Number: 24338 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:10:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:10:06 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: implement and enable PDU batching for TRXDv2 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24324 ) Change subject: [VAMOS] osmo-bts-trx: implement and enable PDU batching for TRXDv2 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b4cc8e10cd683b28d22e32890569484cd20372d Gerrit-Change-Number: 24324 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 23 May 2021 10:10:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:10:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:10:35 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: indicate MTS in Downlink TRXDv2 PDUs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24325 ) Change subject: [VAMOS] osmo-bts-trx: indicate MTS in Downlink TRXDv2 PDUs ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1a17a25883214c068f9b1a6d651128b8f760d1fb Gerrit-Change-Number: 24325 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 23 May 2021 10:10:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:11:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:11:10 +0000 Subject: Change in osmo-bts[master]: [VAMOS] rsl_rx_mode_modif(): handle Channel Identification IE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24339 ) Change subject: [VAMOS] rsl_rx_mode_modif(): handle Channel Identification IE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I07f95e69e6230a1daca62cc0a7c64954f191fa8a Gerrit-Change-Number: 24339 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 10:11:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:11:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:11:56 +0000 Subject: Change in osmo-bts[master]: [VAMOS] rsl: call bts_supports_cm() from rsl_handle_chan_mod_ie() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24340 ) Change subject: [VAMOS] rsl: call bts_supports_cm() from rsl_handle_chan_mod_ie() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I31a444592436705ec9d6ddade3cbfa7f8cb4bb91 Gerrit-Change-Number: 24340 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 10:11:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:12:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:12:46 +0000 Subject: Change in osmo-bts[master]: [VAMOS] bts_supports_cm(): handle RSL_CMOD_CRT_OSMO_TCH_VAMOS_{Bm, Lm} In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24341 ) Change subject: [VAMOS] bts_supports_cm(): handle RSL_CMOD_CRT_OSMO_TCH_VAMOS_{Bm,Lm} ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I61040df30246ff79c9b13055bb1fec92fe64f3dd Gerrit-Change-Number: 24341 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 10:12:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:13:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:13:07 +0000 Subject: Change in osmo-bts[master]: [VAMOS] common/scheduler: unify symbol names for training sequences In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24326 ) Change subject: [VAMOS] common/scheduler: unify symbol names for training sequences ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice464e5b02b11b0f13df247fe6a01420a29bf1c5 Gerrit-Change-Number: 24326 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 23 May 2021 10:13:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:15:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:15:28 +0000 Subject: Change in osmo-bts[master]: [VAMOS] scheduler: add new GMSK training sequences from 3GPP 45.002 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24328 ) Change subject: [VAMOS] scheduler: add new GMSK training sequences from 3GPP 45.002 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I03fe712da5a3cc1a59f40a98a57f43306c3586c6 Gerrit-Change-Number: 24328 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 23 May 2021 10:15:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:16:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:16:25 +0000 Subject: Change in osmo-bts[master]: [VAMOS] l1sap_chan_act(): handle Osmocom specific Training Sequence IE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24329 ) Change subject: [VAMOS] l1sap_chan_act(): handle Osmocom specific Training Sequence IE ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I717e5b2a6ca5b4faeaab9cae4bb971907945871b Gerrit-Change-Number: 24329 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 10:16:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:19:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:19:28 +0000 Subject: Change in osmo-bts[master]: common/vty: facilitate finding duplicate PHY/TRX associations In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24289 ) Change subject: common/vty: facilitate finding duplicate PHY/TRX associations ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I132e08fc496abef278b94254cebfac7a4285a7c2 Gerrit-Change-Number: 24289 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 10:19:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:19:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:19:52 +0000 Subject: Change in osmo-bts[master]: common: phy_links_open(): warn about dangling PHY instances In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24288 ) Change subject: common: phy_links_open(): warn about dangling PHY instances ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8d84bf7a00da6b985cb3dc314e86cacac8d4f48c Gerrit-Change-Number: 24288 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 23 May 2021 10:19:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:20:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:20:11 +0000 Subject: Change in osmo-bts[master]: vty: ensure all warning messages are prefixed with '%%' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24290 ) Change subject: vty: ensure all warning messages are prefixed with '%%' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I23fc1cd8aa5725de06651f061c9fce6a022adfa8 Gerrit-Change-Number: 24290 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 23 May 2021 10:20:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:22:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:22:57 +0000 Subject: Change in libosmo-abis[master]: ipa: do not open socket in nonblocking mode In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24332 ) Change subject: ipa: do not open socket in nonblocking mode ...................................................................... Patch Set 1: Code-Review-2 this code is used by all kinds of applications and users. Osmocom programs are single-threaded, event loop based designs. We cannot ever introduce _blocking_ operations of any sort! What if the destination host is unreachable? It will block the entire process until some timeout happens. Or what if the destination host is super slow to respond (think of ultra-high-latency satellite connections) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I926a75920f7a15c670f7445f2e74e876c5fad7be Gerrit-Change-Number: 24332 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Sun, 23 May 2021 10:22:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:29:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:29:40 +0000 Subject: Change in osmo-sgsn[master]: add support for multiple encryption algorithms + a5/4 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 ) Change subject: add support for multiple encryption algorithms + a5/4 ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/2/src/sgsn/gprs_gmm.c File src/sgsn/gprs_gmm.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/2/src/sgsn/gprs_gmm.c at 452 PS2, Line 452: >>= I have to admit I don't think I've ever seen this construct before. At least I am not able to read this without thinking rather hard what is happening here... But maybe that's just me. https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/2/src/sgsn/sgsn_vty.c File src/sgsn/sgsn_vty.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/2/src/sgsn/sgsn_vty.c at 732 PS2, Line 732: (GEA0-4) [GEA0-4] [GEA0-4] [GEA0-4] [GEA0-4] I don't think this works as expected, does it? all-caps tokens in VTY parser syntax are typically "accept any string". I would go for something that's in-line with e.g. osmo-bsc for A5: "encryption a5 <0-3> [<0-3>] [<0-3>] [<0-3>]" Here the <> indicates that it's an integer range and the VTY parser will ensure you cannot enter anything else. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Gerrit-Change-Number: 24304 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 23 May 2021 10:29:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:30:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:30:01 +0000 Subject: Change in osmo-bsc[master]: bsc: Use osmo_clock_gettime everywhere In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24269 ) Change subject: bsc: Use osmo_clock_gettime everywhere ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I585910277f36d9d7950c9d7e435356eaf2a11ed7 Gerrit-Change-Number: 24269 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 10:30:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:30:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:30:40 +0000 Subject: Change in osmo-bsc[master]: bsc: Clean up TS selection in ipaccess_sign_link_up/down In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24268 ) Change subject: bsc: Clean up TS selection in ipaccess_sign_link_up/down ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3e60ebc979010830a5c40112824893a640c58fd4 Gerrit-Change-Number: 24268 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 10:30:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:30:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:30:44 +0000 Subject: Change in osmo-bsc[master]: ipaccess-config: Clean up sign_link setup helper In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24267 ) Change subject: ipaccess-config: Clean up sign_link setup helper ...................................................................... ipaccess-config: Clean up sign_link setup helper Change-Id: I7a5231690c9f2f1c2378b1035900c6c246deb994 --- M src/ipaccess/ipaccess-config.c 1 file changed, 9 insertions(+), 8 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/ipaccess/ipaccess-config.c b/src/ipaccess/ipaccess-config.c index c9264d7..cf649bd 100644 --- a/src/ipaccess/ipaccess-config.c +++ b/src/ipaccess/ipaccess-config.c @@ -144,17 +144,18 @@ } line->ops = &ipaccess_e1inp_line_ops; - /* create E1 timeslots for signalling and TRAU frames */ - e1inp_ts_config_sign(&line->ts[1-1], line); - e1inp_ts_config_sign(&line->ts[2-1], line); + sign_ts = e1inp_line_ipa_oml_ts(line); + rsl_ts = e1inp_line_ipa_rsl_ts(line, 0); - /* create signalling links for TS1 */ - sign_ts = &line->ts[1-1]; - rsl_ts = &line->ts[2-1]; + /* create E1 timeslots for signalling and TRAU frames */ + e1inp_ts_config_sign(sign_ts, line); + e1inp_ts_config_sign(rsl_ts, line); + + /* create signalling links for TRX0 */ oml_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_OML, - bts->c0, 0xff, 0); + bts->c0, IPAC_PROTO_OML, 0); rsl_link = e1inp_sign_link_create(rsl_ts, E1INP_SIGN_RSL, - bts->c0, 0, 0); + bts->c0, IPAC_PROTO_RSL, 0); /* create back-links from bts/trx */ bts->oml_link = oml_link; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7a5231690c9f2f1c2378b1035900c6c246deb994 Gerrit-Change-Number: 24267 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:30:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:30:44 +0000 Subject: Change in osmo-bsc[master]: bsc: Clean up TS selection in ipaccess_sign_link_up/down In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24268 ) Change subject: bsc: Clean up TS selection in ipaccess_sign_link_up/down ...................................................................... bsc: Clean up TS selection in ipaccess_sign_link_up/down Change-Id: I3e60ebc979010830a5c40112824893a640c58fd4 --- M src/osmo-bsc/bts_ipaccess_nanobts.c 1 file changed, 5 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index 16fa201..7fb7948 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -678,10 +678,11 @@ struct e1inp_sign_link *sign_link = NULL; struct timespec tp; int rc; + struct e1inp_ts *sign_ts = e1inp_line_ipa_oml_ts(line); bts = find_bts_by_unitid(bsc_gsmnet, dev->site_id, dev->bts_id); if (!bts) { - ipaccess_sign_link_reject(dev, &line->ts[E1INP_SIGN_OML - 1]); + ipaccess_sign_link_reject(dev, sign_ts); return NULL; } DEBUGP(DLINP, "%s: Identified BTS %u/%u/%u\n", e1inp_signtype_name(type), @@ -701,7 +702,7 @@ /* create new OML link. */ sign_link = bts->oml_link = - e1inp_sign_link_create(&line->ts[E1INP_SIGN_OML - 1], + e1inp_sign_link_create(sign_ts, E1INP_SIGN_OML, bts->c0, bts->oml_tei, 0); rc = clock_gettime(CLOCK_MONOTONIC, &tp); @@ -726,7 +727,7 @@ /* set new RSL link for this TRX. */ line = bts->oml_link->ts->line; - ts = &line->ts[E1INP_SIGN_RSL + dev->trx_id - 1]; + ts = e1inp_line_ipa_rsl_ts(line, dev->trx_id); e1inp_ts_config_sign(ts, line); sign_link = trx->rsl_link = e1inp_sign_link_create(ts, E1INP_SIGN_RSL, @@ -751,7 +752,7 @@ static void ipaccess_sign_link_down(struct e1inp_line *line) { /* No matter what link went down, we close both signal links. */ - struct e1inp_ts *ts = &line->ts[E1INP_SIGN_OML-1]; + struct e1inp_ts *ts = e1inp_line_ipa_oml_ts(line); struct gsm_bts *bts = NULL; struct e1inp_sign_link *link; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3e60ebc979010830a5c40112824893a640c58fd4 Gerrit-Change-Number: 24268 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:30:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:30:45 +0000 Subject: Change in osmo-bsc[master]: bsc: Use osmo_clock_gettime everywhere In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24269 ) Change subject: bsc: Use osmo_clock_gettime everywhere ...................................................................... bsc: Use osmo_clock_gettime everywhere Change-Id: I585910277f36d9d7950c9d7e435356eaf2a11ed7 --- M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/e1_config.c 3 files changed, 3 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved dexter: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 66bd360..857ddd2 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -570,7 +570,7 @@ return 0; } - if (clock_gettime(CLOCK_MONOTONIC, &tp) != 0) { + if (osmo_clock_gettime(CLOCK_MONOTONIC, &tp) != 0) { LOGP(DNM, LOGL_ERROR, "BTS %u uptime computation failure: %s\n", bts->nr, strerror(errno)); return 0; } diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index 7fb7948..019c8b8 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -705,7 +705,7 @@ e1inp_sign_link_create(sign_ts, E1INP_SIGN_OML, bts->c0, bts->oml_tei, 0); - rc = clock_gettime(CLOCK_MONOTONIC, &tp); + rc = osmo_clock_gettime(CLOCK_MONOTONIC, &tp); bts->uptime = (rc < 0) ? 0 : tp.tv_sec; /* we don't need sub-second precision for uptime */ if (!(sign_link->trx->bts->ip_access.flags & OML_UP)) { e1inp_event(sign_link->ts, S_L_INP_TEI_UP, diff --git a/src/osmo-bsc/e1_config.c b/src/osmo-bsc/e1_config.c index 9ccbbfd..bdf7d1c 100644 --- a/src/osmo-bsc/e1_config.c +++ b/src/osmo-bsc/e1_config.c @@ -196,7 +196,7 @@ if (bts->oml_link) e1inp_sign_link_destroy(bts->oml_link); bts->oml_link = oml_link; - rc = clock_gettime(CLOCK_MONOTONIC, &tp); + rc = osmo_clock_gettime(CLOCK_MONOTONIC, &tp); bts->uptime = (rc < 0) ? 0 : tp.tv_sec; /* we don't need sub-second precision for uptime */ llist_for_each_entry(trx, &bts->trx_list, list) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I585910277f36d9d7950c9d7e435356eaf2a11ed7 Gerrit-Change-Number: 24269 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:31:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:31:35 +0000 Subject: Change in osmo-sgsn[master]: vty: Fix optional display of pdp with mm-context In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24309 ) Change subject: vty: Fix optional display of pdp with mm-context ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Idcde4dd30a39625b24a1c3a38901349875e0949a Gerrit-Change-Number: 24309 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 23 May 2021 10:31:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:31:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:31:40 +0000 Subject: Change in osmo-sgsn[master]: vty: Fix optional display of pdp with mm-context In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24309 ) Change subject: vty: Fix optional display of pdp with mm-context ...................................................................... vty: Fix optional display of pdp with mm-context The vty is randomly including the pdp context when the vty command 'show mm-context all' is issued without the pdp parameter. I do not know why, but I assume that relying on a true/false test of argv[0] has unpredictable results. Change-Id: Idcde4dd30a39625b24a1c3a38901349875e0949a --- M src/sgsn/sgsn_vty.c 1 file changed, 2 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/sgsn/sgsn_vty.c b/src/sgsn/sgsn_vty.c index 76d5202..3b2a04a 100644 --- a/src/sgsn/sgsn_vty.c +++ b/src/sgsn/sgsn_vty.c @@ -654,7 +654,7 @@ argv[0], VTY_NEWLINE); return CMD_WARNING; } - vty_dump_mmctx(vty, "", mm, argv[1] ? 1 : 0); + vty_dump_mmctx(vty, "", mm, (argc > 1) ? 1 : 0); return CMD_SUCCESS; } @@ -663,9 +663,8 @@ SHOW_STR MMCTX_STR "All MM Contexts\n" INCLUDE_PDP_STR) { struct sgsn_mm_ctx *mm; - llist_for_each_entry(mm, &sgsn_mm_ctxts, list) - vty_dump_mmctx(vty, "", mm, argv[0] ? 1 : 0); + vty_dump_mmctx(vty, "", mm, (argc > 0) ? 1 : 0); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Idcde4dd30a39625b24a1c3a38901349875e0949a Gerrit-Change-Number: 24309 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:32:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:32:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2: sns: fix del bind() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24120 ) Change subject: gprs_ns2: sns: fix del bind() ...................................................................... gprs_ns2: sns: fix del bind() When the bind to be removed is not the last entry, it would remove the wrong SNS bind resulting in use-after-free memory. Change-Id: I79062d404ebba9d5c8f7f209bebde146fa08c71f --- M src/gb/gprs_ns2_sns.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved daniel: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index c6e80af..296a2e7 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -1995,6 +1995,7 @@ if (tmp->bind == bind) { llist_del(&tmp->list); found = true; + break; } } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I79062d404ebba9d5c8f7f209bebde146fa08c71f Gerrit-Change-Number: 24120 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:32:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:32:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2: vty: fix removing a bind from a SNS In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24121 ) Change subject: gprs_ns2: vty: fix removing a bind from a SNS ...................................................................... gprs_ns2: vty: fix removing a bind from a SNS Return 0 after removing a bind. Otherwise the vty would return a wrong error to the user. Change-Id: I088c18abafc82ae7bd7b8c487ad9e9b448c42ba9 --- M src/gb/gprs_ns2_vty.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved daniel: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index a782c5c..2777641 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -217,6 +217,7 @@ if (vnse_bind->vbind == vbind) { llist_del(&vnse_bind->list); talloc_free(vnse_bind); + return 0; } } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I088c18abafc82ae7bd7b8c487ad9e9b448c42ba9 Gerrit-Change-Number: 24121 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:33:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:33:18 +0000 Subject: Change in osmo-mgw[master]: mgcp_common, mgcp_udp_send: make parameter buf const In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24314 ) Change subject: mgcp_common, mgcp_udp_send: make parameter buf const ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iac90de5beb19bf52586ac6ffeab9eb5152edf339 Gerrit-Change-Number: 24314 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 10:33:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:33:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:33:45 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: refactor MGCP_DUMMY_LOAD In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24315 ) Change subject: mgcp_network: refactor MGCP_DUMMY_LOAD ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I21d96cefeeb647958bfa1e22a0ea030884746fad Gerrit-Change-Number: 24315 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 10:33:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:33:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 10:33:49 +0000 Subject: Change in osmo-mgw[master]: mgcp_common, mgcp_udp_send: make parameter buf const In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24314 ) Change subject: mgcp_common, mgcp_udp_send: make parameter buf const ...................................................................... mgcp_common, mgcp_udp_send: make parameter buf const When mgcp_udp_send() is called, the memory where *buf is pointing to is never modified. It should be marked as const. Change-Id: Iac90de5beb19bf52586ac6ffeab9eb5152edf339 --- M include/osmocom/mgcp/mgcp.h M src/libosmo-mgcp/mgcp_network.c 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/mgcp/mgcp.h b/include/osmocom/mgcp/mgcp.h index 1de579a..29963cc 100644 --- a/include/osmocom/mgcp/mgcp.h +++ b/include/osmocom/mgcp/mgcp.h @@ -211,4 +211,4 @@ int mgcp_create_bind(const char *source_addr, struct osmo_fd *fd, int port, uint8_t dscp, uint8_t prio); -int mgcp_udp_send(int fd, struct osmo_sockaddr *addr, int port, char *buf, int len); +int mgcp_udp_send(int fd, struct osmo_sockaddr *addr, int port, const char *buf, int len); diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index abe01c9..e03c100 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -177,7 +177,7 @@ * \param[in] buf buffer that holds the data to be send. * \param[in] len length of the data to be sent. * \returns bytes sent, -1 on error. */ -int mgcp_udp_send(int fd, struct osmo_sockaddr *addr, int port, char *buf, int len) +int mgcp_udp_send(int fd, struct osmo_sockaddr *addr, int port, const char *buf, int len) { char ipbuf[INET6_ADDRSTRLEN]; size_t addr_len; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iac90de5beb19bf52586ac6ffeab9eb5152edf339 Gerrit-Change-Number: 24314 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 10:36:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 10:36:06 +0000 Subject: Change in osmo-bts[master]: common: phy_links_open(): warn about dangling PHY instances In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24288 ) Change subject: common: phy_links_open(): warn about dangling PHY instances ...................................................................... common: phy_links_open(): warn about dangling PHY instances Change-Id: I8d84bf7a00da6b985cb3dc314e86cacac8d4f48c --- M src/common/phy_link.c 1 file changed, 9 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/phy_link.c b/src/common/phy_link.c index 93c6f2c..7743c22 100644 --- a/src/common/phy_link.c +++ b/src/common/phy_link.c @@ -154,11 +154,20 @@ int phy_links_open(void) { + const struct phy_instance *pinst; struct phy_link *plink; llist_for_each_entry(plink, &g_phy_links, list) { int rc; + /* Warn about dangling PHY instances */ + llist_for_each_entry(pinst, &plink->instances, list) { + if (pinst->trx != NULL) + continue; + LOGPPHI(pinst, DL1C, LOGL_NOTICE, "This PHY instance is not associated " + "with a TRX instance, check the configuration file!\n"); + } + rc = bts_model_phy_link_open(plink); if (rc < 0) return rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8d84bf7a00da6b985cb3dc314e86cacac8d4f48c Gerrit-Change-Number: 24288 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 12:06:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 12:06:27 +0000 Subject: Change in pysim[master]: commands: resolve inconsistency on sel_ctrl References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24343 ) Change subject: commands: resolve inconsistency on sel_ctrl ...................................................................... commands: resolve inconsistency on sel_ctrl The code uses self.sel_ctrl everywhere except in the two @property methods, where the _sel_ctrl variable is used. Let's just abandon those property methods and make sure all users directly use the [public] sel_ctrl member variable. Change-Id: I10362300c1cf7b493d89bf71bbd3a10c80ef9a49 --- M pySim/commands.py 1 file changed, 0 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/43/24343/1 diff --git a/pySim/commands.py b/pySim/commands.py index 83ad167..81d8563 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -96,13 +96,6 @@ def cla_byte(self, value): self._cla_byte = value - @property - def sel_ctrl(self): - return self._sel_ctrl - @sel_ctrl.setter - def sel_ctrl(self, value): - self._sel_ctrl = value - def try_select_path(self, dir_list): """ Try to select a specified path given as list of hex-string FIDs""" rv = [] -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I10362300c1cf7b493d89bf71bbd3a10c80ef9a49 Gerrit-Change-Number: 24343 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 12:08:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 12:08:33 +0000 Subject: Change in pysim[master]: commands: remove superfluous getter/setter for cla_byte property References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24344 ) Change subject: commands: remove superfluous getter/setter for cla_byte property ...................................................................... commands: remove superfluous getter/setter for cla_byte property There's little point in having a getter+setter for a property if all it does is assigning a value to an attribute of self. That works without any property methods Change-Id: Id214cc83a29e8aa88f4e1413e07b419285c1b7ff --- M pySim/commands.py 1 file changed, 1 insertion(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/44/24344/1 diff --git a/pySim/commands.py b/pySim/commands.py index 81d8563..f87e743 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -29,7 +29,7 @@ class SimCardCommands(object): def __init__(self, transport): self._tp = transport - self._cla_byte = "a0" + self.cla_byte = "a0" self.sel_ctrl = "0000" # Extract a single FCP item from TLV @@ -89,13 +89,6 @@ """Return the ATR of the currently inserted card.""" return self._tp.get_atr() - @property - def cla_byte(self): - return self._cla_byte - @cla_byte.setter - def cla_byte(self, value): - self._cla_byte = value - def try_select_path(self, dir_list): """ Try to select a specified path given as list of hex-string FIDs""" rv = [] -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id214cc83a29e8aa88f4e1413e07b419285c1b7ff Gerrit-Change-Number: 24344 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 12:10:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 12:10:38 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: rework and split up bts_sched_fn() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24323 ) Change subject: [VAMOS] osmo-bts-trx: rework and split up bts_sched_fn() ...................................................................... [VAMOS] osmo-bts-trx: rework and split up bts_sched_fn() Currently, in bts_sched_fn() we send a Downlink burst to the PHY immediately after calling the associated logical channel handler. Together with the obvious performance advantages, this approach imposes some serious limitations. The code has already become quite complex with the introduction of the baseband frequency hopping, and now it's not possible anymore to extend it further. TRXD PDU batching, which is essential for VAMOS implementation, requires us to make the scheduler more flexible at the expense of increased memory consumption and additional CPU cycles. This patch splits up Downlink burst scheduling into 3 main steps: 1. bts_sched_init_buffers(): initialization of per-TRX Downlink burst buffers allocated by phy_instance_create(). For C0/TRX0 all timeslots are pre-initialized with dummy burst. 2. bts_sched_fn(): generating burst bits for all active lchans. 3. bts_sched_flush_buffers(): sending everything to the PHY. This approach allows us to a) get rid of the ugly tail in bts_sched_fn() that was responsible for sending dummy bursts on C0/TRX0; b) implement the PDU batching and have several variants of bts_sched_flush_buffers() providing the alternative batching approaches later on; c) implement PDU merging for the upcoming shadow transceivers. Change-Id: Iec78989517865b3275a9784d1042a5ebd1d2815f Related: SYS#4895, OS#4941 --- M include/osmo-bts/phy_link.h M src/osmo-bts-trx/scheduler_trx.c 2 files changed, 76 insertions(+), 51 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index bd1a0c3..4b8a863 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -113,6 +113,7 @@ struct { struct trx_l1h *hdl; bool sw_act_reported; + struct trx_dl_burst_req br[TRX_NR_TS]; } osmotrx; struct { /* logical transceiver number within one PHY */ diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index c90a0a3..2a37abb 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -3,6 +3,7 @@ /* (C) 2013 by Andreas Eversberg * (C) 2015 by Alexander Chemeris * (C) 2015-2017 by Harald Welte + * (C) 2020-2021 by sysmocom - s.m.f.c. GmbH * * All Rights Reserved * @@ -92,19 +93,72 @@ return NULL; } +static void bts_sched_init_buffers(struct gsm_bts *bts, const uint32_t fn) +{ + struct gsm_bts_trx *trx; + uint8_t tn; + + llist_for_each_entry(trx, &bts->trx_list, list) { + struct phy_instance *pinst = trx->pinst; + const struct phy_link *plink = pinst->phy_link; + + /* Advance frame number, so the PHY has more time to process bursts */ + const uint32_t sched_fn = GSM_TDMA_FN_SUM(fn, plink->u.osmotrx.clock_advance); + + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + struct trx_dl_burst_req *br = &pinst->u.osmotrx.br[tn]; + + *br = (struct trx_dl_burst_req) { + .trx_num = trx->nr, + .fn = sched_fn, + .tn = tn, + }; + } + } + + /* Initialize all timeslots on C0/TRX0 with dummy burst */ + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + struct phy_instance *pinst = bts->c0->pinst; + struct trx_dl_burst_req *br = &pinst->u.osmotrx.br[tn]; + + memcpy(br->burst, _sched_dummy_burst, GSM_BURST_LEN); + br->burst_len = GSM_BURST_LEN; + } +} + +static void bts_sched_flush_buffers(struct gsm_bts *bts) +{ + const struct gsm_bts_trx *trx; + unsigned int tn; + + llist_for_each_entry(trx, &bts->trx_list, list) { + const struct phy_instance *pinst = trx->pinst; + struct trx_l1h *l1h = pinst->u.osmotrx.hdl; + + for (tn = 0; tn < TRX_NR_TS; tn++) { + const struct trx_dl_burst_req *br; + + br = &pinst->u.osmotrx.br[tn]; + if (!br->burst_len) + continue; + trx_if_send_burst(l1h, br); + } + } +} + /* schedule all frames of all TRX for given FN */ static void bts_sched_fn(struct gsm_bts *bts, const uint32_t fn) { - struct trx_dl_burst_req br; struct gsm_bts_trx *trx; - uint8_t c0_mask = 0x00; - uint32_t sched_fn; - uint8_t tn; + unsigned int tn; /* send time indication */ l1if_mph_time_ind(bts, fn); - /* process every TRX */ + /* Initialize Downlink burst buffers */ + bts_sched_init_buffers(bts, fn); + + /* Populate Downlink burst buffers for each TRX/TS */ llist_for_each_entry(trx, &bts->trx_list, list) { const struct phy_link *plink = trx->pinst->phy_link; struct trx_l1h *l1h = trx->pinst->u.osmotrx.hdl; @@ -113,66 +167,36 @@ if (!trx_if_powered(l1h)) continue; - /* advance frame number, so the transceiver has more - * time until it must be transmitted. */ - sched_fn = GSM_TDMA_FN_SUM(fn, plink->u.osmotrx.clock_advance); - /* process every TS of TRX */ for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { - const struct phy_instance *pinst = trx->pinst; - struct l1sched_ts *l1ts = trx->ts[tn].priv; + struct phy_instance *pinst = trx->pinst; + struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + struct l1sched_ts *l1ts = ts->priv; + struct trx_dl_burst_req *br; /* ready-to-send */ - _sched_rts(l1ts, GSM_TDMA_FN_SUM(sched_fn, plink->u.osmotrx.rts_advance)); + _sched_rts(l1ts, GSM_TDMA_FN_SUM(fn, plink->u.osmotrx.clock_advance + + plink->u.osmotrx.rts_advance)); - /* All other parameters to be set by _sched_dl_burst() */ - br = (struct trx_dl_burst_req) { - .fn = sched_fn, - .tn = tn, - }; - - /* get burst for FN */ - _sched_dl_burst(l1ts, &br); - if (br.burst_len == 0) { - /* if no bits, send no burst */ - continue; - } + /* pre-initialized buffer for the Downlink burst */ + br = &pinst->u.osmotrx.br[tn]; /* resolve PHY instance if freq. hopping is enabled */ - if (trx->ts[tn].hopping.enabled) { - pinst = dlfh_route_br(&br, &trx->ts[tn]); + if (ts->hopping.enabled) { + pinst = dlfh_route_br(br, ts); if (pinst == NULL) continue; + /* simply use a different buffer */ + br = &pinst->u.osmotrx.br[tn]; } - if (pinst->trx == bts->c0) { - /* update dummy burst mask for C0 */ - c0_mask |= (1 << tn); - /* ensure no attenuation on C0 */ - br.att = 0; - } - - trx_if_send_burst(pinst->u.osmotrx.hdl, &br); + /* get burst for FN */ + _sched_dl_burst(l1ts, br); } } - /* send dummy bursts on inactive timeslots of C0 */ - struct phy_instance *pinst = trx_phy_instance(bts->c0); - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; - struct phy_link *plink = pinst->phy_link; - - br = (struct trx_dl_burst_req) { - .fn = GSM_TDMA_FN_SUM(fn, plink->u.osmotrx.clock_advance), - .burst_len = GSM_BURST_LEN, - }; - - memcpy(br.burst, _sched_dummy_burst, GSM_BURST_LEN); - - for (br.tn = 0; br.tn < TRX_NR_TS; br.tn++) { - if (c0_mask & (1 << br.tn)) - continue; - trx_if_send_burst(l1h, &br); - } + /* Send everything to the PHY */ + bts_sched_flush_buffers(bts); } /* Find a route (TRX instance) for a given Uplink burst indication */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iec78989517865b3275a9784d1042a5ebd1d2815f Gerrit-Change-Number: 24323 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 12:33:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 12:33:43 +0000 Subject: Change in osmo-bts[2021q1]: gsm_data.h: fix wrong bit-mask in BSIC2BCC macro References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24345 ) Change subject: gsm_data.h: fix wrong bit-mask in BSIC2BCC macro ...................................................................... gsm_data.h: fix wrong bit-mask in BSIC2BCC macro BCC takes 3 LSB bits of the BSIC, so we should apply 0b111 or 0x07. The BSIC is specified in 3GPP TS 03.03 section 4.3.2. Change-Id: Id24ad64e6c6de080ab43faa272daf844fbba6954 Related: SYS#5315, OS#4940 --- M include/osmo-bts/gsm_data.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/45/24345/1 diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index ff0c89c..10bedcc 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -516,7 +516,7 @@ uint8_t gsm_lchan_as_pchan2chan_nr(const struct gsm_lchan *lchan, enum gsm_phys_chan_config as_pchan); -#define BSIC2BCC(bsic) ((bsic) & 0x3) +#define BSIC2BCC(bsic) ((bsic) & 0x07) uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: Id24ad64e6c6de080ab43faa272daf844fbba6954 Gerrit-Change-Number: 24345 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 12:34:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 12:34:25 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_data.h: fix wrong bit-mask in BSIC2BCC macro In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24337 ) Change subject: [VAMOS] gsm_data.h: fix wrong bit-mask in BSIC2BCC macro ...................................................................... Patch Set 2: > Patch Set 1: Code-Review+2 > > that's actually a serious bug. Maybe something to cherry pick to 2021q1? Sure, please see: https://gerrit.osmocom.org/c/osmo-bts/+/24345 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id24ad64e6c6de080ab43faa272daf844fbba6954 Gerrit-Change-Number: 24337 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 12:34:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 12:35:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 12:35:25 +0000 Subject: Change in pysim[master]: commands: resolve inconsistency on sel_ctrl In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24343 ) Change subject: commands: resolve inconsistency on sel_ctrl ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I10362300c1cf7b493d89bf71bbd3a10c80ef9a49 Gerrit-Change-Number: 24343 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 12:35:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 12:35:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 12:35:27 +0000 Subject: Change in pysim[master]: commands: remove superfluous getter/setter for cla_byte property In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24344 ) Change subject: commands: remove superfluous getter/setter for cla_byte property ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id214cc83a29e8aa88f4e1413e07b419285c1b7ff Gerrit-Change-Number: 24344 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 12:35:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 12:35:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 12:35:30 +0000 Subject: Change in pysim[master]: commands: resolve inconsistency on sel_ctrl In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24343 ) Change subject: commands: resolve inconsistency on sel_ctrl ...................................................................... commands: resolve inconsistency on sel_ctrl The code uses self.sel_ctrl everywhere except in the two @property methods, where the _sel_ctrl variable is used. Let's just abandon those property methods and make sure all users directly use the [public] sel_ctrl member variable. Change-Id: I10362300c1cf7b493d89bf71bbd3a10c80ef9a49 --- M pySim/commands.py 1 file changed, 0 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/commands.py b/pySim/commands.py index 48c66bd..800c2dd 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -96,13 +96,6 @@ def cla_byte(self, value): self._cla_byte = value - @property - def sel_ctrl(self): - return self._sel_ctrl - @sel_ctrl.setter - def sel_ctrl(self, value): - self._sel_ctrl = value - def try_select_path(self, dir_list): """ Try to select a specified path given as list of hex-string FIDs""" rv = [] -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I10362300c1cf7b493d89bf71bbd3a10c80ef9a49 Gerrit-Change-Number: 24343 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 12:35:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 12:35:30 +0000 Subject: Change in pysim[master]: commands: remove superfluous getter/setter for cla_byte property In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24344 ) Change subject: commands: remove superfluous getter/setter for cla_byte property ...................................................................... commands: remove superfluous getter/setter for cla_byte property There's little point in having a getter+setter for a property if all it does is assigning a value to an attribute of self. That works without any property methods Change-Id: Id214cc83a29e8aa88f4e1413e07b419285c1b7ff --- M pySim/commands.py 1 file changed, 1 insertion(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/commands.py b/pySim/commands.py index 800c2dd..689cbea 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -29,7 +29,7 @@ class SimCardCommands(object): def __init__(self, transport): self._tp = transport - self._cla_byte = "a0" + self.cla_byte = "a0" self.sel_ctrl = "0000" # Extract a single FCP item from TLV @@ -89,13 +89,6 @@ """Return the ATR of the currently inserted card.""" return self._tp.get_atr() - @property - def cla_byte(self): - return self._cla_byte - @cla_byte.setter - def cla_byte(self, value): - self._cla_byte = value - def try_select_path(self, dir_list): """ Try to select a specified path given as list of hex-string FIDs""" rv = [] -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id214cc83a29e8aa88f4e1413e07b419285c1b7ff Gerrit-Change-Number: 24344 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 12:36:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 12:36:46 +0000 Subject: Change in pysim[master]: commands: resolve inconsistency on sel_ctrl In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24343 ) Change subject: commands: resolve inconsistency on sel_ctrl ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I10362300c1cf7b493d89bf71bbd3a10c80ef9a49 Gerrit-Change-Number: 24343 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 12:36:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 12:38:44 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 12:38:44 +0000 Subject: Change in pysim[master]: commands: remove superfluous getter/setter for cla_byte property In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24344 ) Change subject: commands: remove superfluous getter/setter for cla_byte property ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id214cc83a29e8aa88f4e1413e07b419285c1b7ff Gerrit-Change-Number: 24344 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 12:38:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 13:10:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 13:10:26 +0000 Subject: Change in osmo-bts[2021q1]: gsm_data.h: fix wrong bit-mask in BSIC2BCC macro In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24345 ) Change subject: gsm_data.h: fix wrong bit-mask in BSIC2BCC macro ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: Id24ad64e6c6de080ab43faa272daf844fbba6954 Gerrit-Change-Number: 24345 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 May 2021 13:10:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 13:16:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 13:16:59 +0000 Subject: Change in libosmocore[master]: kdf: add key derivation functions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24291 ) Change subject: kdf: add key derivation functions ...................................................................... Patch Set 7: Code-Review-1 (4 comments) > Patch Set 7: > I'm not aware of any test vectors, so it's a bit hard to test them against a known good result. usually the relevant 3GPP specs have some test vectors in an annex. So they skipped that here? https://gerrit.osmocom.org/c/libosmocore/+/24291/7/src/gsm/kdf.c File src/gsm/kdf.c: https://gerrit.osmocom.org/c/libosmocore/+/24291/7/src/gsm/kdf.c at 93 PS7, Line 93: s[0] = 0x32; // yeah, really just one FC byte.. 4-space indent is not tab-indent and hence not our coding style. https://gerrit.osmocom.org/c/libosmocore/+/24291/7/src/gsm/kdf/common.h File src/gsm/kdf/common.h: https://gerrit.osmocom.org/c/libosmocore/+/24291/7/src/gsm/kdf/common.h at 7 PS7, Line 7: I'm not particularly excited about importing code under other licenses to libosmocore. Makes license compliance very difficult for downstream users. And if we absolutely have to do it, the debian/copyright must be updated accordingly. IMHO the exsting functions about crypto we imported from hostapd was dueal-licensed BSD / GPL, so it was easy to choose the GPL. https://gerrit.osmocom.org/c/libosmocore/+/24291/7/src/gsm/kdf/common.h at 60 PS7, Line 60: typedef uint64_t u64; looking at the contents of this file, I would argue it is not even copyrightable and hence no license applies. https://gerrit.osmocom.org/c/libosmocore/+/24291/7/src/gsm/kdf/crypto.h File src/gsm/kdf/crypto.h: https://gerrit.osmocom.org/c/libosmocore/+/24291/7/src/gsm/kdf/crypto.h at 5 PS7, Line 5: * This software may be distributed under the terms of the BSD license. but here we'd then have BSD-only code :/ as those are general-purpuse crypto routines, I would expect some [L]GPLv2 (or later) implementations out there that would ensure our users don't have to worry about yet another license in the osmocom code base. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd Gerrit-Change-Number: 24291 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 23 May 2021 13:16:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 13:48:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 13:48:46 +0000 Subject: Change in pysim[master]: cards: All USIM should use CLA 0x00 and request the FCP In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24335 to look at the new patch set (#3). Change subject: cards: All USIM should use CLA 0x00 and request the FCP ...................................................................... cards: All USIM should use CLA 0x00 and request the FCP This is a matter of TS 102 221, and not a matter of the specific implementation (card model). For some reason the FairwavesSIM did previously use A0 class bytes despite being an usim? Change-Id: I4e684760cef212d807e541ea74855208249ecf63 --- M pySim/cards.py 1 file changed, 2 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/35/24335/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4e684760cef212d807e541ea74855208249ecf63 Gerrit-Change-Number: 24335 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 14:09:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 14:09:39 +0000 Subject: Change in pysim[master]: contrib: Add sim-rest-{server,client}.py In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24342 to look at the new patch set (#2). Change subject: contrib: Add sim-rest-{server,client}.py ...................................................................... contrib: Add sim-rest-{server,client}.py sim-rest-server.py can be used to provide a RESTful API to allow remote clients to perform the authentication command against a SIM card in a PC/SC reader. sim-rest-client.py is an example client against sim-rest-server.py which can be used to test the functionality of sim-rest-server.py. Change-Id: I738ca3109ab038d4f5595cc1dab6a49087df5886 --- A contrib/sim-rest-client.py A contrib/sim-rest-server.py 2 files changed, 249 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/42/24342/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I738ca3109ab038d4f5595cc1dab6a49087df5886 Gerrit-Change-Number: 24342 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 14:09:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 14:09:39 +0000 Subject: Change in pysim[master]: add unit tests for BER-TLV encoder/decoder functions References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24346 ) Change subject: add unit tests for BER-TLV encoder/decoder functions ...................................................................... add unit tests for BER-TLV encoder/decoder functions ... and while at it resolve a bug in bertlv_parse_len() discovered by those new tests. Change-Id: I9f14dafab4f712c29224c4eb25cacab7885e2b68 --- M pySim/utils.py M tests/test_utils.py 2 files changed, 25 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/46/24346/1 diff --git a/pySim/utils.py b/pySim/utils.py index ff55642..1191983 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -132,7 +132,7 @@ for i in range(1, 1+num_len_oct): length <<= 8 length |= binary[i] - return (length, binary[num_len_oct:]) + return (length, binary[1+num_len_oct:]) def bertlv_encode_len(length:int) -> bytes: """Encode a single Length value according to ITU-T X.690 8.1.3; diff --git a/tests/test_utils.py b/tests/test_utils.py index 0fb502c..24f0fc9 100755 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -152,5 +152,29 @@ msisdn_decoded = utils.dec_msisdn("ffffffffffffffffffffffffffffffffffffffff0bb121436587092143658709ffff") self.assertEqual(msisdn_decoded, (1, 3, "12345678901234567890")) +class TestBerTlv(unittest.TestCase): + def test_BerTlvTagDec(self): + res = utils.bertlv_parse_tag(b'\x01') + self.assertEqual(res, ({'tag':1, 'constructed':False, 'class': 0}, b'')) + res = utils.bertlv_parse_tag(b'\x21') + self.assertEqual(res, ({'tag':1, 'constructed':True, 'class': 0}, b'')) + res = utils.bertlv_parse_tag(b'\x81\x23') + self.assertEqual(res, ({'tag':1, 'constructed':False, 'class': 2}, b'\x23')) + res = utils.bertlv_parse_tag(b'\x1f\x8f\x00\x23') + self.assertEqual(res, ({'tag':0xf<<7, 'constructed':False, 'class': 0}, b'\x23')) + + def test_BerTlvLenDec(self): + self.assertEqual(utils.bertlv_encode_len(1), b'\x01') + self.assertEqual(utils.bertlv_encode_len(127), b'\x7f') + self.assertEqual(utils.bertlv_encode_len(128), b'\x81\x80') + self.assertEqual(utils.bertlv_encode_len(0x123456), b'\x83\x12\x34\x56') + + def test_BerTlvLenEnc(self): + self.assertEqual(utils.bertlv_parse_len(b'\x01\x23'), (1, b'\x23')) + self.assertEqual(utils.bertlv_parse_len(b'\x7f'), (127, b'')) + self.assertEqual(utils.bertlv_parse_len(b'\x81\x80'), (128, b'')) + self.assertEqual(utils.bertlv_parse_len(b'\x83\x12\x34\x56\x78'), (0x123456, b'\x78')) + + if __name__ == "__main__": unittest.main() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9f14dafab4f712c29224c4eb25cacab7885e2b68 Gerrit-Change-Number: 24346 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 14:09:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 14:09:40 +0000 Subject: Change in pysim[master]: bertlv_parse_one: Also return remainder after end of TLV References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24347 ) Change subject: bertlv_parse_one: Also return remainder after end of TLV ...................................................................... bertlv_parse_one: Also return remainder after end of TLV Change-Id: I10ebd87f72ee934561118b768108e5dc76277660 --- M pySim-shell.py M pySim/filesystem.py M pySim/utils.py 3 files changed, 6 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/47/24347/1 diff --git a/pySim-shell.py b/pySim-shell.py index bbfe7e9..0069661 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -265,7 +265,7 @@ tags = self._cmd.rs.retrieve_tags() for t in tags: result = self._cmd.rs.retrieve_data(t) - (tag, l, val) = bertlv_parse_one(h2b(result[0])) + (tag, l, val, remainer) = bertlv_parse_one(h2b(result[0])) self._cmd.poutput("set_data 0x%02x %s" % (t, b2h(val))) else: raise RuntimeError('Unsupported structure "%s" of file "%s"' % (structure, filename)) diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 780da26..8cdb23e 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -1260,7 +1260,7 @@ if not isinstance(self.selected_file, BerTlvEF): raise TypeError("Only works with BER-TLV EF") data, sw = self.card._scc.retrieve_data(self.selected_file.fid, 0x5c) - tag, length, value = bertlv_parse_one(h2b(data)) + tag, length, value, remainder = bertlv_parse_one(h2b(data)) return list(value) def set_data(self, tag:int, data_hex:str): diff --git a/pySim/utils.py b/pySim/utils.py index 1191983..3d96580 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -155,7 +155,7 @@ else: raise ValueError("Length > 32bits not supported") -def bertlv_parse_one(binary:bytes) -> (dict, int, bytes): +def bertlv_parse_one(binary:bytes) -> (dict, int, bytes, bytes): """Parse a single TLV IE at the start of the given binary data. Args: binary : binary input data of BER-TLV length field @@ -164,7 +164,9 @@ """ (tagdict, remainder) = bertlv_parse_tag(binary) (length, remainder) = bertlv_parse_len(remainder) - return (tagdict, length, remainder) + value = remainder[:length] + remainder = remainder[length:] + return (tagdict, length, value, remainder) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I10ebd87f72ee934561118b768108e5dc76277660 Gerrit-Change-Number: 24347 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 14:10:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 14:10:24 +0000 Subject: Change in pysim[master]: cards: All USIM should use CLA 0x00 and request the FCP In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24335 ) Change subject: cards: All USIM should use CLA 0x00 and request the FCP ...................................................................... Patch Set 3: somehow I'm failing why FairwavesSIM is failing, abandoning. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4e684760cef212d807e541ea74855208249ecf63 Gerrit-Change-Number: 24335 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sun, 23 May 2021 14:10:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 14:10:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 14:10:27 +0000 Subject: Change in pysim[master]: cards: All USIM should use CLA 0x00 and request the FCP In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/24335 ) Change subject: cards: All USIM should use CLA 0x00 and request the FCP ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4e684760cef212d807e541ea74855208249ecf63 Gerrit-Change-Number: 24335 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 14:29:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 14:29:37 +0000 Subject: Change in pysim[master]: Introduce unit test for bertlv_parse_one() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24348 ) Change subject: Introduce unit test for bertlv_parse_one() ...................................................................... Introduce unit test for bertlv_parse_one() Change-Id: I3adbe22afd4b6503a7454de39b7663e9ede8995f --- M tests/test_utils.py 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/48/24348/1 diff --git a/tests/test_utils.py b/tests/test_utils.py index 24f0fc9..17a9300 100755 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -175,6 +175,10 @@ self.assertEqual(utils.bertlv_parse_len(b'\x81\x80'), (128, b'')) self.assertEqual(utils.bertlv_parse_len(b'\x83\x12\x34\x56\x78'), (0x123456, b'\x78')) + def test_BerTlvParseOne(self): + res = utils.bertlv_parse_one(b'\x81\x01\x01'); + self.assertEqual(res, ({'tag':1, 'constructed':False, 'class':2}, 1, b'\x01', b'')) + if __name__ == "__main__": unittest.main() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3adbe22afd4b6503a7454de39b7663e9ede8995f Gerrit-Change-Number: 24348 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 14:29:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 14:29:37 +0000 Subject: Change in pysim[master]: execute unit tests via nose from "setup.py test" References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24349 ) Change subject: execute unit tests via nose from "setup.py test" ...................................................................... execute unit tests via nose from "setup.py test" Change-Id: I8b2205b2c4e31f4ca64d0e48f8073799c61c29c7 --- M contrib/jenkins.sh R pySim/tests/test_utils.py M setup.py 3 files changed, 5 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/49/24349/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 27f0245..11d5b1e 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -24,9 +24,10 @@ pip install construct pip install bidict pip install gsm0338 +pip install nose # Execute automatically discovered unit tests first -python -m unittest discover -v -s tests/ +python -m ./setup.py test # Run pylint to find potential errors # Ignore E1102: not-callable diff --git a/tests/test_utils.py b/pySim/tests/test_utils.py old mode 100755 new mode 100644 similarity index 98% rename from tests/test_utils.py rename to pySim/tests/test_utils.py index 17a9300..899f391 --- a/tests/test_utils.py +++ b/pySim/tests/test_utils.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - import unittest from pySim import utils from pySim.ts_31_102 import EF_SUCI_Calc_Info @@ -179,6 +177,3 @@ res = utils.bertlv_parse_one(b'\x81\x01\x01'); self.assertEqual(res, ({'tag':1, 'constructed':False, 'class':2}, 1, b'\x01', b'')) - -if __name__ == "__main__": - unittest.main() diff --git a/setup.py b/setup.py index 2ef498f..37129b8 100644 --- a/setup.py +++ b/setup.py @@ -22,5 +22,7 @@ 'pySim-prog.py', 'pySim-read.py', 'pySim-shell.py' - ] + ], + test_suite='nose.collector', + tests_require=['nose'], ) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8b2205b2c4e31f4ca64d0e48f8073799c61c29c7 Gerrit-Change-Number: 24349 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 14:56:17 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 14:56:17 +0000 Subject: Change in osmo-bts[2021q1]: gsm_data.h: fix wrong bit-mask in BSIC2BCC macro In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24345 ) Change subject: gsm_data.h: fix wrong bit-mask in BSIC2BCC macro ...................................................................... gsm_data.h: fix wrong bit-mask in BSIC2BCC macro BCC takes 3 LSB bits of the BSIC, so we should apply 0b111 or 0x07. The BSIC is specified in 3GPP TS 03.03 section 4.3.2. Change-Id: Id24ad64e6c6de080ab43faa272daf844fbba6954 Related: SYS#5315, OS#4940 --- M include/osmo-bts/gsm_data.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index ff0c89c..10bedcc 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -516,7 +516,7 @@ uint8_t gsm_lchan_as_pchan2chan_nr(const struct gsm_lchan *lchan, enum gsm_phys_chan_config as_pchan); -#define BSIC2BCC(bsic) ((bsic) & 0x3) +#define BSIC2BCC(bsic) ((bsic) & 0x07) uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: 2021q1 Gerrit-Change-Id: Id24ad64e6c6de080ab43faa272daf844fbba6954 Gerrit-Change-Number: 24345 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:04:41 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 15:04:41 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: send BSSMAP response only after Assignment Request References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24350 ) Change subject: assignment_fsm: send BSSMAP response only after Assignment Request ...................................................................... assignment_fsm: send BSSMAP response only after Assignment Request So far, only the MSC asked for Assignment via Assignment Request, which we answer with a BSSMAP Assignment Complete or Assignment Failure when done. When Assignment is triggered for any other reason (congestion resolution, VAMOS, VTY), we will not send any such messages to the MSC. Additional enum values will be added in subsequent commits: Id56a890106b93fcee67ac9401b890e7b63bba421 ASSIGN_FOR_CONGESTION_RESOLUTION If006f5caaf83b07675f57e5665cfa79328da55e6 ASSIGN_FOR_VTY Change-Id: Ie0cddbdb00abcec78e153f4ae6d04ce75080a111 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/osmo_bsc_bssap.c 4 files changed, 42 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/50/24350/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 5a202bf..4b175a4 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -111,10 +111,21 @@ uint16_t s15_s0; }; +enum assign_for { + ASSIGN_FOR_NONE, + ASSIGN_FOR_BSSMAP_REQ, +}; + +extern const struct value_string assign_for_names[]; +static inline const char *assign_for_name(enum assign_for assign_for) +{ return get_value_string(assign_for_names, assign_for); } + /* Information retrieved during an Assignment Request from the MSC. This is storage of the Assignment instructions * parsed from the Assignment Request message, to pass on until the gscon and assignment FSMs have decided whether an * Assignment is actually going to be carried out. Should remain unchanged after initial decoding. */ struct assignment_request { + enum assign_for assign_for; + bool aoip; uint16_t msc_assigned_cic; diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index cf3c50e..bfb4043 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -134,13 +134,17 @@ static void on_assignment_failure(struct gsm_subscriber_connection *conn) { - struct msgb *resp = gsm0808_create_assignment_failure(conn->assignment.failure_cause, NULL); + /* Send Assignment Failure to MSC only when the assignment was requested via BSSAP. Do not send anything to the + * MSC if re-assignment was requested for congestion resolution, for VAMOS multiplexing, or by VTY. */ + if (conn->assignment.req.assign_for == ASSIGN_FOR_BSSMAP_REQ) { + struct msgb *resp = gsm0808_create_assignment_failure(conn->assignment.failure_cause, NULL); - if (!resp) { - LOG_ASSIGNMENT(conn, LOGL_ERROR, "Unable to compose BSSMAP Assignment Failure message\n"); - } else { - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE]); - gscon_sigtran_send(conn, resp); + if (!resp) { + LOG_ASSIGNMENT(conn, LOGL_ERROR, "Unable to compose BSSMAP Assignment Failure message\n"); + } else { + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE]); + gscon_sigtran_send(conn, resp); + } } /* If assignment failed as early as in assignment_fsm_start(), there may not be an fi yet. */ @@ -259,15 +263,17 @@ } conn->assignment.new_lchan = NULL; - send_assignment_complete(conn); - /* If something went wrong during send_assignment_complete(), the fi will be gone from - * error handling in there. Almost a success, but then again the whole thing failed. */ - if (!conn->assignment.fi) { - /* The lchan was ready, and we failed to tell the MSC about it. By releasing this lchan, - * the conn will notice that its primary lchan is gone and should clean itself up. */ - lchan_release(conn->lchan, true, true, RSL_ERR_EQUIPMENT_FAIL, - gscon_last_eutran_plmn(conn)); - return; + if (conn->assignment.req.assign_for == ASSIGN_FOR_BSSMAP_REQ) { + send_assignment_complete(conn); + /* If something went wrong during send_assignment_complete(), the fi will be gone from + * error handling in there. Almost a success, but then again the whole thing failed. */ + if (!conn->assignment.fi) { + /* The lchan was ready, and we failed to tell the MSC about it. By releasing this lchan, + * the conn will notice that its primary lchan is gone and should clean itself up. */ + lchan_release(conn->lchan, true, true, RSL_ERR_EQUIPMENT_FAIL, + gscon_last_eutran_plmn(conn)); + return; + } } if (lchan_changed) { @@ -486,7 +492,8 @@ gsm48_chan_mode_name(conn->lchan->ch_mode_rate.chan_mode), gsm_lchan_name(conn->lchan)); - send_assignment_complete(conn); + if (req->assign_for == ASSIGN_FOR_BSSMAP_REQ) + send_assignment_complete(conn); /* If something went wrong during send_assignment_complete(), * the fi will be gone from error handling in there. */ if (conn->assignment.fi) { diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 6c08229..781db7c 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -923,6 +923,12 @@ {} }; +const struct value_string assign_for_names[] = { + OSMO_VALUE_STRING(ASSIGN_FOR_NONE), + OSMO_VALUE_STRING(ASSIGN_FOR_BSSMAP_REQ), + {} +}; + /* This may be specific to RR Channel Release, and the mappings were chosen by pure naive guessing without a proper * specification available. */ enum gsm48_rr_cause bsc_gsm48_rr_cause_from_gsm0808_cause(enum gsm0808_cause c) diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 7a7579b..fff5fbb 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -923,6 +923,7 @@ } req = (struct assignment_request){ + .assign_for = ASSIGN_FOR_BSSMAP_REQ, .aoip = aoip, .msc_assigned_cic = cic, .use_osmux = use_osmux, @@ -951,6 +952,7 @@ break; case GSM0808_CHAN_SIGN: req = (struct assignment_request){ + .assign_for = ASSIGN_FOR_BSSMAP_REQ, .aoip = aoip, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0cddbdb00abcec78e153f4ae6d04ce75080a111 Gerrit-Change-Number: 24350 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:04:41 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 15:04:41 +0000 Subject: Change in osmo-bsc[master]: cosmetic scoping in reuse_existing_lchan() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24351 ) Change subject: cosmetic scoping in reuse_existing_lchan() ...................................................................... cosmetic scoping in reuse_existing_lchan() cosmetic prep for Ie0da36124d73efc28a8809b63d7c96e2167fc412 Change-Id: I0d1000cf108b0dfdc690f7a59d9bdf40de9043d2 --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 6 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/51/24351/1 diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index bfb4043..60e3342 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -430,11 +430,12 @@ /* Check if the currently existing lchan is compatible with the * preferred rate/codec. */ - for (i = 0; i < req->n_ch_mode_rate; i++) - if (lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate[i])) { - conn->lchan->ch_mode_rate = req->ch_mode_rate[i]; - return true; - } + for (i = 0; i < req->n_ch_mode_rate; i++) { + if (!lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate[i])) + continue; + conn->lchan->ch_mode_rate = req->ch_mode_rate[i]; + return true; + } return false; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0d1000cf108b0dfdc690f7a59d9bdf40de9043d2 Gerrit-Change-Number: 24351 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:04:42 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 15:04:42 +0000 Subject: Change in osmo-bsc[master]: make sure channel mode and s15_s0 are updated only after an ACK References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24352 ) Change subject: make sure channel mode and s15_s0 are updated only after an ACK ...................................................................... make sure channel mode and s15_s0 are updated only after an ACK I noticed during testing that an lchan used as TCH/F in fact still had its channel mode set to Signalling -- because on Assignment, the Speech mode used to be placed in the *previous* lchan and the new lchan was never updated after the Activ ACK. This is unbearable confusion which I complained about numerous times, so far mostly for cosmetic reasons. But implementing re-assignment properly actually requires this to be cleaned up. Keep all volatile chan mode settings in lchan->activate.* or lchan->modify.*, and only update lchan->* members when an ACK has been received for those settings. So a failed request keeps a sane state. Make sure that those settings are in fact updated in the proper lchan, upon an ACK, so that subsequent re-assignment or mode-modify know the accurate lchan state. Related are upcoming patches that sort out the AMR multirate configuration in a similar fashion, see Iebac2dc26412d877e5364f90d6f2ed7a7952351e Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 Ie57f9d0e3912632903d9740291225bfd1634ed47. Change-Id: Ie0da36124d73efc28a8809b63d7c96e2167fc412 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_lcls.c M tests/handover/handover_test.c 13 files changed, 187 insertions(+), 164 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/52/24352/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 4b175a4..68c3074 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -105,6 +105,8 @@ CH_RATE_FULL, }; +enum channel_rate chan_t_to_chan_rate(enum gsm_chan_t chan_t); + struct channel_mode_and_rate { enum gsm48_chan_mode chan_mode; enum channel_rate chan_rate; @@ -137,7 +139,7 @@ /* Rate/codec setting in preference order (need at least 1 !) */ int n_ch_mode_rate; - struct channel_mode_and_rate ch_mode_rate[3]; + struct channel_mode_and_rate ch_mode_rate_list[3]; }; /* State of an ongoing Assignment, while the assignment_fsm is still busy. This serves as state separation to keep the @@ -146,6 +148,7 @@ struct assignment_fsm_data { struct assignment_request req; bool requires_voice_stream; + struct channel_mode_and_rate selected_ch_mode_rate; struct osmo_fsm_inst *fi; struct gsm_lchan *new_lchan; @@ -585,12 +588,8 @@ struct lchan_activate_info { enum lchan_activate_for activ_for; struct gsm_subscriber_connection *for_conn; - /* This always is for a specific lchan, so its lchan->type indicates full or half rate. - * When a dyn TS was selected, the lchan->type has been set to the desired rate. */ - enum gsm48_chan_mode chan_mode; + struct channel_mode_and_rate ch_mode_rate; struct gsm_encr encr; - /* AMR config */ - uint16_t s15_s0; bool requires_voice_stream; bool wait_before_switching_rtp; /*< true = requires LCHAN_EV_READY_TO_SWITCH_RTP */ uint16_t msc_assigned_cic; @@ -613,11 +612,9 @@ struct lchan_modify_info { enum lchan_modify_for modify_for; - enum gsm48_chan_mode chan_mode; + struct channel_mode_and_rate ch_mode_rate; bool requires_voice_stream; uint16_t msc_assigned_cic; - /* AMR config */ - uint16_t s15_s0; }; struct gsm_lchan { @@ -672,8 +669,6 @@ enum gsm_chan_t type; /* RSL channel mode */ enum rsl_cmod_spd rsl_cmode; - /* If TCH, traffic channel mode */ - enum gsm48_chan_mode tch_mode; enum lchan_csd_mode csd_mode; /* Power levels for MS and BTS */ uint8_t bs_power; @@ -684,8 +679,6 @@ /* AMR bits */ uint8_t mr_ms_lv[7]; uint8_t mr_bts_lv[7]; - /* AMR bits were based on these rate bits: */ - uint16_t s15_s0; /* Established data link layer services */ uint8_t sapis[8]; @@ -727,12 +720,9 @@ struct gsm_subscriber_connection *conn; - /* Depending on the preferences that where submitted together with - * the assignment and the current channel load, the BSC has to select - * one of the offered codec/rates. The final selection by the BSC is - * stored here and is used when sending the assignment complete or - * when performing a handover procedure. */ - struct channel_mode_and_rate ch_mode_rate; + /* After the Channel Activation ACK or RSL Mode Modify ACK is received, this reflects the actually used + * channel_mode_and_rate. */ + struct channel_mode_and_rate current_ch_mode_rate; }; /* One Timeslot in a TRX */ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index eb30345..1aaebe3 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -70,7 +70,7 @@ OSMO_ASSERT(bts); if (lchan->type == GSM_LCHAN_TCH_H) { - switch (lchan->tch_mode) { + switch (lchan->current_ch_mode_rate.chan_mode) { case GSM48_CMODE_SPEECH_AMR: rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CODEC_AMR_H]); break; @@ -81,7 +81,7 @@ break; } } else if (lchan->type == GSM_LCHAN_TCH_F) { - switch (lchan->tch_mode) { + switch (lchan->current_ch_mode_rate.chan_mode) { case GSM48_CMODE_SPEECH_AMR: rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CODEC_AMR_F]); break; @@ -351,7 +351,8 @@ } static int channel_mode_from_lchan(struct rsl_ie_chan_mode *cm, - struct gsm_lchan *lchan) + struct gsm_lchan *lchan, + const struct channel_mode_and_rate *ch_mode_rate) { memset(cm, 0, sizeof(*cm)); @@ -366,7 +367,7 @@ cm->spd_ind = lchan->rsl_cmode; if (lchan->rsl_cmode == RSL_CMOD_SPD_SIGN && - lchan->tch_mode != GSM48_CMODE_SIGN) + ch_mode_rate->chan_mode != GSM48_CMODE_SIGN) LOGP(DRSL, LOGL_ERROR, "unsupported: rsl_mode == signalling, " "but tch_mode != signalling\n"); @@ -389,7 +390,7 @@ return -EINVAL; } - switch (lchan->tch_mode) { + switch (ch_mode_rate->chan_mode) { case GSM48_CMODE_SIGN: cm->chan_rate = 0; break; @@ -408,7 +409,7 @@ switch (lchan->csd_mode) { case LCHAN_CSD_M_NT: /* non-transparent CSD with RLP */ - switch (lchan->tch_mode) { + switch (ch_mode_rate->chan_mode) { case GSM48_CMODE_DATA_14k5: cm->chan_rate = RSL_CMOD_SP_NT_14k5; break; @@ -421,7 +422,7 @@ default: LOGP(DRSL, LOGL_ERROR, "unsupported lchan->tch_mode %u\n", - lchan->tch_mode); + ch_mode_rate->chan_mode); return -EINVAL; } break; @@ -458,20 +459,19 @@ } break; default: - LOGP(DRSL, LOGL_ERROR, - "unsupported lchan->tch_mode %u\n", - lchan->tch_mode); + LOGP(DRSL, LOGL_ERROR, "unsupported channel mode %u\n", ch_mode_rate->chan_mode); return -EINVAL; } return 0; } -static void mr_config_for_bts(struct gsm_lchan *lchan, struct msgb *msg) +static void mr_config_for_bts(struct gsm_lchan *lchan, struct msgb *msg, + const struct channel_mode_and_rate *ch_mode_rate) { uint8_t len; - if (lchan->tch_mode != GSM48_CMODE_SPEECH_AMR) + if (ch_mode_rate->chan_mode != GSM48_CMODE_SPEECH_AMR) return; len = lchan->mr_bts_lv[0]; @@ -532,7 +532,7 @@ /* PDCH activation is a job for rsl_tx_dyn_ts_pdch_act_deact(); */ OSMO_ASSERT(act_type != RSL_ACT_OSMO_PDCH); - rc = channel_mode_from_lchan(&cm, lchan); + rc = channel_mode_from_lchan(&cm, lchan, &lchan->activate.info.ch_mode_rate); if (rc < 0) { LOGP(DRSL, LOGL_ERROR, "%s Cannot find channel mode from lchan type\n", @@ -606,7 +606,7 @@ add_power_control_params(msg, RSL_IE_BS_POWER_PARAM, lchan); add_power_control_params(msg, RSL_IE_MS_POWER_PARAM, lchan); - mr_config_for_bts(lchan, msg); + mr_config_for_bts(lchan, msg, &lchan->activate.info.ch_mode_rate); rep_acch_cap_for_bts(lchan, msg); msg->dst = trx->rsl_link; @@ -637,7 +637,7 @@ uint8_t chan_nr = gsm_lchan2chan_nr(lchan); struct rsl_ie_chan_mode cm; - rc = channel_mode_from_lchan(&cm, lchan); + rc = channel_mode_from_lchan(&cm, lchan, &lchan->modify.info.ch_mode_rate); if (rc < 0) return rc; @@ -656,7 +656,7 @@ msgb_tlv_put(msg, RSL_IE_ENCR_INFO, rc, encr_info); } - mr_config_for_bts(lchan, msg); + mr_config_for_bts(lchan, msg, &lchan->modify.info.ch_mode_rate); rep_acch_cap_for_bts(lchan, msg); msg->dst = lchan->ts->trx->rsl_link; @@ -1768,7 +1768,10 @@ gsm_chreq_name(rqd->reason), rqd->ref.ra, rqd->ta); info = (struct lchan_activate_info){ .activ_for = ACTIVATE_FOR_MS_CHANNEL_REQUEST, - .chan_mode = GSM48_CMODE_SIGN, + .ch_mode_rate = { + .chan_mode = GSM48_CMODE_SIGN, + .chan_rate = CH_RATE_SDCCH, + }, .ta = rqd->ta, .ta_known = true, }; diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 60e3342..aeb9a24 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -85,7 +85,7 @@ if (bts) { \ rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter]); \ if (BTS_##counter != BTS_CTR_ASSIGNMENT_NO_CHANNEL) { \ - switch (conn->lchan->ch_mode_rate.chan_mode) { \ + switch (conn->assignment.req.ch_mode_rate_list[0].chan_mode) { \ case GSM48_CMODE_SIGN: \ rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter##_SIGN]); \ break; \ @@ -175,18 +175,18 @@ struct gsm_lchan *lchan = conn->lchan; struct osmo_fsm_inst *fi = conn->fi; - chosen_channel = gsm0808_chosen_channel(lchan->type, lchan->tch_mode); + chosen_channel = gsm0808_chosen_channel(lchan->type, lchan->current_ch_mode_rate.chan_mode); if (!chosen_channel) { assignment_fail(GSM0808_CAUSE_EQUIPMENT_FAILURE, "Unable to compose Chosen Channel for mode=%s type=%s", - get_value_string(gsm48_chan_mode_names, lchan->tch_mode), + get_value_string(gsm48_chan_mode_names, lchan->current_ch_mode_rate.chan_mode), gsm_lchant_name(lchan->type)); return; } /* Generate voice related fields */ if (conn->assignment.requires_voice_stream) { - perm_spch = gsm0808_permitted_speech(lchan->type, lchan->tch_mode); + perm_spch = gsm0808_permitted_speech(lchan->type, lchan->current_ch_mode_rate.chan_mode); if (gscon_is_aoip(conn)) { if (!osmo_mgcpc_ep_ci_get_crcx_info_to_sockaddr(conn->user_plane.mgw_endpoint_ci_msc, @@ -212,7 +212,7 @@ if (gscon_is_aoip(conn)) { /* Extrapolate speech codec from speech mode */ gsm0808_speech_codec_from_chan_type(&sc, perm_spch); - sc.cfg = conn->lchan->activate.info.s15_s0; + sc.cfg = conn->lchan->activate.info.ch_mode_rate.s15_s0; sc_ptr = ≻ } } @@ -395,11 +395,11 @@ * a mismatch is not permitted */ for (i = 0; i < req->n_ch_mode_rate; i++) { - rc = check_requires_voice(&requires_voice_alt, req->ch_mode_rate[i].chan_mode); + rc = check_requires_voice(&requires_voice_alt, req->ch_mode_rate_list[i].chan_mode); if (rc < 0) { assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, "Channel mode not supported (prev level %d): %s", i, - gsm48_chan_mode_name(req->ch_mode_rate[i].chan_mode)); + gsm48_chan_mode_name(req->ch_mode_rate_list[i].chan_mode)); return -EINVAL; } @@ -408,8 +408,8 @@ else if (requires_voice_alt != requires_voice_pref) { assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, "Requested a mix of Signalling and non-Signalling channel modes: %s != %s", - gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode), - gsm48_chan_mode_name(req->ch_mode_rate[i].chan_mode)); + gsm48_chan_mode_name(req->ch_mode_rate_list[0].chan_mode), + gsm48_chan_mode_name(req->ch_mode_rate_list[i].chan_mode)); return -EINVAL; } } @@ -431,9 +431,9 @@ /* Check if the currently existing lchan is compatible with the * preferred rate/codec. */ for (i = 0; i < req->n_ch_mode_rate; i++) { - if (!lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate[i])) + if (!lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate_list[i])) continue; - conn->lchan->ch_mode_rate = req->ch_mode_rate[i]; + conn->assignment.selected_ch_mode_rate = req->ch_mode_rate_list[i]; return true; } @@ -485,12 +485,12 @@ /* If the requested mode and the current TCH mode matches up, just send the * assignment complete directly and be done with the assignment procedure. */ - if (conn->lchan->tch_mode == conn->lchan->ch_mode_rate.chan_mode) { + if (conn->lchan->current_ch_mode_rate.chan_mode == conn->assignment.selected_ch_mode_rate.chan_mode) { LOG_ASSIGNMENT(conn, LOGL_DEBUG, "Current lchan mode is compatible with requested chan_mode," " sending BSSMAP Assignment Complete directly." " requested chan_mode=%s; current lchan is %s\n", - gsm48_chan_mode_name(conn->lchan->ch_mode_rate.chan_mode), + gsm48_chan_mode_name(conn->assignment.selected_ch_mode_rate.chan_mode), gsm_lchan_name(conn->lchan)); if (req->assign_for == ASSIGN_FOR_BSSMAP_REQ) @@ -509,14 +509,13 @@ LOG_ASSIGNMENT(conn, LOGL_DEBUG, "Current lchan mode is not compatible with requested chan_mode," " so we will modify it. requested chan_mode=%s; current lchan is %s\n", - gsm48_chan_mode_name(conn->lchan->ch_mode_rate.chan_mode), + gsm48_chan_mode_name(conn->assignment.selected_ch_mode_rate.chan_mode), gsm_lchan_name(conn->lchan)); modif_info = (struct lchan_modify_info){ .modify_for = MODIFY_FOR_ASSIGNMENT, - .chan_mode = conn->lchan->ch_mode_rate.chan_mode, + .ch_mode_rate = conn->assignment.selected_ch_mode_rate, .requires_voice_stream = conn->assignment.requires_voice_stream, - .s15_s0 = conn->lchan->ch_mode_rate.s15_s0, .msc_assigned_cic = req->msc_assigned_cic, }; @@ -529,22 +528,23 @@ /* Try to allocate a new lchan in order of preference */ for (i = 0; i < req->n_ch_mode_rate; i++) { conn->assignment.new_lchan = lchan_select_by_chan_mode(bts, - req->ch_mode_rate[i].chan_mode, req->ch_mode_rate[i].chan_rate); - /* FIXME: at this point there is merely an assignment request with a given ch_mode_rate. Writing this to - * conn->lchan->ch_mode_rate is a violation of scopes: the lchan->* state should only be modified - * *after* the assignment is confirmed to be completed. Before that, this data should live in - * conn->assignment or the lchan_activate_info, the designated places for not-yet-confirmed data. See - * OS#3833 */ - conn->lchan->ch_mode_rate = req->ch_mode_rate[i]; - if (conn->assignment.new_lchan) - break; + req->ch_mode_rate_list[i].chan_mode, req->ch_mode_rate_list[i].chan_rate); + if (!conn->assignment.new_lchan) + continue; + LOG_ASSIGNMENT(conn, LOGL_DEBUG, "selected new lchan %s for mode[%d] = %s channel_rate=%d\n", + gsm_lchan_name(conn->assignment.new_lchan), + i, gsm48_chan_mode_name(req->ch_mode_rate_list[i].chan_mode), + req->ch_mode_rate_list[i].chan_rate); + + conn->assignment.selected_ch_mode_rate = req->ch_mode_rate_list[i]; + break; } /* Check whether the lchan allocation was successful or not and tear * down the assignment in case of failure. */ if (!conn->assignment.new_lchan) { assignment_count_result(CTR_ASSIGNMENT_NO_CHANNEL); - switch (req->ch_mode_rate[0].chan_mode) { + switch (req->ch_mode_rate_list[0].chan_mode) { case GSM48_CMODE_SIGN: rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_NO_CHANNEL_SIGN]); break; @@ -559,12 +559,12 @@ assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, "BSSMAP Assignment Command:" " No lchan available for: pref=%s:%s / alt1=%s:%s / alt2=%s:%s\n", - gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode), - rate_names[req->ch_mode_rate[0].chan_rate], - req->n_ch_mode_rate > 1 ? gsm48_chan_mode_name(req->ch_mode_rate[1].chan_mode) : "", - req->n_ch_mode_rate > 1 ? rate_names[req->ch_mode_rate[1].chan_rate] : "", - req->n_ch_mode_rate > 2 ? gsm48_chan_mode_name(req->ch_mode_rate[2].chan_mode) : "", - req->n_ch_mode_rate > 2 ? rate_names[req->ch_mode_rate[2].chan_rate] : "" + gsm48_chan_mode_name(req->ch_mode_rate_list[0].chan_mode), + rate_names[req->ch_mode_rate_list[0].chan_rate], + req->n_ch_mode_rate > 1 ? gsm48_chan_mode_name(req->ch_mode_rate_list[1].chan_mode) : "", + req->n_ch_mode_rate > 1 ? rate_names[req->ch_mode_rate_list[1].chan_rate] : "", + req->n_ch_mode_rate > 2 ? gsm48_chan_mode_name(req->ch_mode_rate_list[2].chan_mode) : "", + req->n_ch_mode_rate > 2 ? rate_names[req->ch_mode_rate_list[2].chan_rate] : "" ); return; } @@ -572,8 +572,8 @@ assignment_fsm_update_id(conn); LOG_ASSIGNMENT(conn, LOGL_INFO, "Starting Assignment: chan_mode=%s, chan_type=%s," " aoip=%s MSC-rtp=%s:%u (osmux=%s)\n", - gsm48_chan_mode_name(conn->lchan->ch_mode_rate.chan_mode), - rate_names[conn->lchan->ch_mode_rate.chan_rate], + gsm48_chan_mode_name(conn->assignment.selected_ch_mode_rate.chan_mode), + rate_names[conn->assignment.selected_ch_mode_rate.chan_rate], req->aoip ? "yes" : "no", req->msc_rtp_addr, req->msc_rtp_port, req->use_osmux ? "yes" : "no"); @@ -581,9 +581,8 @@ activ_info = (struct lchan_activate_info){ .activ_for = ACTIVATE_FOR_ASSIGNMENT, .for_conn = conn, - .chan_mode = conn->lchan->ch_mode_rate.chan_mode, + .ch_mode_rate = conn->assignment.selected_ch_mode_rate, .encr = conn->lchan->encr, - .s15_s0 = conn->lchan->ch_mode_rate.s15_s0, .requires_voice_stream = conn->assignment.requires_voice_stream, .msc_assigned_cic = req->msc_assigned_cic, .re_use_mgw_endpoint_from_lchan = conn->lchan, diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index c482fb9..372c108 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1624,7 +1624,7 @@ ms_pwr_dbm(lchan->ts->trx->bts->band, lchan->ms_power), VTY_NEWLINE); vty_out(vty, " Channel Mode / Codec: %s%s", - gsm48_chan_mode_name(lchan->tch_mode), + gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode), VTY_NEWLINE); if (lchan->conn && lchan->conn->bsub) { vty_out(vty, " Subscriber:%s", VTY_NEWLINE); @@ -6071,14 +6071,20 @@ if (!strcmp(codec_str, "hr") || !strcmp(codec_str, "fr")) { info = (struct lchan_activate_info) { .activ_for = ACTIVATE_FOR_VTY, - .chan_mode = GSM48_CMODE_SPEECH_V1, + .ch_mode_rate = { + .chan_mode = GSM48_CMODE_SPEECH_V1, + .chan_rate = chan_t_to_chan_rate(lchan_t), + }, .requires_voice_stream = false, }; } else if (!strcmp(codec_str, "efr")) { info = (struct lchan_activate_info) { .activ_for = ACTIVATE_FOR_VTY, - .chan_mode = GSM48_CMODE_SPEECH_EFR, - .s15_s0 = amr_modes[amr_mode], + .ch_mode_rate = { + .chan_mode = GSM48_CMODE_SPEECH_EFR, + .chan_rate = chan_t_to_chan_rate(lchan_t), + .s15_s0 = amr_modes[amr_mode], + }, .requires_voice_stream = false, }; } else if (!strcmp(codec_str, "amr")) { @@ -6088,14 +6094,20 @@ } info = (struct lchan_activate_info) { .activ_for = ACTIVATE_FOR_VTY, - .chan_mode = GSM48_CMODE_SPEECH_AMR, - .s15_s0 = amr_modes[amr_mode], + .ch_mode_rate = { + .chan_mode = GSM48_CMODE_SPEECH_AMR, + .chan_rate = chan_t_to_chan_rate(lchan_t), + .s15_s0 = amr_modes[amr_mode], + }, .requires_voice_stream = false, }; } else if (!strcmp(codec_str, "sig")) { info = (struct lchan_activate_info) { .activ_for = ACTIVATE_FOR_VTY, - .chan_mode = GSM48_CMODE_SIGN, + .ch_mode_rate = { + .chan_mode = GSM48_CMODE_SIGN, + .chan_rate = CH_RATE_SDCCH, + }, .requires_voice_stream = false, }; } else { diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 764af72..8a375cb 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -234,7 +234,7 @@ static void mr_config_for_ms(struct gsm_lchan *lchan, struct msgb *msg) { - if (lchan->tch_mode == GSM48_CMODE_SPEECH_AMR) + if (lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) msgb_tlv_put(msg, GSM48_IE_MUL_RATE_CFG, lchan->mr_ms_lv[0], lchan->mr_ms_lv + 1); } @@ -538,7 +538,7 @@ } /* FIXME: optional bits for type of synchronization? */ - msgb_tv_put(msg, GSM48_IE_CHANMODE_1, new_lchan->tch_mode); + msgb_tv_put(msg, GSM48_IE_CHANMODE_1, new_lchan->current_ch_mode_rate.chan_mode); /* Mobile Allocation (after time), TLV (see 3GPP TS 44.018, 10.5.2.21) */ if (new_lchan->ts->hopping.enabled) { @@ -548,7 +548,7 @@ } /* in case of multi rate we need to attach a config */ - if (new_lchan->tch_mode == GSM48_CMODE_SPEECH_AMR) + if (new_lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) msgb_tlv_put(msg, GSM48_IE_MUL_RATE_CFG, new_lchan->mr_ms_lv[0], new_lchan->mr_ms_lv + 1); @@ -573,7 +573,8 @@ struct gsm48_ass_cmd *ass = (struct gsm48_ass_cmd *) msgb_put(msg, sizeof(*ass)); - DEBUGP(DRR, "-> ASSIGNMENT COMMAND tch_mode=0x%02x\n", new_lchan->tch_mode); + DEBUGP(DRR, "-> ASSIGNMENT COMMAND tch_mode=0x%02x\n", + current_lchan->conn->assignment.selected_ch_mode_rate.chan_mode); msg->lchan = current_lchan; gh->proto_discr = GSM48_PDISC_RR; @@ -599,7 +600,7 @@ si1->cell_channel_description); } - msgb_tv_put(msg, GSM48_IE_CHANMODE_1, new_lchan->tch_mode); + msgb_tv_put(msg, GSM48_IE_CHANMODE_1, current_lchan->conn->assignment.selected_ch_mode_rate.chan_mode); /* Mobile Allocation (freq. hopping), TLV (see 3GPP TS 44.018, 10.5.2.21) */ if (new_lchan->ts->hopping.enabled) { @@ -645,7 +646,6 @@ DEBUGP(DRR, "-> CHANNEL MODE MODIFY mode=0x%02x\n", mode); - lchan->tch_mode = mode; msg->lchan = lchan; gh->proto_discr = GSM48_PDISC_RR; gh->msg_type = GSM48_MT_RR_CHAN_MODE_MODIF; @@ -670,10 +670,10 @@ LOG_LCHAN(msg->lchan, LOGL_DEBUG, "CHANNEL MODE MODIFY ACK for %s\n", gsm48_chan_mode_name(mod->mode)); - if (mod->mode != msg->lchan->tch_mode) { + if (mod->mode != msg->lchan->modify.info.ch_mode_rate.chan_mode) { LOG_LCHAN(msg->lchan, LOGL_ERROR, "CHANNEL MODE MODIFY ACK has wrong mode: Wanted: %s Got: %s\n", - gsm48_chan_mode_name(msg->lchan->tch_mode), + gsm48_chan_mode_name(msg->lchan->modify.info.ch_mode_rate.chan_mode), gsm48_chan_mode_name(mod->mode)); return -1; } diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 781db7c..da73fb8 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -685,6 +685,20 @@ } } +enum channel_rate chan_t_to_chan_rate(enum gsm_chan_t chan_t) +{ + switch (chan_t) { + default: + return -1; + case GSM_LCHAN_SDCCH: + return CH_RATE_SDCCH; + case GSM_LCHAN_TCH_F: + return CH_RATE_FULL; + case GSM_LCHAN_TCH_H: + return CH_RATE_HALF; + } +} + /* Can the timeslot in principle be used as this PCHAN kind? */ bool ts_is_capable_of_pchan(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config pchan) { diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index b397a9a..d0bd87b 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -52,7 +52,7 @@ lchan->ts->nr, \ lchan->nr, \ gsm_lchant_name(lchan->type), \ - gsm48_chan_mode_name(lchan->tch_mode), \ + gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode), \ bsc_subscr_name(lchan->conn? lchan->conn->bsub : NULL), \ ## args) @@ -63,7 +63,7 @@ lchan->ts->nr, \ lchan->nr, \ gsm_lchant_name(lchan->type), \ - gsm48_chan_mode_name(lchan->tch_mode), \ + gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode), \ new_bts->nr, \ bsc_subscr_name(lchan->conn? lchan->conn->bsub : NULL), \ ## args) @@ -75,7 +75,7 @@ lchan->ts->nr, \ lchan->nr, \ gsm_lchant_name(lchan->type), \ - gsm48_chan_mode_name(lchan->tch_mode), \ + gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode), \ gsm0808_cell_id_list_name(remote_cil), \ bsc_subscr_name(lchan->conn? lchan->conn->bsub : NULL), \ ## args) @@ -478,7 +478,7 @@ /* compatibility check for codecs. * if so, the candidates for full rate and half rate are selected */ - switch (c->current.lchan->tch_mode) { + switch (c->current.lchan->current_ch_mode_rate.chan_mode) { case GSM48_CMODE_SPEECH_V1: switch (c->current.lchan->type) { case GSM_LCHAN_TCH_F: /* mandatory */ @@ -489,7 +489,7 @@ LOGPHOLCHANTOBTS(c->current.lchan, c->target.bts, LOGL_DEBUG, "tch_mode='%s' type='%s' not supported\n", get_value_string(gsm48_chan_mode_names, - c->current.lchan->tch_mode), + c->current.lchan->current_ch_mode_rate.chan_mode), gsm_lchant_name(c->current.lchan->type)); break; } @@ -498,7 +498,8 @@ break; default: LOGPHOLCHAN(c->current.lchan, LOGL_ERROR, "Unexpected channel type: neither TCH/F nor TCH/H for %s\n", - get_value_string(gsm48_chan_mode_names, c->current.lchan->tch_mode)); + get_value_string(gsm48_chan_mode_names, + c->current.lchan->current_ch_mode_rate.chan_mode)); return; } break; @@ -757,7 +758,7 @@ /* compatibility check for codecs -- we have no notion of what the remote BSS supports. We can * only assume that a handover would work, and use only the local requirements. */ - switch (c->current.lchan->tch_mode) { + switch (c->current.lchan->current_ch_mode_rate.chan_mode) { case GSM48_CMODE_SPEECH_V1: switch (c->current.lchan->type) { case GSM_LCHAN_TCH_F: /* mandatory */ @@ -769,7 +770,8 @@ break; default: LOGPHOLCHAN(c->current.lchan, LOGL_ERROR, "Unexpected channel type: neither TCH/F nor TCH/H for %s\n", - get_value_string(gsm48_chan_mode_names, c->current.lchan->tch_mode)); + get_value_string(gsm48_chan_mode_names, + c->current.lchan->current_ch_mode_rate.chan_mode)); return; } break; @@ -815,7 +817,7 @@ bool full_rate = false; /* afs_bias becomes > 0, if AFS is used and is improved */ - if (c->current.lchan->tch_mode == GSM48_CMODE_SPEECH_AMR) + if (c->current.lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) afs_bias = ho_get_hodec2_afs_bias_rxlev(c->target.bts->ho); /* select TCH rate, prefer TCH/F if AFS is improved */ @@ -1243,7 +1245,7 @@ static int find_alternative_lchan(struct gsm_lchan *lchan, bool include_weaker_rxlev) { struct gsm_bts *bts = lchan->ts->trx->bts; - int ahs = (lchan->tch_mode == GSM48_CMODE_SPEECH_AMR + int ahs = (lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR && lchan->type == GSM_LCHAN_TCH_H); int rxlev_current; struct ho_candidate clist[1 + ARRAY_SIZE(lchan->neigh_meas)]; @@ -1454,7 +1456,7 @@ /* improve levels in case of AFS, if defined */ if (lchan->type == GSM_LCHAN_TCH_F - && lchan->tch_mode == GSM48_CMODE_SPEECH_AMR) { + && lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { int av_rxlev_was = av_rxlev; int av_rxqual_was = av_rxqual; int rxlev_bias = ho_get_hodec2_afs_bias_rxlev(bts->ho); diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 0b5a8be..b7658c5 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -61,7 +61,7 @@ lchan ? lchan->ts->nr : 0, \ lchan ? gsm_lchant_name(lchan->type) : "?", \ lchan ? lchan->nr : 0, \ - lchan ? gsm48_chan_mode_name(lchan->tch_mode) : "?" + lchan ? gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode) : "?" #define LOG_FMT_TO_LCHAN "%u-%u-%u-%s%s%s-%u" #define LOG_ARGS_TO_LCHAN(lchan) \ @@ -398,14 +398,14 @@ info = (struct lchan_activate_info){ .activ_for = ACTIVATE_FOR_HANDOVER, .for_conn = conn, - .chan_mode = conn->lchan->tch_mode, + .ch_mode_rate = conn->lchan->current_ch_mode_rate, .encr = conn->lchan->encr, .requires_voice_stream = conn->lchan->mgw_endpoint_ci_bts ? true : false, .msc_assigned_cic = conn->ho.inter_bsc_in.msc_assigned_cic, .re_use_mgw_endpoint_from_lchan = conn->lchan, .wait_before_switching_rtp = true, - .s15_s0 = conn->lchan->activate.info.s15_s0, }; + info.ch_mode_rate.chan_rate = chan_t_to_chan_rate(ho->new_lchan->type); /* For intra-cell handover, we know the accurate Timing Advance from the previous lchan. For inter-cell * handover, no Timing Advance for the new cell is known, so leave it unset. */ @@ -696,8 +696,7 @@ info = (struct lchan_activate_info){ .activ_for = ACTIVATE_FOR_HANDOVER, .for_conn = conn, - .chan_mode = ch_mode_rate.chan_mode, - .s15_s0 = ch_mode_rate.s15_s0, + .ch_mode_rate = ch_mode_rate, .requires_voice_stream = chan_mode_is_tch(ch_mode_rate.chan_mode), .msc_assigned_cic = req->msc_assigned_cic, }; @@ -849,7 +848,7 @@ }; /* Chosen Channel 3.2.2.33 */ - ho_perf_params.chosen_channel = gsm0808_chosen_channel(lchan->type, lchan->tch_mode); + ho_perf_params.chosen_channel = gsm0808_chosen_channel(lchan->type, lchan->current_ch_mode_rate.chan_mode); if (!ho_perf_params.chosen_channel) { LOG_HO(conn, LOGL_ERROR, "Failed to generate Chosen Channel IE, can't send HANDOVER PERFORMED!\n"); return; @@ -862,14 +861,15 @@ if (ho->new_lchan->activate.info.requires_voice_stream) { /* Speech Version (chosen) 3.2.2.51 */ - ho_perf_params.speech_version_chosen = gsm0808_permitted_speech(lchan->type, lchan->tch_mode); + ho_perf_params.speech_version_chosen = gsm0808_permitted_speech(lchan->type, + lchan->current_ch_mode_rate.chan_mode); ho_perf_params.speech_version_chosen_present = true; /* Speech Codec (chosen) 3.2.2.104 */ if (gscon_is_aoip(conn)) { /* Extrapolate speech codec from speech mode */ gsm0808_speech_codec_from_chan_type(&sc, ho_perf_params.speech_version_chosen); - sc.cfg = conn->lchan->ch_mode_rate.s15_s0; + sc.cfg = conn->lchan->current_ch_mode_rate.s15_s0; memcpy(&ho_perf_params.speech_codec_chosen, &sc, sizeof(sc)); ho_perf_params.speech_codec_chosen_present = true; } diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 1735346..6144ccf 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -569,6 +569,8 @@ /* Proceed with the generation of the multirate configuration IE * (MS and BTS) */ + /* FIXME: this actually modifies the lchan->mr_ms_lv and ->mr_bts_lv before an ACK for these AMR bits has been + * received. Until an ACK is received, all state should live in lchan->activate.* or lchan->modify.* ONLY. */ rc = gsm48_multirate_config(lchan->mr_ms_lv, &mr_conf_filtered, mr->ms_mode, mr->num_modes); if (rc != 0) { LOG_LCHAN(lchan, LOGL_ERROR, "can not encode multirate configuration (MS)\n"); @@ -580,7 +582,6 @@ return -EINVAL; } - lchan->s15_s0 = s15_s0; return 0; } @@ -645,30 +646,28 @@ lchan->bs_power = bts->bs_power_ctrl.bs_power_val_db / 2; } - if (info->chan_mode == GSM48_CMODE_SPEECH_AMR) { - if (lchan_mr_config(lchan, info->s15_s0) < 0) { + if (info->ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (lchan_mr_config(lchan, info->ch_mode_rate.s15_s0) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; } } - switch (info->chan_mode) { + switch (info->ch_mode_rate.chan_mode) { case GSM48_CMODE_SIGN: lchan->rsl_cmode = RSL_CMOD_SPD_SIGN; - lchan->tch_mode = GSM48_CMODE_SIGN; break; case GSM48_CMODE_SPEECH_V1: case GSM48_CMODE_SPEECH_EFR: case GSM48_CMODE_SPEECH_AMR: lchan->rsl_cmode = RSL_CMOD_SPD_SPEECH; - lchan->tch_mode = info->chan_mode; break; default: lchan_fail("Not implemented: cannot activate for chan mode %s", - gsm48_chan_mode_name(info->chan_mode)); + gsm48_chan_mode_name(info->ch_mode_rate.chan_mode)); return; } @@ -682,7 +681,7 @@ (use_mgwep_ci ? osmo_mgcpc_ep_ci_name(use_mgwep_ci) : "new") : "none", gsm_lchant_name(lchan->type), - gsm48_chan_mode_name(lchan->tch_mode), + gsm48_chan_mode_name(lchan->activate.info.ch_mode_rate.chan_mode), (lchan->activate.info.encr.alg_id ? : 1)-1, lchan->activate.info.encr.key_len ? osmo_hexdump_nospc(lchan->activate.info.encr.key, lchan->activate.info.encr.key_len) : "none"); @@ -822,6 +821,11 @@ { int rc; struct gsm_lchan *lchan = lchan_fi_lchan(fi); + + lchan->current_ch_mode_rate = lchan->activate.info.ch_mode_rate; + LOG_LCHAN(lchan, LOGL_INFO, "Rx Activ ACK %s\n", + gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode)); + if (lchan->release.requested) { lchan_fail_to(LCHAN_ST_WAIT_RF_RELEASE_ACK, "Release requested while activating"); return; @@ -948,7 +952,7 @@ static void lchan_fsm_wait_rr_chan_mode_modify_ack_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); - gsm48_lchan_modify(lchan, lchan->modify.info.chan_mode); + gsm48_lchan_modify(lchan, lchan->modify.info.ch_mode_rate.chan_mode); } static void lchan_fsm_wait_rr_chan_mode_modify_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -989,8 +993,7 @@ case LCHAN_EV_RSL_CHAN_MODE_MODIFY_ACK: /* The Channel Mode Modify was ACKed, now the requested values become the accepted and used values. */ - lchan->tch_mode = lchan->modify.info.chan_mode; - lchan->s15_s0 = lchan->modify.info.s15_s0; + lchan->current_ch_mode_rate = lchan->modify.info.ch_mode_rate; if (lchan->modify.info.requires_voice_stream && !lchan->fi_rtp) { @@ -999,7 +1002,7 @@ lchan->activate.info = (struct lchan_activate_info){ .activ_for = ACTIVATE_FOR_MODE_MODIFY_RTP, .for_conn = lchan->conn, - .s15_s0 = lchan->modify.info.s15_s0, + .ch_mode_rate = lchan->modify.info.ch_mode_rate, .requires_voice_stream = true, .msc_assigned_cic = lchan->modify.info.msc_assigned_cic, }; @@ -1142,8 +1145,8 @@ use_mgwep_ci = lchan_use_mgw_endpoint_ci_bts(lchan); - if (modif_info->chan_mode == GSM48_CMODE_SPEECH_AMR) { - if (lchan_mr_config(lchan, modif_info->s15_s0) < 0) { + if (modif_info->ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (lchan_mr_config(lchan, modif_info->ch_mode_rate.s15_s0) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; } @@ -1157,7 +1160,7 @@ (use_mgwep_ci ? osmo_mgcpc_ep_ci_name(use_mgwep_ci) : "new") : "none", gsm_lchant_name(lchan->type), - gsm48_chan_mode_name(lchan->tch_mode)); + gsm48_chan_mode_name(lchan->modify.info.ch_mode_rate.chan_mode)); lchan_fsm_state_chg(LCHAN_ST_WAIT_RR_CHAN_MODE_MODIFY_ACK); return; diff --git a/src/osmo-bsc/lchan_rtp_fsm.c b/src/osmo-bsc/lchan_rtp_fsm.c index 8991acc..366bd1b 100644 --- a/src/osmo-bsc/lchan_rtp_fsm.c +++ b/src/osmo-bsc/lchan_rtp_fsm.c @@ -268,19 +268,19 @@ return; } - val = ipacc_speech_mode(lchan->tch_mode, lchan->type); + val = ipacc_speech_mode(lchan->activate.info.ch_mode_rate.chan_mode, lchan->type); if (val < 0) { lchan_rtp_fail("Cannot determine Abis/IP speech mode for tch_mode=%s type=%s\n", - get_value_string(gsm48_chan_mode_names, lchan->tch_mode), + get_value_string(gsm48_chan_mode_names, lchan->activate.info.ch_mode_rate.chan_mode), gsm_lchant_name(lchan->type)); return; } lchan->abis_ip.speech_mode = val; - val = ipacc_payload_type(lchan->tch_mode, lchan->type); + val = ipacc_payload_type(lchan->activate.info.ch_mode_rate.chan_mode, lchan->type); if (val < 0) { lchan_rtp_fail("Cannot determine Abis/IP payload type for tch_mode=%s type=%s\n", - get_value_string(gsm48_chan_mode_names, lchan->tch_mode), + get_value_string(gsm48_chan_mode_names, lchan->activate.info.ch_mode_rate.chan_mode), gsm_lchant_name(lchan->type)); return; } @@ -834,14 +834,14 @@ void mgcp_pick_codec(struct mgcp_conn_peer *verb_info, const struct gsm_lchan *lchan, bool bss_side) { - enum mgcp_codecs codec = chan_mode_to_mgcp_codec(lchan->tch_mode, + enum mgcp_codecs codec = chan_mode_to_mgcp_codec(lchan->activate.info.ch_mode_rate.chan_mode, lchan->type == GSM_LCHAN_TCH_H? false : true); int custom_pt; if (codec < 0) { LOG_LCHAN(lchan, LOGL_ERROR, "Unable to determine MGCP codec type for %s in chan-mode %s\n", - gsm_lchant_name(lchan->type), gsm48_chan_mode_name(lchan->tch_mode)); + gsm_lchant_name(lchan->type), gsm48_chan_mode_name(lchan->activate.info.ch_mode_rate.chan_mode)); verb_info->codecs_len = 0; return; } diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index fff5fbb..239c2ca 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -679,12 +679,12 @@ switch (ct->ch_rate_type) { case GSM0808_SPEECH_FULL_BM: - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, + rc = match_codec_pref(&req->ch_mode_rate_list[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_FR); nc += (rc == 0) ? 1 : 0; break; case GSM0808_SPEECH_HALF_LM: - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, + rc = match_codec_pref(&req->ch_mode_rate_list[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_HR); nc += (rc == 0) ? 1 : 0; break; @@ -692,19 +692,19 @@ case GSM0808_SPEECH_PERM_NO_CHANGE: case GSM0808_SPEECH_FULL_PREF_NO_CHANGE: case GSM0808_SPEECH_FULL_PREF: - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, + rc = match_codec_pref(&req->ch_mode_rate_list[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_FR); nc += (rc == 0) ? 1 : 0; - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, + rc = match_codec_pref(&req->ch_mode_rate_list[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_HR); nc += (rc == 0) ? 1 : 0; break; case GSM0808_SPEECH_HALF_PREF_NO_CHANGE: case GSM0808_SPEECH_HALF_PREF: - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, + rc = match_codec_pref(&req->ch_mode_rate_list[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_HR); nc += (rc == 0) ? 1 : 0; - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, + rc = match_codec_pref(&req->ch_mode_rate_list[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_FR); nc += (rc == 0) ? 1 : 0; break; @@ -726,8 +726,8 @@ DEBUGP(DMSC, "Found matching audio type (pref=%d): %s %s for channel_type =" " { ch_indctr=0x%x, ch_rate_type=0x%x, perm_spch=[ %s] }\n", i, - req->ch_mode_rate[i].chan_rate == CH_RATE_FULL ? "full rate" : "half rate", - get_value_string(gsm48_chan_mode_names, req->ch_mode_rate[i].chan_mode), + req->ch_mode_rate_list[i].chan_rate == CH_RATE_FULL ? "full rate" : "half rate", + get_value_string(gsm48_chan_mode_names, req->ch_mode_rate_list[i].chan_mode), ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); } @@ -742,43 +742,43 @@ switch (ct->ch_rate_type) { case GSM0808_SIGN_ANY: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_SDCCH; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_HALF; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_FULL; break; case GSM0808_SIGN_SDCCH: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_SDCCH; break; case GSM0808_SIGN_SDCCH_FULL_BM: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_SDCCH; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_FULL; break; case GSM0808_SIGN_SDCCH_HALF_LM: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_SDCCH; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_HALF; break; case GSM0808_SIGN_FULL_BM: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_FULL; break; case GSM0808_SIGN_HALF_LM: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_HALF; break; case GSM0808_SIGN_FULL_PREF: case GSM0808_SIGN_FULL_PREF_NO_CHANGE: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_FULL; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_HALF; break; case GSM0808_SIGN_HALF_PREF: case GSM0808_SIGN_HALF_PREF_NO_CHANGE: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_HALF; + req->ch_mode_rate_list[nc++].chan_rate = CH_RATE_FULL; break; default: break; } for (i = 0; i < nc; i++) - req->ch_mode_rate[i].chan_mode = GSM48_CMODE_SIGN; + req->ch_mode_rate_list[i].chan_mode = GSM48_CMODE_SIGN; req->n_ch_mode_rate = nc; @@ -1379,7 +1379,7 @@ case GSM_LCHAN_TCH_H: params.speech_version_used_present = true; params.speech_version_used = gsm0808_permitted_speech(lchan->type, - lchan->tch_mode); + lchan->current_ch_mode_rate.chan_mode); if (!params.speech_version_used) { LOG_HO(lchan->conn, LOGL_ERROR, "Cannot encode Speech Version (Used)" " for BSSMAP Handover Required message\n"); @@ -1417,9 +1417,10 @@ .l3_info = rr_ho_command->data, .l3_info_len = rr_ho_command->len, .chosen_channel_present = true, - .chosen_channel = gsm0808_chosen_channel(new_lchan->type, new_lchan->tch_mode), + .chosen_channel = gsm0808_chosen_channel(new_lchan->type, new_lchan->current_ch_mode_rate.chan_mode), .chosen_encr_alg = new_lchan->encr.alg_id, - .chosen_speech_version = gsm0808_permitted_speech(new_lchan->type, new_lchan->tch_mode), + .chosen_speech_version = gsm0808_permitted_speech(new_lchan->type, + new_lchan->current_ch_mode_rate.chan_mode), }; if (gscon_is_aoip(conn)) { @@ -1475,7 +1476,7 @@ .chosen_encr_alg = lchan->encr.alg_id, .chosen_channel_present = true, - .chosen_channel = gsm0808_chosen_channel(lchan->type, lchan->tch_mode), + .chosen_channel = gsm0808_chosen_channel(lchan->type, lchan->current_ch_mode_rate.chan_mode), .lcls_bss_status_present = (lcls_status != 0xff), .lcls_bss_status = lcls_status, @@ -1483,7 +1484,7 @@ /* speech_codec_chosen */ if (ho->new_lchan->activate.info.requires_voice_stream && gscon_is_aoip(conn)) { - int perm_spch = gsm0808_permitted_speech(lchan->type, lchan->tch_mode); + int perm_spch = gsm0808_permitted_speech(lchan->type, lchan->current_ch_mode_rate.chan_mode); params.speech_codec_chosen_present = true; rc = gsm0808_speech_codec_from_chan_type(¶ms.speech_codec_chosen, perm_spch); if (rc) { diff --git a/src/osmo-bsc/osmo_bsc_lcls.c b/src/osmo-bsc/osmo_bsc_lcls.c index 4ab0441..2c90d01 100644 --- a/src/osmo-bsc/osmo_bsc_lcls.c +++ b/src/osmo-bsc/osmo_bsc_lcls.c @@ -345,15 +345,14 @@ return false; } - if (conn->lchan->tch_mode != conn->lcls.other->lchan->tch_mode + if (conn->lchan->current_ch_mode_rate.chan_mode != conn->lcls.other->lchan->current_ch_mode_rate.chan_mode && conn->sccp.msc->lcls_codec_mismatch_allow == false) { LOGPFSM(conn->lcls.fi, "Not enabling LS due to TCH-mode mismatch: %s:%s != %s:%s\n", gsm_lchan_name(conn->lchan), - gsm48_chan_mode_name(conn->lchan->tch_mode), + gsm48_chan_mode_name(conn->lchan->current_ch_mode_rate.chan_mode), gsm_lchan_name(conn->lcls.other->lchan), - gsm48_chan_mode_name(conn->lcls.other->lchan-> - tch_mode)); + gsm48_chan_mode_name(conn->lcls.other->lchan->current_ch_mode_rate.chan_mode)); return false; } diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 8e23a4f..e534152 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -397,14 +397,14 @@ create_conn(lchan); if (!strcasecmp(codec, "FR") && full_rate) - lchan->tch_mode = GSM48_CMODE_SPEECH_V1; + lchan->current_ch_mode_rate.chan_mode = GSM48_CMODE_SPEECH_V1; else if (!strcasecmp(codec, "HR") && !full_rate) - lchan->tch_mode = GSM48_CMODE_SPEECH_V1; + lchan->current_ch_mode_rate.chan_mode = GSM48_CMODE_SPEECH_V1; else if (!strcasecmp(codec, "EFR") && full_rate) - lchan->tch_mode = GSM48_CMODE_SPEECH_EFR; + lchan->current_ch_mode_rate.chan_mode = GSM48_CMODE_SPEECH_EFR; else if (!strcasecmp(codec, "AMR")) { - lchan->tch_mode = GSM48_CMODE_SPEECH_AMR; - lchan->activate.info.s15_s0 = 0x0002; + lchan->current_ch_mode_rate.chan_mode = GSM48_CMODE_SPEECH_AMR; + lchan->current_ch_mode_rate.s15_s0 = 0x0002; } else { fprintf(stderr, "Given codec unknown\n"); exit(EXIT_FAILURE); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0da36124d73efc28a8809b63d7c96e2167fc412 Gerrit-Change-Number: 24352 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:04:42 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 15:04:42 +0000 Subject: Change in osmo-bsc[master]: remove special case from assignment_count_result() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24353 ) Change subject: remove special case from assignment_count_result() ...................................................................... remove special case from assignment_count_result() The single place that calls this special case is now actually doing the exact same thing as the general case, and this is merely code dup. Change-Id: Ic62e8a48d3c88a1966086240a41732d169328491 --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 13 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/53/24353/1 diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index aeb9a24..f294473 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -84,19 +84,17 @@ rate_ctr_inc(&conn->network->bsc_ctrs->ctr[BSC_##counter]); \ if (bts) { \ rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter]); \ - if (BTS_##counter != BTS_CTR_ASSIGNMENT_NO_CHANNEL) { \ - switch (conn->assignment.req.ch_mode_rate_list[0].chan_mode) { \ - case GSM48_CMODE_SIGN: \ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter##_SIGN]); \ - break; \ - case GSM48_CMODE_SPEECH_V1: \ - case GSM48_CMODE_SPEECH_EFR: \ - case GSM48_CMODE_SPEECH_AMR: \ - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter##_SPEECH]); \ - break; \ - default: \ - break; \ - } \ + switch (conn->assignment.req.ch_mode_rate_list[0].chan_mode) { \ + case GSM48_CMODE_SIGN: \ + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter##_SIGN]); \ + break; \ + case GSM48_CMODE_SPEECH_V1: \ + case GSM48_CMODE_SPEECH_EFR: \ + case GSM48_CMODE_SPEECH_AMR: \ + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_##counter##_SPEECH]); \ + break; \ + default: \ + break; \ } \ } \ } while(0) @@ -458,8 +456,6 @@ OSMO_ASSERT(!conn->assignment.fi); OSMO_ASSERT(!conn->assignment.new_lchan); - assignment_count(CTR_ASSIGNMENT_ATTEMPTED); - fi = osmo_fsm_inst_alloc_child(&assignment_fsm, conn->fi, GSCON_EV_ASSIGNMENT_END); OSMO_ASSERT(fi); conn->assignment.fi = fi; @@ -469,6 +465,8 @@ conn->assignment.req = *req; req = &conn->assignment.req; + assignment_count(CTR_ASSIGNMENT_ATTEMPTED); + /* Check if we need a voice stream. If yes, set the appropriate struct * members in conn */ if (check_requires_voice_stream(conn) < 0) @@ -544,18 +542,6 @@ * down the assignment in case of failure. */ if (!conn->assignment.new_lchan) { assignment_count_result(CTR_ASSIGNMENT_NO_CHANNEL); - switch (req->ch_mode_rate_list[0].chan_mode) { - case GSM48_CMODE_SIGN: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_NO_CHANNEL_SIGN]); - break; - case GSM48_CMODE_SPEECH_V1: - case GSM48_CMODE_SPEECH_EFR: - case GSM48_CMODE_SPEECH_AMR: - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_NO_CHANNEL_SPEECH]); - break; - default: - break; - } assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, "BSSMAP Assignment Command:" " No lchan available for: pref=%s:%s / alt1=%s:%s / alt2=%s:%s\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic62e8a48d3c88a1966086240a41732d169328491 Gerrit-Change-Number: 24353 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:04:42 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 15:04:42 +0000 Subject: Change in osmo-bsc[master]: eliminate lchan->rsl_cmode References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24354 ) Change subject: eliminate lchan->rsl_cmode ...................................................................... eliminate lchan->rsl_cmode Change-Id: I1c167b22bb6638a929488d093bde0f1a5fb227ad --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c 5 files changed, 28 insertions(+), 43 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/54/24354/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 68c3074..ce47792 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -668,7 +668,6 @@ /* The logical channel type */ enum gsm_chan_t type; /* RSL channel mode */ - enum rsl_cmod_spd rsl_cmode; enum lchan_csd_mode csd_mode; /* Power levels for MS and BTS */ uint8_t bs_power; @@ -1390,4 +1389,6 @@ extern const struct gsm_power_ctrl_params power_ctrl_params_def; +enum rsl_cmod_spd chan_mode_to_rsl_cmod_spd(enum gsm48_chan_mode chan_mode); + #endif /* _GSM_DATA_H */ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 1aaebe3..514c987 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -354,6 +354,7 @@ struct gsm_lchan *lchan, const struct channel_mode_and_rate *ch_mode_rate) { + int spd_ind; memset(cm, 0, sizeof(*cm)); /* FIXME: what to do with data calls ? */ @@ -364,12 +365,12 @@ cm->dtx_dtu |= RSL_CMOD_DTXd; /* set TCH Speech/Data */ - cm->spd_ind = lchan->rsl_cmode; - - if (lchan->rsl_cmode == RSL_CMOD_SPD_SIGN && - ch_mode_rate->chan_mode != GSM48_CMODE_SIGN) - LOGP(DRSL, LOGL_ERROR, "unsupported: rsl_mode == signalling, " - "but tch_mode != signalling\n"); + spd_ind = chan_mode_to_rsl_cmod_spd(ch_mode_rate->chan_mode); + if (spd_ind < 0) { + LOGP(DRSL, LOGL_ERROR, "unsupported: chan_mode = %d\n", ch_mode_rate->chan_mode); + return spd_ind; + } + cm->spd_ind = spd_ind; switch (lchan->type) { case GSM_LCHAN_SDCCH: diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 8a375cb..bcc61a5 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -678,24 +678,6 @@ return -1; } - /* update the channel type */ - switch (mod->mode) { - case GSM48_CMODE_SIGN: - msg->lchan->rsl_cmode = RSL_CMOD_SPD_SIGN; - break; - case GSM48_CMODE_SPEECH_V1: - case GSM48_CMODE_SPEECH_EFR: - case GSM48_CMODE_SPEECH_AMR: - msg->lchan->rsl_cmode = RSL_CMOD_SPD_SPEECH; - break; - case GSM48_CMODE_DATA_14k5: - case GSM48_CMODE_DATA_12k0: - case GSM48_CMODE_DATA_6k0: - case GSM48_CMODE_DATA_3k6: - msg->lchan->rsl_cmode = RSL_CMOD_SPD_DATA; - break; - } - return 0; } diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index da73fb8..c45800a 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -1057,3 +1057,22 @@ .h_reqt = 6, /* TODO: investigate a reasonable default value */ }, }; + +enum rsl_cmod_spd chan_mode_to_rsl_cmod_spd(enum gsm48_chan_mode chan_mode) +{ + switch (chan_mode) { + case GSM48_CMODE_SIGN: + return RSL_CMOD_SPD_SIGN; + case GSM48_CMODE_SPEECH_V1: + case GSM48_CMODE_SPEECH_EFR: + case GSM48_CMODE_SPEECH_AMR: + return RSL_CMOD_SPD_SPEECH; + case GSM48_CMODE_DATA_14k5: + case GSM48_CMODE_DATA_12k0: + case GSM48_CMODE_DATA_6k0: + case GSM48_CMODE_DATA_3k6: + return RSL_CMOD_SPD_DATA; + default: + return -EINVAL; + } +} diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 6144ccf..d648202 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -653,24 +653,6 @@ } } - switch (info->ch_mode_rate.chan_mode) { - - case GSM48_CMODE_SIGN: - lchan->rsl_cmode = RSL_CMOD_SPD_SIGN; - break; - - case GSM48_CMODE_SPEECH_V1: - case GSM48_CMODE_SPEECH_EFR: - case GSM48_CMODE_SPEECH_AMR: - lchan->rsl_cmode = RSL_CMOD_SPD_SPEECH; - break; - - default: - lchan_fail("Not implemented: cannot activate for chan mode %s", - gsm48_chan_mode_name(info->ch_mode_rate.chan_mode)); - return; - } - use_mgwep_ci = lchan_use_mgw_endpoint_ci_bts(lchan); LOG_LCHAN(lchan, LOGL_INFO, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1c167b22bb6638a929488d093bde0f1a5fb227ad Gerrit-Change-Number: 24354 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:04:43 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 15:04:43 +0000 Subject: Change in osmo-bsc[master]: move lchan->csd_mode into channel_mode_and_rate References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24355 ) Change subject: move lchan->csd_mode into channel_mode_and_rate ...................................................................... move lchan->csd_mode into channel_mode_and_rate The GSM48_CMODE_DATA_* rates are completely unused in OsmoBSC anyway, but there is some code in abis_rsl.c checking its value, and if we were to start using it that is the place where it should be. Change-Id: Ie0e065a5dca5f4a31d5d81e3528a539214a74170 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c 2 files changed, 16 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/55/24355/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index ce47792..04d5e52 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -107,10 +107,24 @@ enum channel_rate chan_t_to_chan_rate(enum gsm_chan_t chan_t); +enum lchan_csd_mode { + LCHAN_CSD_M_NT, + LCHAN_CSD_M_T_1200_75, + LCHAN_CSD_M_T_600, + LCHAN_CSD_M_T_1200, + LCHAN_CSD_M_T_2400, + LCHAN_CSD_M_T_9600, + LCHAN_CSD_M_T_14400, + LCHAN_CSD_M_T_29000, + LCHAN_CSD_M_T_32000, +}; + struct channel_mode_and_rate { enum gsm48_chan_mode chan_mode; enum channel_rate chan_rate; uint16_t s15_s0; + /* only used for GSM48_CMODE_DATA_* */ + enum lchan_csd_mode csd_mode; }; enum assign_for { @@ -499,18 +513,6 @@ }; /* /BTS ONLY */ -enum lchan_csd_mode { - LCHAN_CSD_M_NT, - LCHAN_CSD_M_T_1200_75, - LCHAN_CSD_M_T_600, - LCHAN_CSD_M_T_1200, - LCHAN_CSD_M_T_2400, - LCHAN_CSD_M_T_9600, - LCHAN_CSD_M_T_14400, - LCHAN_CSD_M_T_29000, - LCHAN_CSD_M_T_32000, -}; - /* State of the SAPIs in the lchan */ enum lchan_sapi_state { LCHAN_SAPI_S_NONE, @@ -667,8 +669,6 @@ /* The logical channel type */ enum gsm_chan_t type; - /* RSL channel mode */ - enum lchan_csd_mode csd_mode; /* Power levels for MS and BTS */ uint8_t bs_power; uint8_t ms_power; diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 514c987..5ea1c11 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -407,7 +407,7 @@ case GSM48_CMODE_DATA_14k5: case GSM48_CMODE_DATA_12k0: case GSM48_CMODE_DATA_6k0: - switch (lchan->csd_mode) { + switch (ch_mode_rate->csd_mode) { case LCHAN_CSD_M_NT: /* non-transparent CSD with RLP */ switch (ch_mode_rate->chan_mode) { @@ -453,9 +453,7 @@ cm->chan_rate = RSL_CMOD_CSD_T_32000; break; default: - LOGP(DRSL, LOGL_ERROR, - "unsupported lchan->csd_mode %u\n", - lchan->csd_mode); + LOGP(DRSL, LOGL_ERROR, "unsupported csd_mode %u\n", ch_mode_rate->csd_mode); return -EINVAL; } break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0e065a5dca5f4a31d5d81e3528a539214a74170 Gerrit-Change-Number: 24355 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:04:43 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 15:04:43 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 1: split lchan_mr_config() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24356 ) Change subject: AMR config cleanup step 1: split lchan_mr_config() ...................................................................... AMR config cleanup step 1: split lchan_mr_config() Split off two function from lchan_mr_config() which do not directly manipulate struct gsm_lchan members. This allows subsequent patches to re-use mr_config_filter() for Channel Mode Modify without depending on lchan->activate.info; allows to filter AMR modes without modifying the state of an already active lchan before sending a Channel Activation or Channel Mode Modify; and allows to move mr_config_render_lv() to gsm_04_08_rr.c so that the mr_ms_lv and mr_bts_lv no longer need to be stored in struct gsm_lchan -- they essentially duplicate s15_s0. Rationale: This is a follow-up for the AMR configuration in the sense that previous patch Ie0da36124d73efc28a8809b63d7c96e2167fc412 started for channel mode and rate, and the s15_s0 bits: The AMR mode filtering directly manipulates struct gsm_lchan members and takes parameters from lchan->activate.info. This makes it hard to separate lchan activation from the Channel Mode Modify procedure. Change-Id: Iebac2dc26412d877e5364f90d6f2ed7a7952351e --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 85 insertions(+), 73 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/56/24356/1 diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index d648202..07a07bc 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -484,103 +484,115 @@ } /* Configure the multirate setting on this channel. */ -static int lchan_mr_config(struct gsm_lchan *lchan, uint16_t s15_s0) +static int mr_config_filter(struct gsm48_multi_rate_conf *mr_conf_result, + bool full_rate, + const struct amr_multirate_conf *amr_mrc, + const struct gsm48_multi_rate_conf *mr_filter_bts, + const struct gsm48_multi_rate_conf *mr_filter_msc, + uint16_t s15_s0, + const struct gsm_lchan *logging) { - struct gsm48_multi_rate_conf mr_conf; - bool full_rate = (lchan->type == GSM_LCHAN_TCH_F); - struct gsm_bts *bts = lchan->ts->trx->bts; - struct amr_multirate_conf *mr; int rc; - int rc_rate; - struct gsm48_multi_rate_conf mr_conf_filtered; - const struct gsm48_multi_rate_conf *mr_conf_bts; /* Generate mr conf struct from S15-S0 bits */ - if (gsm48_mr_cfg_from_gsm0808_sc_cfg(&mr_conf, s15_s0) < 0) { - LOG_LCHAN(lchan, LOGL_ERROR, + if (gsm48_mr_cfg_from_gsm0808_sc_cfg(mr_conf_result, s15_s0) < 0) { + LOG_LCHAN(logging, LOGL_ERROR, "can not determine multirate configuration, S15-S0 (%04x) are ambiguous!\n", s15_s0); return -EINVAL; } /* Do not include 12.2 kbps rate when S1 is set. */ - if (lchan->type == GSM_LCHAN_TCH_H && (s15_s0 & GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20)) { - /* See also 3GPP TS 28.062, chapter 7.11.3.1.3: "In case this Configuration - * "Config-NB-Code = 1" is signalled in the TFO Negotiation for the HR_AMR - * Codec Type,then it shall be assumed that AMR mode 12.2 kbps is (of course) - * not included. */ - mr_conf.m12_2 = 0; + if ((!full_rate) && (s15_s0 & GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20)) { + /* See also 3GPP TS 28.062, chapter 7.11.3.1.3: + * + * In case this Configuration "Config-NB-Code = 1" is signalled in the TFO Negotiation for the HR_AMR + * Codec Type, then it shall be assumed that AMR mode 12.2 kbps is (of course) not included. + * + * Further below, we log an error if 12k2 is included for a TCH/H lchan: removing this here ensures that + * we don't log that error for GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20 on a TCH/H lchan. */ + mr_conf_result->m12_2 = 0; } - /* There are two different active sets, depending on the channel rate, - * make sure the appropate one is selected. */ - if (full_rate) - mr = &bts->mr_full; - else - mr = &bts->mr_half; - mr_conf_bts = (struct gsm48_multi_rate_conf *)mr->gsm48_ie; - - if (lchan->activate.info.activ_for == ACTIVATE_FOR_VTY) - /* If the channel is activated manually from VTY, then there is no - * conn attached to the lchan, also no MSC is involved. Since this - * option is for debugging and the codec choice is an intentional - * decision by the VTY user, we do not filter the mr_conf. */ - memcpy(&mr_conf_filtered, &mr_conf, sizeof(mr_conf_filtered)); - else { - /* The VTY allows to forbid certain codec rates. Unfortunately we can - * not articulate all of the prohibitions on through S0-S15 on the A - * interface. To ensure that the VTY settings are observed we create - * a manipulated copy of the mr_conf that ensures forbidden codec rates - * are not used in the multirate configuration IE. */ - rc_rate = calc_amr_rate_intersection(&mr_conf_filtered, &lchan->conn->sccp.msc->amr_conf, &mr_conf); - if (rc_rate < 0) { - LOG_LCHAN(lchan, LOGL_ERROR, + if (mr_filter_msc) { + rc = calc_amr_rate_intersection(mr_conf_result, mr_filter_msc, mr_conf_result); + if (rc < 0) { + LOG_LCHAN(logging, LOGL_ERROR, "can not encode multirate configuration (invalid amr rate setting, MSC)\n"); return -EINVAL; } } - /* The two last codec rates which are defined for AMR do only work with - * full rate channels. We will pinch off those rates f?r half-rate - * channels to ensure they are not included accidently. */ - if (!full_rate) { - if (mr_conf_filtered.m10_2 || mr_conf_filtered.m12_2) - LOG_LCHAN(lchan, LOGL_ERROR, "ignoring unsupported amr codec rates\n"); - mr_conf_filtered.m10_2 = 0; - mr_conf_filtered.m12_2 = 0; - } - - /* Ensure that the resulting filtered conf is coherent with the - * configuration that is set for the BTS and the specified rate. - * if the channel activation was triggerd by the VTY, do not - * filter anything (see also comment above) */ - if (lchan->activate.info.activ_for != ACTIVATE_FOR_VTY) { - rc_rate = calc_amr_rate_intersection(&mr_conf_filtered, mr_conf_bts, &mr_conf_filtered); - if (rc_rate < 0) { - LOG_LCHAN(lchan, LOGL_ERROR, + if (mr_filter_bts) { + rc = calc_amr_rate_intersection(mr_conf_result, mr_filter_bts, mr_conf_result); + if (rc < 0) { + LOG_LCHAN(logging, LOGL_ERROR, "can not encode multirate configuration (invalid amr rate setting, BTS)\n"); return -EINVAL; } + + /* Set the ICMI according to the BTS. Above gsm48_mr_cfg_from_gsm0808_sc_cfg() always sets ICMI = 1, which + * carried through all of the above rate intersections. */ + mr_conf_result->icmi = mr_filter_bts->icmi; + mr_conf_result->smod = mr_filter_bts->smod; } - /* Set the ICMI according to the BTS. Above gsm48_mr_cfg_from_gsm0808_sc_cfg() always sets ICMI = 1, which - * carried through all of the above rate intersections. */ - mr_conf_filtered.icmi = mr_conf_bts->icmi; - mr_conf_filtered.smod = mr_conf_bts->smod; + /* 10k2 and 12k2 only work for full rate */ + if (!full_rate) { + if (mr_conf_result->m10_2 || mr_conf_result->m12_2) + LOG_LCHAN(logging, LOGL_ERROR, + "half rate lchan: ignoring unsupported AMR codec rates 10k2 and 12k2\n"); + mr_conf_result->m10_2 = 0; + mr_conf_result->m12_2 = 0; + } - /* Proceed with the generation of the multirate configuration IE - * (MS and BTS) */ + return 0; +} + +static int mr_config_render_lv(uint8_t *mr_ms_lv, uint8_t *mr_bts_lv, + const struct gsm48_multi_rate_conf *mr_conf, + const struct amr_multirate_conf *amr_mrc, + const struct gsm_lchan *logging) +{ + if (gsm48_multirate_config(mr_ms_lv, mr_conf, amr_mrc->ms_mode, amr_mrc->num_modes)) { + LOG_LCHAN(logging, LOGL_ERROR, "can not encode multirate configuration (MS)\n"); + return -EINVAL; + } + if (gsm48_multirate_config(mr_bts_lv, mr_conf, amr_mrc->bts_mode, amr_mrc->num_modes)) { + LOG_LCHAN(logging, LOGL_ERROR, "can not encode multirate configuration (BTS)\n"); + return -EINVAL; + } + return 0; +} + +/* Configure the multirate setting on this channel. */ +static int lchan_mr_config(struct gsm_lchan *lchan, uint16_t s15_s0) +{ + struct gsm_bts *bts = lchan->ts->trx->bts; + bool full_rate = lchan->type == GSM_LCHAN_TCH_F; + struct amr_multirate_conf *amr_mrc = full_rate ? &bts->mr_full : &bts->mr_half; + struct gsm48_multi_rate_conf *mr_filter_bts = NULL; + struct gsm48_multi_rate_conf *mr_filter_msc = NULL; + struct gsm48_multi_rate_conf mr_conf; + int rc; + + if (lchan->activate.info.activ_for != ACTIVATE_FOR_VTY) { + mr_filter_bts = (struct gsm48_multi_rate_conf*)amr_mrc->gsm48_ie; + mr_filter_msc = &lchan->conn->sccp.msc->amr_conf; + } + + rc = mr_config_filter(&mr_conf, + full_rate, + amr_mrc, mr_filter_bts, mr_filter_msc, + s15_s0, + lchan); + if (rc) + return rc; + /* FIXME: this actually modifies the lchan->mr_ms_lv and ->mr_bts_lv before an ACK for these AMR bits has been * received. Until an ACK is received, all state should live in lchan->activate.* or lchan->modify.* ONLY. */ - rc = gsm48_multirate_config(lchan->mr_ms_lv, &mr_conf_filtered, mr->ms_mode, mr->num_modes); - if (rc != 0) { - LOG_LCHAN(lchan, LOGL_ERROR, "can not encode multirate configuration (MS)\n"); - return -EINVAL; - } - rc = gsm48_multirate_config(lchan->mr_bts_lv, &mr_conf_filtered, mr->bts_mode, mr->num_modes); - if (rc != 0) { - LOG_LCHAN(lchan, LOGL_ERROR, "can not encode multirate configuration (BTS)\n"); - return -EINVAL; - } + rc = mr_config_render_lv(lchan->mr_ms_lv, lchan->mr_bts_lv, &mr_conf, amr_mrc, lchan); + if (rc) + return rc; return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iebac2dc26412d877e5364f90d6f2ed7a7952351e Gerrit-Change-Number: 24356 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:04:44 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 15:04:44 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 2: filter modes also for VTY References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24357 ) Change subject: AMR config cleanup step 2: filter modes also for VTY ...................................................................... AMR config cleanup step 2: filter modes also for VTY The previous patch reshuffled the code without having any functional change. In this patch, a functional change follows: It does not really make sense to decide on AMR mode filtering based on whether an activation request came from the VTY: a) BTS: There is no need to skip AMR mode filtering for the BTS config at all. There is always a BTS. b) MSC: Instead of testing for a VTY origin of the request, rather skip the MSC AMR config filtering exactly when there is no conn associated with the lchan. Move the bts filtering directly into mr_config_filter(). Change-Id: Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 14 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/57/24357/1 diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 07a07bc..3d181ff 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -487,12 +487,12 @@ static int mr_config_filter(struct gsm48_multi_rate_conf *mr_conf_result, bool full_rate, const struct amr_multirate_conf *amr_mrc, - const struct gsm48_multi_rate_conf *mr_filter_bts, const struct gsm48_multi_rate_conf *mr_filter_msc, uint16_t s15_s0, const struct gsm_lchan *logging) { int rc; + struct gsm48_multi_rate_conf *mr_filter_bts = (struct gsm48_multi_rate_conf*)amr_mrc->gsm48_ie; /* Generate mr conf struct from S15-S0 bits */ if (gsm48_mr_cfg_from_gsm0808_sc_cfg(mr_conf_result, s15_s0) < 0) { @@ -522,20 +522,18 @@ } } - if (mr_filter_bts) { - rc = calc_amr_rate_intersection(mr_conf_result, mr_filter_bts, mr_conf_result); - if (rc < 0) { - LOG_LCHAN(logging, LOGL_ERROR, - "can not encode multirate configuration (invalid amr rate setting, BTS)\n"); - return -EINVAL; - } - - /* Set the ICMI according to the BTS. Above gsm48_mr_cfg_from_gsm0808_sc_cfg() always sets ICMI = 1, which - * carried through all of the above rate intersections. */ - mr_conf_result->icmi = mr_filter_bts->icmi; - mr_conf_result->smod = mr_filter_bts->smod; + rc = calc_amr_rate_intersection(mr_conf_result, mr_filter_bts, mr_conf_result); + if (rc < 0) { + LOG_LCHAN(logging, LOGL_ERROR, + "can not encode multirate configuration (invalid amr rate setting, BTS)\n"); + return -EINVAL; } + /* Set the ICMI according to the BTS. Above gsm48_mr_cfg_from_gsm0808_sc_cfg() always sets ICMI = 1, which + * carried through all of the above rate intersections. */ + mr_conf_result->icmi = mr_filter_bts->icmi; + mr_conf_result->smod = mr_filter_bts->smod; + /* 10k2 and 12k2 only work for full rate */ if (!full_rate) { if (mr_conf_result->m10_2 || mr_conf_result->m12_2) @@ -570,19 +568,17 @@ struct gsm_bts *bts = lchan->ts->trx->bts; bool full_rate = lchan->type == GSM_LCHAN_TCH_F; struct amr_multirate_conf *amr_mrc = full_rate ? &bts->mr_full : &bts->mr_half; - struct gsm48_multi_rate_conf *mr_filter_bts = NULL; struct gsm48_multi_rate_conf *mr_filter_msc = NULL; struct gsm48_multi_rate_conf mr_conf; int rc; - if (lchan->activate.info.activ_for != ACTIVATE_FOR_VTY) { - mr_filter_bts = (struct gsm48_multi_rate_conf*)amr_mrc->gsm48_ie; + /* If activated for VTY, there may not be a conn indicating an MSC AMR configuration. */ + if (lchan->conn && lchan->conn->sccp.msc) mr_filter_msc = &lchan->conn->sccp.msc->amr_conf; - } rc = mr_config_filter(&mr_conf, full_rate, - amr_mrc, mr_filter_bts, mr_filter_msc, + amr_mrc, mr_filter_msc, s15_s0, lchan); if (rc) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 Gerrit-Change-Number: 24357 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:04:45 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 15:04:45 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 3: generate AMR LV on msg composition References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24358 ) Change subject: AMR config cleanup step 3: generate AMR LV on msg composition ...................................................................... AMR config cleanup step 3: generate AMR LV on msg composition Firstly, do not store the encoded AMR length-value bits in gsm_lchan->* before an activation/modify has actually succeeded. And secondly, do not store the AMR LV structure in struct gsm_lchan at all, but only generate the TLV exactly when a message is being composed. In gsm48_multirate_config(), generate the LV directly to a msgb instead of a static buffer first. gsm0408_test.c expected output verifies that the generated LV bytes remain unchanged. In lchan_mr_config(), introduce a target mr_conf argument, so that Chan Act and Mode Modify may generate the filtered AMR config to different locations (lchan->{activate,modify}.mr_conf_filtered). Only after receiving an ACK for Activate/Modify, set lchan->current_mr_conf from lchan->{activate,modify}.mr_conf_filtered. Use the properly scoped lchan->activate.mr_conf_filtered for Chan Act, lchan->modify.mr_conf_filtered for Mode Modify and new_lchan->current_mr_conf for Handover Command as appropriate. Change-Id: Ie57f9d0e3912632903d9740291225bfd1634ed47 --- M include/osmocom/bsc/gsm_04_08_rr.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c M tests/gsm0408/gsm0408_test.c 6 files changed, 143 insertions(+), 103 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/58/24358/1 diff --git a/include/osmocom/bsc/gsm_04_08_rr.h b/include/osmocom/bsc/gsm_04_08_rr.h index 91dcbe3..5ddee7f 100644 --- a/include/osmocom/bsc/gsm_04_08_rr.h +++ b/include/osmocom/bsc/gsm_04_08_rr.h @@ -21,7 +21,8 @@ uint8_t *classmark2_lv); int gsm48_send_rr_classmark_enquiry(struct gsm_lchan *lchan); int gsm48_send_rr_ciph_mode(struct gsm_lchan *lchan, int want_imeisv); -int gsm48_multirate_config(uint8_t *lv, const struct gsm48_multi_rate_conf *mr_conf, +int gsm48_multirate_config(struct msgb *msg, + const struct gsm48_multi_rate_conf *mr_conf, const struct amr_mode *modes, unsigned int num_modes); struct msgb *gsm48_make_ho_cmd(struct gsm_lchan *new_lchan, uint8_t power_command, uint8_t ho_ref); int gsm48_send_ho_cmd(struct gsm_lchan *old_lchan, struct gsm_lchan *new_lchan, diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 04d5e52..3ed624f 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -634,6 +634,7 @@ struct { struct lchan_activate_info info; + struct gsm48_multi_rate_conf mr_conf_filtered; bool activ_ack; /*< true as soon as RSL Chan Activ Ack is received */ bool immediate_assignment_sent; /*! This flag ensures that when an lchan activation has succeeded, and we have already @@ -645,6 +646,7 @@ struct { struct lchan_modify_info info; + struct gsm48_multi_rate_conf mr_conf_filtered; bool concluded; } modify; @@ -675,10 +677,6 @@ /* Encryption information */ struct gsm_encr encr; - /* AMR bits */ - uint8_t mr_ms_lv[7]; - uint8_t mr_bts_lv[7]; - /* Established data link layer services */ uint8_t sapis[8]; @@ -722,6 +720,7 @@ /* After the Channel Activation ACK or RSL Mode Modify ACK is received, this reflects the actually used * channel_mode_and_rate. */ struct channel_mode_and_rate current_ch_mode_rate; + struct gsm48_multi_rate_conf current_mr_conf; }; /* One Timeslot in a TRX */ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 5ea1c11..31adf80 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -465,21 +465,11 @@ return 0; } -static void mr_config_for_bts(struct gsm_lchan *lchan, struct msgb *msg, - const struct channel_mode_and_rate *ch_mode_rate) +static int put_mr_config_for_bts(struct msgb *msg, const struct gsm48_multi_rate_conf *mr_conf_filtered, + const struct amr_multirate_conf *mr_modes) { - uint8_t len; - - if (ch_mode_rate->chan_mode != GSM48_CMODE_SPEECH_AMR) - return; - - len = lchan->mr_bts_lv[0]; - if (!len) { - LOG_LCHAN(lchan, LOGL_ERROR, "Missing Multirate Config (len is zero)\n"); - return; - } - msgb_tlv_put(msg, RSL_IE_MR_CONFIG, lchan->mr_bts_lv[0], - lchan->mr_bts_lv + 1); + msgb_put_u8(msg, RSL_IE_MR_CONFIG); + return gsm48_multirate_config(msg, mr_conf_filtered, mr_modes->bts_mode, mr_modes->num_modes); } /* indicate FACCH/SACCH Repetition to be performed by BTS, @@ -605,7 +595,16 @@ add_power_control_params(msg, RSL_IE_BS_POWER_PARAM, lchan); add_power_control_params(msg, RSL_IE_MS_POWER_PARAM, lchan); - mr_config_for_bts(lchan, msg, &lchan->activate.info.ch_mode_rate); + if (lchan->activate.info.ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + rc = put_mr_config_for_bts(msg, &lchan->activate.mr_conf_filtered, + (lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); + if (rc) { + LOG_LCHAN(lchan, LOGL_ERROR, "Cannot encode MultiRate Configuration IE\n"); + msgb_free(msg); + return rc; + } + } + rep_acch_cap_for_bts(lchan, msg); msg->dst = trx->rsl_link; @@ -635,6 +634,7 @@ uint8_t chan_nr = gsm_lchan2chan_nr(lchan); struct rsl_ie_chan_mode cm; + struct gsm_bts *bts = lchan->ts->trx->bts; rc = channel_mode_from_lchan(&cm, lchan, &lchan->modify.info.ch_mode_rate); if (rc < 0) @@ -655,7 +655,16 @@ msgb_tlv_put(msg, RSL_IE_ENCR_INFO, rc, encr_info); } - mr_config_for_bts(lchan, msg, &lchan->modify.info.ch_mode_rate); + if (lchan->modify.info.ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + rc = put_mr_config_for_bts(msg, &lchan->modify.mr_conf_filtered, + (lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); + if (rc) { + LOG_LCHAN(lchan, LOGL_ERROR, "Cannot encode MultiRate Configuration IE\n"); + msgb_free(msg); + return rc; + } + } + rep_acch_cap_for_bts(lchan, msg); msg->dst = lchan->ts->trx->rsl_link; diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index bcc61a5..df497c9 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -232,11 +232,11 @@ return GSM_CHREQ_REASON_OTHER; } -static void mr_config_for_ms(struct gsm_lchan *lchan, struct msgb *msg) +static int put_mr_config_for_ms(struct msgb *msg, const struct gsm48_multi_rate_conf *mr_conf_filtered, + const struct amr_multirate_conf *mr_modes) { - if (lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) - msgb_tlv_put(msg, GSM48_IE_MUL_RATE_CFG, lchan->mr_ms_lv[0], - lchan->mr_ms_lv + 1); + msgb_put_u8(msg, GSM48_IE_MUL_RATE_CFG); + return gsm48_multirate_config(msg, mr_conf_filtered, mr_modes->ms_mode, mr_modes->num_modes); } #define CELL_SEL_IND_AFTER_REL_EARCFN_ENTRY (1+16+4+1+1) @@ -397,12 +397,12 @@ } /*! \brief Encode a TS 04.08 multirate config LV according to 10.5.2.21aa. - * \param[out] lv caller-allocated buffer of 7 bytes. First octet is is length. + * \param[out] msg msgb to append to. * \param[in] mr_conf multi-rate configuration to encode (selected modes). * \param[in] modes array describing the AMR modes. * \param[in] num_modes length of the modes array. * \returns 0 on success, -EINVAL on failure. */ -int gsm48_multirate_config(uint8_t *lv, +int gsm48_multirate_config(struct msgb *msg, const struct gsm48_multi_rate_conf *mr_conf, const struct amr_mode *modes, unsigned int num_modes) { @@ -413,15 +413,17 @@ bool mode_valid; uint8_t *gsm48_ie = (uint8_t *) mr_conf; const struct amr_mode *modes_selected[4]; + uint8_t *len; + uint8_t *data; /* Check if modes for consistency (order and duplicates) */ - for (i = 0; i < num_modes; i++) { - if (i > 0 && modes[i - 1].mode > modes[i].mode) { + for (i = 1; i < num_modes; i++) { + if (modes[i - 1].mode > modes[i].mode) { LOGP(DRR, LOGL_ERROR, "BUG: Multirate codec with inconsistent config (mode order).\n"); return -EINVAL; } - if (i > 0 && modes[i - 1].mode == modes[i].mode) { + if (modes[i - 1].mode == modes[i].mode) { LOGP(DRR, LOGL_ERROR, "BUG: Multirate codec with inconsistent config (duplicate modes).\n"); return -EINVAL; @@ -482,28 +484,49 @@ /* When the caller is not interested in any result, skip the actual * composition of the IE (dry run) */ - if (!lv) + if (!msg) return 0; /* Compose output buffer */ - lv[0] = (num == 1) ? 2 : (num + 2); - memcpy(lv + 1, gsm48_ie, 2); + /* length */ + len = msgb_put(msg, 1); + + /* Write octet 3 (Multirate speech version, NSCB, ICMI, spare, Start mode) + * and octet 4 (Set of AMR codec modes) */ + data = msgb_put(msg, 2); + memcpy(data, gsm48_ie, 2); if (num == 1) - return 0; + goto return_msg; - lv[3] = modes_selected[0]->threshold & 0x3f; - lv[4] = modes_selected[0]->hysteresis << 4; + /* more than 1 mode: write octet 5 and 6: threshold 1 and hysteresis 1 */ + data = msgb_put(msg, 2); + data[0] = modes_selected[0]->threshold & 0x3f; + data[1] = modes_selected[0]->hysteresis << 4; if (num == 2) - return 0; - lv[4] |= (modes_selected[1]->threshold & 0x3f) >> 2; - lv[5] = modes_selected[1]->threshold << 6; - lv[5] |= (modes_selected[1]->hysteresis & 0x0f) << 2; - if (num == 3) - return 0; - lv[5] |= (modes_selected[2]->threshold & 0x3f) >> 4; - lv[6] = modes_selected[2]->threshold << 4; - lv[6] |= modes_selected[2]->hysteresis & 0x0f; + goto return_msg; + /* more than 2 modes: complete octet 6 and add octet 7: threshold 2 and hysteresis 2. + * Threshold 2 starts in octet 6. */ + data[1] |= (modes_selected[1]->threshold & 0x3f) >> 2; + /* octet 7 */ + data = msgb_put(msg, 1); + data[0] = modes_selected[1]->threshold << 6; + data[0] |= (modes_selected[1]->hysteresis & 0x0f) << 2; + if (num == 3) + goto return_msg; + + /* four modes: complete octet 7 and add octet 8: threshold 3 and hysteresis 3. + * Threshold 3 starts in octet 7. */ + data[0] |= (modes_selected[2]->threshold & 0x3f) >> 4; + /* octet 8 */ + data = msgb_put(msg, 1); + data[0] = modes_selected[2]->threshold << 4; + data[0] |= modes_selected[2]->hysteresis & 0x0f; + +return_msg: + /* Place written len in the IE length field. msg->tail points one byte after the last data octet, len points at + * the L octet of the TLV. */ + *len = (msg->tail - 1) - len; return 0; } @@ -516,6 +539,7 @@ struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); struct gsm48_ho_cmd *ho = (struct gsm48_ho_cmd *) msgb_put(msg, sizeof(*ho)); + struct gsm_bts *bts = new_lchan->ts->trx->bts; gh->proto_discr = GSM48_PDISC_RR; gh->msg_type = GSM48_MT_RR_HANDO_CMD; @@ -548,9 +572,14 @@ } /* in case of multi rate we need to attach a config */ - if (new_lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) - msgb_tlv_put(msg, GSM48_IE_MUL_RATE_CFG, new_lchan->mr_ms_lv[0], - new_lchan->mr_ms_lv + 1); + if (new_lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (put_mr_config_for_ms(msg, &new_lchan->current_mr_conf, + (new_lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half)) { + LOG_LCHAN(new_lchan, LOGL_ERROR, "Cannot encode MultiRate Configuration IE\n"); + msgb_free(msg); + return NULL; + } + } return msg; } @@ -572,9 +601,10 @@ struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); struct gsm48_ass_cmd *ass = (struct gsm48_ass_cmd *) msgb_put(msg, sizeof(*ass)); + struct gsm_bts *bts = new_lchan->ts->trx->bts; DEBUGP(DRR, "-> ASSIGNMENT COMMAND tch_mode=0x%02x\n", - current_lchan->conn->assignment.selected_ch_mode_rate.chan_mode); + new_lchan->current_ch_mode_rate.chan_mode); msg->lchan = current_lchan; gh->proto_discr = GSM48_PDISC_RR; @@ -593,14 +623,13 @@ /* Cell Channel Description (freq. hopping), TV (see 3GPP TS 44.018, 10.5.2.1b) */ if (new_lchan->ts->hopping.enabled) { - const struct gsm48_system_information_type_1 *si1 = \ - GSM_BTS_SI(new_lchan->ts->trx->bts, 1); + const struct gsm48_system_information_type_1 *si1 = GSM_BTS_SI(bts, 1); msgb_tv_fixed_put(msg, GSM48_IE_CELL_CH_DESC, sizeof(si1->cell_channel_description), si1->cell_channel_description); } - msgb_tv_put(msg, GSM48_IE_CHANMODE_1, current_lchan->conn->assignment.selected_ch_mode_rate.chan_mode); + msgb_tv_put(msg, GSM48_IE_CHANMODE_1, new_lchan->current_ch_mode_rate.chan_mode); /* Mobile Allocation (freq. hopping), TLV (see 3GPP TS 44.018, 10.5.2.21) */ if (new_lchan->ts->hopping.enabled) { @@ -609,7 +638,15 @@ } /* in case of multi rate we need to attach a config */ - mr_config_for_ms(new_lchan, msg); + if (new_lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + int rc = put_mr_config_for_ms(msg, &new_lchan->current_mr_conf, + (new_lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); + if (rc) { + LOG_LCHAN(current_lchan, LOGL_ERROR, "Cannot encode MultiRate Configuration IE\n"); + msgb_free(msg); + return rc; + } + } return gsm48_sendmsg(msg); } @@ -643,6 +680,7 @@ struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); struct gsm48_chan_mode_modify *cmm = (struct gsm48_chan_mode_modify *) msgb_put(msg, sizeof(*cmm)); + struct gsm_bts *bts = lchan->ts->trx->bts; DEBUGP(DRR, "-> CHANNEL MODE MODIFY mode=0x%02x\n", mode); @@ -656,7 +694,15 @@ cmm->mode = mode; /* in case of multi rate we need to attach a config */ - mr_config_for_ms(lchan, msg); + if (lchan->modify.info.ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + int rc = put_mr_config_for_ms(msg, &lchan->modify.mr_conf_filtered, + (lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); + if (rc) { + LOG_LCHAN(lchan, LOGL_ERROR, "Cannot encode MultiRate Configuration IE\n"); + msgb_free(msg); + return rc; + } + } return gsm48_sendmsg(msg); } diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 3d181ff..0e0f1aa 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -546,51 +546,23 @@ return 0; } -static int mr_config_render_lv(uint8_t *mr_ms_lv, uint8_t *mr_bts_lv, - const struct gsm48_multi_rate_conf *mr_conf, - const struct amr_multirate_conf *amr_mrc, - const struct gsm_lchan *logging) -{ - if (gsm48_multirate_config(mr_ms_lv, mr_conf, amr_mrc->ms_mode, amr_mrc->num_modes)) { - LOG_LCHAN(logging, LOGL_ERROR, "can not encode multirate configuration (MS)\n"); - return -EINVAL; - } - if (gsm48_multirate_config(mr_bts_lv, mr_conf, amr_mrc->bts_mode, amr_mrc->num_modes)) { - LOG_LCHAN(logging, LOGL_ERROR, "can not encode multirate configuration (BTS)\n"); - return -EINVAL; - } - return 0; -} - /* Configure the multirate setting on this channel. */ -static int lchan_mr_config(struct gsm_lchan *lchan, uint16_t s15_s0) +static int lchan_mr_config(struct gsm48_multi_rate_conf *mr_conf, const struct gsm_lchan *lchan, uint16_t s15_s0) { struct gsm_bts *bts = lchan->ts->trx->bts; bool full_rate = lchan->type == GSM_LCHAN_TCH_F; struct amr_multirate_conf *amr_mrc = full_rate ? &bts->mr_full : &bts->mr_half; struct gsm48_multi_rate_conf *mr_filter_msc = NULL; - struct gsm48_multi_rate_conf mr_conf; - int rc; /* If activated for VTY, there may not be a conn indicating an MSC AMR configuration. */ if (lchan->conn && lchan->conn->sccp.msc) mr_filter_msc = &lchan->conn->sccp.msc->amr_conf; - rc = mr_config_filter(&mr_conf, - full_rate, - amr_mrc, mr_filter_msc, - s15_s0, - lchan); - if (rc) - return rc; - - /* FIXME: this actually modifies the lchan->mr_ms_lv and ->mr_bts_lv before an ACK for these AMR bits has been - * received. Until an ACK is received, all state should live in lchan->activate.* or lchan->modify.* ONLY. */ - rc = mr_config_render_lv(lchan->mr_ms_lv, lchan->mr_bts_lv, &mr_conf, amr_mrc, lchan); - if (rc) - return rc; - - return 0; + return mr_config_filter(mr_conf, + full_rate, + amr_mrc, mr_filter_msc, + s15_s0, + lchan); } static void lchan_fsm_unused(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -655,7 +627,7 @@ } if (info->ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { - if (lchan_mr_config(lchan, info->ch_mode_rate.s15_s0) < 0) { + if (lchan_mr_config(&lchan->activate.mr_conf_filtered, lchan, info->ch_mode_rate.s15_s0) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; } @@ -813,6 +785,7 @@ struct gsm_lchan *lchan = lchan_fi_lchan(fi); lchan->current_ch_mode_rate = lchan->activate.info.ch_mode_rate; + lchan->current_mr_conf = lchan->activate.mr_conf_filtered; LOG_LCHAN(lchan, LOGL_INFO, "Rx Activ ACK %s\n", gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode)); @@ -984,6 +957,7 @@ case LCHAN_EV_RSL_CHAN_MODE_MODIFY_ACK: /* The Channel Mode Modify was ACKed, now the requested values become the accepted and used values. */ lchan->current_ch_mode_rate = lchan->modify.info.ch_mode_rate; + lchan->current_mr_conf = lchan->modify.mr_conf_filtered; if (lchan->modify.info.requires_voice_stream && !lchan->fi_rtp) { @@ -1136,7 +1110,8 @@ use_mgwep_ci = lchan_use_mgw_endpoint_ci_bts(lchan); if (modif_info->ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { - if (lchan_mr_config(lchan, modif_info->ch_mode_rate.s15_s0) < 0) { + if (lchan_mr_config(&lchan->modify.mr_conf_filtered, lchan, modif_info->ch_mode_rate.s15_s0) + < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; } diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c index 8220c4f..a1aa5f4 100644 --- a/tests/gsm0408/gsm0408_test.c +++ b/tests/gsm0408/gsm0408_test.c @@ -780,10 +780,10 @@ static void test_gsm48_multirate_config() { - uint8_t lv[7]; struct gsm48_multi_rate_conf *gsm48_ie; struct amr_multirate_conf mr; int rc; + struct msgb *msg = msgb_alloc(32, "test_gsm48_multirate_config"); memset(&mr, 0, sizeof(mr)); @@ -807,17 +807,19 @@ mr.ms_mode[1].mode = 4; mr.ms_mode[2].mode = 5; mr.ms_mode[3].mode = 7; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); + msgb_trim(msg, 0); + rc = gsm48_multirate_config(msg, gsm48_ie, mr.ms_mode, 4); OSMO_ASSERT(rc == 0); printf("gsm48_multirate_config(): rc=%i, lv=%s\n", rc, - osmo_hexdump_nospc(lv, 1 + lv[0])); + osmo_hexdump_nospc(msg->data, msg->len)); /* Test #2: 4 active set members, but wrong mode order: */ mr.ms_mode[3].mode = 2; mr.ms_mode[2].mode = 4; mr.ms_mode[1].mode = 5; mr.ms_mode[0].mode = 7; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); + msgb_trim(msg, 0); + rc = gsm48_multirate_config(msg, gsm48_ie, mr.ms_mode, 4); OSMO_ASSERT(rc == -EINVAL); /* Test #3: Normal configuration with 3 active set members */ @@ -829,16 +831,18 @@ mr.ms_mode[2].threshold = 0; mr.ms_mode[2].hysteresis = 0; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); + msgb_trim(msg, 0); + rc = gsm48_multirate_config(msg, gsm48_ie, mr.ms_mode, 3); OSMO_ASSERT(rc == 0); printf("gsm48_multirate_config(): rc=%i, lv=%s\n", rc, - osmo_hexdump_nospc(lv, 1 + lv[0])); + osmo_hexdump_nospc(msg->data, msg->len)); /* Test #4: 3 active set members, but wrong mode order: */ mr.ms_mode[0].mode = 2; mr.ms_mode[2].mode = 4; mr.ms_mode[1].mode = 5; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); + msgb_trim(msg, 0); + rc = gsm48_multirate_config(msg, gsm48_ie, mr.ms_mode, 3); OSMO_ASSERT(rc == -EINVAL); /* Test #5: Normal configuration with 2 active set members */ @@ -850,15 +854,17 @@ mr.ms_mode[1].threshold = 0; mr.ms_mode[1].hysteresis = 0; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); + msgb_trim(msg, 0); + rc = gsm48_multirate_config(msg, gsm48_ie, mr.ms_mode, 2); OSMO_ASSERT(rc == 0); printf("gsm48_multirate_config(): rc=%i, lv=%s\n", rc, - osmo_hexdump_nospc(lv, 1 + lv[0])); + osmo_hexdump_nospc(msg->data, msg->len)); /* Test #6: 2 active set members, but wrong mode order: */ mr.ms_mode[1].mode = 2; mr.ms_mode[0].mode = 4; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); + msgb_trim(msg, 0); + rc = gsm48_multirate_config(msg, gsm48_ie, mr.ms_mode, 2); OSMO_ASSERT(rc == -EINVAL); /* Test #7: Normal configuration with 1 active set member */ @@ -870,15 +876,19 @@ mr.ms_mode[0].threshold = 0; mr.ms_mode[0].hysteresis = 0; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); + msgb_trim(msg, 0); + rc = gsm48_multirate_config(msg, gsm48_ie, mr.ms_mode, 1); OSMO_ASSERT(rc == 0); printf("gsm48_multirate_config(): rc=%i, lv=%s\n", rc, - osmo_hexdump_nospc(lv, 1 + lv[0])); + osmo_hexdump_nospc(msg->data, msg->len)); /* Test #8: 0 active set members: */ mr.ms_mode[0].mode = 0; - rc = gsm48_multirate_config(lv, gsm48_ie, mr.ms_mode, 4); + msgb_trim(msg, 0); + rc = gsm48_multirate_config(msg, gsm48_ie, mr.ms_mode, 1); OSMO_ASSERT(rc == -EINVAL); + + msgb_free(msg); } static const struct log_info_cat log_categories[] = { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie57f9d0e3912632903d9740291225bfd1634ed47 Gerrit-Change-Number: 24358 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:20:21 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 15:20:21 +0000 Subject: Change in pysim[master]: contrib: Add sim-rest-{server,client}.py In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24342 ) Change subject: contrib: Add sim-rest-{server,client}.py ...................................................................... Patch Set 2: (7 comments) https://gerrit.osmocom.org/c/pysim/+/24342/2/contrib/sim-rest-client.py File contrib/sim-rest-client.py: https://gerrit.osmocom.org/c/pysim/+/24342/2/contrib/sim-rest-client.py at 39 PS2, Line 39: x2, x3 = struct.unpack('>IH', x) I guess you could do this without using struct at all: int.from_bytes(x, byteorder='big') https://gerrit.osmocom.org/c/pysim/+/24342/2/contrib/sim-rest-client.py at 46 PS2, Line 46: return struct.pack('>IH', x2, x3) Also here: x.to_bytes(48 // 8, byteorder='big') https://gerrit.osmocom.org/c/pysim/+/24342/2/contrib/sim-rest-client.py at 48 PS2, Line 48: dict If all values in this dict() are bytes, then: Dict[str, bytes] https://gerrit.osmocom.org/c/pysim/+/24342/2/contrib/sim-rest-client.py at 61 PS2, Line 61: def milenage_auts(opc:bytes, k:bytes, rand:bytes, auts:bytes): I would raise a RuntimeError directly from here, or alternatively: -> Optional[bytes] https://gerrit.osmocom.org/c/pysim/+/24342/2/contrib/sim-rest-client.py at 84 PS2, Line 84: js:dict = None js:Optional[dict] https://gerrit.osmocom.org/c/pysim/+/24342/2/contrib/sim-rest-client.py at 87 PS2, Line 87: if verbose: What about log.debug()? https://gerrit.osmocom.org/c/pysim/+/24342/2/contrib/sim-rest-client.py at 99 PS2, Line 99: global server_port, server_host, verbose I would just pass 'args' to build_url(), but not critical. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I738ca3109ab038d4f5595cc1dab6a49087df5886 Gerrit-Change-Number: 24342 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 23 May 2021 15:20:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:20:54 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 15:20:54 +0000 Subject: Change in pysim[master]: add unit tests for BER-TLV encoder/decoder functions In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24346 ) Change subject: add unit tests for BER-TLV encoder/decoder functions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9f14dafab4f712c29224c4eb25cacab7885e2b68 Gerrit-Change-Number: 24346 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 23 May 2021 15:20:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:21:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 15:21:29 +0000 Subject: Change in pysim[master]: bertlv_parse_one: Also return remainder after end of TLV In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24347 ) Change subject: bertlv_parse_one: Also return remainder after end of TLV ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I10ebd87f72ee934561118b768108e5dc76277660 Gerrit-Change-Number: 24347 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 23 May 2021 15:21:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:21:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 15:21:51 +0000 Subject: Change in pysim[master]: Introduce unit test for bertlv_parse_one() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24348 ) Change subject: Introduce unit test for bertlv_parse_one() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3adbe22afd4b6503a7454de39b7663e9ede8995f Gerrit-Change-Number: 24348 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 23 May 2021 15:21:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:23:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 15:23:43 +0000 Subject: Change in pysim[master]: execute unit tests via nose from "setup.py test" In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24349 ) Change subject: execute unit tests via nose from "setup.py test" ...................................................................... Patch Set 1: Would be good to see the motivation for this change in the commit message, i.e. why testing with nose is better? I never heard of it... -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8b2205b2c4e31f4ca64d0e48f8073799c61c29c7 Gerrit-Change-Number: 24349 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 23 May 2021 15:23:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:27:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 May 2021 15:27:40 +0000 Subject: Change in pysim[master]: execute unit tests via nose from "setup.py test" In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24349 to look at the new patch set (#2). Change subject: execute unit tests via nose from "setup.py test" ...................................................................... execute unit tests via nose from "setup.py test" Change-Id: I8b2205b2c4e31f4ca64d0e48f8073799c61c29c7 --- M contrib/jenkins.sh R pySim/tests/test_utils.py M setup.py 3 files changed, 6 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/49/24349/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8b2205b2c4e31f4ca64d0e48f8073799c61c29c7 Gerrit-Change-Number: 24349 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:31:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 15:31:59 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: refactor MGCP_DUMMY_LOAD In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24315 ) Change subject: mgcp_network: refactor MGCP_DUMMY_LOAD ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24315/1/include/osmocom/mgcp/mgcp_network.h File include/osmocom/mgcp/mgcp_network.h: https://gerrit.osmocom.org/c/osmo-mgw/+/24315/1/include/osmocom/mgcp/mgcp_network.h at 10 PS1, Line 10: a an an https://gerrit.osmocom.org/c/osmo-mgw/+/24315/1/include/osmocom/mgcp/mgcp_network.h at 18 PS1, Line 18: memcmp If it's always just one byte, why is it better to use memcmp()? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I21d96cefeeb647958bfa1e22a0ea030884746fad Gerrit-Change-Number: 24315 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 23 May 2021 15:31:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:35:53 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 15:35:53 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: send BSSMAP response only after Assignment Request In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24350 ) Change subject: assignment_fsm: send BSSMAP response only after Assignment Request ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0cddbdb00abcec78e153f4ae6d04ce75080a111 Gerrit-Change-Number: 24350 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 23 May 2021 15:35:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:38:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 15:38:51 +0000 Subject: Change in osmo-bsc[master]: cosmetic scoping in reuse_existing_lchan() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24351 ) Change subject: cosmetic scoping in reuse_existing_lchan() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0d1000cf108b0dfdc690f7a59d9bdf40de9043d2 Gerrit-Change-Number: 24351 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 23 May 2021 15:38:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:44:36 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 15:44:36 +0000 Subject: Change in osmo-sgsn[master]: add support for multiple encryption algorithms + a5/4 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 ) Change subject: add support for multiple encryption algorithms + a5/4 ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/2/src/sgsn/gprs_gmm.c File src/sgsn/gprs_gmm.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/2/src/sgsn/gprs_gmm.c at 452 PS2, Line 452: >>= > I have to admit I don't think I've ever seen this construct before. [?] I haven't seen this before either, but I already like it :) Maybe adding a comment like "Find the highest bit" make it cleaner for others? https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/2/src/sgsn/gprs_gmm.c at 1166 PS2, Line 1166: if Coding style: if is not a function. https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/2/src/sgsn/sgsn_vty.c File src/sgsn/sgsn_vty.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/2/src/sgsn/sgsn_vty.c at 732 PS2, Line 732: (GEA0-4) [GEA0-4] [GEA0-4] [GEA0-4] [GEA0-4] > I don't think this works as expected, does it? all-caps tokens in VTY parser syntax are typically "a [?] Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Gerrit-Change-Number: 24304 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 23 May 2021 15:44:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:50:56 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 23 May 2021 15:50:56 +0000 Subject: Change in osmo-sgsn[master]: add support for multiple encryption algorithms + a5/4 In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 ) Change subject: add support for multiple encryption algorithms + a5/4 ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/2/src/sgsn/sgsn_vty.c File src/sgsn/sgsn_vty.c: https://gerrit.osmocom.org/c/osmo-sgsn/+/24304/2/src/sgsn/sgsn_vty.c at 732 PS2, Line 732: (GEA0-4) [GEA0-4] [GEA0-4] [GEA0-4] [GEA0-4] > Ack The whole point here was to stay compatible with the existing syntax and not introduce a legacy command or to abandon it, but I don't really care. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Gerrit-Change-Number: 24304 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 23 May 2021 15:50:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:59:00 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 15:59:00 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: send BSSMAP response only after Assignment Request In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24350 to look at the new patch set (#2). Change subject: assignment_fsm: send BSSMAP response only after Assignment Request ...................................................................... assignment_fsm: send BSSMAP response only after Assignment Request So far, only the MSC asked for Assignment via Assignment Request, which we answer with a BSSMAP Assignment Complete or Assignment Failure when done. When Assignment is triggered for any other reason (congestion resolution, VAMOS, VTY), we will not send any such messages to the MSC. Additional enum values will be added in subsequent commits: Id56a890106b93fcee67ac9401b890e7b63bba421 ASSIGN_FOR_CONGESTION_RESOLUTION If006f5caaf83b07675f57e5665cfa79328da55e6 ASSIGN_FOR_VTY Related: SYS#5315 OS#4940 Change-Id: Ie0cddbdb00abcec78e153f4ae6d04ce75080a111 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/osmo_bsc_bssap.c 4 files changed, 42 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/50/24350/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0cddbdb00abcec78e153f4ae6d04ce75080a111 Gerrit-Change-Number: 24350 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:59:00 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 15:59:00 +0000 Subject: Change in osmo-bsc[master]: cosmetic scoping in reuse_existing_lchan() In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24351 to look at the new patch set (#2). Change subject: cosmetic scoping in reuse_existing_lchan() ...................................................................... cosmetic scoping in reuse_existing_lchan() cosmetic prep for Ie0da36124d73efc28a8809b63d7c96e2167fc412 Related: SYS#5315 OS#4940 Change-Id: I0d1000cf108b0dfdc690f7a59d9bdf40de9043d2 --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 6 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/51/24351/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0d1000cf108b0dfdc690f7a59d9bdf40de9043d2 Gerrit-Change-Number: 24351 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:59:00 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 15:59:00 +0000 Subject: Change in osmo-bsc[master]: make sure channel mode and s15_s0 are updated only after an ACK In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24352 to look at the new patch set (#2). Change subject: make sure channel mode and s15_s0 are updated only after an ACK ...................................................................... make sure channel mode and s15_s0 are updated only after an ACK I noticed during testing that an lchan used as TCH/F in fact still had its channel mode set to Signalling -- because on Assignment, the Speech mode used to be placed in the *previous* lchan and the new lchan was never updated after the Activ ACK. This is unbearable confusion which I complained about numerous times, so far mostly for cosmetic reasons. But implementing re-assignment properly actually requires this to be cleaned up. Keep all volatile chan mode settings in lchan->activate.* or lchan->modify.*, and only update lchan->* members when an ACK has been received for those settings. So a failed request keeps a sane state. Make sure that those settings are in fact updated in the proper lchan, upon an ACK, so that subsequent re-assignment or mode-modify know the accurate lchan state. Related are upcoming patches that sort out the AMR multirate configuration in a similar fashion, see Iebac2dc26412d877e5364f90d6f2ed7a7952351e Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 Ie57f9d0e3912632903d9740291225bfd1634ed47. Related: SYS#5315 OS#4940 OS#3787 OS#3833 Change-Id: Ie0da36124d73efc28a8809b63d7c96e2167fc412 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_lcls.c M tests/handover/handover_test.c 13 files changed, 187 insertions(+), 164 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/52/24352/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0da36124d73efc28a8809b63d7c96e2167fc412 Gerrit-Change-Number: 24352 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:59:00 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 15:59:00 +0000 Subject: Change in osmo-bsc[master]: remove special case from assignment_count_result() In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24353 to look at the new patch set (#2). Change subject: remove special case from assignment_count_result() ...................................................................... remove special case from assignment_count_result() The single place that calls this special case is now actually doing the exact same thing as the general case, and this is merely code dup. Related: SYS#5315 OS#4940 Change-Id: Ic62e8a48d3c88a1966086240a41732d169328491 --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 13 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/53/24353/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic62e8a48d3c88a1966086240a41732d169328491 Gerrit-Change-Number: 24353 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:59:00 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 15:59:00 +0000 Subject: Change in osmo-bsc[master]: eliminate lchan->rsl_cmode In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24354 to look at the new patch set (#2). Change subject: eliminate lchan->rsl_cmode ...................................................................... eliminate lchan->rsl_cmode Related: SYS#5315 OS#4940 Change-Id: I1c167b22bb6638a929488d093bde0f1a5fb227ad --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c 5 files changed, 28 insertions(+), 43 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/54/24354/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1c167b22bb6638a929488d093bde0f1a5fb227ad Gerrit-Change-Number: 24354 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:59:00 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 15:59:00 +0000 Subject: Change in osmo-bsc[master]: move lchan->csd_mode into channel_mode_and_rate In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24355 to look at the new patch set (#2). Change subject: move lchan->csd_mode into channel_mode_and_rate ...................................................................... move lchan->csd_mode into channel_mode_and_rate The GSM48_CMODE_DATA_* rates are completely unused in OsmoBSC anyway, but there is some code in abis_rsl.c checking its value, and if we were to start using it that is the place where it should be. Related: SYS#5315 OS#4940 OS#3787 OS#3833 Change-Id: Ie0e065a5dca5f4a31d5d81e3528a539214a74170 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c 2 files changed, 16 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/55/24355/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0e065a5dca5f4a31d5d81e3528a539214a74170 Gerrit-Change-Number: 24355 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:59:00 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 15:59:00 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 1: split lchan_mr_config() In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24356 to look at the new patch set (#2). Change subject: AMR config cleanup step 1: split lchan_mr_config() ...................................................................... AMR config cleanup step 1: split lchan_mr_config() Split off two function from lchan_mr_config() which do not directly manipulate struct gsm_lchan members. This allows subsequent patches to re-use mr_config_filter() for Channel Mode Modify without depending on lchan->activate.info; allows to filter AMR modes without modifying the state of an already active lchan before sending a Channel Activation or Channel Mode Modify; and allows to move mr_config_render_lv() to gsm_04_08_rr.c so that the mr_ms_lv and mr_bts_lv no longer need to be stored in struct gsm_lchan -- they essentially duplicate s15_s0. Rationale: This is a follow-up for the AMR configuration in the sense that previous patch Ie0da36124d73efc28a8809b63d7c96e2167fc412 started for channel mode and rate, and the s15_s0 bits: The AMR mode filtering directly manipulates struct gsm_lchan members and takes parameters from lchan->activate.info. This makes it hard to separate lchan activation from the Channel Mode Modify procedure. Related: SYS#5315 OS#4940 OS#3787 OS#3833 Change-Id: Iebac2dc26412d877e5364f90d6f2ed7a7952351e --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 85 insertions(+), 73 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/56/24356/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iebac2dc26412d877e5364f90d6f2ed7a7952351e Gerrit-Change-Number: 24356 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:59:00 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 15:59:00 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 2: filter modes also for VTY In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24357 to look at the new patch set (#2). Change subject: AMR config cleanup step 2: filter modes also for VTY ...................................................................... AMR config cleanup step 2: filter modes also for VTY The previous patch reshuffled the code without having any functional change. In this patch, a functional change follows: It does not really make sense to decide on AMR mode filtering based on whether an activation request came from the VTY: a) BTS: There is no need to skip AMR mode filtering for the BTS config at all. There is always a BTS. b) MSC: Instead of testing for a VTY origin of the request, rather skip the MSC AMR config filtering exactly when there is no conn associated with the lchan. Move the bts filtering directly into mr_config_filter(). Related: SYS#5315 OS#4940 OS#3787 OS#3833 Change-Id: Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 14 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/57/24357/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 Gerrit-Change-Number: 24357 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 15:59:00 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 15:59:00 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 3: generate AMR LV on msg composition In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24358 to look at the new patch set (#2). Change subject: AMR config cleanup step 3: generate AMR LV on msg composition ...................................................................... AMR config cleanup step 3: generate AMR LV on msg composition Firstly, do not store the encoded AMR length-value bits in gsm_lchan->* before an activation/modify has actually succeeded. And secondly, do not store the AMR LV structure in struct gsm_lchan at all, but only generate the TLV exactly when a message is being composed. In gsm48_multirate_config(), generate the LV directly to a msgb instead of a static buffer first. gsm0408_test.c expected output verifies that the generated LV bytes remain unchanged. In lchan_mr_config(), introduce a target mr_conf argument, so that Chan Act and Mode Modify may generate the filtered AMR config to different locations (lchan->{activate,modify}.mr_conf_filtered). Only after receiving an ACK for Activate/Modify, set lchan->current_mr_conf from lchan->{activate,modify}.mr_conf_filtered. Use the properly scoped lchan->activate.mr_conf_filtered for Chan Act, lchan->modify.mr_conf_filtered for Mode Modify and new_lchan->current_mr_conf for Handover Command as appropriate. Related: SYS#5315 OS#4940 OS#3787 OS#3833 Change-Id: Ie57f9d0e3912632903d9740291225bfd1634ed47 --- M include/osmocom/bsc/gsm_04_08_rr.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c M tests/gsm0408/gsm0408_test.c 6 files changed, 143 insertions(+), 103 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/58/24358/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie57f9d0e3912632903d9740291225bfd1634ed47 Gerrit-Change-Number: 24358 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 17:14:18 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 17:14:18 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: send BSSMAP response only after Assignment Request In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24350 ) Change subject: assignment_fsm: send BSSMAP response only after Assignment Request ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0cddbdb00abcec78e153f4ae6d04ce75080a111 Gerrit-Change-Number: 24350 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 23 May 2021 17:14:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 17:14:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 17:14:25 +0000 Subject: Change in osmo-bsc[master]: cosmetic scoping in reuse_existing_lchan() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24351 ) Change subject: cosmetic scoping in reuse_existing_lchan() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0d1000cf108b0dfdc690f7a59d9bdf40de9043d2 Gerrit-Change-Number: 24351 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 23 May 2021 17:14:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 17:37:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 17:37:33 +0000 Subject: Change in osmo-bsc[master]: make sure channel mode and s15_s0 are updated only after an ACK In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24352 ) Change subject: make sure channel mode and s15_s0 are updated only after an ACK ...................................................................... Patch Set 2: (5 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24352/2/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24352/2/src/osmo-bsc/bsc_vty.c at 6085 PS2, Line 6085: chan_t_to_chan_rate It shall always be CH_RATE_FULL for EFR, because EFR does not work on TCH/H. https://gerrit.osmocom.org/c/osmo-bsc/+/24352/2/src/osmo-bsc/bsc_vty.c at 6086 PS2, Line 6086: amr_modes[amr_mode], Unrelated: below the 'amr_mode' is compared to -1. Should we check it here too? https://gerrit.osmocom.org/c/osmo-bsc/+/24352/2/src/osmo-bsc/bsc_vty.c at 6109 PS2, Line 6109: CH_RATE_SDCCH Are you sure about this one? Both CH_RATE_HALF and CH_RATE_FULL can operate in signalling mode too. https://gerrit.osmocom.org/c/osmo-bsc/+/24352/2/src/osmo-bsc/gsm_data.c File src/osmo-bsc/gsm_data.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24352/2/src/osmo-bsc/gsm_data.c at 691 PS2, Line 691: default: Cosmetic: it's unusual to see 'default' before the other 'case's. https://gerrit.osmocom.org/c/osmo-bsc/+/24352/2/src/osmo-bsc/gsm_data.c at 692 PS2, Line 692: return -1; Callers of this function do not check the returned value, so I would rather add OSMO_ASSERT(0) here. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0da36124d73efc28a8809b63d7c96e2167fc412 Gerrit-Change-Number: 24352 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 23 May 2021 17:37:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 17:38:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 17:38:59 +0000 Subject: Change in osmo-bsc[master]: remove special case from assignment_count_result() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24353 ) Change subject: remove special case from assignment_count_result() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic62e8a48d3c88a1966086240a41732d169328491 Gerrit-Change-Number: 24353 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 23 May 2021 17:38:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 17:43:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 17:43:37 +0000 Subject: Change in osmo-bsc[master]: eliminate lchan->rsl_cmode In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24354 ) Change subject: eliminate lchan->rsl_cmode ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24354/2/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24354/2/src/osmo-bsc/abis_rsl.c at 370 PS2, Line 370: %d 0x%02x? Also, why do you need temporary 'spd_ind' here? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1c167b22bb6638a929488d093bde0f1a5fb227ad Gerrit-Change-Number: 24354 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 23 May 2021 17:43:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 17:44:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 17:44:38 +0000 Subject: Change in osmo-bsc[master]: move lchan->csd_mode into channel_mode_and_rate In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24355 ) Change subject: move lchan->csd_mode into channel_mode_and_rate ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0e065a5dca5f4a31d5d81e3528a539214a74170 Gerrit-Change-Number: 24355 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 23 May 2021 17:44:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 17:49:14 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 May 2021 17:49:14 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 1: split lchan_mr_config() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24356 ) Change subject: AMR config cleanup step 1: split lchan_mr_config() ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24356/2/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24356/2/src/osmo-bsc/lchan_fsm.c at 499 PS2, Line 499: logging This looks weird to me. I would keep the old naming. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iebac2dc26412d877e5364f90d6f2ed7a7952351e Gerrit-Change-Number: 24356 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 23 May 2021 17:49:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Sun May 23 18:45:02 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sun, 23 May 2021 18:45:02 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-opencm3-projects_=C2=BB_a1=3Ddefa?= =?UTF-8?Q?ult,a2=3Ddefault,a3=3Ddefault,a4=3Dde?= =?UTF-8?Q?fault,osmocom-master-debian9_#17?= In-Reply-To: <1683526293.1542.1621709102280@jenkins.osmocom.org> References: <1683526293.1542.1621709102280@jenkins.osmocom.org> Message-ID: <1932569013.1601.1621795502115@jenkins.osmocom.org> See Changes: ------------------------------------------ Started by upstream project "master-osmo-opencm3-projects" build number 17 originally caused by: Started by timer Running as SYSTEM Building remotely on build2-deb9build-ansible (ttcn3 osmocom-gerrit-debian9 osmocom-master-debian9 repo-install-test coverity) in workspace The recommended git tool is: NONE No credentials specified > git rev-parse --resolve-git-dir # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git://git.osmocom.org/osmo-opencm3-projects # timeout=10 Fetching upstream changes from git://git.osmocom.org/osmo-opencm3-projects > git --version # timeout=10 > git --version # 'git version 2.11.0' > git fetch --tags --progress -- git://git.osmocom.org/osmo-opencm3-projects +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision 7527cab6d8364b2022bd4fa2fd03039eac2a99bb (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 Commit message: "add missing libcommon.mk" > git rev-list --no-walk 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.libopencm3.url # timeout=10 > git config -f .gitmodules --get submodule.libopencm3.path # timeout=10 > git config --get submodule.librfn.url # timeout=10 > git config -f .gitmodules --get submodule.librfn.path # timeout=10 > git submodule update --init --recursive libopencm3 # timeout=10 > git submodule update --init --recursive librfn # timeout=10 [osmocom-master-debian9] $ /bin/sh -xe /tmp/jenkins124289301311633972.sh + ARTIFACT_STORE=/home/osmocom-build/jenkins_build_artifact_store + mkdir -p /home/osmocom-build/jenkins_build_artifact_store + docker run --rm=true --cap-add SYS_PTRACE -e ARTIFACT_STORE=/artifact_store -e ASCIIDOC_WARNINGS_CHECK=1 -e HOME=/build -e JOB_NAME=master-osmo-opencm3-projects/a1=default,a2=default,a3=default,a4=default,label=osmocom-master-debian9 -e MAKE=make -e OSMOPY_DEBUG_TCP_SOCKETS=1 -e OSMO_GSM_MANUALS_DIR=/opt/osmo-gsm-manuals -e PARALLEL_MAKE=-j 8 -e PUBLISH=1 -e WITH_MANUALS=1 -w /build -i -u build -v :/build -v /home/osmocom-build/jenkins_build_artifact_store:/artifact_store -v /home/osmocom-build/.ssh:/home/build/.ssh:ro osmocom-build/debian-stretch-jenkins /build/contrib/jenkins.sh --publish =============== relay-driver START ============== CLEAN CC console.c arm-none-eabi-gcc: error: /usr/lib/picolibc/arm-none-eabi/picolibc.specs: No such file or directory make: *** [console.o] Error 1 ../../mk/libopencm3.mk:227: recipe for target 'console.o' failed Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:21 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:21 +0000 Subject: Change in osmo-bsc[master]: handover dot charts: fix wrong transitions regarding MGW References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24359 ) Change subject: handover dot charts: fix wrong transitions regarding MGW ...................................................................... handover dot charts: fix wrong transitions regarding MGW Related: SYS#5315 OS#4940 OS#3277 Change-Id: I2ed9b3ca7fe145a930ca509e6b3943f5abf3aa62 --- M doc/handover-inter-bsc-in-fsm.dot M doc/handover-intra-bsc-fsm.dot 2 files changed, 5 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/59/24359/1 diff --git a/doc/handover-inter-bsc-in-fsm.dot b/doc/handover-inter-bsc-in-fsm.dot index b52a16d..0c6af85 100644 --- a/doc/handover-inter-bsc-in-fsm.dot +++ b/doc/handover-inter-bsc-in-fsm.dot @@ -18,7 +18,10 @@ gscon -> HO_ST_WAIT_LCHAN_ACTIVE [label="handover_start_inter_bsc_in()",style=dotted] HO_ST_WAIT_LCHAN_ACTIVE -> lchan [label="lchan_activate()\nFOR_HANDOVER",style=dotted] lchan -> HO_ST_WAIT_LCHAN_ACTIVE [label="HO_EV_\nLCHAN_ACTIVE,\n_ERROR",style=dotted,constraint=false] - HO_ST_WAIT_LCHAN_ACTIVE -> HO_ST_WAIT_RR_HO_DETECT + HO_ST_WAIT_LCHAN_ACTIVE -> HO_ST_WAIT_RR_HO_DETECT [label="SCCPlite\nor no voice"] + + HO_ST_WAIT_LCHAN_ACTIVE -> WAIT_MGW_ENDPOINT_TO_MSC [label="AoIP\nhas voice"] + WAIT_MGW_ENDPOINT_TO_MSC -> HO_ST_WAIT_RR_HO_DETECT HO_ST_WAIT_RR_HO_DETECT -> msc2 [label="BSSMAP\nHandover\nAccept\nwith\nRR Handover\nCommand",style=dotted] msc2 -> old_bsc2 -> old_lchan [label="RR Handover\nCommand",style=dotted] @@ -31,9 +34,7 @@ WAIT_RR_HO_COMPLETE -> WAIT_LCHAN_ESTABLISHED lchan -> WAIT_LCHAN_ESTABLISHED [label="HO_EV_LCHAN_\nESTABLISHED",style=dotted] - WAIT_LCHAN_ESTABLISHED -> terminate [label="non-TCH"] - WAIT_LCHAN_ESTABLISHED -> WAIT_MGW_ENDPOINT_TO_MSC - WAIT_MGW_ENDPOINT_TO_MSC -> terminate [label="handover_end()"] + WAIT_LCHAN_ESTABLISHED -> terminate terminate -> msc2 [label="BSSMAP Handover\nComplete\n/ Failure",style=dotted,constraint=false] err [label="on error",shape=box,style=dashed] diff --git a/doc/handover-intra-bsc-fsm.dot b/doc/handover-intra-bsc-fsm.dot index 53b3eed..39f3097 100644 --- a/doc/handover-intra-bsc-fsm.dot +++ b/doc/handover-intra-bsc-fsm.dot @@ -25,6 +25,4 @@ lchan -> WAIT_LCHAN_ESTABLISHED [label="HO_EV_LCHAN_\nESTABLISHED",style=dotted] WAIT_LCHAN_ESTABLISHED -> terminate [label="non-TCH"] - WAIT_LCHAN_ESTABLISHED -> WAIT_MGW_ENDPOINT_TO_MSC - WAIT_MGW_ENDPOINT_TO_MSC -> terminate [label="handover_end()"] } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2ed9b3ca7fe145a930ca509e6b3943f5abf3aa62 Gerrit-Change-Number: 24359 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:21 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:21 +0000 Subject: Change in osmo-bsc[master]: handover_test: fix naming/wording: 'handover-req' should be 'handover... References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24360 ) Change subject: handover_test: fix naming/wording: 'handover-req' should be 'handover-cmd' ...................................................................... handover_test: fix naming/wording: 'handover-req' should be 'handover-cmd' Related: SYS#5315 OS#4940 OS#3277 Change-Id: I0c20971590e4b1a19f77ff3f15d58992eeebfbd9 --- M tests/handover/handover_test.c M tests/handover/test_max_handovers.ho_vty M tests/handover/test_penalty_timer.ho_vty 3 files changed, 29 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/60/24360/1 diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index e534152..9bfb789 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -532,8 +532,8 @@ static struct gsm_lchan *new_chan_req = NULL; static struct gsm_lchan *last_chan_req = NULL; -static struct gsm_lchan *new_ho_req = NULL; -static struct gsm_lchan *last_ho_req = NULL; +static struct gsm_lchan *new_ho_cmd = NULL; +static struct gsm_lchan *last_ho_cmd = NULL; /* send channel activation ack */ static void send_chan_act_ack(struct gsm_lchan *lchan, int act) @@ -701,12 +701,12 @@ switch (gh->msg_type) { case GSM48_MT_RR_HANDO_CMD: case GSM48_MT_RR_ASS_CMD: - if (new_ho_req) { - fprintf(stderr, "Test script is erratic: a handover is requested" - " while a previous handover request is still unhandled\n"); + if (new_ho_cmd) { + fprintf(stderr, "Test script is erratic: seen a Handover Command" + " while a previous Handover Command is still unhandled\n"); exit(1); } - new_ho_req = lchan; + new_ho_cmd = lchan; break; } break; @@ -1015,27 +1015,27 @@ send_chan_act_ack(lchan, 1); } -static void _expect_ho_req(struct gsm_lchan *lchan) +static void _expect_ho_cmd(struct gsm_lchan *lchan) { - fprintf(stderr, "- Expecting handover/assignment request at %s\n", + fprintf(stderr, "- Expecting Handover/Assignment Command at %s\n", gsm_lchan_name(lchan)); - if (!new_ho_req) { - fprintf(stderr, "Test failed, because no handover was requested\n"); + if (!new_ho_cmd) { + fprintf(stderr, "Test failed, no Handover Command\n"); exit(1); } - fprintf(stderr, " * Got handover/assignment request at %s\n", gsm_lchan_name(new_ho_req)); - if (new_ho_req != lchan) { - fprintf(stderr, "Test failed, because handover/assignment was not commanded on the expected lchan\n"); + fprintf(stderr, " * Got Handover/Assignment Command at %s\n", gsm_lchan_name(new_ho_cmd)); + if (new_ho_cmd != lchan) { + fprintf(stderr, "Test failed, Handover/Assignment Command not on the expected lchan\n"); exit(1); } - last_ho_req = new_ho_req; - new_ho_req = NULL; + last_ho_cmd = new_ho_cmd; + new_ho_cmd = NULL; } DEFUN(expect_chan, expect_chan_cmd, "expect-chan " LCHAN_ARGS, - "Expect a channel request from BSC to a cell for a specific lchan\n" + "Expect RSL Channel Activation of a specific lchan\n" LCHAN_ARGS_DOC) { VTY_ECHO(); @@ -1043,13 +1043,13 @@ return CMD_SUCCESS; } -DEFUN(expect_ho_req, expect_ho_req_cmd, - "expect-ho-req " LCHAN_ARGS, - "Expect a handover of a given lchan\n" +DEFUN(expect_handover_command, expect_handover_command_cmd, + "expect-ho-cmd " LCHAN_ARGS, + "Expect an RR Handover Command sent to a specific lchan\n" LCHAN_ARGS_DOC) { VTY_ECHO(); - _expect_ho_req(parse_lchan_args(argv)); + _expect_ho_cmd(parse_lchan_args(argv)); return CMD_SUCCESS; } @@ -1075,12 +1075,12 @@ fprintf(stderr, "Cannot ack handover/assignment, because no chan request\n"); exit(1); } - if (!last_ho_req) { + if (!last_ho_cmd) { fprintf(stderr, "Cannot ack handover/assignment, because no ho request\n"); exit(1); } send_ho_complete(last_chan_req, true); - lchan_release_ack(last_ho_req); + lchan_release_ack(last_ho_cmd); return CMD_SUCCESS; } @@ -1096,7 +1096,7 @@ VTY_ECHO(); _expect_chan_activ(to); - _expect_ho_req(from); + _expect_ho_cmd(from); send_ho_detect(to); send_ho_complete(to, true); lchan_release_ack(from); @@ -1112,11 +1112,11 @@ fprintf(stderr, "Cannot fail handover, because no chan request\n"); exit(1); } - if (!last_ho_req) { + if (!last_ho_cmd) { fprintf(stderr, "Cannot fail handover, because no handover request\n"); exit(1); } - send_ho_complete(last_ho_req, false); + send_ho_complete(last_ho_cmd, false); lchan_release_ack(last_chan_req); return CMD_SUCCESS; } @@ -1187,7 +1187,7 @@ install_element(CONFIG_NODE, &congestion_check_cmd); install_element(CONFIG_NODE, &expect_no_chan_cmd); install_element(CONFIG_NODE, &expect_chan_cmd); - install_element(CONFIG_NODE, &expect_ho_req_cmd); + install_element(CONFIG_NODE, &expect_handover_command_cmd); install_element(CONFIG_NODE, &ho_detection_cmd); install_element(CONFIG_NODE, &ho_complete_cmd); install_element(CONFIG_NODE, &expect_ho_cmd); diff --git a/tests/handover/test_max_handovers.ho_vty b/tests/handover/test_max_handovers.ho_vty index e5d9ef5..76a9ea9 100644 --- a/tests/handover/test_max_handovers.ho_vty +++ b/tests/handover/test_max_handovers.ho_vty @@ -9,10 +9,10 @@ set-ts-use trx 0 0 states * TCH/F TCH/F TCH/F - - - - meas-rep lchan 0 0 1 0 rxlev 0 rxqual 0 ta 0 neighbors 30 expect-chan lchan 1 0 1 0 -expect-ho-req lchan 0 0 1 0 +expect-ho-cmd lchan 0 0 1 0 meas-rep lchan 0 0 2 0 rxlev 0 rxqual 0 ta 0 neighbors 30 expect-chan lchan 1 0 2 0 -expect-ho-req lchan 0 0 2 0 +expect-ho-cmd lchan 0 0 2 0 meas-rep lchan 0 0 3 0 rxlev 0 rxqual 0 ta 0 neighbors 30 expect-no-chan diff --git a/tests/handover/test_penalty_timer.ho_vty b/tests/handover/test_penalty_timer.ho_vty index 7b0d266..7528a0f 100644 --- a/tests/handover/test_penalty_timer.ho_vty +++ b/tests/handover/test_penalty_timer.ho_vty @@ -7,7 +7,7 @@ set-ts-use trx 0 0 states * TCH/F - - - - - - meas-rep lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30 expect-chan lchan 1 0 1 0 -expect-ho-req lchan 0 0 1 0 +expect-ho-cmd lchan 0 0 1 0 ho-failed expect-ts-use trx 0 0 states * TCH/F - - - - - - expect-ts-use trx 1 0 states * - - - - - - - -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0c20971590e4b1a19f77ff3f15d58992eeebfbd9 Gerrit-Change-Number: 24360 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:22 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: tweak state transitions (prep for reassignment) References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24361 ) Change subject: assignment_fsm: tweak state transitions (prep for reassignment) ...................................................................... assignment_fsm: tweak state transitions (prep for reassignment) It is better design to take state change actions in the onenter function, instead of triggering a state change and then calling lchan_mode_modify() or lchan_activate(). The reason is that in principle, any state change may cause error handling to abort and deallocate FSMs. This is also preparation for reassignment to a specific lchan in an upcoming patch. Related: SYS#5315 OS#4940 OS#3277 Change-Id: I9a2e7eefd4196b80671311e5dfd275893ec0e275 --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 29 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/61/24361/1 diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index f294473..83d2917 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -447,8 +447,6 @@ [CH_RATE_FULL] = "FR", }; struct osmo_fsm_inst *fi; - struct lchan_activate_info activ_info; - struct lchan_modify_info modif_info; int i; OSMO_ASSERT(conn); @@ -510,16 +508,7 @@ gsm48_chan_mode_name(conn->assignment.selected_ch_mode_rate.chan_mode), gsm_lchan_name(conn->lchan)); - modif_info = (struct lchan_modify_info){ - .modify_for = MODIFY_FOR_ASSIGNMENT, - .ch_mode_rate = conn->assignment.selected_ch_mode_rate, - .requires_voice_stream = conn->assignment.requires_voice_stream, - .msc_assigned_cic = req->msc_assigned_cic, - }; - - if (assignment_fsm_state_chg(ASSIGNMENT_ST_WAIT_LCHAN_MODIFIED)) - return; - lchan_mode_modify(conn->lchan, &modif_info); + assignment_fsm_state_chg(ASSIGNMENT_ST_WAIT_LCHAN_MODIFIED); return; } @@ -564,7 +553,13 @@ req->use_osmux ? "yes" : "no"); assignment_fsm_state_chg(ASSIGNMENT_ST_WAIT_LCHAN_ACTIVE); - activ_info = (struct lchan_activate_info){ +} + +static void assignment_fsm_wait_lchan_active_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct gsm_subscriber_connection *conn = assignment_fi_conn(fi); + struct assignment_request *req = &conn->assignment.req; + struct lchan_activate_info activ_info = { .activ_for = ACTIVATE_FOR_ASSIGNMENT, .for_conn = conn, .ch_mode_rate = conn->assignment.selected_ch_mode_rate, @@ -578,14 +573,17 @@ lchan_activate(conn->assignment.new_lchan, &activ_info); } -static void assignment_fsm_wait_lchan(struct osmo_fsm_inst *fi, uint32_t event, void *data) +static void assignment_fsm_wait_lchan_active(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct gsm_subscriber_connection *conn = assignment_fi_conn(fi); switch (event) { case ASSIGNMENT_EV_LCHAN_ACTIVE: - if (data != conn->assignment.new_lchan) + if (data != conn->assignment.new_lchan) { + LOG_ASSIGNMENT(conn, LOGL_ERROR, "Some unrelated lchan was activated, ignoring: %s\n", + gsm_lchan_name(data)); return; + } /* The TS may have changed its pchan_is */ assignment_fsm_update_id(conn); @@ -736,6 +734,19 @@ } } +static void assignment_fsm_wait_lchan_modified_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct gsm_subscriber_connection *conn = assignment_fi_conn(fi); + struct assignment_request *req = &conn->assignment.req; + struct lchan_modify_info modif_info = { + .modify_for = MODIFY_FOR_ASSIGNMENT, + .ch_mode_rate = conn->assignment.selected_ch_mode_rate, + .requires_voice_stream = conn->assignment.requires_voice_stream, + .msc_assigned_cic = req->msc_assigned_cic, + }; + lchan_mode_modify(conn->lchan, &modif_info); +} + static void assignment_fsm_wait_lchan_modified(struct osmo_fsm_inst *fi, uint32_t event, void *data) { switch (event) { @@ -754,7 +765,8 @@ static const struct osmo_fsm_state assignment_fsm_states[] = { [ASSIGNMENT_ST_WAIT_LCHAN_ACTIVE] = { .name = "WAIT_LCHAN_ACTIVE", - .action = assignment_fsm_wait_lchan, + .onenter = assignment_fsm_wait_lchan_active_onenter, + .action = assignment_fsm_wait_lchan_active, .in_event_mask = 0 | S(ASSIGNMENT_EV_LCHAN_ACTIVE) , @@ -799,6 +811,7 @@ }, [ASSIGNMENT_ST_WAIT_LCHAN_MODIFIED] = { .name = "WAIT_LCHAN_MODIFIED", + .onenter = assignment_fsm_wait_lchan_modified_onenter, .action = assignment_fsm_wait_lchan_modified, .in_event_mask = 0 | S(ASSIGNMENT_EV_LCHAN_MODIFIED) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9a2e7eefd4196b80671311e5dfd275893ec0e275 Gerrit-Change-Number: 24361 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:22 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: allow assignment to a specific lchan References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24362 ) Change subject: assignment_fsm: allow assignment to a specific lchan ...................................................................... assignment_fsm: allow assignment to a specific lchan So far the assignment FSM always tried to satisfy the channel mode and rate by either re-using the current lchan or finding a new, unused lchan. For VAMOS however, we want to pick one specific lchan. Add target_lchan to struct assignment_request and skip all mode matching and lchan selection when a specific target_lchan is set. Related: SYS#5315 OS#4940 Change-Id: I71e0d4ff4746706e0be5266e4574d70ca432e3d7 --- M include/osmocom/bsc/assignment_fsm.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/assignment_fsm.c 3 files changed, 94 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/62/24362/1 diff --git a/include/osmocom/bsc/assignment_fsm.h b/include/osmocom/bsc/assignment_fsm.h index b4af335..d4ed846 100644 --- a/include/osmocom/bsc/assignment_fsm.h +++ b/include/osmocom/bsc/assignment_fsm.h @@ -41,6 +41,10 @@ void assignment_fsm_init(); +int reassignment_request_to_lchan(enum assign_for assign_for, struct gsm_lchan *lchan, struct gsm_lchan *to_lchan); +int reassignment_request_to_chan_type(enum assign_for assign_for, struct gsm_lchan *lchan, + enum gsm_chan_t new_lchan_type); + void assignment_fsm_start(struct gsm_subscriber_connection *conn, struct gsm_bts *bts, struct assignment_request *req); void assignment_reset(struct gsm_subscriber_connection *conn); diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 3ed624f..58ec124 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -154,6 +154,14 @@ /* Rate/codec setting in preference order (need at least 1 !) */ int n_ch_mode_rate; struct channel_mode_and_rate ch_mode_rate_list[3]; + + /* An assignment request usually requests to assign any available lchan, to match above requirements. This may + * also choose to just keep the current lchan and merely modify it as appropriate. In these cases, keep + * target_lchan == NULL. + * In some situations, an assignment to a specific target lchan is requested (congestion resolution, VAMOS + * multiplexing, user request via VTY). In these situations, select a target lchan beforehand and point + * target_lchan to it. */ + struct gsm_lchan *target_lchan; }; /* State of an ongoing Assignment, while the assignment_fsm is still busy. This serves as state separation to keep the diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 83d2917..062fcb4 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -438,6 +438,45 @@ return false; } +static int _reassignment_request(enum assign_for assign_for, struct gsm_lchan *lchan, struct gsm_lchan *to_lchan, + enum gsm_chan_t new_lchan_type) +{ + struct gsm_subscriber_connection *conn = lchan->conn; + struct assignment_request req = { + .assign_for = assign_for, + .aoip = gscon_is_aoip(conn), + .msc_assigned_cic = conn->user_plane.msc_assigned_cic, + .msc_rtp_port = conn->user_plane.msc_assigned_rtp_port, + .n_ch_mode_rate = 1, + .ch_mode_rate_list = { lchan->current_ch_mode_rate }, + .target_lchan = to_lchan, + }; + + if (to_lchan) + new_lchan_type = to_lchan->type; + req.ch_mode_rate_list[0].chan_rate = chan_t_to_chan_rate(new_lchan_type); + + OSMO_STRLCPY_ARRAY(req.msc_rtp_addr, conn->user_plane.msc_assigned_rtp_addr); + + if (conn->user_plane.mgw_endpoint_ci_msc) { + req.use_osmux = osmo_mgcpc_ep_ci_get_crcx_info_to_osmux_cid(conn->user_plane.mgw_endpoint_ci_msc, + &req.osmux_cid); + } + + return osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_ASSIGNMENT_START, &req); +} + +int reassignment_request_to_lchan(enum assign_for assign_for, struct gsm_lchan *lchan, struct gsm_lchan *to_lchan) +{ + return _reassignment_request(assign_for, lchan, to_lchan, 0); +} + +int reassignment_request_to_chan_type(enum assign_for assign_for, struct gsm_lchan *lchan, + enum gsm_chan_t new_lchan_type) +{ + return _reassignment_request(assign_for, lchan, NULL, new_lchan_type); +} + void assignment_fsm_start(struct gsm_subscriber_connection *conn, struct gsm_bts *bts, struct assignment_request *req) { @@ -470,13 +509,8 @@ if (check_requires_voice_stream(conn) < 0) return; - /* There may be an already existing lchan, if yes, try to work with - * the existing lchan. - * If an RTP FSM is already set up for the lchan, Mode Modify is not yet supported -- see handling of - * LCHAN_EV_REQUEST_MODE_MODIFY in lchan_fsm.c. To not break the lchan, do not even attempt to re-use an lchan - * that already has an RTP stream set up, rather establish a new lchan (that transition is well implemented). */ - if (reuse_existing_lchan(conn) && !conn->lchan->fi_rtp) { - /* The new lchan is the old lchan, keep new_lchan == NULL. */ + if (!req->target_lchan && reuse_existing_lchan(conn)) { + /* The already existing lchan is suitable for this mode */ conn->assignment.new_lchan = NULL; /* If the requested mode and the current TCH mode matches up, just send the @@ -512,19 +546,48 @@ return; } - /* Try to allocate a new lchan in order of preference */ - for (i = 0; i < req->n_ch_mode_rate; i++) { - conn->assignment.new_lchan = lchan_select_by_chan_mode(bts, - req->ch_mode_rate_list[i].chan_mode, req->ch_mode_rate_list[i].chan_rate); - if (!conn->assignment.new_lchan) - continue; - LOG_ASSIGNMENT(conn, LOGL_DEBUG, "selected new lchan %s for mode[%d] = %s channel_rate=%d\n", - gsm_lchan_name(conn->assignment.new_lchan), - i, gsm48_chan_mode_name(req->ch_mode_rate_list[i].chan_mode), - req->ch_mode_rate_list[i].chan_rate); + if (req->target_lchan) { + bool matching_mode; - conn->assignment.selected_ch_mode_rate = req->ch_mode_rate_list[i]; - break; + /* The caller already picked a target lchan to assign to. No need to try re-using the current lchan or + * picking a new one. */ + if (!lchan_state_is(req->target_lchan, LCHAN_ST_UNUSED)) { + assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, + "Assignment to lchan %s requested, but lchan is already in use (state=%s)\n", + gsm_lchan_name(req->target_lchan), + osmo_fsm_inst_state_name(req->target_lchan->fi)); + return; + } + + conn->assignment.new_lchan = req->target_lchan; + matching_mode = false; + for (i = 0; i < req->n_ch_mode_rate; i++) { + if (!lchan_type_compat_with_mode(conn->assignment.new_lchan->type, &req->ch_mode_rate_list[i])) + continue; + conn->assignment.selected_ch_mode_rate = req->ch_mode_rate_list[i]; + matching_mode = true; + } + if (!matching_mode) { + assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, + "Assignment to lchan %s requested, but lchan is not compatible\n", + gsm_lchan_name(req->target_lchan)); + return; + } + } else { + /* Try to allocate a new lchan in order of preference */ + for (i = 0; i < req->n_ch_mode_rate; i++) { + conn->assignment.new_lchan = lchan_select_by_chan_mode(bts, + req->ch_mode_rate_list[i].chan_mode, req->ch_mode_rate_list[i].chan_rate); + if (!conn->assignment.new_lchan) + continue; + LOG_ASSIGNMENT(conn, LOGL_DEBUG, "selected new lchan %s for mode[%d] = %s channel_rate=%d\n", + gsm_lchan_name(conn->assignment.new_lchan), + i, gsm48_chan_mode_name(req->ch_mode_rate_list[i].chan_mode), + req->ch_mode_rate_list[i].chan_rate); + + conn->assignment.selected_ch_mode_rate = req->ch_mode_rate_list[i]; + break; + } } /* Check whether the lchan allocation was successful or not and tear -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71e0d4ff4746706e0be5266e4574d70ca432e3d7 Gerrit-Change-Number: 24362 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:22 +0000 Subject: Change in osmo-bsc[master]: vty: actually trigger Assignment for 'assignment', not HO References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24363 ) Change subject: vty: actually trigger Assignment for 'assignment', not HO ...................................................................... vty: actually trigger Assignment for 'assignment', not HO Related: SYS#5315 OS#4940 Change-Id: Iee11f1ae0533d7db844e68a5c4c48d0fe3e27297 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 32 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/63/24363/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 372c108..b7495d1 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -78,6 +78,7 @@ #include #include #include +#include #include @@ -1867,23 +1868,32 @@ return CMD_SUCCESS; } -static int trigger_ho_or_as(struct vty *vty, struct gsm_lchan *from_lchan, struct gsm_bts *to_bts) +static int trigger_as(struct vty *vty, struct gsm_lchan *from_lchan, struct gsm_lchan *to_lchan) { - if (!to_bts || from_lchan->ts->trx->bts == to_bts) { - LOGP(DHO, LOGL_NOTICE, "%s Manually triggering Assignment from VTY\n", - gsm_lchan_name(from_lchan)); - to_bts = from_lchan->ts->trx->bts; - } else - LOGP(DHO, LOGL_NOTICE, "%s (ARFCN %u) --> BTS %u Manually triggering Handover from VTY\n", - gsm_lchan_name(from_lchan), from_lchan->ts->trx->arfcn, to_bts->nr); - { - struct handover_out_req req = { - .from_hodec_id = HODEC_USER, - .old_lchan = from_lchan, - }; - bts_cell_ab(&req.target_cell_ab, to_bts); - handover_request(&req); + LOG_LCHAN(from_lchan, LOGL_NOTICE, "Manually triggering Assignment from VTY\n"); + if (!to_lchan) { + to_lchan = lchan_select_by_type(from_lchan->ts->trx->bts, from_lchan->type); + vty_out(vty, "Error: cannot find free lchan of type %s%s", + gsm_lchant_name(from_lchan->type), VTY_NEWLINE); } + if (reassignment_request_to_lchan(ACTIVATE_FOR_VTY, from_lchan, to_lchan)) { + vty_out(vty, "Error: not allowed to start assignment for %s%s", + gsm_lchan_name(from_lchan), VTY_NEWLINE); + return CMD_WARNING; + } + return CMD_SUCCESS; +} + +static int trigger_ho(struct vty *vty, struct gsm_lchan *from_lchan, struct gsm_bts *to_bts) +{ + struct handover_out_req req = { + .from_hodec_id = HODEC_USER, + .old_lchan = from_lchan, + }; + bts_cell_ab(&req.target_cell_ab, to_bts); + LOGP(DHO, LOGL_NOTICE, "%s (ARFCN %u) --> BTS %u Manually triggering Handover from VTY\n", + gsm_lchan_name(from_lchan), from_lchan->ts->trx->arfcn, to_bts->nr); + handover_request(&req); return CMD_SUCCESS; } @@ -1897,11 +1907,10 @@ unsigned int trx_nr = atoi(argv[1]); unsigned int ts_nr = atoi(argv[2]); unsigned int ss_nr = atoi(argv[3]); - unsigned int bts_nr_new; const char *action; if (argc > 4) { - bts_nr_new = atoi(argv[4]); + unsigned int bts_nr_new = atoi(argv[4]); /* Lookup the BTS where we want to handover to */ llist_for_each_entry(bts, &net->bts_list, list) { @@ -1930,7 +1939,10 @@ conn->lchan->ts->nr == ts_nr && conn->lchan->nr == ss_nr) { vty_out(vty, "starting %s for lchan %s...%s", action, conn->lchan->name, VTY_NEWLINE); lchan_dump_full_vty(vty, conn->lchan); - return trigger_ho_or_as(vty, conn->lchan, new_bts); + if (new_bts) + return trigger_ho(vty, conn->lchan, new_bts); + else + return trigger_as(vty, conn->lchan, NULL); } } @@ -2055,7 +2067,7 @@ if (!to_bts) return CMD_WARNING; - return trigger_ho_or_as(vty, from_lchan, to_bts); + return trigger_ho(vty, from_lchan, to_bts); } DEFUN(assignment_any, assignment_any_cmd, @@ -2070,7 +2082,7 @@ if (!from_lchan) return CMD_WARNING; - return trigger_ho_or_as(vty, from_lchan, NULL); + return trigger_as(vty, from_lchan, NULL); } DEFUN(handover_any_to_arfcn_bsic, handover_any_to_arfcn_bsic_cmd, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iee11f1ae0533d7db844e68a5c4c48d0fe3e27297 Gerrit-Change-Number: 24363 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:23 +0000 Subject: Change in osmo-bsc[master]: hodec 2: do intra-cell congestion resolution by Assignment References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24364 ) Change subject: hodec 2: do intra-cell congestion resolution by Assignment ...................................................................... hodec 2: do intra-cell congestion resolution by Assignment So far we do all channel reassignments by Handover Command. Since osmo-bsc now supports rassignment of ongoing voice calls, do intra-cell congestion resolution by Assignment Command. In effect, add support for expecting an Assignment Command in handover_test, and expect assignments instead of handovers for intra-cell congestion resolution test cases. Related: SYS#5330 OS#3277 Change-Id: Id56a890106b93fcee67ac9401b890e7b63bba421 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/gsm_data.c M src/osmo-bsc/handover_decision_2.c M tests/handover/handover_test.c M tests/handover/test_amr_tch_f_to_h_congestion_assignment.ho_vty M tests/handover/test_amr_tch_f_to_h_congestion_assignment_2.ho_vty M tests/handover/test_amr_tch_f_to_h_congestion_assignment_3.ho_vty M tests/handover/test_amr_tch_h_to_f_congestion.ho_vty M tests/handover/test_amr_tch_h_to_f_congestion_two_cells.ho_vty M tests/handover/test_balance_congestion_tchf_tchh.ho_vty M tests/handover/test_congestion_intra_vs_inter_cell.ho_vty M tests/handover/test_disabled_ho_and_as.ho_vty M tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment.ho_vty M tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment_2.ho_vty M tests/handover/test_dyn_ts_amr_tch_h_to_f_congestion_assignment_2.ho_vty M tests/handover/test_dyn_ts_favor_moving_half_used_tch_h.ho_vty 16 files changed, 172 insertions(+), 50 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/64/24364/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 58ec124..348735e 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -130,6 +130,7 @@ enum assign_for { ASSIGN_FOR_NONE, ASSIGN_FOR_BSSMAP_REQ, + ASSIGN_FOR_CONGESTION_RESOLUTION, }; extern const struct value_string assign_for_names[]; diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index c45800a..02dce99 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -940,6 +940,7 @@ const struct value_string assign_for_names[] = { OSMO_VALUE_STRING(ASSIGN_FOR_NONE), OSMO_VALUE_STRING(ASSIGN_FOR_BSSMAP_REQ), + OSMO_VALUE_STRING(ASSIGN_FOR_CONGESTION_RESOLUTION), {} }; diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index d0bd87b..1ebc853 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -29,6 +29,7 @@ #include #include +#include #include #include #include @@ -812,7 +813,6 @@ /* Trigger handover or assignment depending on the target BTS */ static int trigger_local_ho_or_as(struct ho_candidate *c, uint8_t requirements) { - struct handover_out_req req; int afs_bias = 0; bool full_rate = false; @@ -868,23 +868,25 @@ } /* trigger handover or assignment */ - if (c->current.bts == c->target.bts) + if (c->current.bts == c->target.bts) { LOGPHOLCHAN(c->current.lchan, LOGL_NOTICE, "Triggering assignment to %s, due to %s\n", full_rate ? "TCH/F" : "TCH/H", ho_reason_name(global_ho_reason)); - else + reassignment_request_to_chan_type(ASSIGN_FOR_CONGESTION_RESOLUTION, c->current.lchan, + full_rate? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H); + } else { + struct handover_out_req req = { + .from_hodec_id = HODEC2, + .old_lchan = c->current.lchan, + .new_lchan_type = full_rate? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H, + }; + bts_cell_ab(&req.target_cell_ab, c->target.bts); LOGPHOLCHANTOBTS(c->current.lchan, c->target.bts, LOGL_INFO, "Triggering handover to %s, due to %s\n", full_rate ? "TCH/F" : "TCH/H", ho_reason_name(global_ho_reason)); - - req = (struct handover_out_req){ - .from_hodec_id = HODEC2, - .old_lchan = c->current.lchan, - .new_lchan_type = full_rate? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H, - }; - bts_cell_ab(&req.target_cell_ab, c->target.bts); - handover_request(&req); + handover_request(&req); + } return 0; } diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 9bfb789..d47e97a 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -372,6 +373,10 @@ snprintf(imsi, sizeof(imsi), "%06u", next_imsi); lchan->conn->bsub = bsc_subscr_find_or_create_by_imsi(net->bsc_subscribers, imsi, BSUB_USE_CONN); + /* Set RTP data that the MSC normally would have sent */ + OSMO_STRLCPY_ARRAY(conn->user_plane.msc_assigned_rtp_addr, "1.2.3.4"); + conn->user_plane.msc_assigned_rtp_port = 1234; + /* kick the FSM from INIT through to the ACTIVE state */ osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_MO_COMPL_L3, NULL); osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_A_CONN_CFM, NULL); @@ -535,6 +540,9 @@ static struct gsm_lchan *new_ho_cmd = NULL; static struct gsm_lchan *last_ho_cmd = NULL; +static struct gsm_lchan *new_as_cmd = NULL; +static struct gsm_lchan *last_as_cmd = NULL; + /* send channel activation ack */ static void send_chan_act_ack(struct gsm_lchan *lchan, int act) { @@ -553,6 +561,44 @@ abis_rsl_rcvmsg(msg); } +/* Send RR Assignment Complete for SAPI[0] */ +static void send_assignment_complete(struct gsm_lchan *lchan) +{ + struct msgb *msg = msgb_alloc_headroom(256, 64, "RSL"); + struct abis_rsl_rll_hdr *rh; + uint8_t chan_nr = gsm_lchan2chan_nr(lchan); + uint8_t *buf; + struct gsm48_hdr *gh; + struct gsm48_ho_cpl *hc; + + fprintf(stderr, "- Send RR Assignment Complete for %s\n", gsm_lchan_name(lchan)); + + rh = (struct abis_rsl_rll_hdr *) msgb_put(msg, sizeof(*rh)); + rh->c.msg_discr = ABIS_RSL_MDISC_RLL; + rh->c.msg_type = RSL_MT_DATA_IND; + rh->ie_chan = RSL_IE_CHAN_NR; + rh->chan_nr = chan_nr; + rh->ie_link_id = RSL_IE_LINK_IDENT; + rh->link_id = 0x00; + + buf = msgb_put(msg, 3); + buf[0] = RSL_IE_L3_INFO; + buf[1] = (sizeof(*gh) + sizeof(*hc)) >> 8; + buf[2] = (sizeof(*gh) + sizeof(*hc)) & 0xff; + + gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); + hc = (struct gsm48_ho_cpl *) msgb_put(msg, sizeof(*hc)); + + gh->proto_discr = GSM48_PDISC_RR; + gh->msg_type = GSM48_MT_RR_ASS_COMPL; + + msg->dst = lchan->ts->trx->rsl_link; + msg->l2h = (unsigned char *)rh; + msg->l3h = (unsigned char *)gh; + + abis_rsl_rcvmsg(msg); +} + /* Send RLL Est Ind for SAPI[0] */ static void send_est_ind(struct gsm_lchan *lchan) { @@ -700,14 +746,21 @@ gh = (struct gsm48_hdr*)msg->l3h; switch (gh->msg_type) { case GSM48_MT_RR_HANDO_CMD: - case GSM48_MT_RR_ASS_CMD: - if (new_ho_cmd) { + if (new_ho_cmd || new_as_cmd) { fprintf(stderr, "Test script is erratic: seen a Handover Command" - " while a previous Handover Command is still unhandled\n"); + " while a previous Assignment or Handover Command is still unhandled\n"); exit(1); } new_ho_cmd = lchan; break; + case GSM48_MT_RR_ASS_CMD: + if (new_ho_cmd || new_as_cmd) { + fprintf(stderr, "Test script is erratic: seen an Assignment Command" + " while a previous Assignment or Handover Command is still unhandled\n"); + exit(1); + } + new_as_cmd = lchan; + break; } break; case RSL_MT_IPAC_CRCX: @@ -1017,22 +1070,40 @@ static void _expect_ho_cmd(struct gsm_lchan *lchan) { - fprintf(stderr, "- Expecting Handover/Assignment Command at %s\n", + fprintf(stderr, "- Expecting Handover Command at %s\n", gsm_lchan_name(lchan)); if (!new_ho_cmd) { fprintf(stderr, "Test failed, no Handover Command\n"); exit(1); } - fprintf(stderr, " * Got Handover/Assignment Command at %s\n", gsm_lchan_name(new_ho_cmd)); + fprintf(stderr, " * Got Handover Command at %s\n", gsm_lchan_name(new_ho_cmd)); if (new_ho_cmd != lchan) { - fprintf(stderr, "Test failed, Handover/Assignment Command not on the expected lchan\n"); + fprintf(stderr, "Test failed, Handover Command not on the expected lchan\n"); exit(1); } last_ho_cmd = new_ho_cmd; new_ho_cmd = NULL; } +static void _expect_as_cmd(struct gsm_lchan *lchan) +{ + fprintf(stderr, "- Expecting Assignment Command at %s\n", + gsm_lchan_name(lchan)); + + if (!new_as_cmd) { + fprintf(stderr, "Test failed, no Assignment Command\n"); + exit(1); + } + fprintf(stderr, " * Got Assignment Command at %s\n", gsm_lchan_name(new_as_cmd)); + if (new_as_cmd != lchan) { + fprintf(stderr, "Test failed, Assignment Command not on the expected lchan\n"); + exit(1); + } + last_as_cmd = new_as_cmd; + new_as_cmd = NULL; +} + DEFUN(expect_chan, expect_chan_cmd, "expect-chan " LCHAN_ARGS, "Expect RSL Channel Activation of a specific lchan\n" @@ -1053,6 +1124,16 @@ return CMD_SUCCESS; } +DEFUN(expect_assignment_command, expect_assignment_command_cmd, + "expect-as-cmd " LCHAN_ARGS, + "Expect Assignment Command for a given lchan\n" + LCHAN_ARGS_DOC) +{ + VTY_ECHO(); + _expect_as_cmd(parse_lchan_args(argv)); + return CMD_SUCCESS; +} + DEFUN(ho_detection, ho_detection_cmd, "ho-detect", "Send Handover Detection to the most recent HO target lchan\n") @@ -1089,7 +1170,7 @@ "Expect a handover of a specific lchan to a specific target lchan;" " shorthand for expect-chan, ack-chan, expect-ho, ho-complete.\n" "lchan to handover from\n" LCHAN_ARGS_DOC - "lchan that to handover to\n" LCHAN_ARGS_DOC) + "lchan to handover to\n" LCHAN_ARGS_DOC) { struct gsm_lchan *from = parse_lchan_args(argv); struct gsm_lchan *to = parse_lchan_args(argv+4); @@ -1099,6 +1180,31 @@ _expect_ho_cmd(from); send_ho_detect(to); send_ho_complete(to, true); + + lchan_release_ack(from); + return CMD_SUCCESS; +} + +DEFUN(expect_as, expect_as_cmd, + "expect-as from " LCHAN_ARGS " to " LCHAN_ARGS, + "Expect an intra-cell re-assignment of a specific lchan to a specific target lchan;" + " shorthand for expect-chan, ack-chan, expect-as, TODO.\n" + "lchan to be re-assigned elsewhere\n" LCHAN_ARGS_DOC + "new lchan to re-assign to\n" LCHAN_ARGS_DOC) +{ + struct gsm_lchan *from = parse_lchan_args(argv); + struct gsm_lchan *to = parse_lchan_args(argv+4); + VTY_ECHO(); + + _expect_chan_activ(to); + if (from->ts->trx->bts != to->ts->trx->bts) { + vty_out(vty, "%% Error: re-assignment only works within the same BTS%s", VTY_NEWLINE); + return CMD_WARNING; + } + _expect_as_cmd(from); + send_assignment_complete(to); + send_est_ind(to); + lchan_release_ack(from); return CMD_SUCCESS; } @@ -1188,9 +1294,11 @@ install_element(CONFIG_NODE, &expect_no_chan_cmd); install_element(CONFIG_NODE, &expect_chan_cmd); install_element(CONFIG_NODE, &expect_handover_command_cmd); + install_element(CONFIG_NODE, &expect_assignment_command_cmd); install_element(CONFIG_NODE, &ho_detection_cmd); install_element(CONFIG_NODE, &ho_complete_cmd); install_element(CONFIG_NODE, &expect_ho_cmd); + install_element(CONFIG_NODE, &expect_as_cmd); install_element(CONFIG_NODE, &ho_failed_cmd); install_element(CONFIG_NODE, &expect_ts_use_cmd); install_element(CONFIG_NODE, &codec_f_cmd); @@ -1309,7 +1417,8 @@ osmo_init_logging2(ctx, &log_info); - log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); + log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_BASENAME); + log_set_print_filename_pos(osmo_stderr_target, LOG_FILENAME_POS_LINE_END); log_set_print_category(osmo_stderr_target, 1); log_set_print_category_hex(osmo_stderr_target, 0); log_set_print_level(osmo_stderr_target, 1); @@ -1328,6 +1437,7 @@ lchan_fsm_init(); bsc_subscr_conn_fsm_init(); handover_fsm_init(); + assignment_fsm_init(); ho_set_algorithm(bsc_gsmnet->ho, 2); ho_set_ho_active(bsc_gsmnet->ho, true); @@ -1416,3 +1526,12 @@ { return "fake-ci"; } +const struct mgcp_conn_peer *osmo_mgcpc_ep_ci_get_rtp_info(const struct osmo_mgcpc_ep_ci *ci) +{ + static struct mgcp_conn_peer ret = { + .addr = "1.2.3.4", + .port = 1234, + .endpoint = "fake-endpoint", + }; + return &ret; +} diff --git a/tests/handover/test_amr_tch_f_to_h_congestion_assignment.ho_vty b/tests/handover/test_amr_tch_f_to_h_congestion_assignment.ho_vty index d6515fc..84f34ff 100644 --- a/tests/handover/test_amr_tch_f_to_h_congestion_assignment.ho_vty +++ b/tests/handover/test_amr_tch_f_to_h_congestion_assignment.ho_vty @@ -14,6 +14,5 @@ meas-rep lchan 0 0 6 0 rxlev 20 rxqual 0 ta 0 expect-no-chan congestion-check -expect-ho from lchan 0 0 6 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 6 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - TCH/HH - - - diff --git a/tests/handover/test_amr_tch_f_to_h_congestion_assignment_2.ho_vty b/tests/handover/test_amr_tch_f_to_h_congestion_assignment_2.ho_vty index e7778d0..2fa08da 100644 --- a/tests/handover/test_amr_tch_f_to_h_congestion_assignment_2.ho_vty +++ b/tests/handover/test_amr_tch_f_to_h_congestion_assignment_2.ho_vty @@ -15,10 +15,10 @@ meas-rep lchan 0 0 6 0 rxlev 20 rxqual 0 ta 0 expect-no-chan congestion-check -expect-ho from lchan 0 0 6 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 6 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - TCH/HH - - congestion-check -expect-ho from lchan 0 0 5 0 to lchan 0 0 2 0 +expect-as from lchan 0 0 5 0 to lchan 0 0 2 0 expect-ts-use trx 0 0 states * TCH/F TCH/F - - TCH/-H - - congestion-check expect-no-chan diff --git a/tests/handover/test_amr_tch_f_to_h_congestion_assignment_3.ho_vty b/tests/handover/test_amr_tch_f_to_h_congestion_assignment_3.ho_vty index ffa3614..0dca250 100644 --- a/tests/handover/test_amr_tch_f_to_h_congestion_assignment_3.ho_vty +++ b/tests/handover/test_amr_tch_f_to_h_congestion_assignment_3.ho_vty @@ -10,6 +10,6 @@ meas-rep lchan 0 0 1 0 rxlev 30 rxqual 0 ta 0 neighbors 30 expect-no-chan congestion-check -expect-ho from lchan 0 0 1 0 to lchan 0 0 5 1 +expect-as from lchan 0 0 1 0 to lchan 0 0 5 1 expect-ts-use trx 0 0 states * - TCH/F - - TCH/HH - - diff --git a/tests/handover/test_amr_tch_h_to_f_congestion.ho_vty b/tests/handover/test_amr_tch_h_to_f_congestion.ho_vty index 4d1194c..0252d9f 100644 --- a/tests/handover/test_amr_tch_h_to_f_congestion.ho_vty +++ b/tests/handover/test_amr_tch_h_to_f_congestion.ho_vty @@ -10,5 +10,5 @@ meas-rep lchan 0 0 4 0 rxlev 30 rxqual 0 ta 0 expect-no-chan congestion-check -expect-ho from lchan 0 0 4 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - - - * diff --git a/tests/handover/test_amr_tch_h_to_f_congestion_two_cells.ho_vty b/tests/handover/test_amr_tch_h_to_f_congestion_two_cells.ho_vty index 7cbcd4b..fecd068 100644 --- a/tests/handover/test_amr_tch_h_to_f_congestion_two_cells.ho_vty +++ b/tests/handover/test_amr_tch_h_to_f_congestion_two_cells.ho_vty @@ -12,6 +12,6 @@ meas-rep repeat 10 lchan 1 0 4 0 rxlev 30 rxqual 0 ta 0 neighbors 20 expect-no-chan congestion-check -expect-ho from lchan 1 0 4 0 to lchan 1 0 1 0 +expect-as from lchan 1 0 4 0 to lchan 1 0 1 0 expect-ts-use trx 0 0 states * - - - - - - * expect-ts-use trx 1 0 states * TCH/F - - - - - * diff --git a/tests/handover/test_balance_congestion_tchf_tchh.ho_vty b/tests/handover/test_balance_congestion_tchf_tchh.ho_vty index 62f07bf..f151b2a 100644 --- a/tests/handover/test_balance_congestion_tchf_tchh.ho_vty +++ b/tests/handover/test_balance_congestion_tchf_tchh.ho_vty @@ -23,7 +23,7 @@ set-ts-use trx 0 0 states * TCH/F TCH/F - - TCH/HH TCH/HH TCH/HH meas-rep lchan * * * * rxlev 10 rxqual 0 ta 0 congestion-check -expect-ho from lchan 0 0 5 0 to lchan 0 0 3 0 +expect-as from lchan 0 0 5 0 to lchan 0 0 3 0 # Now similar load percentages, just with different min-free-slots settings for tch/f vs tch/h. @@ -50,4 +50,4 @@ set-ts-use trx 0 0 states * TCH/F TCH/F - - TCH/HH TCH/HH TCH/H- meas-rep lchan * * * * rxlev 20 rxqual 0 ta 0 congestion-check -expect-ho from lchan 0 0 5 0 to lchan 0 0 3 0 +expect-as from lchan 0 0 5 0 to lchan 0 0 3 0 diff --git a/tests/handover/test_congestion_intra_vs_inter_cell.ho_vty b/tests/handover/test_congestion_intra_vs_inter_cell.ho_vty index d93f56c..ddf6802 100644 --- a/tests/handover/test_congestion_intra_vs_inter_cell.ho_vty +++ b/tests/handover/test_congestion_intra_vs_inter_cell.ho_vty @@ -12,7 +12,7 @@ expect-no-chan congestion-check -expect-ho from lchan 0 0 6 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 6 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - TCH/H- - * expect-ts-use trx 1 0 states * - - - - - - * @@ -27,7 +27,7 @@ expect-no-chan congestion-check -expect-ho from lchan 0 0 5 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 5 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - - TCH/H- * expect-ts-use trx 1 0 states * - - - - - - * @@ -42,7 +42,7 @@ expect-no-chan congestion-check -expect-ho from lchan 0 0 5 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 5 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - - TCH/H- * expect-ts-use trx 1 0 states * - - - - - - * @@ -57,7 +57,7 @@ expect-no-chan congestion-check -expect-ho from lchan 0 0 5 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 5 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - - TCH/H- * expect-ts-use trx 1 0 states * - - - - - - * @@ -72,7 +72,7 @@ expect-no-chan congestion-check -expect-ho from lchan 0 0 5 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 5 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - - TCH/H- * expect-ts-use trx 1 0 states * - - - - - - * @@ -87,7 +87,7 @@ expect-no-chan congestion-check -expect-ho from lchan 0 0 6 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 6 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - TCH/H- - * expect-ts-use trx 1 0 states * - - - - - - * diff --git a/tests/handover/test_disabled_ho_and_as.ho_vty b/tests/handover/test_disabled_ho_and_as.ho_vty index ffd0311..586c3a7 100644 --- a/tests/handover/test_disabled_ho_and_as.ho_vty +++ b/tests/handover/test_disabled_ho_and_as.ho_vty @@ -19,7 +19,7 @@ bts 0 handover2 assignment 1 meas-rep lchan 0 0 5 0 rxlev 0 rxqual 0 ta 0 neighbors 30 -expect-ho from lchan 0 0 5 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 5 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - - - - network bts 0 diff --git a/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment.ho_vty b/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment.ho_vty index 85b00e8..6990132 100644 --- a/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment.ho_vty +++ b/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment.ho_vty @@ -22,11 +22,11 @@ expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/F TCH/F pdch * congestion-check -expect-ho from lchan 0 0 5 0 to lchan 0 0 6 0 +expect-as from lchan 0 0 5 0 to lchan 0 0 6 0 expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/F pdch TCH/H- * congestion-check -expect-ho from lchan 0 0 4 0 to lchan 0 0 6 1 +expect-as from lchan 0 0 4 0 to lchan 0 0 6 1 expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F pdch pdch TCH/HH * congestion-check @@ -37,11 +37,11 @@ expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/F pdch TCH/HH * congestion-check -expect-ho from lchan 0 0 4 0 to lchan 0 0 5 0 +expect-as from lchan 0 0 4 0 to lchan 0 0 5 0 expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F pdch TCH/H- TCH/HH * congestion-check -expect-ho from lchan 0 0 1 0 to lchan 0 0 5 1 +expect-as from lchan 0 0 1 0 to lchan 0 0 5 1 expect-ts-use trx 0 0 states * - TCH/F TCH/F pdch TCH/HH TCH/HH * congestion-check @@ -52,11 +52,11 @@ expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F pdch TCH/HH TCH/HH * congestion-check -expect-ho from lchan 0 0 1 0 to lchan 0 0 4 0 +expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 expect-ts-use trx 0 0 states * - TCH/F TCH/F TCH/H- TCH/HH TCH/HH * congestion-check -expect-ho from lchan 0 0 2 0 to lchan 0 0 4 1 +expect-as from lchan 0 0 2 0 to lchan 0 0 4 1 expect-ts-use trx 0 0 states * - - TCH/F TCH/HH TCH/HH TCH/HH * congestion-check diff --git a/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment_2.ho_vty b/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment_2.ho_vty index a798457..08bc151 100644 --- a/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment_2.ho_vty +++ b/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment_2.ho_vty @@ -14,14 +14,14 @@ # (there must be at least one measurement report on each lchan for congestion check to work) meas-rep lchan * * * * rxlev 40 rxqual 0 ta 0 neighbors 30 congestion-check -expect-ho from lchan 0 0 1 0 to lchan 0 0 4 0 +expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 expect-ts-use trx 0 0 states * pdch - - TCH/H- * * * # Again with one more TCH/H occupied, there will still be two free TCH/H after HO on the dyn TS set-ts-use trx 0 0 states * TCH/F - - TCH/H- * * * meas-rep lchan * * * * rxlev 40 rxqual 0 ta 0 neighbors 30 congestion-check -expect-ho from lchan 0 0 1 0 to lchan 0 0 4 1 +expect-as from lchan 0 0 1 0 to lchan 0 0 4 1 expect-ts-use trx 0 0 states * pdch - - TCH/HH * * * # Again, with the target being a dyn TS @@ -36,12 +36,12 @@ set-ts-use trx 1 0 states * TCH/F TCH/F - pdch * * * meas-rep lchan 1 * * * rxlev 40 rxqual 0 ta 0 neighbors 30 congestion-check -expect-ho from lchan 1 0 1 0 to lchan 1 0 4 0 +expect-as from lchan 1 0 1 0 to lchan 1 0 4 0 expect-ts-use trx 1 0 states * pdch TCH/F - TCH/H- * * * # Again with one more TCH/H occupied, there will still be two free TCH/H after HO on the dyn TS set-ts-use trx 1 0 states * TCH/F TCH/F - TCH/H- * * * meas-rep lchan 1 * * * rxlev 40 rxqual 0 ta 0 neighbors 30 congestion-check -expect-ho from lchan 1 0 1 0 to lchan 1 0 4 1 +expect-as from lchan 1 0 1 0 to lchan 1 0 4 1 expect-ts-use trx 1 0 states * pdch TCH/F - TCH/HH * * * diff --git a/tests/handover/test_dyn_ts_amr_tch_h_to_f_congestion_assignment_2.ho_vty b/tests/handover/test_dyn_ts_amr_tch_h_to_f_congestion_assignment_2.ho_vty index de9595b..bf1edf2 100644 --- a/tests/handover/test_dyn_ts_amr_tch_h_to_f_congestion_assignment_2.ho_vty +++ b/tests/handover/test_dyn_ts_amr_tch_h_to_f_congestion_assignment_2.ho_vty @@ -14,14 +14,14 @@ # (there must be at least one measurement report on each lchan for congestion check to work) meas-rep lchan * * * * rxlev 40 rxqual 0 ta 0 neighbors 30 congestion-check -expect-ho from lchan 0 0 1 0 to lchan 0 0 2 0 +expect-as from lchan 0 0 1 0 to lchan 0 0 2 0 expect-ts-use trx 0 0 states * pdch TCH/F - - * * * # Again with one more TCH/F occupied, there will still be two free TCH/F after HO on the dyn TS set-ts-use trx 0 0 states * TCH/H- - - TCH/F * * * meas-rep lchan * * * * rxlev 40 rxqual 0 ta 0 neighbors 30 congestion-check -expect-ho from lchan 0 0 1 0 to lchan 0 0 2 0 +expect-as from lchan 0 0 1 0 to lchan 0 0 2 0 expect-ts-use trx 0 0 states * pdch TCH/F - TCH/F * * * # (TCH/H -> TCH/F onto a dyn TS will always make TCH/H congestion worse, so there is no useful test case left here) diff --git a/tests/handover/test_dyn_ts_favor_moving_half_used_tch_h.ho_vty b/tests/handover/test_dyn_ts_favor_moving_half_used_tch_h.ho_vty index b25cf96..6548360 100644 --- a/tests/handover/test_dyn_ts_favor_moving_half_used_tch_h.ho_vty +++ b/tests/handover/test_dyn_ts_favor_moving_half_used_tch_h.ho_vty @@ -10,7 +10,7 @@ set-ts-use trx 0 0 states * - TCH/HH TCH/H- TCH/HH pdch - - meas-rep lchan * * * * rxlev 30 rxqual 0 ta 0 congestion-check -expect-ho from lchan 0 0 3 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 3 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F TCH/HH pdch TCH/HH pdch - - # clear measurements for the next run @@ -24,7 +24,7 @@ meas-rep lchan 0 0 4 0 rxlev 32 rxqual 0 ta 0 meas-rep lchan 0 0 4 1 rxlev 33 rxqual 0 ta 0 congestion-check -expect-ho from lchan 0 0 3 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 3 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F TCH/HH pdch TCH/HH pdch - - # clear measurements for the next run @@ -38,5 +38,5 @@ meas-rep lchan 0 0 4 0 rxlev 32 rxqual 0 ta 0 meas-rep lchan 0 0 4 1 rxlev 31 rxqual 0 ta 0 congestion-check -expect-ho from lchan 0 0 3 0 to lchan 0 0 1 0 +expect-as from lchan 0 0 3 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F TCH/HH pdch TCH/HH pdch - - -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id56a890106b93fcee67ac9401b890e7b63bba421 Gerrit-Change-Number: 24364 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:23 +0000 Subject: Change in osmo-bsc[master]: RSL link: explicitly select rsl_link based on lchan References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24365 ) Change subject: RSL link: explicitly select rsl_link based on lchan ...................................................................... RSL link: explicitly select rsl_link based on lchan Prepare for VAMOS, where there will be secondary "shadow" lchans serving secondary MS on the same timeslots. For those, RSL messages will need to reflect a different stream ID aka TEI, via an rsl_link_vamos. Make sure that every code path that sends an RSL message for a specific lchan selects the RSL link via the new function rsl_chan_link(). When VAMOS is implemented, this function can select the proper RSL stream. Rename gsm_bts_trx.rsl_link to rsl_link_primary. This makes sure I'm not missing any uses of the RSL link, and clarifies the code. Related: SYS#5315 OS#4940 Change-Id: Ifbf16bb296e91f151d19e15e39f5c953ad77ff17 --- M include/osmocom/bsc/abis_rsl.h M include/osmocom/bsc/bts_trx.h M src/ipaccess/ipaccess-config.c M src/osmo-bsc/abis_nm.c M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/acc.c M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/bts_siemens_bs11.c M src/osmo-bsc/e1_config.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/nm_bb_transc_fsm.c M tests/gsm0408/gsm0408_test.c M tests/handover/handover_test.c 15 files changed, 69 insertions(+), 62 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/65/24365/1 diff --git a/include/osmocom/bsc/abis_rsl.h b/include/osmocom/bsc/abis_rsl.h index 158f7fb..dcae348 100644 --- a/include/osmocom/bsc/abis_rsl.h +++ b/include/osmocom/bsc/abis_rsl.h @@ -44,6 +44,8 @@ const char *ip_to_a(uint32_t ip); +struct e1inp_sign_link *rsl_chan_link(const struct gsm_lchan *lchan); + int rsl_bcch_info(const struct gsm_bts_trx *trx, enum osmo_sysinfo_type si_type, const uint8_t *data, int len); int rsl_sacch_filling(struct gsm_bts_trx *trx, uint8_t type, const uint8_t *data, int len); diff --git a/include/osmocom/bsc/bts_trx.h b/include/osmocom/bsc/bts_trx.h index e42e1e4..4d705d0 100644 --- a/include/osmocom/bsc/bts_trx.h +++ b/include/osmocom/bsc/bts_trx.h @@ -33,8 +33,8 @@ uint8_t nr; /* how do we talk RSL with this TRX? */ struct gsm_e1_subslot rsl_e1_link; - uint8_t rsl_tei; - struct e1inp_sign_link *rsl_link; + uint8_t rsl_tei_primary; + struct e1inp_sign_link *rsl_link_primary; /* Timeout for initiating the RSL connection. */ struct osmo_timer_list rsl_connect_timeout; diff --git a/src/ipaccess/ipaccess-config.c b/src/ipaccess/ipaccess-config.c index cf649bd..02501bd 100644 --- a/src/ipaccess/ipaccess-config.c +++ b/src/ipaccess/ipaccess-config.c @@ -159,7 +159,7 @@ /* create back-links from bts/trx */ bts->oml_link = oml_link; - bts->c0->rsl_link = rsl_link; + bts->c0->rsl_link_primary = rsl_link; /* default port at BTS for incoming connections is 3006 */ if (sin->sin_port == 0) @@ -1122,7 +1122,7 @@ } bts->oml_link->ts->sign.delay = 10; - bts->c0->rsl_link->ts->sign.delay = 10; + bts->c0->rsl_link_primary->ts->sign.delay = 10; while (1) { rc = osmo_select_main(0); if (rc < 0) diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index 4fba55c..c98d225 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -893,7 +893,7 @@ } llist_for_each_entry(trx, &bts->trx_list, list) { - if (!trx->rsl_link) + if (!trx->rsl_link_primary) return false; if (!trx_is_usable(trx)) diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 31adf80..a617d32 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -251,7 +251,7 @@ msgb_tlv_put(msg, RSL_IE_FULL_BCCH_INFO, len, data); } - msg->dst = trx->rsl_link; + msg->dst = trx->rsl_link_primary; return abis_rsl_sendmsg(msg); } @@ -270,7 +270,7 @@ if (data) msgb_tl16v_put(msg, RSL_IE_L3_INFO, len, data); - msg->dst = trx->rsl_link; + msg->dst = trx->rsl_link_primary; return abis_rsl_sendmsg(msg); } @@ -290,7 +290,7 @@ if (data) msgb_tl16v_put(msg, RSL_IE_L3_INFO, len, data); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); return abis_rsl_sendmsg(msg); } @@ -320,7 +320,7 @@ /* BS Power Control Parameters (if supported by BTS model) */ add_power_control_params(msg, RSL_IE_BS_POWER_PARAM, lchan); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); return abis_rsl_sendmsg(msg); } @@ -345,7 +345,7 @@ /* MS Power Control Parameters (if supported by BTS model) */ add_power_control_params(msg, RSL_IE_MS_POWER_PARAM, lchan); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); return abis_rsl_sendmsg(msg); } @@ -607,7 +607,7 @@ rep_acch_cap_for_bts(lchan, msg); - msg->dst = trx->rsl_link; + msg->dst = rsl_chan_link(lchan); rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHAN_ACT_TOTAL]); switch (lchan->type) { @@ -667,7 +667,7 @@ rep_acch_cap_for_bts(lchan, msg); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); return abis_rsl_sendmsg(msg); } @@ -699,7 +699,7 @@ init_dchan_hdr(dh, RSL_MT_ENCR_CMD); dh->chan_nr = chan_nr; - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); return abis_rsl_sendmsg(msg); } @@ -715,7 +715,7 @@ dh->chan_nr = gsm_lchan2chan_nr(lchan); msg->lchan = lchan; - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); DEBUGP(DRSL, "%s DEACTivate SACCH CMD\n", gsm_lchan_name(lchan)); @@ -734,7 +734,7 @@ dh->chan_nr = gsm_lchan2chan_nr(lchan); msg->lchan = lchan; - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); return abis_rsl_sendmsg(msg); } @@ -769,7 +769,7 @@ if (bts->type == GSM_BTS_TYPE_RBS2000 && is_gprs) msgb_tv_put(msg, RSL_IE_ERIC_PACKET_PAG_IND, 0); - msg->dst = bts->c0->rsl_link; + msg->dst = bts->c0->rsl_link_primary; return abis_rsl_sendmsg(msg); } @@ -829,7 +829,7 @@ break; } - msg->dst = bts->c0->rsl_link; + msg->dst = bts->c0->rsl_link_primary; return msg; } @@ -872,7 +872,7 @@ DEBUGP(DRSL, "%s TX Siemens MRPCI 0x%02x\n", gsm_lchan_name(lchan), *(uint8_t *)mrpci); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); return abis_rsl_sendmsg(msg); } @@ -890,7 +890,7 @@ rsl_rll_push_l3(msg, RSL_MT_DATA_REQ, gsm_lchan2chan_nr(msg->lchan), link_id, 1); - msg->dst = msg->lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(msg->lchan); return abis_rsl_sendmsg(msg); } @@ -903,7 +903,7 @@ msg = rsl_rll_simple(RSL_MT_EST_REQ, gsm_lchan2chan_nr(lchan), link_id, 0); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); DEBUGP(DRLL, "%s RSL RLL ESTABLISH REQ (link_id=0x%02x)\n", gsm_lchan_name(lchan), link_id); @@ -927,7 +927,7 @@ /* 0 is normal release, 1 is local end */ msgb_tv_put(msg, RSL_IE_RELEASE_MODE, release_mode); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); DEBUGP(DRLL, "%s RSL RLL RELEASE REQ (link_id=0x%02x, reason=%u)\n", gsm_lchan_name(lchan), link_id, release_mode); @@ -2257,7 +2257,7 @@ LOG_LCHAN(lchan, LOGL_DEBUG, "Sending IPACC CRCX to BTS: speech_mode=0x%02x RTP_PAYLOAD=%d\n", lchan->abis_ip.speech_mode, lchan->abis_ip.rtp_payload); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); return abis_rsl_sendmsg(msg); } @@ -2288,7 +2288,7 @@ if (lchan->abis_ip.rtp_payload2) msgb_tv_put(msg, RSL_IE_IPAC_RTP_PAYLOAD2, lchan->abis_ip.rtp_payload2); - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); return msg; } @@ -2485,7 +2485,7 @@ } } - msg->dst = ts->trx->rsl_link; + msg->dst = ts->trx->rsl_link_primary; return abis_rsl_sendmsg(msg); } @@ -2500,7 +2500,7 @@ dh->c.msg_discr = ABIS_RSL_MDISC_DED_CHAN; dh->chan_nr = gsm_pchan2chan_nr(GSM_PCHAN_TCH_F, ts->nr, 0); - msg->dst = ts->trx->rsl_link; + msg->dst = ts->trx->rsl_link_primary; return abis_rsl_sendmsg(msg); } @@ -2605,7 +2605,7 @@ msgb_tlv_put(msg, RSL_IE_SMSCB_MSG, len, data); - msg->dst = bts->c0->rsl_link; + msg->dst = bts->c0->rsl_link_primary; return abis_rsl_sendmsg(msg); } @@ -2631,7 +2631,7 @@ if (use_extended_cbch) msgb_tv_put(cb_cmd, RSL_IE_SMSCB_CHAN_INDICATOR, 0x01); - cb_cmd->dst = bts->c0->rsl_link; + cb_cmd->dst = bts->c0->rsl_link_primary; return abis_rsl_sendmsg(cb_cmd); } @@ -2645,7 +2645,7 @@ ch->msg_discr = ABIS_RSL_MDISC_TRX; ch->msg_type = 0x40; /* Nokia SI Begin */ - msg->dst = trx->rsl_link; + msg->dst = trx->rsl_link_primary; return abis_rsl_sendmsg(msg); } @@ -2661,7 +2661,7 @@ msgb_tv_put(msg, 0xFD, 0x00); /* Nokia Pagemode Info, No paging reorganisation required */ - msg->dst = trx->rsl_link; + msg->dst = trx->rsl_link_primary; return abis_rsl_sendmsg(msg); } @@ -2678,7 +2678,12 @@ msgb_tv_put(msg, RSL_IE_CHAN_NR, channel); msgb_tv_put(msg, RSL_IE_BS_POWER, reduction); /* reduction in 2dB steps */ - msg->dst = trx->rsl_link; + msg->dst = trx->rsl_link_primary; return abis_rsl_sendmsg(msg); } + +struct e1inp_sign_link *rsl_chan_link(const struct gsm_lchan *lchan) +{ + return lchan->ts->trx->rsl_link_primary; +} diff --git a/src/osmo-bsc/acc.c b/src/osmo-bsc/acc.c index 06f96c6..9734a28 100644 --- a/src/osmo-bsc/acc.c +++ b/src/osmo-bsc/acc.c @@ -439,7 +439,7 @@ return 0; /* RSL must already be up. We cannot send RACH system information to the BTS otherwise. */ - if (trx->rsl_link == NULL) { + if (trx->rsl_link_primary == NULL) { LOG_TRX(trx, DRSL, LOGL_DEBUG, "ACC RAMP: ignoring state change because RSL link is down\n"); return 0; diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 43804a2..aa9d536 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -1136,7 +1136,6 @@ sapi = link_id & 0x7; msg->lchan = conn->lchan; - msg->dst = msg->lchan->ts->trx->rsl_link; /* If we are on a TCH and need to submit a SMS (on SAPI=3) we need to use the SACH */ if (allow_sacch && sapi != 0) { diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index b7495d1..ee6a716 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -735,7 +735,7 @@ vty_out(vty, " nominal power %u%s", trx->nominal_power, VTY_NEWLINE); vty_out(vty, " max_power_red %u%s", trx->max_power_red, VTY_NEWLINE); config_write_e1_link(vty, &trx->rsl_e1_link, " rsl "); - vty_out(vty, " rsl e1 tei %u%s", trx->rsl_tei, VTY_NEWLINE); + vty_out(vty, " rsl e1 tei %u%s", trx->rsl_tei_primary, VTY_NEWLINE); if (trx->bts->model->config_write_trx) trx->bts->model->config_write_trx(vty, trx); @@ -1326,10 +1326,10 @@ static void trx_dump_vty(struct vty *vty, struct gsm_bts_trx *trx, bool print_rsl, bool show_connected) { - if (show_connected && !trx->rsl_link) + if (show_connected && !trx->rsl_link_primary) return; - if (!show_connected && trx->rsl_link) + if (!show_connected && trx->rsl_link_primary) return; vty_out(vty, "TRX %u of BTS %u is on ARFCN %u%s", @@ -1341,15 +1341,15 @@ vty_out(vty, " Radio Carrier NM State: "); net_dump_nmstate(vty, &trx->mo.nm_state); if (print_rsl) - vty_out(vty, " RSL State: %s%s", trx->rsl_link? "connected" : "disconnected", VTY_NEWLINE); + vty_out(vty, " RSL State: %s%s", trx->rsl_link_primary? "connected" : "disconnected", VTY_NEWLINE); vty_out(vty, " Baseband Transceiver NM State: "); net_dump_nmstate(vty, &trx->bb_transc.mo.nm_state); if (is_ipaccess_bts(trx->bts)) { - vty_out(vty, " ip.access stream ID: 0x%02x ", trx->rsl_tei); - e1isl_dump_vty_tcp(vty, trx->rsl_link); + vty_out(vty, " ip.access stream ID: 0x%02x ", trx->rsl_tei_primary); + e1isl_dump_vty_tcp(vty, trx->rsl_link_primary); } else { vty_out(vty, " E1 Signalling Link:%s", VTY_NEWLINE); - e1isl_dump_vty(vty, trx->rsl_link); + e1isl_dump_vty(vty, trx->rsl_link_primary); } } @@ -5449,7 +5449,7 @@ { struct gsm_bts_trx *trx = vty->index; - trx->rsl_tei = atoi(argv[0]); + trx->rsl_tei_primary = atoi(argv[0]); return CMD_SUCCESS; } diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index 019c8b8..1e3e9c1 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -525,12 +525,12 @@ /* These are exported because they are used by the VTY interface. */ void ipaccess_drop_rsl(struct gsm_bts_trx *trx, const char *reason) { - if (!trx->rsl_link) + if (!trx->rsl_link_primary) return; LOG_TRX(trx, DLINP, LOGL_NOTICE, "Dropping RSL link: %s\n", reason); - e1inp_sign_link_destroy(trx->rsl_link); - trx->rsl_link = NULL; + e1inp_sign_link_destroy(trx->rsl_link_primary); + trx->rsl_link_primary = NULL; osmo_stat_item_dec(trx->bts->bts_statg->items[BTS_STAT_RSL_CONNECTED], 1); if (trx->bts->c0 == trx) @@ -729,10 +729,10 @@ line = bts->oml_link->ts->line; ts = e1inp_line_ipa_rsl_ts(line, dev->trx_id); e1inp_ts_config_sign(ts, line); - sign_link = trx->rsl_link = + sign_link = trx->rsl_link_primary = e1inp_sign_link_create(ts, E1INP_SIGN_RSL, - trx, trx->rsl_tei, 0); - trx->rsl_link->ts->sign.delay = 0; + trx, trx->rsl_tei_primary, 0); + trx->rsl_link_primary->ts->sign.delay = 0; if (!(sign_link->trx->bts->ip_access.flags & (RSL_UP << sign_link->trx->nr))) { e1inp_event(sign_link->ts, S_L_INP_TEI_UP, @@ -947,7 +947,7 @@ if (bs_power_ctrl->mode == GSM_PWR_CTRL_MODE_DYN_BTS) add_power_params_ie(msg, RSL_IE_BS_POWER_PARAM, bs_power_ctrl); - msg->dst = trx->rsl_link; + msg->dst = trx->rsl_link_primary; return abis_rsl_sendmsg(msg); } diff --git a/src/osmo-bsc/bts_siemens_bs11.c b/src/osmo-bsc/bts_siemens_bs11.c index 08694ea..0d71ce2 100644 --- a/src/osmo-bsc/bts_siemens_bs11.c +++ b/src/osmo-bsc/bts_siemens_bs11.c @@ -434,7 +434,7 @@ abis_nm_conn_terr_sign(trx, e1l->e1_nr, e1l->e1_ts, e1l->e1_ts_ss); abis_nm_establish_tei(trx->bts, trx->nr, e1l->e1_nr, - e1l->e1_ts, e1l->e1_ts_ss, trx->rsl_tei); + e1l->e1_ts, e1l->e1_ts_ss, trx->rsl_tei_primary); /* Set Radio Attributes */ if (trx == trx->bts->c0) diff --git a/src/osmo-bsc/e1_config.c b/src/osmo-bsc/e1_config.c index bdf7d1c..db77234 100644 --- a/src/osmo-bsc/e1_config.c +++ b/src/osmo-bsc/e1_config.c @@ -90,7 +90,7 @@ if (trx->bts->type == GSM_BTS_TYPE_RBS2000) { struct e1inp_sign_link *oml_link; oml_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_OML, trx, - trx->rsl_tei, SAPI_OML); + trx->rsl_tei_primary, SAPI_OML); if (!oml_link) { LOG_TRX(trx, DLINP, LOGL_ERROR, "TRX OML link creation failed\n"); return -ENOMEM; @@ -100,14 +100,14 @@ trx->oml_link = oml_link; } rsl_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_RSL, - trx, trx->rsl_tei, SAPI_RSL); + trx, trx->rsl_tei_primary, SAPI_RSL); if (!rsl_link) { LOG_TRX(trx, DLINP, LOGL_ERROR, "TRX RSL link creation failed\n"); return -ENOMEM; } - if (trx->rsl_link) - e1inp_sign_link_destroy(trx->rsl_link); - trx->rsl_link = rsl_link; + if (trx->rsl_link_primary) + e1inp_sign_link_destroy(trx->rsl_link_primary); + trx->rsl_link_primary = rsl_link; for (i = 0; i < TRX_NR_TS; i++) e1_reconfig_ts(&trx->ts[i]); diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index df497c9..749ef38 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -51,7 +51,7 @@ int gsm48_sendmsg(struct msgb *msg) { if (msg->lchan) - msg->dst = msg->lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(msg->lchan); msg->l3h = msg->data; return rsl_data_request(msg, 0); diff --git a/src/osmo-bsc/nm_bb_transc_fsm.c b/src/osmo-bsc/nm_bb_transc_fsm.c index 2fb52f9..9f2a804 100644 --- a/src/osmo-bsc/nm_bb_transc_fsm.c +++ b/src/osmo-bsc/nm_bb_transc_fsm.c @@ -119,7 +119,7 @@ abis_nm_opstart(trx->bts, NM_OC_BASEB_TRANSC, trx->bts->bts_nr, trx->nr, 0xff); /* TRX software is active, tell it to initiate RSL Link */ abis_nm_ipaccess_rsl_connect(trx, trx->bts->ip_access.rsl_ip, - 3003, trx->rsl_tei); + 3003, trx->rsl_tei_primary); } } diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c index a1aa5f4..7c92c36 100644 --- a/tests/gsm0408/gsm0408_test.c +++ b/tests/gsm0408/gsm0408_test.c @@ -992,3 +992,4 @@ int rsl_sacch_filling(struct gsm_bts_trx *trx, uint8_t type, const uint8_t *data, int len) { return 0; } int rsl_bcch_info(const struct gsm_bts_trx *trx, enum osmo_sysinfo_type si_type, const uint8_t *data, int len) { return 0; } +struct e1inp_sign_link *rsl_chan_link(const struct gsm_lchan *lchan) { return NULL; } diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index d47e97a..1797e4c 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -175,7 +175,7 @@ mr->bcch_f_nc6_hi = neighbors[5].bcch_f >> 2; mr->bcch_f_nc6_lo = neighbors[5].bcch_f & 3; - msg->dst = lchan->ts->trx->bts->c0->rsl_link; + msg->dst = rsl_chan_link(lchan); msg->l2h = (unsigned char *)dh; msg->l3h = (unsigned char *)gh; @@ -231,7 +231,7 @@ rsl_link = talloc_zero(ctx, struct e1inp_sign_link); rsl_link->trx = bts->c0; - bts->c0->rsl_link = rsl_link; + bts->c0->rsl_link_primary = rsl_link; for (trx_i = 0; trx_i < num_trx; trx_i++) { while (!(trx = gsm_bts_trx_num(bts, trx_i))) @@ -555,7 +555,7 @@ dh->ie_chan = RSL_IE_CHAN_NR; dh->chan_nr = gsm_lchan2chan_nr(lchan); - msg->dst = lchan->ts->trx->bts->c0->rsl_link; + msg->dst = rsl_chan_link(lchan); msg->l2h = (unsigned char *)dh; abis_rsl_rcvmsg(msg); @@ -592,7 +592,7 @@ gh->proto_discr = GSM48_PDISC_RR; gh->msg_type = GSM48_MT_RR_ASS_COMPL; - msg->dst = lchan->ts->trx->rsl_link; + msg->dst = rsl_chan_link(lchan); msg->l2h = (unsigned char *)rh; msg->l3h = (unsigned char *)gh; @@ -616,7 +616,7 @@ rh->ie_link_id = RSL_IE_LINK_IDENT; rh->link_id = 0x00; - msg->dst = lchan->ts->trx->bts->c0->rsl_link; + msg->dst = rsl_chan_link(lchan); msg->l2h = (unsigned char *)rh; abis_rsl_rcvmsg(msg); @@ -638,7 +638,7 @@ rh->ie_link_id = RSL_IE_LINK_IDENT; rh->link_id = 0x00; - msg->dst = lchan->ts->trx->bts->c0->rsl_link; + msg->dst = rsl_chan_link(lchan); msg->l2h = (unsigned char *)rh; abis_rsl_rcvmsg(msg); @@ -682,7 +682,7 @@ gh->msg_type = success ? GSM48_MT_RR_HANDO_COMPL : GSM48_MT_RR_HANDO_FAIL; - msg->dst = lchan->ts->trx->bts->c0->rsl_link; + msg->dst = rsl_chan_link(lchan); msg->l2h = (unsigned char *)rh; msg->l3h = (unsigned char *)gh; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifbf16bb296e91f151d19e15e39f5c953ad77ff17 Gerrit-Change-Number: 24365 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:23 +0000 Subject: Change in osmo-bsc[master]: add secondary RSL link for VAMOS (shadow TEI) References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24366 ) Change subject: add secondary RSL link for VAMOS (shadow TEI) ...................................................................... add secondary RSL link for VAMOS (shadow TEI) Set up a secondary sign_link for BTS that have BTS_FEAT_VAMOS enabled. There are no secondary lchans being set up yet, but this is all that is needed to send RSL commands for VAMOS secondary lchans. Related: SYS#5315 OS#4940 Change-Id: Ic304924b017f4588f749268e99ed1326db4c9f47 --- M include/osmocom/bsc/abis_rsl.h M include/osmocom/bsc/bts_trx.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/e1_config.c 7 files changed, 34 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/66/24366/1 diff --git a/include/osmocom/bsc/abis_rsl.h b/include/osmocom/bsc/abis_rsl.h index dcae348..44c7774 100644 --- a/include/osmocom/bsc/abis_rsl.h +++ b/include/osmocom/bsc/abis_rsl.h @@ -42,6 +42,8 @@ msgb_alloc_headroom(RSL_ALLOC_SIZE, RSL_ALLOC_HEADROOM, \ __FILE__ ":" OSMO_STRINGIFY_VAL(__LINE__)) +#define VAMOS_SHADOW_TEI(TEI) (0x80 + (TEI)) + const char *ip_to_a(uint32_t ip); struct e1inp_sign_link *rsl_chan_link(const struct gsm_lchan *lchan); diff --git a/include/osmocom/bsc/bts_trx.h b/include/osmocom/bsc/bts_trx.h index 4d705d0..94f4021 100644 --- a/include/osmocom/bsc/bts_trx.h +++ b/include/osmocom/bsc/bts_trx.h @@ -34,7 +34,9 @@ /* how do we talk RSL with this TRX? */ struct gsm_e1_subslot rsl_e1_link; uint8_t rsl_tei_primary; + uint8_t rsl_tei_vamos; struct e1inp_sign_link *rsl_link_primary; + struct e1inp_sign_link *rsl_link_vamos; /* Timeout for initiating the RSL connection. */ struct osmo_timer_list rsl_connect_timeout; diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 348735e..ce439b1 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -730,6 +730,12 @@ * channel_mode_and_rate. */ struct channel_mode_and_rate current_ch_mode_rate; struct gsm48_multi_rate_conf current_mr_conf; + + struct { + /* Whether this lchan represents a secondary "shadow" lchan to multiplex a second MS onto a primary + * "normal" lchan */ + bool is_secondary; + } vamos; }; /* One Timeslot in a TRX */ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index a617d32..b68ab62 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -2685,5 +2685,7 @@ struct e1inp_sign_link *rsl_chan_link(const struct gsm_lchan *lchan) { + if (lchan->vamos.is_secondary) + return lchan->ts->trx->rsl_link_vamos; return lchan->ts->trx->rsl_link_primary; } diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index ee6a716..18b35ad 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1346,6 +1346,8 @@ net_dump_nmstate(vty, &trx->bb_transc.mo.nm_state); if (is_ipaccess_bts(trx->bts)) { vty_out(vty, " ip.access stream ID: 0x%02x ", trx->rsl_tei_primary); + if (trx->rsl_link_vamos) + vty_out(vty, " ip.access stream ID for VAMOS shadow lchans: 0x%02x ", trx->rsl_tei_vamos); e1isl_dump_vty_tcp(vty, trx->rsl_link_primary); } else { vty_out(vty, " E1 Signalling Link:%s", VTY_NEWLINE); @@ -5450,6 +5452,7 @@ struct gsm_bts_trx *trx = vty->index; trx->rsl_tei_primary = atoi(argv[0]); + trx->rsl_tei_vamos = VAMOS_SHADOW_TEI(trx->rsl_tei_primary); return CMD_SUCCESS; } diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index 1e3e9c1..05c3634 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -531,6 +531,10 @@ LOG_TRX(trx, DLINP, LOGL_NOTICE, "Dropping RSL link: %s\n", reason); e1inp_sign_link_destroy(trx->rsl_link_primary); trx->rsl_link_primary = NULL; + if (trx->rsl_link_vamos) { + e1inp_sign_link_destroy(trx->rsl_link_vamos); + trx->rsl_link_vamos = NULL; + } osmo_stat_item_dec(trx->bts->bts_statg->items[BTS_STAT_RSL_CONNECTED], 1); if (trx->bts->c0 == trx) @@ -740,6 +744,19 @@ sign_link->trx->bts->ip_access.flags |= (RSL_UP << sign_link->trx->nr); } + if (osmo_bts_has_feature(&bts->features, BTS_FEAT_VAMOS)) { + sign_link = trx->rsl_link_vamos = + e1inp_sign_link_create(ts, E1INP_SIGN_RSL, + trx, trx->rsl_tei_vamos, 0); + trx->rsl_link_vamos->ts->sign.delay = 0; + if (!(sign_link->trx->bts->ip_access.flags & + (RSL_UP << sign_link->trx->nr))) { + e1inp_event(sign_link->ts, S_L_INP_TEI_UP, + sign_link->tei, sign_link->sapi); + sign_link->trx->bts->ip_access.flags |= + (RSL_UP << sign_link->trx->nr); + } + } osmo_stat_item_inc(bts->bts_statg->items[BTS_STAT_RSL_CONNECTED], 1); break; } diff --git a/src/osmo-bsc/e1_config.c b/src/osmo-bsc/e1_config.c index db77234..600f3c4 100644 --- a/src/osmo-bsc/e1_config.c +++ b/src/osmo-bsc/e1_config.c @@ -107,6 +107,8 @@ } if (trx->rsl_link_primary) e1inp_sign_link_destroy(trx->rsl_link_primary); + if (trx->rsl_link_vamos) + e1inp_sign_link_destroy(trx->rsl_link_vamos); trx->rsl_link_primary = rsl_link; for (i = 0; i < TRX_NR_TS; i++) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic304924b017f4588f749268e99ed1326db4c9f47 Gerrit-Change-Number: 24366 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:23 +0000 Subject: Change in osmo-bsc[master]: add chan_mode_to_chan_type() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24367 ) Change subject: add chan_mode_to_chan_type() ...................................................................... add chan_mode_to_chan_type() Move the conversion from chan_mode to lchan type out of the lchan_select_by_chan_mode() function, so that the conversion can be used by other code paths, coming up in VAMOS patches. Related: SYS#5315 OS#4940 Change-Id: I296651ebadba81f8b3db0d9bb5b5377877a43677 --- M include/osmocom/bsc/lchan_select.h M src/osmo-bsc/lchan_select.c 2 files changed, 25 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/67/24367/1 diff --git a/include/osmocom/bsc/lchan_select.h b/include/osmocom/bsc/lchan_select.h index 11f63b0..aa2f40e 100644 --- a/include/osmocom/bsc/lchan_select.h +++ b/include/osmocom/bsc/lchan_select.h @@ -2,6 +2,7 @@ #pragma once struct gsm_lchan *lchan_select_by_type(struct gsm_bts *bts, enum gsm_chan_t type); +enum gsm_chan_t chan_mode_to_chan_type(enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate); struct gsm_lchan *lchan_select_by_chan_mode(struct gsm_bts *bts, enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate); struct gsm_lchan *lchan_avail_by_type(struct gsm_bts *bts, enum gsm_chan_t type, bool log); diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index 626520c..b494f02 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -142,37 +142,46 @@ return _lc_dyn_find_bts(bts, pchan, pchan, log); } -struct gsm_lchan *lchan_select_by_chan_mode(struct gsm_bts *bts, - enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate) +enum gsm_chan_t chan_mode_to_chan_type(enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate) { - enum gsm_chan_t type; - switch (chan_mode) { case GSM48_CMODE_SIGN: switch (chan_rate) { - case CH_RATE_SDCCH: type = GSM_LCHAN_SDCCH; break; - case CH_RATE_HALF: type = GSM_LCHAN_TCH_H; break; - case CH_RATE_FULL: type = GSM_LCHAN_TCH_F; break; - default: return NULL; + case CH_RATE_SDCCH: + return GSM_LCHAN_SDCCH; + case CH_RATE_HALF: + return GSM_LCHAN_TCH_H; + case CH_RATE_FULL: + return GSM_LCHAN_TCH_F; + default: + return GSM_LCHAN_NONE; } - break; case GSM48_CMODE_SPEECH_EFR: /* EFR works over FR channels only */ if (chan_rate != CH_RATE_FULL) - return NULL; + return GSM_LCHAN_NONE; /* fall through */ case GSM48_CMODE_SPEECH_V1: case GSM48_CMODE_SPEECH_AMR: switch (chan_rate) { - case CH_RATE_HALF: type = GSM_LCHAN_TCH_H; break; - case CH_RATE_FULL: type = GSM_LCHAN_TCH_F; break; - default: return NULL; + case CH_RATE_HALF: + return GSM_LCHAN_TCH_H; + case CH_RATE_FULL: + return GSM_LCHAN_TCH_F; + default: + return GSM_LCHAN_NONE; } - break; default: - return NULL; + return GSM_LCHAN_NONE; } +} +struct gsm_lchan *lchan_select_by_chan_mode(struct gsm_bts *bts, + enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate) +{ + enum gsm_chan_t type = chan_mode_to_chan_type(chan_mode, chan_rate); + if (type == GSM_LCHAN_NONE) + return NULL; return lchan_select_by_type(bts, type); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I296651ebadba81f8b3db0d9bb5b5377877a43677 Gerrit-Change-Number: 24367 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:24 +0000 Subject: Change in osmo-bsc[master]: gsm48_lchan2chan_desc(): expose TSC as param References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24368 ) Change subject: gsm48_lchan2chan_desc(): expose TSC as param ...................................................................... gsm48_lchan2chan_desc(): expose TSC as param Expose the training sequence code used in the RSL Channel Description IE as an input parameter. So far the Channel Description IE is always composed with a training sequence code from gsm_ts_tsc(). For RSL commands enabling VAMOS mode, specific training sequence codes are required. So far, all callers still use gsm_ts_tsc(), making this a patch without any functional change. Upcoming patches will pass specific TSC as configured for VAMOS instead, in specific places. Related: SYS#5315 OS#4940 Change-Id: I49503a6f5d25bb3bc9a0505bd79ed1d5c4f50577 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lcs_loc_req.c M src/osmo-bsc/system_information.c 6 files changed, 21 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/68/24368/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index ce439b1..ab58b5c 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1009,8 +1009,10 @@ enum gsm_phys_chan_config as_pchan); void gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, - const struct gsm_lchan *lchan); -void gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan); + const struct gsm_lchan *lchan, + uint8_t tsc); +void gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan, + uint8_t tsc); uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts); diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index b68ab62..7895bb1 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -530,7 +530,7 @@ } memset(&cd, 0, sizeof(cd)); - gsm48_lchan2chan_desc(&cd, lchan); + gsm48_lchan2chan_desc(&cd, lchan, gsm_ts_tsc(lchan->ts)); msg = rsl_msgb_alloc(); dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); @@ -1803,7 +1803,7 @@ ia->proto_discr = GSM48_PDISC_RR; ia->msg_type = GSM48_MT_RR_IMM_ASS; ia->page_mode = GSM48_PM_SAME; - gsm48_lchan2chan_desc(&ia->chan_desc, lchan); + gsm48_lchan2chan_desc(&ia->chan_desc, lchan, gsm_ts_tsc(lchan->ts)); /* use request reference extracted from CHAN_RQD */ memcpy(&ia->req_ref, lchan->rqd_ref, sizeof(ia->req_ref)); diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 749ef38..dbeefcb 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -546,7 +546,7 @@ /* mandatory bits */ gsm48_cell_desc(&ho->cell_desc, new_lchan->ts->trx->bts); - gsm48_lchan2chan_desc(&ho->chan_desc, new_lchan); + gsm48_lchan2chan_desc(&ho->chan_desc, new_lchan, gsm_ts_tsc(new_lchan->ts)); ho->ho_ref = ho_ref; ho->power_command = power_command; @@ -618,7 +618,7 @@ * the chan_desc. But as long as multi-slot configurations * are not used we seem to be fine. */ - gsm48_lchan2chan_desc(&ass->chan_desc, new_lchan); + gsm48_lchan2chan_desc(&ass->chan_desc, new_lchan, gsm_ts_tsc(new_lchan->ts)); ass->power_command = power_command; /* Cell Channel Description (freq. hopping), TV (see 3GPP TS 44.018, 10.5.2.1b) */ @@ -690,7 +690,7 @@ /* fill the channel information element, this code * should probably be shared with rsl_rx_chan_rqd() */ - gsm48_lchan2chan_desc(&cmm->chan_desc, lchan); + gsm48_lchan2chan_desc(&cmm->chan_desc, lchan, gsm_ts_tsc(lchan->ts)); cmm->mode = mode; /* in case of multi rate we need to attach a config */ diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 02dce99..e43fbbd 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -596,17 +596,18 @@ return conn->lchan->ts->trx->bts; } -static void _chan_desc_fill_tail(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan) +static void _chan_desc_fill_tail(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan, + uint8_t tsc) { if (!lchan->ts->hopping.enabled) { uint16_t arfcn = lchan->ts->trx->arfcn & 0x3ff; - cd->h0.tsc = gsm_ts_tsc(lchan->ts); + cd->h0.tsc = tsc; cd->h0.h = 0; cd->h0.spare = 0; cd->h0.arfcn_high = arfcn >> 8; cd->h0.arfcn_low = arfcn & 0xff; } else { - cd->h1.tsc = gsm_ts_tsc(lchan->ts); + cd->h1.tsc = tsc; cd->h1.h = 1; cd->h1.maio_high = lchan->ts->hopping.maio >> 2; cd->h1.maio_low = lchan->ts->hopping.maio & 0x03; @@ -615,20 +616,22 @@ } void gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, - const struct gsm_lchan *lchan) + const struct gsm_lchan *lchan, + uint8_t tsc) { cd->chan_nr = gsm_lchan2chan_nr(lchan); - _chan_desc_fill_tail(cd, lchan); + _chan_desc_fill_tail(cd, lchan, tsc); } /* like gsm48_lchan2chan_desc() above, but use ts->pchan_from_config to * return a channel description based on what is configured, rather than * what the current state of the pchan type is */ void gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, - const struct gsm_lchan *lchan) + const struct gsm_lchan *lchan, + uint8_t tsc) { cd->chan_nr = gsm_pchan2chan_nr(lchan->ts->pchan_from_config, lchan->ts->nr, lchan->nr); - _chan_desc_fill_tail(cd, lchan); + _chan_desc_fill_tail(cd, lchan, tsc); } uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts) diff --git a/src/osmo-bsc/lcs_loc_req.c b/src/osmo-bsc/lcs_loc_req.c index 39bc341..ef9ee27 100644 --- a/src/osmo-bsc/lcs_loc_req.c +++ b/src/osmo-bsc/lcs_loc_req.c @@ -369,7 +369,7 @@ .cause = BSSLAP_CAUSE_INTRA_BSS_HO, }, }; - gsm48_lchan2chan_desc(&apdu->reset.chan_desc, lchan); + gsm48_lchan2chan_desc(&apdu->reset.chan_desc, lchan, gsm_ts_tsc(lchan->ts)); } lcs_loc_req_send(lcs_loc_req, &bsslap); diff --git a/src/osmo-bsc/system_information.c b/src/osmo-bsc/system_information.c index 7ec613c..eddc650 100644 --- a/src/osmo-bsc/system_information.c +++ b/src/osmo-bsc/system_information.c @@ -1018,7 +1018,7 @@ struct gsm48_chan_desc cd; /* 10.5.2.5 (TV) CBCH Channel Description IE */ - gsm48_lchan2chan_desc_as_configured(&cd, cbch_lchan); + gsm48_lchan2chan_desc_as_configured(&cd, cbch_lchan, gsm_ts_tsc(cbch_lchan->ts)); tail = tv_fixed_put(tail, GSM48_IE_CBCH_CHAN_DESC, sizeof(cd), (uint8_t *) &cd); l2_plen += 1 + sizeof(cd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I49503a6f5d25bb3bc9a0505bd79ed1d5c4f50577 Gerrit-Change-Number: 24368 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:24 +0000 Subject: Change in osmo-bsc[master]: allow explixit TSC Set and TSC on chan activ / modif / assignment References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24369 ) Change subject: allow explixit TSC Set and TSC on chan activ / modif / assignment ...................................................................... allow explixit TSC Set and TSC on chan activ / modif / assignment Activating / modifying to a VAMOS mode will require picking specific TSC Set / TSC. It is a bad idea to pick the TSC in each message encoding function, rather make this choice centrally. So far we pick the training sequence code to use based on the timeslot configuration, and this TSC is determined only upon encoding the RSL messages. Instead, pick the TSC to use upon the initial lchan activation / modification request; store this in the request structs and pass through the activation / modification code paths. For VAMOS modes, we also need to pick a TSC Set. Do so also upon activ / modif request. Note that the TSC Set is not yet applied in this patch, it will be applied in upcoming VAMOS patches. The activ / modif request may pass -1 for tsc_set and/or tsc to indicate no specific choice of TSC Set and TSC, resulting in the same behavior as before this patch. For example, lchan->activate.info.tsc* may be passed as -1. The exact choice for tsc_set and tsc is then stored in lchan->activate.tsc*, i.e. one level up (the .info sub-struct is considered as immutable input args). The lchan->activate.tsc* are the values actually encoded in RSL messages. After the ACK, the lchan->activate.tsc* is stored in lchan->tsc* to indicate the TSC actually in use. Same for modif. Note that in 3GPP TS 45.002, the TSC Set are numbered 1 to 4, while the TSC are numbered 0 to 7. On the wire, though, TSC Set is sent as 0 to 3 value. This is a weird discrepancy, odd choice made by the spec authors. For conformance with the spec wording, I decided to pass the TSC Set number as a 1-4 ranged value, and only convert it to the 0-3 on-the-wire format upon message encoding. So log messages and VTY output will indicate the first TSC Set as "1", but the first TSC as "0", as defined in 3GPP TS 45.002, even if that is somewhat weird. Related: SYS#5315 OS#4940 Change-Id: Ic665125255d7354f5499d10dda1dd866ab243d24 --- M include/osmocom/bsc/assignment_fsm.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lcs_loc_req.c 8 files changed, 81 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/69/24369/1 diff --git a/include/osmocom/bsc/assignment_fsm.h b/include/osmocom/bsc/assignment_fsm.h index d4ed846..3a64f7d 100644 --- a/include/osmocom/bsc/assignment_fsm.h +++ b/include/osmocom/bsc/assignment_fsm.h @@ -41,7 +41,8 @@ void assignment_fsm_init(); -int reassignment_request_to_lchan(enum assign_for assign_for, struct gsm_lchan *lchan, struct gsm_lchan *to_lchan); +int reassignment_request_to_lchan(enum assign_for assign_for, struct gsm_lchan *lchan, struct gsm_lchan *to_lchan, + int tsc_set, int tsc); int reassignment_request_to_chan_type(enum assign_for assign_for, struct gsm_lchan *lchan, enum gsm_chan_t new_lchan_type); diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index ab58b5c..4be1daa 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -163,6 +163,13 @@ * multiplexing, user request via VTY). In these situations, select a target lchan beforehand and point * target_lchan to it. */ struct gsm_lchan *target_lchan; + + /* TSC Set to use, or -1 for automatically determining the TSC Set to use. Valid range is 1 to 4, as described + * in 3GPP TS 45.002. */ + int tsc_set; + /* TSC to use, or -1 for automatically determining the TSC to use. Valid range is 0 to 7, as described in 3GPP + * TS 45.002. */ + int tsc; }; /* State of an ongoing Assignment, while the assignment_fsm is still busy. This serves as state separation to keep the @@ -609,6 +616,13 @@ struct gsm_lchan *re_use_mgw_endpoint_from_lchan; bool ta_known; uint8_t ta; + + /* TSC Set to use, or -1 for automatically determining the TSC Set to use. Valid range is 1 to 4, as described + * in 3GPP TS 45.002. */ + int tsc_set; + /* TSC to use, or -1 for automatically determining the TSC to use. Valid range is 0 to 7, as described in 3GPP + * TS 45.002. */ + int tsc; }; enum lchan_modify_for { @@ -626,6 +640,13 @@ struct channel_mode_and_rate ch_mode_rate; bool requires_voice_stream; uint16_t msc_assigned_cic; + + /* TSC Set to use, or -1 for automatically determining the TSC Set to use. Valid range is 1 to 4, as described + * in 3GPP TS 45.002. */ + int tsc_set; + /* TSC to use, or -1 for automatically determining the TSC to use. Valid range is 0 to 7, as described in 3GPP + * TS 45.002. */ + int tsc; }; struct gsm_lchan { @@ -651,11 +672,15 @@ * occur later, e.g. during release, that we don't send a NACK out of context. */ bool concluded; enum gsm0808_cause gsm0808_error_cause; + int tsc_set; + uint8_t tsc; } activate; struct { struct lchan_modify_info info; struct gsm48_multi_rate_conf mr_conf_filtered; + int tsc_set; + uint8_t tsc; bool concluded; } modify; @@ -736,6 +761,12 @@ * "normal" lchan */ bool is_secondary; } vamos; + + /* Circuit-Switched TSC Set in use, or -1 if no specific TSC Set was requested. The valid range is 1-4 as + * described in the spec 3GPP TS 45.002. */ + int tsc_set; + /* Training Sequence Code in use. The valid range is 0-7 as described in the spec 3GPP TS 45.002. */ + uint8_t tsc; }; /* One Timeslot in a TRX */ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 7895bb1..3434258 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -530,7 +530,7 @@ } memset(&cd, 0, sizeof(cd)); - gsm48_lchan2chan_desc(&cd, lchan, gsm_ts_tsc(lchan->ts)); + gsm48_lchan2chan_desc(&cd, lchan, lchan->activate.tsc); msg = rsl_msgb_alloc(); dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); @@ -1803,7 +1803,7 @@ ia->proto_discr = GSM48_PDISC_RR; ia->msg_type = GSM48_MT_RR_IMM_ASS; ia->page_mode = GSM48_PM_SAME; - gsm48_lchan2chan_desc(&ia->chan_desc, lchan, gsm_ts_tsc(lchan->ts)); + gsm48_lchan2chan_desc(&ia->chan_desc, lchan, lchan->tsc); /* use request reference extracted from CHAN_RQD */ memcpy(&ia->req_ref, lchan->rqd_ref, sizeof(ia->req_ref)); diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 062fcb4..d3bdaf1 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -439,7 +439,7 @@ } static int _reassignment_request(enum assign_for assign_for, struct gsm_lchan *lchan, struct gsm_lchan *to_lchan, - enum gsm_chan_t new_lchan_type) + enum gsm_chan_t new_lchan_type, int tsc_set, int tsc) { struct gsm_subscriber_connection *conn = lchan->conn; struct assignment_request req = { @@ -450,6 +450,8 @@ .n_ch_mode_rate = 1, .ch_mode_rate_list = { lchan->current_ch_mode_rate }, .target_lchan = to_lchan, + .tsc_set = tsc_set, + .tsc = tsc, }; if (to_lchan) @@ -466,15 +468,16 @@ return osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_ASSIGNMENT_START, &req); } -int reassignment_request_to_lchan(enum assign_for assign_for, struct gsm_lchan *lchan, struct gsm_lchan *to_lchan) +int reassignment_request_to_lchan(enum assign_for assign_for, struct gsm_lchan *lchan, struct gsm_lchan *to_lchan, + int tsc_set, int tsc) { - return _reassignment_request(assign_for, lchan, to_lchan, 0); + return _reassignment_request(assign_for, lchan, to_lchan, 0, tsc_set, tsc); } int reassignment_request_to_chan_type(enum assign_for assign_for, struct gsm_lchan *lchan, enum gsm_chan_t new_lchan_type) { - return _reassignment_request(assign_for, lchan, NULL, new_lchan_type); + return _reassignment_request(assign_for, lchan, NULL, new_lchan_type, -1, -1); } void assignment_fsm_start(struct gsm_subscriber_connection *conn, struct gsm_bts *bts, @@ -632,6 +635,8 @@ .re_use_mgw_endpoint_from_lchan = conn->lchan, .ta = conn->lchan->last_ta, .ta_known = true, + .tsc_set = req->tsc_set, + .tsc = req->tsc, }; lchan_activate(conn->assignment.new_lchan, &activ_info); } diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 18b35ad..da56824 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1878,7 +1878,7 @@ vty_out(vty, "Error: cannot find free lchan of type %s%s", gsm_lchant_name(from_lchan->type), VTY_NEWLINE); } - if (reassignment_request_to_lchan(ACTIVATE_FOR_VTY, from_lchan, to_lchan)) { + if (reassignment_request_to_lchan(ACTIVATE_FOR_VTY, from_lchan, to_lchan, -1, -1)) { vty_out(vty, "Error: not allowed to start assignment for %s%s", gsm_lchan_name(from_lchan), VTY_NEWLINE); return CMD_WARNING; @@ -6047,7 +6047,10 @@ /* Activate / Deactivate a single lchan with a specific codec mode */ static int lchan_act_single(struct vty *vty, struct gsm_lchan *lchan, const char *codec_str, int amr_mode, int activate) { - struct lchan_activate_info info = { }; + struct lchan_activate_info info = { + .tsc_set = -1, + .tsc = -1, + }; uint16_t amr_modes[8] = { GSM0808_SC_CFG_AMR_4_75, GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20, GSM0808_SC_CFG_AMR_5_90, GSM0808_SC_CFG_AMR_6_70, GSM0808_SC_CFG_AMR_7_40, GSM0808_SC_CFG_AMR_7_95, GSM0808_SC_CFG_AMR_10_2, diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index dbeefcb..8febd54 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -618,7 +618,7 @@ * the chan_desc. But as long as multi-slot configurations * are not used we seem to be fine. */ - gsm48_lchan2chan_desc(&ass->chan_desc, new_lchan, gsm_ts_tsc(new_lchan->ts)); + gsm48_lchan2chan_desc(&ass->chan_desc, new_lchan, new_lchan->tsc); ass->power_command = power_command; /* Cell Channel Description (freq. hopping), TV (see 3GPP TS 44.018, 10.5.2.1b) */ @@ -681,6 +681,7 @@ struct gsm48_chan_mode_modify *cmm = (struct gsm48_chan_mode_modify *) msgb_put(msg, sizeof(*cmm)); struct gsm_bts *bts = lchan->ts->trx->bts; + uint8_t tsc; DEBUGP(DRR, "-> CHANNEL MODE MODIFY mode=0x%02x\n", mode); @@ -690,7 +691,8 @@ /* fill the channel information element, this code * should probably be shared with rsl_rx_chan_rqd() */ - gsm48_lchan2chan_desc(&cmm->chan_desc, lchan, gsm_ts_tsc(lchan->ts)); + tsc = (lchan->modify.info.tsc >= 0) ? lchan->modify.info.tsc : gsm_ts_tsc(lchan->ts); /* FIXME */ + gsm48_lchan2chan_desc(&cmm->chan_desc, lchan, tsc); cmm->mode = mode; /* in case of multi rate we need to attach a config */ diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 0e0f1aa..e25a6de 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -457,6 +457,8 @@ .last_error = lchan->last_error, .release.rr_cause = GSM48_RR_CAUSE_NORMAL, + + .tsc_set = 1, }; } @@ -713,6 +715,15 @@ lchan->encr = lchan->activate.info.encr; + if (lchan->activate.info.tsc_set > 0) + lchan->activate.tsc_set = lchan->activate.info.tsc_set; + else + lchan->activate.tsc_set = 1; + + /* Use the TSC provided in the modification request, if any. Otherwise use the timeslot's configured + * TSC. */ + lchan->activate.tsc = (lchan->activate.info.tsc >= 0) ? lchan->activate.info.tsc : gsm_ts_tsc(lchan->ts); + rc = rsl_tx_chan_activ(lchan, act_type, ho_ref); if (rc) { lchan_fail_to(LCHAN_ST_UNUSED, "Tx Chan Activ failed: %s (%d)", strerror(-rc), rc); @@ -786,6 +797,8 @@ lchan->current_ch_mode_rate = lchan->activate.info.ch_mode_rate; lchan->current_mr_conf = lchan->activate.mr_conf_filtered; + lchan->tsc_set = lchan->activate.tsc_set; + lchan->tsc = lchan->activate.tsc; LOG_LCHAN(lchan, LOGL_INFO, "Rx Activ ACK %s\n", gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode)); @@ -958,6 +971,8 @@ /* The Channel Mode Modify was ACKed, now the requested values become the accepted and used values. */ lchan->current_ch_mode_rate = lchan->modify.info.ch_mode_rate; lchan->current_mr_conf = lchan->modify.mr_conf_filtered; + lchan->tsc_set = lchan->modify.tsc_set; + lchan->tsc = lchan->modify.tsc; if (lchan->modify.info.requires_voice_stream && !lchan->fi_rtp) { @@ -1117,15 +1132,25 @@ } } + if (lchan->modify.info.tsc_set > 0) + lchan->modify.tsc_set = lchan->modify.info.tsc_set; + else + lchan->modify.tsc_set = 1; + + /* Use the TSC provided in the modification request, if any. Otherwise use the timeslot's configured + * TSC. */ + lchan->modify.tsc = (lchan->modify.info.tsc >= 0) ? lchan->modify.info.tsc : gsm_ts_tsc(lchan->ts); + LOG_LCHAN(lchan, LOGL_INFO, - "Modification requested: %s voice=%s MGW-ci=%s type=%s tch-mode=%s\n", + "Modification requested: %s voice=%s MGW-ci=%s type=%s tch-mode=%s tsc=%d/%u\n", lchan_modify_for_name(lchan->modify.info.modify_for), lchan->modify.info.requires_voice_stream ? "yes" : "no", lchan->modify.info.requires_voice_stream ? (use_mgwep_ci ? osmo_mgcpc_ep_ci_name(use_mgwep_ci) : "new") : "none", gsm_lchant_name(lchan->type), - gsm48_chan_mode_name(lchan->modify.info.ch_mode_rate.chan_mode)); + gsm48_chan_mode_name(lchan->modify.info.ch_mode_rate.chan_mode), + lchan->modify.tsc_set, lchan->modify.tsc); lchan_fsm_state_chg(LCHAN_ST_WAIT_RR_CHAN_MODE_MODIFY_ACK); return; diff --git a/src/osmo-bsc/lcs_loc_req.c b/src/osmo-bsc/lcs_loc_req.c index ef9ee27..ee85c91 100644 --- a/src/osmo-bsc/lcs_loc_req.c +++ b/src/osmo-bsc/lcs_loc_req.c @@ -369,7 +369,7 @@ .cause = BSSLAP_CAUSE_INTRA_BSS_HO, }, }; - gsm48_lchan2chan_desc(&apdu->reset.chan_desc, lchan, gsm_ts_tsc(lchan->ts)); + gsm48_lchan2chan_desc(&apdu->reset.chan_desc, lchan, lchan->tsc); } lcs_loc_req_send(lcs_loc_req, &bsslap); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic665125255d7354f5499d10dda1dd866ab243d24 Gerrit-Change-Number: 24369 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:25 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:25 +0000 Subject: Change in osmo-bsc[master]: VTY: dump TSC Set and TSC for each timeslot References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24370 ) Change subject: VTY: dump TSC Set and TSC for each timeslot ...................................................................... VTY: dump TSC Set and TSC for each timeslot This is particularly interesting for VAMOS multiplexes, but also gives more prominence to this rather central aspect of GSM RF. Related: SYS#5315 OS#4940 Change-Id: I7842ff89bece6d88387dae056e350529bae6fc38 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/70/24370/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index da56824..9624e5e 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1629,6 +1629,8 @@ vty_out(vty, " Channel Mode / Codec: %s%s", gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode), VTY_NEWLINE); + if (!lchan_state_is(lchan, LCHAN_ST_UNUSED)) + vty_out(vty, " Training Sequence: Set %d Code %u%s", (lchan->tsc_set > 0 ? lchan->tsc_set : 1), lchan->tsc, VTY_NEWLINE); if (lchan->conn && lchan->conn->bsub) { vty_out(vty, " Subscriber:%s", VTY_NEWLINE); bsc_subscr_dump_vty(vty, lchan->conn->bsub); @@ -1673,10 +1675,12 @@ lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, gsm_pchan_name(lchan->ts->pchan_on_init)); vty_out_dyn_ts_status(vty, lchan->ts); - vty_out(vty, ", Lchan %u, Type %s, State %s - " - "L1 MS Power: %u dBm RXL-FULL-dl: %4d dBm RXL-FULL-ul: %4d dBm%s", + vty_out(vty, ", Lchan %u, Type %s TSC-s%dc%u, State %s - L1 MS Power: %u dBm RXL-FULL-dl: %4d dBm RXL-FULL-ul: %4d dBm%s", lchan->nr, - gsm_lchant_name(lchan->type), lchan_state_name(lchan), + gsm_lchant_name(lchan->type), + lchan->tsc_set > 0 ? lchan->tsc_set : 1, + lchan->tsc, + lchan_state_name(lchan), mr->ms_l1.pwr, rxlev2dbm(mr->dl.full.rx_lev), rxlev2dbm(mr->ul.full.rx_lev), -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7842ff89bece6d88387dae056e350529bae6fc38 Gerrit-Change-Number: 24370 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:26 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:26 +0000 Subject: Change in osmo-bsc[master]: add fields to reflect nr of lchans in ts struct References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24371 ) Change subject: add fields to reflect nr of lchans in ts struct ...................................................................... add fields to reflect nr of lchans in ts struct So far the number of usable lchans is determined on-the-fly by the physical channel config. With VAMOS, this becomes more complex, namely determining whether the BTS is vamos capable. Instead of calling a function to determine the number of lchans for every use, rather place the number of valid lchans in int members of the timeslot struct, and initialize those during timeslot setup. Actual use of these new fields will follow in a subsequent patch, which introduces the ts_for_n_lchans() macro to replace current lchan iteration macros. Related: SYS#5315 OS#4940 Change-Id: I08027d79db71a23e874b729c4e6173b0f269ee4f --- M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/timeslot_fsm.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/timeslot_fsm.c M tests/handover/handover_test.c 5 files changed, 37 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/71/24371/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 4be1daa..f8b8b72 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -827,6 +827,12 @@ } rbs2000; }; + /* Maximum number of lchans that could become usable, for example by switching a dynamic timeslot's type or by + * enabling VAMOS secondary lchans. This does include the maximum count of possible VAMOS secondary lchans. */ + uint8_t max_lchans_possible; + /* Currently usable lchans, according to the current pchan mode (for dynamic timeslots, this may change). + * Does not include count of secondary VAMOS lchans. */ + uint8_t max_primary_lchans; struct gsm_lchan lchan[TS_MAX_LCHAN]; }; diff --git a/include/osmocom/bsc/timeslot_fsm.h b/include/osmocom/bsc/timeslot_fsm.h index da66136..f5e4b4c 100644 --- a/include/osmocom/bsc/timeslot_fsm.h +++ b/include/osmocom/bsc/timeslot_fsm.h @@ -51,3 +51,5 @@ bool ts_is_lchan_waiting_for_pchan(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config *target_pchan); bool ts_is_pchan_switching(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config *target_pchan); bool ts_usable_as_pchan(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config as_pchan, bool allow_pchan_switch); + +void ts_set_pchan_is(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config pchan_is); diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 9624e5e..20f7b4c 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6434,9 +6434,9 @@ return CMD_WARNING; } - if (ss_nr >= pchan_subslots(ts->pchan_is)) { + if (ss_nr >= ts->max_primary_lchans) { vty_out(vty, "%% subslot index %d too large for physical channel %s (%u slots)%s", - ss_nr, gsm_pchan_name(ts->pchan_is), pchan_subslots(ts->pchan_is), + ss_nr, gsm_pchan_name(ts->pchan_is), ts->max_primary_lchans, VTY_NEWLINE); return CMD_WARNING; } diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index 41921cd..7c6bb78 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -187,6 +187,16 @@ osmo_fsm_inst_state_name(fi), gsm_lchan_name(lchan)); } +void ts_set_pchan_is(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config pchan_is) +{ + int i; + struct gsm_lchan *lchan; + ts->pchan_is = pchan_is; + ts->max_primary_lchans = pchan_subslots(ts->pchan_is); + LOG_TS(ts, LOGL_DEBUG, "pchan_is=%s max_primary_lchans=%d max_lchans_possible=%d\n", + gsm_pchan_name(ts->pchan_is), ts->max_primary_lchans, ts->max_lchans_possible); +} + static void ts_setup_lchans(struct gsm_bts_trx_ts *ts) { int i, max_lchans; @@ -196,8 +206,10 @@ max_lchans = pchan_subslots(ts->pchan_on_init); LOG_TS(ts, LOGL_DEBUG, "max lchans: %d\n", max_lchans); + ts->max_lchans_possible = max_lchans; + ts->max_primary_lchans = 0; - for (i = 0; i < max_lchans; i++) { + for (i = 0; i < ts->max_lchans_possible; i++) { /* If we receive more than one Channel OPSTART ACK, don't fail on the second init. */ if (ts->lchan[i].fi) continue; @@ -206,13 +218,13 @@ switch (ts->pchan_on_init) { case GSM_PCHAN_TCH_F_TCH_H_PDCH: - ts->pchan_is = GSM_PCHAN_NONE; + ts_set_pchan_is(ts, GSM_PCHAN_NONE); break; case GSM_PCHAN_TCH_F_PDCH: - ts->pchan_is = GSM_PCHAN_TCH_F; + ts_set_pchan_is(ts, GSM_PCHAN_TCH_F); break; default: - ts->pchan_is = ts->pchan_on_init; + ts_set_pchan_is(ts, ts->pchan_on_init); break; } } @@ -418,7 +430,7 @@ case GSM_PCHAN_TCH_F_TCH_H_PDCH: case GSM_PCHAN_TCH_F_PDCH: case GSM_PCHAN_PDCH: - ts->pchan_is = GSM_PCHAN_PDCH; + ts_set_pchan_is(ts, GSM_PCHAN_PDCH); break; default: ts_fsm_error(fi, TS_ST_BORKEN, "pchan %s is incapable of activating PDCH", @@ -491,10 +503,10 @@ /* Remove pchan = PDCH status, but double check. */ switch (ts->pchan_on_init) { case GSM_PCHAN_TCH_F_TCH_H_PDCH: - ts->pchan_is = GSM_PCHAN_NONE; + ts_set_pchan_is(ts, GSM_PCHAN_NONE); break; case GSM_PCHAN_TCH_F_PDCH: - ts->pchan_is = GSM_PCHAN_TCH_F; + ts_set_pchan_is(ts, GSM_PCHAN_TCH_F); break; default: ts_fsm_error(fi, TS_ST_BORKEN, "pchan %s is incapable of deactivating PDCH", @@ -616,7 +628,7 @@ /* Make sure dyn TS pchan_is is updated. For TCH/F_PDCH, there are only PDCH or TCH/F modes, but * for Osmocom style TCH/F_TCH/H_PDCH the pchan_is == NONE until an lchan is activated. */ if (ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH) - ts->pchan_is = gsm_pchan_by_lchan_type(activating_type); + ts_set_pchan_is(ts, gsm_pchan_by_lchan_type(activating_type)); ts_lchans_dispatch(ts, LCHAN_ST_WAIT_TS_READY, LCHAN_EV_TS_READY); } @@ -762,7 +774,8 @@ osmo_fsm_inst_state_chg(fi, TS_ST_NOT_INITIALIZED, 0, 0); OSMO_ASSERT(fi->state == TS_ST_NOT_INITIALIZED); ts_terminate_lchan_fsms(ts); - ts->pchan_is = ts->pchan_on_init = GSM_PCHAN_NONE; + ts->pchan_on_init = GSM_PCHAN_NONE; + ts_set_pchan_is(ts, GSM_PCHAN_NONE); ts_fsm_update_id(ts); break; @@ -771,7 +784,7 @@ if (fi->state != TS_ST_NOT_INITIALIZED) osmo_fsm_inst_state_chg(fi, TS_ST_NOT_INITIALIZED, 0, 0); OSMO_ASSERT(fi->state == TS_ST_NOT_INITIALIZED); - ts->pchan_is = GSM_PCHAN_NONE; + ts_set_pchan_is(ts, GSM_PCHAN_NONE); ts_lchans_dispatch(ts, -1, LCHAN_EV_TS_ERROR); break; diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 1797e4c..4455c88 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -271,7 +271,7 @@ switch (trx->ts[i].pchan_on_init) { case GSM_PCHAN_TCH_F_TCH_H_PDCH: case GSM_PCHAN_TCH_F_PDCH: - trx->ts[i].pchan_is = GSM_PCHAN_PDCH; + ts_set_pchan_is(&trx->ts[i], GSM_PCHAN_PDCH); break; default: break; @@ -392,10 +392,10 @@ lchan->mgw_endpoint_ci_bts = (void*)1; if (lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH) - lchan->ts->pchan_is = full_rate ? GSM_PCHAN_TCH_F : GSM_PCHAN_TCH_H; + ts_set_pchan_is(lchan->ts, full_rate ? GSM_PCHAN_TCH_F : GSM_PCHAN_TCH_H); if (lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH) { OSMO_ASSERT(full_rate); - lchan->ts->pchan_is = GSM_PCHAN_TCH_F; + ts_set_pchan_is(lchan->ts, GSM_PCHAN_TCH_F); } LOG_LCHAN(lchan, LOGL_DEBUG, "activated by handover_test.c\n"); @@ -731,7 +731,7 @@ break; /* else fall thru */ case GSM_PCHAN_TCH_F: - lchan->ts->pchan_is = GSM_PCHAN_PDCH; + ts_set_pchan_is(lchan->ts, GSM_PCHAN_PDCH); break; default: break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I08027d79db71a23e874b729c4e6173b0f269ee4f Gerrit-Change-Number: 24371 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:35 +0000 Subject: Change in osmo-bsc[master]: replace ts_*_for_each_lchan() with ts_for_n_lchans() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24372 ) Change subject: replace ts_*_for_each_lchan() with ts_for_n_lchans() ...................................................................... replace ts_*_for_each_lchan() with ts_for_n_lchans() So far we have a couple of macros iterating a specific number of lchans, depending on dynamic timeslot state etc. With addition of VAMOS lchans, this would become more complex and bloated. Instead of separate iteration macros for each situation, only have one that takes a number of lchans as argument. That allows to more clearly pick the number of lchans, especially for non-trivial VAMOS scenarios. Related: SYS#5315 OS#4940 Change-Id: Ib2c6baf73a81ba371143ba5adc912aef6f79238d --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/chan_alloc.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_logic.c M src/osmo-bsc/lchan_select.c M src/osmo-bsc/timeslot_fsm.c M tests/handover/handover_test.c 10 files changed, 28 insertions(+), 54 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/72/24372/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index f8b8b72..e250a5d 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -554,41 +554,20 @@ bsc_subscr_name(lchan && lchan->conn ? lchan->conn->bsub : NULL), \ ## args) -/* Iterate lchans that have an FSM allocated based based on explicit pchan kind - * (GSM_PCHAN_* constant). - * Remark: PDCH related lchans are not handled in BSC but in PCU, so trying to - * iterate through GSM_PCHAN_PDCH is considered a void loop. - */ -#define ts_as_pchan_for_each_lchan(lchan, ts, as_pchan) \ - for (lchan = (ts)->lchan; \ - ((lchan - (ts)->lchan) < ARRAY_SIZE((ts)->lchan)) \ - && lchan->fi \ - && lchan->nr < pchan_subslots(as_pchan); \ - lchan++) - -/* Iterate lchans that have an FSM allocated based on current PCHAN - * mode set in \ref ts. +/* Iterate at most N lchans of the given timeslot. * usage: * struct gsm_lchan *lchan; * struct gsm_bts_trx_ts *ts = get_some_timeslot(); - * ts_for_each_lchan(lchan, ts) { - * LOGPLCHAN(DMAIN, LOGL_DEBUG, "hello world\n"); + * ts_for_n_lchans(lchan, ts, 3) { + * LOG_LCHAN(lchan, LOGL_DEBUG, "hello world\n"); * } */ -#define ts_for_each_lchan(lchan, ts) ts_as_pchan_for_each_lchan(lchan, ts, (ts)->pchan_is) - -/* Iterate over all possible lchans available that have an FSM allocated based - * on PCHAN \ref ts (dynamic) configuration. - * Iterate all lchan instances set up by this \ref ts type, including those - * lchans currently disabled or in process of being enabled (e.g. due to dynamic - * timeslot in switchover). Compare ts_for_each_lchan(), which iterates only the - * enabled lchans. - * For example, it is useful in case dynamic timeslot \ref ts is in process of - * switching from configuration PDCH (no lchans) to TCH_F (1 lchan), where - * pchan_is is still set to PDCH but \ref ts may contain already an \ref lchan - * of type TCH_F which initiated the request to switch the \ts configuration. - */ -#define ts_for_each_potential_lchan(lchan, ts) ts_as_pchan_for_each_lchan(lchan, ts, (ts)->pchan_on_init) +#define ts_for_n_lchans(lchan, ts, N) \ + for (lchan = (ts)->lchan; \ + ((lchan - (ts)->lchan) < ARRAY_SIZE((ts)->lchan)) \ + && lchan->fi \ + && ((lchan - (ts)->lchan) < (N)); \ + lchan++) enum lchan_activate_for { ACTIVATE_FOR_NONE, diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 3434258..4a80364 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1608,7 +1608,7 @@ trx = gsm_bts_trx_num(bts, trx_nr); for (ts_nr = 0; ts_nr < TRX_NR_TS; ts_nr++) { ts = &trx->ts[ts_nr]; - ts_for_each_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_primary_lchans) { if (lchan->type == GSM_LCHAN_TCH_F || lchan->type == GSM_LCHAN_TCH_H) { if (bts->chan_alloc_reverse) { if (lchan->fi->state == LCHAN_ST_ESTABLISHED) diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 20f7b4c..caa72e4 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1693,7 +1693,7 @@ bool all) { struct gsm_lchan *lchan; - ts_for_each_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { if (lchan_state_is(lchan, LCHAN_ST_UNUSED) && all == false) continue; dump_cb(vty, lchan); @@ -1999,7 +1999,7 @@ if (ts->fi->state != TS_ST_IN_USE) continue; - ts_for_each_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { if (lchan_state_is(lchan, LCHAN_ST_ESTABLISHED) && (lchan->type == GSM_LCHAN_TCH_F || lchan->type == GSM_LCHAN_TCH_H)) { @@ -6166,7 +6166,7 @@ for (ts_nr = 0; ts_nr < TRX_NR_TS; ts_nr++) { ts = &trx->ts[ts_nr]; - ts_for_each_potential_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { switch (ts->pchan_on_init) { case GSM_PCHAN_SDCCH8_SACCH8C: case GSM_PCHAN_CCCH_SDCCH4_CBCH: diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index 1dfca95..64c7985 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -267,7 +267,7 @@ if (ts->pchan_is != pchan) continue; - ts_for_each_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_primary_lchans) { if (lchan_state_is(lchan, LCHAN_ST_UNUSED)) count++; } diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index 3569d4e..402ca46 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -73,15 +73,7 @@ pl->total++; } - /* Count allocated logical channels. - * Note: A GSM_PCHAN_TCH_F_TCH_H_PDCH can be switched - * to a single TCH/F or to two TCH/H. So when it's in - * the TCH/H mode, total number of available channels - * is 1 more than when it's in the TCH/F mode. - * I.e. "total" count will fluctuate depending on - * whether GSM_PCHAN_TCH_F_TCH_H_PDCH timeslot is - * in TCH/F or TCH/H (or in NONE/PDCH) mode. */ - ts_for_each_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_primary_lchans) { /* don't even count CBCH slots in total */ if (lchan->type == GSM_LCHAN_CBCH) continue; diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 1ebc853..b46c269 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -171,7 +171,7 @@ { struct gsm_lchan *lchan; unsigned int count = 0; - ts_for_each_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { if (lchan_state_is(lchan, LCHAN_ST_ESTABLISHED)) count++; } diff --git a/src/osmo-bsc/handover_logic.c b/src/osmo-bsc/handover_logic.c index c0ed10d..1e1b6c3 100644 --- a/src/osmo-bsc/handover_logic.c +++ b/src/osmo-bsc/handover_logic.c @@ -112,7 +112,7 @@ if (!nm_is_running(&ts->mo.nm_state)) continue; - ts_for_each_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { if (!lchan->conn) continue; if (!lchan->conn->ho.fi) diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index b494f02..dba3c3a 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -65,6 +65,7 @@ } for (j = start; j != stop; j += dir) { + int lchans_as_pchan; ts = &trx->ts[j]; if (!ts_is_usable(ts)) continue; @@ -84,7 +85,8 @@ } /* TS is (going to be) in desired pchan mode. Go ahead and check for an available lchan. */ - ts_as_pchan_for_each_lchan(lchan, ts, as_pchan) { + lchans_as_pchan = pchan_subslots(as_pchan); + ts_for_n_lchans(lchan, ts, lchans_as_pchan) { if (lchan->fi->state == LCHAN_ST_UNUSED) { LOGPLCHANALLOC("%s ss=%d is available%s\n", gsm_ts_and_pchan_name(ts), lchan->nr, diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index 7c6bb78..8d340fb 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -112,7 +112,7 @@ struct gsm_lchan *lchan; int count = 0; - ts_for_each_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { if (lchan->fi->state == LCHAN_ST_UNUSED) continue; count++; @@ -125,7 +125,7 @@ { struct gsm_lchan *lchan; - ts_for_each_potential_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { if (lchan_state >= 0 && !lchan_state_is(lchan, lchan_state)) continue; @@ -137,7 +137,7 @@ { struct gsm_lchan *lchan; - ts_for_each_potential_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { osmo_fsm_inst_term(lchan->fi, OSMO_FSM_TERM_REQUEST, NULL); } } @@ -146,7 +146,7 @@ { struct gsm_lchan *lchan; int count = 0; - ts_for_each_potential_lchan(lchan, ts) + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) if (lchan->fi->state == LCHAN_ST_WAIT_TS_READY) count++; return count; @@ -567,7 +567,7 @@ ts->pdch_act_allowed = true; /* For static TS, check validity. For dyn TS, figure out which PCHAN this should become. */ - ts_for_each_potential_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { if (lchan_state_is(lchan, LCHAN_ST_UNUSED)) continue; @@ -954,7 +954,7 @@ bool ts_is_lchan_waiting_for_pchan(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config *target_pchan) { struct gsm_lchan *lchan; - ts_for_each_potential_lchan(lchan, ts) { + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { if (lchan->fi->state == LCHAN_ST_WAIT_TS_READY) { if (target_pchan) *target_pchan = gsm_pchan_by_lchan_type(lchan->type); diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 4455c88..e00294c 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -463,7 +463,8 @@ static void ts_clear(struct gsm_bts_trx_ts *ts) { struct gsm_lchan *lchan; - ts_for_each_lchan(lchan, ts) { + + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { if (lchan_state_is(lchan, LCHAN_ST_UNUSED)) continue; lchan_clear(lchan); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib2c6baf73a81ba371143ba5adc912aef6f79238d Gerrit-Change-Number: 24372 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:36 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:36 +0000 Subject: Change in osmo-bsc[master]: add VAMOS cmodes to chan_mode_to_rsl_cmod_spd() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24373 ) Change subject: add VAMOS cmodes to chan_mode_to_rsl_cmod_spd() ...................................................................... add VAMOS cmodes to chan_mode_to_rsl_cmod_spd() Related: SYS#5315 OS#4940 Change-Id: I89c929e936151b4ed010114197cf8e6ea85193ff --- M src/osmo-bsc/gsm_data.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/73/24373/1 diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index e43fbbd..159c016 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -1070,6 +1070,9 @@ case GSM48_CMODE_SPEECH_V1: case GSM48_CMODE_SPEECH_EFR: case GSM48_CMODE_SPEECH_AMR: + case GSM48_CMODE_SPEECH_V1_VAMOS: + case GSM48_CMODE_SPEECH_V2_VAMOS: + case GSM48_CMODE_SPEECH_V3_VAMOS: return RSL_CMOD_SPD_SPEECH; case GSM48_CMODE_DATA_14k5: case GSM48_CMODE_DATA_12k0: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89c929e936151b4ed010114197cf8e6ea85193ff Gerrit-Change-Number: 24373 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:36 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:36 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... implement Channel Mode Modify to VAMOS mode Related: SYS#5315 OS#4940 Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c 5 files changed, 149 insertions(+), 42 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/74/24374/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index e250a5d..5e2196c 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -626,6 +626,8 @@ /* TSC to use, or -1 for automatically determining the TSC to use. Valid range is 0 to 7, as described in 3GPP * TS 45.002. */ int tsc; + + bool vamos; }; struct gsm_lchan { @@ -739,6 +741,9 @@ /* Whether this lchan represents a secondary "shadow" lchan to multiplex a second MS onto a primary * "normal" lchan */ bool is_secondary; + + /* Whether this lchan is activated/modified into a mode that allows VAMOS multiplexing at this moment */ + bool enabled; } vamos; /* Circuit-Switched TSC Set in use, or -1 if no specific TSC Set was requested. The valid range is 1-4 as diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 4a80364..1b08e03 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -352,7 +352,8 @@ static int channel_mode_from_lchan(struct rsl_ie_chan_mode *cm, struct gsm_lchan *lchan, - const struct channel_mode_and_rate *ch_mode_rate) + const struct channel_mode_and_rate *ch_mode_rate, + bool vamos) { int spd_ind; memset(cm, 0, sizeof(*cm)); @@ -377,10 +378,10 @@ cm->chan_rt = RSL_CMOD_CRT_SDCCH; break; case GSM_LCHAN_TCH_F: - cm->chan_rt = RSL_CMOD_CRT_TCH_Bm; + cm->chan_rt = vamos ? RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm : RSL_CMOD_CRT_TCH_Bm; break; case GSM_LCHAN_TCH_H: - cm->chan_rt = RSL_CMOD_CRT_TCH_Lm; + cm->chan_rt = vamos ? RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm : RSL_CMOD_CRT_TCH_Lm; break; case GSM_LCHAN_NONE: case GSM_LCHAN_UNKNOWN: @@ -396,12 +397,15 @@ cm->chan_rate = 0; break; case GSM48_CMODE_SPEECH_V1: + case GSM48_CMODE_SPEECH_V1_VAMOS: cm->chan_rate = RSL_CMOD_SP_GSM1; break; case GSM48_CMODE_SPEECH_EFR: + case GSM48_CMODE_SPEECH_V2_VAMOS: cm->chan_rate = RSL_CMOD_SP_GSM2; break; case GSM48_CMODE_SPEECH_AMR: + case GSM48_CMODE_SPEECH_V3_VAMOS: cm->chan_rate = RSL_CMOD_SP_GSM3; break; case GSM48_CMODE_DATA_14k5: @@ -501,6 +505,11 @@ } } +struct rsl_osmo_training_sequence_ie { + uint8_t tsc_set; + uint8_t tsc; +} __attribute__ ((packed)); + /* Chapter 8.4.1 */ int rsl_tx_chan_activ(struct gsm_lchan *lchan, uint8_t act_type, uint8_t ho_ref) { @@ -521,7 +530,7 @@ /* PDCH activation is a job for rsl_tx_dyn_ts_pdch_act_deact(); */ OSMO_ASSERT(act_type != RSL_ACT_OSMO_PDCH); - rc = channel_mode_from_lchan(&cm, lchan, &lchan->activate.info.ch_mode_rate); + rc = channel_mode_from_lchan(&cm, lchan, &lchan->activate.info.ch_mode_rate, false); if (rc < 0) { LOGP(DRSL, LOGL_ERROR, "%s Cannot find channel mode from lchan type\n", @@ -636,7 +645,7 @@ struct rsl_ie_chan_mode cm; struct gsm_bts *bts = lchan->ts->trx->bts; - rc = channel_mode_from_lchan(&cm, lchan, &lchan->modify.info.ch_mode_rate); + rc = channel_mode_from_lchan(&cm, lchan, &lchan->modify.info.ch_mode_rate, lchan->modify.info.vamos); if (rc < 0) return rc; @@ -667,6 +676,16 @@ rep_acch_cap_for_bts(lchan, msg); + /* Selecting a specific TSC Set is only applicable to VAMOS mode */ + if (lchan->modify.info.vamos && lchan->modify.tsc_set >= 1) { + struct rsl_osmo_training_sequence_ie tsie = { + /* Convert from spec conforming "human readable" TSC Set 1-4 to 0-3 on the wire */ + .tsc_set = lchan->modify.tsc_set - 1, + .tsc = lchan->modify.tsc, + }; + msgb_tlv_put(msg, RSL_IE_OSMO_TRAINING_SEQUENCE, sizeof(tsie), (uint8_t*)&tsie); + } + msg->dst = rsl_chan_link(lchan); return abis_rsl_sendmsg(msg); diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index caa72e4..8e64cd5 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -192,6 +192,34 @@ return CMD_SUCCESS; } +/* resolve a gsm_bts_trx_ts basd on the given numeric identifiers */ +static struct gsm_bts_trx_ts *vty_get_ts(struct vty *vty, const char *bts_str, const char *trx_str, + const char *ts_str) +{ + int bts_nr = atoi(bts_str); + int trx_nr = atoi(trx_str); + int ts_nr = atoi(ts_str); + struct gsm_bts *bts; + struct gsm_bts_trx *trx; + struct gsm_bts_trx_ts *ts; + + bts = gsm_bts_num(gsmnet_from_vty(vty), bts_nr); + if (!bts) { + vty_out(vty, "%% No such BTS (%d)%s", bts_nr, VTY_NEWLINE); + return NULL; + } + + trx = gsm_bts_trx_num(bts, trx_nr); + if (!trx) { + vty_out(vty, "%% No such TRX (%d)%s", trx_nr, VTY_NEWLINE); + return NULL; + } + + ts = &trx->ts[ts_nr]; + + return ts; +} + static void net_dump_nmstate(struct vty *vty, struct gsm_nm_state *nms) { vty_out(vty,"Oper '%s', Admin '%s', Avail '%s'%s", @@ -1958,9 +1986,27 @@ return CMD_WARNING; } +static int trigger_vamos_mode_modify(struct vty *vty, struct gsm_lchan *lchan, int tsc_set, int tsc) +{ + struct lchan_modify_info info = { + .modify_for = MODIFY_FOR_VTY, + .ch_mode_rate = lchan->current_ch_mode_rate, + .requires_voice_stream = (lchan->fi_rtp != NULL), + .vamos = true, + .tsc_set = tsc_set, + .tsc = tsc, + }; + + lchan_mode_modify(lchan, &info); + return CMD_SUCCESS; +} + #define MANUAL_HANDOVER_STR "Manually trigger handover (for debugging)\n" #define MANUAL_ASSIGNMENT_STR "Manually trigger assignment (for debugging)\n" +#define MANUAL_VAMOS_STR "Manually initiate VAMOS lchan multiplexing (for debugging)\n" +#define MANUAL_VAMOS_MODIFY_STR "Send Channel Mode Modify to change an lchan to prepare it for serving a second MS via VAMOS\n" + DEFUN(handover_subscr_conn, handover_subscr_conn_cmd, "bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> handover <0-255>", @@ -2120,6 +2166,46 @@ return CMD_SUCCESS; } +#define TSC_ARGS_OPT "[tsc] [<1-4>] [<0-7>]" +#define TSC_ARGS_DOC \ + "Provide specific TSC Set and Training Sequence Code\n" \ + "TSC Set\n" \ + "Training Sequence Code\n" + +DEFUN(vamos_modify_lchan, vamos_modify_lchan_cmd, + "vamos modify lchan <0-255> <0-255> <0-7> <0-1> " TSC_ARGS_OPT, + /* Note above, only subslots 0-1 because only TCH/F and TCH/H make sense to be modified to VAMOS mode. */ + MANUAL_VAMOS_STR + MANUAL_VAMOS_MODIFY_STR + "Pick a specific lchan to modify to VAMOS mode\n" + BTS_TRX_TS_LCHAN_STR + TSC_ARGS_DOC) +{ + struct gsm_bts_trx_ts *ts; + struct gsm_lchan *lchan; + int ss_nr = atoi(argv[3]); + int tsc_set = (argc > 5) ? atoi(argv[5]) : -1; + int tsc = (argc > 6) ? atoi(argv[6]) : -1; + + ts = vty_get_ts(vty, argv[0], argv[1], argv[2]); + if (!ts) + return CMD_WARNING; + + if (ss_nr >= ts->max_primary_lchans) { + vty_out(vty, "Invalid sub-slot number for this timeslot type%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (!osmo_bts_has_feature(&ts->trx->bts->features, BTS_FEAT_VAMOS)) { + vty_out(vty, "BTS does not support VAMOS%s", VTY_NEWLINE); + return CMD_WARNING; + } + + lchan = &ts->lchan[ss_nr]; + + return trigger_vamos_mode_modify(vty, lchan, tsc_set, tsc); +} + static void paging_dump_vty(struct vty *vty, struct gsm_paging_request *pag) { vty_out(vty, "Paging on BTS %u%s", pag->bts->nr, VTY_NEWLINE); @@ -5967,34 +6053,6 @@ return CMD_SUCCESS; } -/* resolve a gsm_bts_trx_ts basd on the given numeric identifiers */ -static struct gsm_bts_trx_ts *vty_get_ts(struct vty *vty, const char *bts_str, const char *trx_str, - const char *ts_str) -{ - int bts_nr = atoi(bts_str); - int trx_nr = atoi(trx_str); - int ts_nr = atoi(ts_str); - struct gsm_bts *bts; - struct gsm_bts_trx *trx; - struct gsm_bts_trx_ts *ts; - - bts = gsm_bts_num(gsmnet_from_vty(vty), bts_nr); - if (!bts) { - vty_out(vty, "%% No such BTS (%d)%s", bts_nr, VTY_NEWLINE); - return NULL; - } - - trx = gsm_bts_trx_num(bts, trx_nr); - if (!trx) { - vty_out(vty, "%% No such TRX (%d)%s", trx_nr, VTY_NEWLINE); - return NULL; - } - - ts = &trx->ts[ts_nr]; - - return ts; -} - DEFUN(pdch_act, pdch_act_cmd, "bts <0-255> trx <0-255> timeslot <0-7> pdch (activate|deactivate)", BTS_NR_TRX_TS_STR2 @@ -7727,6 +7785,8 @@ install_element(ENABLE_NODE, &handover_any_to_arfcn_bsic_cmd); /* See also handover commands added on net level from handover_vty.c */ + install_element(ENABLE_NODE, &vamos_modify_lchan_cmd); + logging_vty_add_cmds(); osmo_talloc_vty_add_cmds(); diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 8febd54..bb654b4 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -694,6 +694,8 @@ tsc = (lchan->modify.info.tsc >= 0) ? lchan->modify.info.tsc : gsm_ts_tsc(lchan->ts); /* FIXME */ gsm48_lchan2chan_desc(&cmm->chan_desc, lchan, tsc); cmm->mode = mode; + if (lchan->modify.info.vamos) + cmm->mode = gsm48_chan_mode_to_vamos(cmm->mode); /* in case of multi rate we need to attach a config */ if (lchan->modify.info.ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { @@ -706,6 +708,12 @@ } } + if (lchan->modify.info.vamos && lchan->modify.tsc_set > 0) { + /* Add the Extended TSC Set IE. So far we only need a TSC Set sent for VAMOS. + * Convert from spec conforming "human readable" TSC Set 1-4 to 0-3 on the wire */ + msgb_tv_put(msg, 0x6d, (lchan->modify.tsc_set - 1) & 0x3); + } + return gsm48_sendmsg(msg); } @@ -714,14 +722,20 @@ struct gsm48_hdr *gh = msgb_l3(msg); struct gsm48_chan_mode_modify *mod = (struct gsm48_chan_mode_modify *) gh->data; + enum gsm48_chan_mode expect_chan_mode; LOG_LCHAN(msg->lchan, LOGL_DEBUG, "CHANNEL MODE MODIFY ACK for %s\n", gsm48_chan_mode_name(mod->mode)); - if (mod->mode != msg->lchan->modify.info.ch_mode_rate.chan_mode) { + /* The modify.info may indicate a non-VAMOS chan_mode, and indicate VAMOS-ness by info.vamos == true. Internally + * we convert the chan_mode to a VAMOS chan_mode then, leaving the info unchanged. Also do this change here. */ + expect_chan_mode = msg->lchan->modify.info.ch_mode_rate.chan_mode; + if (msg->lchan->modify.info.vamos) + expect_chan_mode = gsm48_chan_mode_to_vamos(expect_chan_mode); + if (mod->mode != expect_chan_mode) { LOG_LCHAN(msg->lchan, LOGL_ERROR, "CHANNEL MODE MODIFY ACK has wrong mode: Wanted: %s Got: %s\n", - gsm48_chan_mode_name(msg->lchan->modify.info.ch_mode_rate.chan_mode), + gsm48_chan_mode_name(expect_chan_mode), gsm48_chan_mode_name(mod->mode)); return -1; } diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index e25a6de..7344ddf 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -382,6 +382,17 @@ { OSMO_ASSERT(lchan && info); + if ((info->vamos || lchan->vamos.is_secondary) + && !osmo_bts_has_feature(&lchan->ts->trx->bts->features, BTS_FEAT_VAMOS)) { + lchan->last_error = talloc_strdup(lchan->ts->trx, "VAMOS related Channel Mode Modify requested," + " but BTS does not support VAMOS"); + LOG_LCHAN(lchan, LOGL_ERROR, + "VAMOS related Channel Mode Modify requested, but BTS %u does not support VAMOS\n", + lchan->ts->trx->bts->nr); + lchan_on_mode_modify_failure(lchan, info->modify_for, lchan->conn); + return; + } + /* To make sure that the lchan is actually allowed to initiate Mode Modify, feed through an FSM event. */ if (osmo_fsm_inst_dispatch(lchan->fi, LCHAN_EV_REQUEST_MODE_MODIFY, info)) { LOG_LCHAN(lchan, LOGL_ERROR, @@ -973,6 +984,7 @@ lchan->current_mr_conf = lchan->modify.mr_conf_filtered; lchan->tsc_set = lchan->modify.tsc_set; lchan->tsc = lchan->modify.tsc; + lchan->vamos.enabled = lchan->modify.info.vamos; if (lchan->modify.info.requires_voice_stream && !lchan->fi_rtp) { @@ -1113,18 +1125,13 @@ /* FIXME: Add missing implementation to handle an already existing RTP voice stream on MODE MODIFY. * there may be transitions from VOICE to SIGNALLING and also from VOICE to VOICE with a different * codec. */ - if (lchan->fi_rtp) { - lchan_fail("MODE MODIFY not implemented when RTP voice stream is already active (VOICE => SIGNALLING, VOICE/CODEC_A => VOICE/CODEC_B)\n"); - return; - } - modif_info = data; lchan->modify.info = *modif_info; lchan->modify.concluded = false; use_mgwep_ci = lchan_use_mgw_endpoint_ci_bts(lchan); - if (modif_info->ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (gsm48_chan_mode_to_non_vamos(modif_info->ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { if (lchan_mr_config(&lchan->modify.mr_conf_filtered, lchan, modif_info->ch_mode_rate.s15_s0) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); @@ -1132,10 +1139,12 @@ } } + /* If enabling VAMOS mode and no specific TSC Set was selected, make sure to select a sane TSC Set by + * default: Set 1 for the primary and Set 2 for the shadow lchan. For non-VAMOS lchans, TSC Set 1. */ if (lchan->modify.info.tsc_set > 0) lchan->modify.tsc_set = lchan->modify.info.tsc_set; else - lchan->modify.tsc_set = 1; + lchan->modify.tsc_set = lchan->vamos.is_secondary ? 2 : 1; /* Use the TSC provided in the modification request, if any. Otherwise use the timeslot's configured * TSC. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:36 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:36 +0000 Subject: Change in osmo-bsc[master]: implement CHANnel ACTIVate to VAMOS mode References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24375 ) Change subject: implement CHANnel ACTIVate to VAMOS mode ...................................................................... implement CHANnel ACTIVate to VAMOS mode Related: SYS#5315 OS#4940 Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/lchan_fsm.c 4 files changed, 38 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/75/24375/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 5e2196c..8ce5a91 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -602,6 +602,8 @@ /* TSC to use, or -1 for automatically determining the TSC to use. Valid range is 0 to 7, as described in 3GPP * TS 45.002. */ int tsc; + + bool vamos; }; enum lchan_modify_for { diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 1b08e03..476cc3a 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -530,7 +530,7 @@ /* PDCH activation is a job for rsl_tx_dyn_ts_pdch_act_deact(); */ OSMO_ASSERT(act_type != RSL_ACT_OSMO_PDCH); - rc = channel_mode_from_lchan(&cm, lchan, &lchan->activate.info.ch_mode_rate, false); + rc = channel_mode_from_lchan(&cm, lchan, &lchan->activate.info.ch_mode_rate, lchan->activate.info.vamos); if (rc < 0) { LOGP(DRSL, LOGL_ERROR, "%s Cannot find channel mode from lchan type\n", @@ -616,6 +616,16 @@ rep_acch_cap_for_bts(lchan, msg); + /* Selecting a specific TSC Set is only applicable to VAMOS mode */ + if (lchan->activate.info.vamos && lchan->activate.tsc_set >= 1) { + struct rsl_osmo_training_sequence_ie tsie = { + /* Convert from spec conforming "human readable" TSC Set 1-4 to 0-3 on the wire */ + .tsc_set = lchan->activate.tsc_set - 1, + .tsc = lchan->activate.tsc, + }; + msgb_tlv_put(msg, RSL_IE_OSMO_TRAINING_SEQUENCE, sizeof(tsie), (uint8_t*)&tsie); + } + msg->dst = rsl_chan_link(lchan); rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHAN_ACT_TOTAL]); diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 8e64cd5..ed54b67 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6195,6 +6195,13 @@ return CMD_WARNING; } + if (activate == 2 || lchan->vamos.is_secondary) { + info.vamos = true; + info.tsc_set = lchan->vamos.is_secondary ? 1 : 0; + info.tsc = 0; + info.ch_mode_rate.chan_mode = gsm48_chan_mode_to_vamos(info.ch_mode_rate.chan_mode); + } + vty_out(vty, "%% activating lchan %s as %s%s", gsm_lchan_name(lchan), gsm_chan_t_name(lchan->type), VTY_NEWLINE); lchan_activate(lchan, &info); @@ -6267,9 +6274,10 @@ * manually in a given mode/codec. This is useful for receiver * performance testing (FER/RBER/...) */ DEFUN(lchan_act, lchan_act_cmd, - "bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> (activate|deactivate) (hr|fr|efr|amr|sig) [<0-7>]", + "bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> (activate|activate-vamos|deactivate) (hr|fr|efr|amr|sig) [<0-7>]", BTS_NR_TRX_TS_SS_STR2 "Manual Channel Activation (e.g. for BER test)\n" + "Manual Channel Activation, in VAMOS mode\n" "Manual Channel Deactivation (e.g. for BER test)\n" "Half-Rate v1\n" "Full-Rate\n" "Enhanced Full Rate\n" "Adaptive Multi-Rate\n" "Signalling\n" "AMR Mode\n") { @@ -6292,6 +6300,8 @@ if (!strcmp(act_str, "activate")) activate = 1; + else if (!strcmp(act_str, "activate-vamos")) + activate = 2; else activate = 0; diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 7344ddf..f20c147 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -311,6 +311,16 @@ OSMO_ASSERT(lchan && info); + if ((info->vamos || lchan->vamos.is_secondary) + && !osmo_bts_has_feature(&lchan->ts->trx->bts->features, BTS_FEAT_VAMOS)) { + lchan->last_error = talloc_strdup(lchan->ts->trx, "VAMOS related channel activation requested," + " but BTS does not support VAMOS"); + LOG_LCHAN(lchan, LOGL_ERROR, + "VAMOS related channel activation requested, but BTS %u does not support VAMOS\n", + lchan->ts->trx->bts->nr); + goto abort; + } + if (!lchan_state_is(lchan, LCHAN_ST_UNUSED)) goto abort; @@ -726,10 +736,12 @@ lchan->encr = lchan->activate.info.encr; + /* If enabling VAMOS mode and no specific TSC Set was selected, make sure to select a sane TSC Set by + * default: Set 1 for the primary and Set 2 for the shadow lchan. For non-VAMOS lchans, TSC Set 1. */ if (lchan->activate.info.tsc_set > 0) lchan->activate.tsc_set = lchan->activate.info.tsc_set; else - lchan->activate.tsc_set = 1; + lchan->activate.tsc_set = lchan->vamos.is_secondary ? 2 : 1; /* Use the TSC provided in the modification request, if any. Otherwise use the timeslot's configured * TSC. */ @@ -808,6 +820,7 @@ lchan->current_ch_mode_rate = lchan->activate.info.ch_mode_rate; lchan->current_mr_conf = lchan->activate.mr_conf_filtered; + lchan->vamos.enabled = lchan->activate.info.vamos; lchan->tsc_set = lchan->activate.tsc_set; lchan->tsc = lchan->activate.tsc; LOG_LCHAN(lchan, LOGL_INFO, "Rx Activ ACK %s\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec Gerrit-Change-Number: 24375 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:37 +0000 Subject: Change in osmo-bsc[master]: RR Assignment for VAMOS: send TSC Set References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24376 ) Change subject: RR Assignment for VAMOS: send TSC Set ...................................................................... RR Assignment for VAMOS: send TSC Set We already send the TSC Set in the RSL Channel Activation, telling the BTS about the TSC Set. The MS needs to be instructed of the TSC Set in the RR Assignment Command. The first code to actually do an Assignment to a VAMOS activated lchan will follow in If006f5caaf83b07675f57e5665cfa79328da55e6. Change-Id: Ibf3b6d276fadf724c16a5225c03e96a27a056153 --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/76/24376/1 diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index bb654b4..9dc33af 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -648,6 +648,12 @@ } } + /* For VAMOS, include the TSC Set number in the Extended TSC Set IE. + * We don't put any PS domain related values, only the lowest two CS domain bits. + * Convert from spec conforming "human readable" TSC Set 1-4 to 0-3 on the wire. */ + if (new_lchan->vamos.enabled && new_lchan->tsc_set > 0) + msgb_tv_put(msg, GSM48_IE_EXTENDED_TSC_SET, new_lchan->tsc_set - 1); + return gsm48_sendmsg(msg); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf3b6d276fadf724c16a5225c03e96a27a056153 Gerrit-Change-Number: 24376 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:37 +0000 Subject: Change in osmo-bsc[master]: add VAMOS secondary lchans to timeslot struct References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24377 ) Change subject: add VAMOS secondary lchans to timeslot struct ...................................................................... add VAMOS secondary lchans to timeslot struct So far there is a bunch of code setting a primary lchan in VAMOS mode. This patch now adds the actual secondary "shadow" lchans that may be combined with a primary lchan in VAMOS mode to form a multiplex. VAMOS lchans are put in the same ts->lchan[] array that keeps the primary lchans. They are at most two additional usable lchans (for a TCH/H shadow) added to either TCH/F or TCH/H. Keeping these in the same array allows looping over all lchans easily. The ts->max_primary_lchans indicates the index of the first VAMOS shadow lchan. Related: SYS#5315 OS#4940 Change-Id: I928af99498bba488d317693f3144d4fccbbe9af3 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/timeslot_fsm.c 6 files changed, 152 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/77/24377/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 8ce5a91..4690a2c 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1041,8 +1041,11 @@ enum gsm_phys_chan_config ts_pchan(struct gsm_bts_trx_ts *ts); uint8_t pchan_subslots(enum gsm_phys_chan_config pchan); +uint8_t pchan_subslots_vamos(enum gsm_phys_chan_config pchan); bool ts_is_tch(struct gsm_bts_trx_ts *ts); +struct gsm_lchan *gsm_lchan_vamos_to_primary(const struct gsm_lchan *lchan_vamos, int idx); +struct gsm_lchan *gsm_lchan_primary_to_vamos(const struct gsm_lchan *lchan_primary, int idx); struct gsm_bts *conn_get_bts(struct gsm_subscriber_connection *conn); diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 476cc3a..e1d8a41 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1670,6 +1670,8 @@ * or unsuccessfully). */ static bool force_free_lchan_for_emergency(struct chan_rqd *rqd) { + int i; + /* If the request is not about an emergency call, we may exit early, without doing anything. */ if (rqd->reason != GSM_CHREQ_REASON_EMERG) return false; @@ -1691,10 +1693,11 @@ * This will take a short amount of time. We need to come back and check regulary to see if we managed to * free up another lchan. */ if (!rqd->release_lchan) { + struct gsm_lchan *release_lchan; /* Pick any busy TCH/F or TCH/H lchan and inititate a channel * release to make room for the incoming emergency call */ - rqd->release_lchan = get_any_lchan(rqd->bts); - if (!rqd->release_lchan) { + rqd->release_lchan = release_lchan = get_any_lchan(rqd->bts); + if (!release_lchan) { /* It can not happen that we first find out that there * is no TCH/H or TCH/F available and at the same time * we ware unable to find any busy TCH/H or TCH/F. In @@ -1707,10 +1710,18 @@ LOG_BTS(rqd->bts, DRSL, LOGL_NOTICE, "CHAN RQD/EMERGENCY-PRIORITY: inducing termination of lchan %s (state:%s) in favor of incoming EMERGENCY CALL!\n", - gsm_lchan_name(rqd->release_lchan), osmo_fsm_inst_state_name(rqd->release_lchan->fi)); + gsm_lchan_name(release_lchan), osmo_fsm_inst_state_name(release_lchan->fi)); - lchan_release(rqd->release_lchan, !!(rqd->release_lchan->conn), true, 0, - gscon_last_eutran_plmn(rqd->release_lchan->conn)); + lchan_release(release_lchan, !!(release_lchan->conn), true, 0, + gscon_last_eutran_plmn(release_lchan->conn)); + + /* Also release any overlapping VAMOS multiplexes on this lchan */ + for (i = 0; i < 2; i++) { + struct gsm_lchan *lchan_vamos = gsm_lchan_primary_to_vamos(release_lchan, i); + if (lchan_vamos) + lchan_release(lchan_vamos, !!(lchan_vamos->conn), true, 0, + gscon_last_eutran_plmn(lchan_vamos->conn)); + } } else { /* BTS is shutting down, give up... */ if (rqd->release_lchan->ts->fi->state == TS_ST_NOT_INITIALIZED) diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index d3bdaf1..854a906 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -637,6 +637,7 @@ .ta_known = true, .tsc_set = req->tsc_set, .tsc = req->tsc, + .vamos = conn->assignment.new_lchan->vamos.is_secondary, }; lchan_activate(conn->assignment.new_lchan, &activ_info); } diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 159c016..85ce8bf 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -337,8 +337,9 @@ char *gsm_lchan_name_compute(void *ctx, const struct gsm_lchan *lchan) { struct gsm_bts_trx_ts *ts = lchan->ts; - return talloc_asprintf(ctx, "(bts=%d,trx=%d,ts=%d,ss=%d)", - ts->trx->bts->nr, ts->trx->nr, ts->nr, lchan->nr); + return talloc_asprintf(ctx, "(bts=%d,trx=%d,ts=%d,ss=%d%s)", + ts->trx->bts->nr, ts->trx->nr, ts->nr, lchan->nr, + lchan->vamos.is_secondary ? "-VAMOS" : ""); } /* obtain the MO structure for a given object instance */ @@ -545,9 +546,13 @@ uint8_t gsm_lchan2chan_nr(const struct gsm_lchan *lchan) { - /* Note: non-standard Osmocom style dyn TS PDCH mode chan_nr is only used within - * rsl_tx_dyn_ts_pdch_act_deact(). */ - return gsm_pchan2chan_nr(lchan->ts->pchan_is, lchan->ts->nr, lchan->nr); + uint8_t lchan_nr = lchan->nr; + /* The VAMOS lchans are behind the primary ones in the ts->lchan[] array. They keep their lchan->nr as in the + * array, but on the wire they are the "shadow" lchans for the primary lchans. For example, for TCH/F, there is + * a primary ts->lchan[0] and a VAMOS ts->lchan[1]. Still, the VAMOS lchan should send chan_nr = 0. */ + if (lchan->vamos.is_secondary) + lchan_nr -= lchan->ts->max_primary_lchans; + return gsm_pchan2chan_nr(lchan->ts->pchan_is, lchan->ts->nr, lchan_nr); } static const uint8_t subslots_per_pchan[] = { @@ -574,6 +579,30 @@ return subslots_per_pchan[pchan]; } +static const uint8_t subslots_per_pchan_vamos[] = { + [GSM_PCHAN_NONE] = 0, + [GSM_PCHAN_CCCH] = 0, + [GSM_PCHAN_PDCH] = 0, + [GSM_PCHAN_CCCH_SDCCH4] = 0, + /* VAMOS: on a TCH/F, there may be a TCH/H shadow */ + [GSM_PCHAN_TCH_F] = 2, + [GSM_PCHAN_TCH_H] = 2, + [GSM_PCHAN_SDCCH8_SACCH8C] = 0, + [GSM_PCHAN_CCCH_SDCCH4_CBCH] = 0, + [GSM_PCHAN_SDCCH8_SACCH8C_CBCH] = 0, + [GSM_PCHAN_TCH_F_TCH_H_PDCH] = 2, + [GSM_PCHAN_TCH_F_PDCH] = 2, +}; + +/* Return the maximum number of VAMOS secondary lchans that may be used in a timeslot of the given physical channel + * configuration. */ +uint8_t pchan_subslots_vamos(enum gsm_phys_chan_config pchan) +{ + if (pchan < 0 || pchan >= ARRAY_SIZE(subslots_per_pchan_vamos)) + return 0; + return subslots_per_pchan_vamos[pchan]; +} + static bool pchan_is_tch(enum gsm_phys_chan_config pchan) { switch (pchan) { @@ -590,6 +619,80 @@ return pchan_is_tch(ts->pchan_is); } +struct gsm_lchan *gsm_lchan_vamos_to_primary(const struct gsm_lchan *lchan_vamos, int idx) +{ + struct gsm_lchan *lchan_primary; + if (!lchan_vamos || !lchan_vamos->vamos.is_secondary) + return NULL; + + lchan_primary = &lchan_vamos->ts->lchan[0]; + + switch (idx) { + case 0: + goto return_lchan_primary; + case 1: + break; + default: + return NULL; + } + + switch (lchan_primary->type) { + case GSM_LCHAN_TCH_F: + return NULL; + + default: + case GSM_LCHAN_TCH_H: + lchan_primary = &lchan_vamos->ts->lchan[1]; + break; + } + +return_lchan_primary: + if (!lchan_primary->fi) + return NULL; + return lchan_primary; +} + +struct gsm_lchan *gsm_lchan_primary_to_vamos(const struct gsm_lchan *lchan_primary, int idx) +{ + struct gsm_lchan *first_vamos_lchan; + struct gsm_lchan *lchan_vamos; + struct gsm_bts_trx_ts *ts; + if (!lchan_primary || lchan_primary->vamos.is_secondary) + return NULL; + + ts = lchan_primary->ts; + + first_vamos_lchan = &ts->lchan[ts->max_primary_lchans]; + if (first_vamos_lchan == ts->lchan) + return NULL; + + lchan_vamos = first_vamos_lchan; + + switch (idx) { + case 0: + goto return_lchan_vamos; + case 1: + break; + default: + return NULL; + } + + switch (lchan_vamos->type) { + case GSM_LCHAN_TCH_F: + return NULL; + + default: + case GSM_LCHAN_TCH_H: + lchan_vamos = first_vamos_lchan + 1; + break; + } + +return_lchan_vamos: + if (!lchan_vamos->fi) + return NULL; + return lchan_vamos; +} + struct gsm_bts *conn_get_bts(struct gsm_subscriber_connection *conn) { if (!conn || !conn->lchan) return NULL; diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index f20c147..f233a5a 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -649,7 +649,7 @@ lchan->bs_power = bts->bs_power_ctrl.bs_power_val_db / 2; } - if (info->ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (gsm48_chan_mode_to_non_vamos(info->ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { if (lchan_mr_config(&lchan->activate.mr_conf_filtered, lchan, info->ch_mode_rate.s15_s0) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index 8d340fb..d1f49a3 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -195,18 +195,39 @@ ts->max_primary_lchans = pchan_subslots(ts->pchan_is); LOG_TS(ts, LOGL_DEBUG, "pchan_is=%s max_primary_lchans=%d max_lchans_possible=%d\n", gsm_pchan_name(ts->pchan_is), ts->max_primary_lchans, ts->max_lchans_possible); + switch (ts->pchan_is) { + case GSM_PCHAN_TCH_F: + case GSM_PCHAN_TCH_H: + for (i = 0; i < ts->max_lchans_possible; i++) { + lchan = &ts->lchan[i]; + if (i < ts->max_primary_lchans) + lchan->vamos.is_secondary = false; + else + lchan->vamos.is_secondary = true; + } + break; + default: + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) + lchan->vamos.is_secondary = false; + break; + } } static void ts_setup_lchans(struct gsm_bts_trx_ts *ts) { int i, max_lchans; + int max_lchans_vamos; ts->pchan_on_init = ts->pchan_from_config; ts_fsm_update_id(ts); max_lchans = pchan_subslots(ts->pchan_on_init); - LOG_TS(ts, LOGL_DEBUG, "max lchans: %d\n", max_lchans); - ts->max_lchans_possible = max_lchans; + if (osmo_bts_has_feature(&ts->trx->bts->features, BTS_FEAT_VAMOS)) + max_lchans_vamos = pchan_subslots_vamos(ts->pchan_on_init); + else + max_lchans_vamos = 0; + LOG_TS(ts, LOGL_DEBUG, "max lchans: %d + %d VAMOS secondaries\n", max_lchans, max_lchans_vamos); + ts->max_lchans_possible = max_lchans + max_lchans_vamos; ts->max_primary_lchans = 0; for (i = 0; i < ts->max_lchans_possible; i++) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I928af99498bba488d317693f3144d4fccbbe9af3 Gerrit-Change-Number: 24377 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:02:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:02:37 +0000 Subject: Change in osmo-bsc[master]: RSL: look up lchan by sign_link, not trx, for VAMOS References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24378 ) Change subject: RSL: look up lchan by sign_link, not trx, for VAMOS ...................................................................... RSL: look up lchan by sign_link, not trx, for VAMOS So far we pass the gsm_bts_trx to the lchan lookup functions to determine the lchan that a specific RSL message is received for. But for VAMOS secondary lchans, we introduced a second sign_link for each TRX, so passing the TRX loses information on which TEI the RSL message was received from. Pass the sign_link instead of the trx. If the sign_link is the secondary VAMOS link, return the VAMOS shadow lchan instead of the primary one for that lchan number. Related: SYS#5315 OS#4940 Change-Id: I872a3ed9ce0cdbd9fbe41a750081f54008eece8d --- M include/osmocom/bsc/bts_trx.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts_trx.c M tests/handover/handover_test.c 4 files changed, 20 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/78/24378/1 diff --git a/include/osmocom/bsc/bts_trx.h b/include/osmocom/bsc/bts_trx.h index 94f4021..09afd99 100644 --- a/include/osmocom/bsc/bts_trx.h +++ b/include/osmocom/bsc/bts_trx.h @@ -90,7 +90,7 @@ struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts); char *gsm_trx_name(const struct gsm_bts_trx *trx); -struct gsm_lchan *rsl_lchan_lookup(struct gsm_bts_trx *trx, uint8_t chan_nr, +struct gsm_lchan *rsl_lchan_lookup(struct gsm_bts_trx *trx, uint8_t chan_nr, bool vamos, int *rc); void gsm_trx_lock_rf(struct gsm_bts_trx *trx, bool locked, const char *reason); diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index e1d8a41..c0d9e4d 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -125,11 +125,15 @@ } /* call rsl_lchan_lookup and set the log context */ -static struct gsm_lchan *lchan_lookup(struct gsm_bts_trx *trx, uint8_t chan_nr, +static struct gsm_lchan *lchan_lookup(struct e1inp_sign_link *sign_link, uint8_t chan_nr, const char *log_name) { int rc; - struct gsm_lchan *lchan = rsl_lchan_lookup(trx, chan_nr, &rc); + /* If no VAMOS link was set up, rsl_tei_vamos may reflect the same as rsl_tei_primary. Make sure that the + * primary tei matches stronger. */ + bool vamos = (sign_link->tei != sign_link->trx->rsl_tei_primary) + && (sign_link->tei == sign_link->trx->rsl_tei_vamos); + struct gsm_lchan *lchan = rsl_lchan_lookup(sign_link->trx, chan_nr, vamos, &rc); if (!lchan) { LOGP(DRSL, LOGL_ERROR, "%sunknown chan_nr=0x%02x\n", @@ -1257,7 +1261,7 @@ return -EINVAL; } - msg->lchan = lchan_lookup(sign_link->trx, rslh->chan_nr, + msg->lchan = lchan_lookup(sign_link, rslh->chan_nr, "Abis RSL rx DCHAN: "); if (!msg->lchan) { LOGP(DRSL, LOGL_ERROR, @@ -1977,7 +1981,7 @@ struct rate_ctr_group *bts_ctrs = sign_link->trx->bts->bts_ctrs; int rc = 0; - msg->lchan = lchan_lookup(sign_link->trx, rslh->chan_nr, + msg->lchan = lchan_lookup(sign_link, rslh->chan_nr, "Abis RSL rx CCHAN: "); switch (rslh->c.msg_type) { @@ -2048,7 +2052,7 @@ int rc = 0; uint8_t sapi = rllh->link_id & 0x7; - msg->lchan = lchan_lookup(sign_link->trx, rllh->chan_nr, "Abis RSL rx RLL: "); + msg->lchan = lchan_lookup(sign_link, rllh->chan_nr, "Abis RSL rx RLL: "); switch (rllh->c.msg_type) { case RSL_MT_DATA_IND: @@ -2454,7 +2458,7 @@ struct abis_rsl_rll_hdr *rllh = msgb_l2(msg); int rc = 0; - msg->lchan = lchan_lookup(sign_link->trx, rllh->chan_nr, + msg->lchan = lchan_lookup(sign_link, rllh->chan_nr, "Abis RSL rx IPACC: "); if (!msg->lchan) { diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index 64c7985..81af898 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -144,7 +144,7 @@ } /* determine logical channel based on TRX and channel number IE */ -struct gsm_lchan *rsl_lchan_lookup(struct gsm_bts_trx *trx, uint8_t chan_nr, +struct gsm_lchan *rsl_lchan_lookup(struct gsm_bts_trx *trx, uint8_t chan_nr, bool vamos, int *rc) { uint8_t ts_nr = chan_nr & 0x07; @@ -179,6 +179,12 @@ } else return NULL; + if (vamos) { + if (!osmo_bts_has_feature(&trx->bts->features, BTS_FEAT_VAMOS)) + return NULL; + lch_idx += ts->max_primary_lchans; + } + if (rc && ok) *rc = 0; diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index e00294c..9913956 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -698,7 +698,8 @@ struct abis_rsl_dchan_hdr *dh = (struct abis_rsl_dchan_hdr *) msg->data; struct e1inp_sign_link *sign_link = msg->dst; int rc; - struct gsm_lchan *lchan = rsl_lchan_lookup(sign_link->trx, dh->chan_nr, &rc); + struct gsm_lchan *lchan = rsl_lchan_lookup(sign_link->trx, dh->chan_nr, + false && (sign_link->tei == sign_link->trx->rsl_tei_vamos), &rc); struct gsm_lchan *other_lchan; struct gsm48_hdr *gh; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I872a3ed9ce0cdbd9fbe41a750081f54008eece8d Gerrit-Change-Number: 24378 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:03:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:03:05 +0000 Subject: Change in osmo-bsc[master]: VTY: 'show lchan': show that lchan is in VAMOS mode References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24379 ) Change subject: VTY: 'show lchan': show that lchan is in VAMOS mode ...................................................................... VTY: 'show lchan': show that lchan is in VAMOS mode Related: SYS#5315 OS#4940 Change-Id: I9f38712f941d60531526cc3395875655455909d9 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/79/24379/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index ed54b67..1fdc66a 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1659,6 +1659,8 @@ VTY_NEWLINE); if (!lchan_state_is(lchan, LCHAN_ST_UNUSED)) vty_out(vty, " Training Sequence: Set %d Code %u%s", (lchan->tsc_set > 0 ? lchan->tsc_set : 1), lchan->tsc, VTY_NEWLINE); + if (lchan->vamos.enabled) + vty_out(vty, " VAMOS: enabled%s", VTY_NEWLINE); if (lchan->conn && lchan->conn->bsub) { vty_out(vty, " Subscriber:%s", VTY_NEWLINE); bsc_subscr_dump_vty(vty, lchan->conn->bsub); @@ -1703,9 +1705,10 @@ lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, gsm_pchan_name(lchan->ts->pchan_on_init)); vty_out_dyn_ts_status(vty, lchan->ts); - vty_out(vty, ", Lchan %u, Type %s TSC-s%dc%u, State %s - L1 MS Power: %u dBm RXL-FULL-dl: %4d dBm RXL-FULL-ul: %4d dBm%s", + vty_out(vty, ", Lchan %u, Type %s%s TSC-s%dc%u, State %s - L1 MS Power: %u dBm RXL-FULL-dl: %4d dBm RXL-FULL-ul: %4d dBm%s", lchan->nr, gsm_lchant_name(lchan->type), + lchan->vamos.enabled ? " (VAMOS)" : "", lchan->tsc_set > 0 ? lchan->tsc_set : 1, lchan->tsc, lchan_state_name(lchan), -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9f38712f941d60531526cc3395875655455909d9 Gerrit-Change-Number: 24379 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:03:06 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:03:06 +0000 Subject: Change in osmo-bsc[master]: VTY: add 'vamos-subslot' to activate a secondary lchan References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24380 ) Change subject: VTY: add 'vamos-subslot' to activate a secondary lchan ...................................................................... VTY: add 'vamos-subslot' to activate a secondary lchan Related: SYS#5315 OS#4940 Change-Id: If44b6bdb78046502eb0b66529ae190a955d9978c --- M src/osmo-bsc/bsc_vty.c 1 file changed, 20 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/80/24380/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 1fdc66a..48f397e 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6277,7 +6277,7 @@ * manually in a given mode/codec. This is useful for receiver * performance testing (FER/RBER/...) */ DEFUN(lchan_act, lchan_act_cmd, - "bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> (activate|activate-vamos|deactivate) (hr|fr|efr|amr|sig) [<0-7>]", + "bts <0-255> trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> (activate|activate-vamos|deactivate) (hr|fr|efr|amr|sig) [<0-7>]", BTS_NR_TRX_TS_SS_STR2 "Manual Channel Activation (e.g. for BER test)\n" "Manual Channel Activation, in VAMOS mode\n" @@ -6286,19 +6286,33 @@ { struct gsm_bts_trx_ts *ts; struct gsm_lchan *lchan; - int ss_nr = atoi(argv[3]); - const char *act_str = argv[4]; - const char *codec_str = argv[5]; + bool vamos = (strcmp(argv[3], "vamos-sub-slot") == 0); + int ss_nr = atoi(argv[4]); + const char *act_str = argv[5]; + const char *codec_str = argv[6]; int activate; int amr_mode = -1; - if (argc > 6) - amr_mode = atoi(argv[6]); + if (argc > 7) + amr_mode = atoi(argv[7]); ts = vty_get_ts(vty, argv[0], argv[1], argv[2]); if (!ts) return CMD_WARNING; + if (ss_nr >= ts->max_primary_lchans) { + vty_out(vty, "Invalid sub-slot number for this timeslot type%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (vamos && !osmo_bts_has_feature(&ts->trx->bts->features, BTS_FEAT_VAMOS)) { + vty_out(vty, "BTS does not support VAMOS%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (vamos) + ss_nr += ts->max_primary_lchans; + lchan = &ts->lchan[ss_nr]; if (!strcmp(act_str, "activate")) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If44b6bdb78046502eb0b66529ae190a955d9978c Gerrit-Change-Number: 24380 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:03:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:03:07 +0000 Subject: Change in osmo-bsc[master]: VTY: add lchan re-assignment command References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24381 ) Change subject: VTY: add lchan re-assignment command ...................................................................... VTY: add lchan re-assignment command Add VTY command to trigger an intra-cell re-assignment, also allowing to re-assign to a secondary VAMOS lchan. Related: SYS#5315 OS#4940 Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c 3 files changed, 70 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/81/24381/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 4690a2c..1891786 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -131,6 +131,7 @@ ASSIGN_FOR_NONE, ASSIGN_FOR_BSSMAP_REQ, ASSIGN_FOR_CONGESTION_RESOLUTION, + ASSIGN_FOR_VTY, }; extern const struct value_string assign_for_names[]; diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 48f397e..2581b98 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6534,6 +6534,73 @@ return CMD_SUCCESS; } +DEFUN(lchan_reassign, lchan_reassign_cmd, + "bts <0-255> trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> " + " reassign-to trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> " + TSC_ARGS_OPT, + "BTS nr\nTRX nr\ntimeslot nr\nnormal lchan\nvamos secondary lchan\nsub-slot nr\n" + "TRX nr\ntimeslot nr\nnormal lchan\nvamos secondary lchan\nsub-slot nr\n" + TSC_ARGS_DOC) +{ + const char *bts_str = argv[0]; + const char *from_trx_str = argv[1]; + const char *from_ts_str = argv[2]; + bool from_vamos = (strcmp(argv[3], "vamos-sub-slot") == 0); + int from_ss_nr = atoi(argv[4]); + const char *to_trx_str = argv[5]; + const char *to_ts_str = argv[6]; + bool to_vamos = (strcmp(argv[7], "vamos-sub-slot") == 0); + int to_ss_nr = atoi(argv[8]); + int tsc_set = (argc > 10) ? atoi(argv[10]) : -1; + int tsc = (argc > 11) ? atoi(argv[11]) : -1; + + struct gsm_bts_trx_ts *from_ts; + struct gsm_bts_trx_ts *to_ts; + struct gsm_lchan *from_lchan; + struct gsm_lchan *to_lchan; + + LOGP(DLGLOBAL, LOGL_NOTICE, "hi\n"); + + from_ts = vty_get_ts(vty, bts_str, from_trx_str, from_ts_str); + if (!from_ts) + return CMD_WARNING; + to_ts = vty_get_ts(vty, bts_str, to_trx_str, to_ts_str); + if (!to_ts) + return CMD_WARNING; + + if (from_vamos) + from_ss_nr += from_ts->max_primary_lchans; + from_lchan = &from_ts->lchan[from_ss_nr]; + + if (to_vamos) + to_ss_nr += to_ts->max_primary_lchans; + to_lchan = &to_ts->lchan[to_ss_nr]; + + if (!lchan_state_is(from_lchan, LCHAN_ST_ESTABLISHED)) { + vty_out(vty, "cannot re-assign, source lchan is not in ESTABLISHED state%s", VTY_NEWLINE); + return CMD_WARNING; + } + if (!lchan_state_is(to_lchan, LCHAN_ST_UNUSED)) { + vty_out(vty, "cannot re-assign, target lchan is already in use%s", VTY_NEWLINE); + return CMD_WARNING; + } + + /* lchan_select_*() sets the lchan->type, we need to do the same here, so that activation will work out. */ + to_lchan->type = chan_mode_to_chan_type(from_lchan->current_ch_mode_rate.chan_mode, + from_lchan->current_ch_mode_rate.chan_rate); + + LOG_LCHAN(from_lchan, LOGL_NOTICE, "VTY requests re-assignment of this lchan to %s%s\n", + gsm_lchan_name(to_lchan), to_lchan->vamos.is_secondary ? " (to VAMOS mode)" : ""); + LOG_LCHAN(to_lchan, LOGL_NOTICE, "VTY requests re-assignment of %s to this lchan%s TSC %d/%d\n", + gsm_lchan_name(from_lchan), to_lchan->vamos.is_secondary ? " (to VAMOS mode)" : "", + tsc_set, tsc); + if (reassignment_request_to_lchan(ASSIGN_FOR_VTY, from_lchan, to_lchan, tsc_set, tsc)) { + vty_out(vty, "failed to request re-assignment%s", VTY_NEWLINE); + return CMD_WARNING; + } + return CMD_SUCCESS; +} + DEFUN(ctrl_trap, ctrl_trap_cmd, "ctrl-interface generate-trap TRAP VALUE", "Commands related to the CTRL Interface\n" @@ -8012,6 +8079,7 @@ install_element(ENABLE_NODE, &lchan_act_all_trx_cmd); install_element(ENABLE_NODE, &lchan_mdcx_cmd); install_element(ENABLE_NODE, &lchan_set_borken_cmd); + install_element(ENABLE_NODE, &lchan_reassign_cmd); install_element(ENABLE_NODE, &handover_subscr_conn_cmd); install_element(ENABLE_NODE, &assignment_subscr_conn_cmd); diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 85ce8bf..e7a461d 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -1047,6 +1047,7 @@ OSMO_VALUE_STRING(ASSIGN_FOR_NONE), OSMO_VALUE_STRING(ASSIGN_FOR_BSSMAP_REQ), OSMO_VALUE_STRING(ASSIGN_FOR_CONGESTION_RESOLUTION), + OSMO_VALUE_STRING(ASSIGN_FOR_VTY), {} }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 Gerrit-Change-Number: 24381 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:03:20 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:03:20 +0000 Subject: Change in osmo-bsc[master]: log: assignment_fsm: drop newline from assignment_fail References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24382 ) Change subject: log: assignment_fsm: drop newline from assignment_fail ...................................................................... log: assignment_fsm: drop newline from assignment_fail Drop terminating newline from an assignment_fail() call which causes an erratic line feed in logging. Change-Id: Ib56e1f6a45c7e2c235f8ef0c8dea7151481677ab --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/82/24382/1 diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 854a906..94ac54f 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -599,7 +599,7 @@ assignment_count_result(CTR_ASSIGNMENT_NO_CHANNEL); assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, "BSSMAP Assignment Command:" - " No lchan available for: pref=%s:%s / alt1=%s:%s / alt2=%s:%s\n", + " No lchan available for: pref=%s:%s / alt1=%s:%s / alt2=%s:%s", gsm48_chan_mode_name(req->ch_mode_rate_list[0].chan_mode), rate_names[req->ch_mode_rate_list[0].chan_rate], req->n_ch_mode_rate > 1 ? gsm48_chan_mode_name(req->ch_mode_rate_list[1].chan_mode) : "", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib56e1f6a45c7e2c235f8ef0c8dea7151481677ab Gerrit-Change-Number: 24382 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:04:25 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:04:25 +0000 Subject: Change in osmo-bsc[master]: log: assignment_fsm: tweak err msg for incompatible chan References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24383 ) Change subject: log: assignment_fsm: tweak err msg for incompatible chan ...................................................................... log: assignment_fsm: tweak err msg for incompatible chan Related: SYS#5315 OS#4940 Change-Id: Ifd8790923d54a27061708ff8077d509238b9c7dd --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/83/24383/1 diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 94ac54f..95d5130 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -572,8 +572,10 @@ } if (!matching_mode) { assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, - "Assignment to lchan %s requested, but lchan is not compatible\n", - gsm_lchan_name(req->target_lchan)); + "Assignment of lchan %s to %s type %s requested, but lchan is not compatible", + gsm_lchan_name(conn->lchan), + gsm_lchan_name(req->target_lchan), + gsm_lchant_name(conn->assignment.new_lchan->type)); return; } } else { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifd8790923d54a27061708ff8077d509238b9c7dd Gerrit-Change-Number: 24383 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:04:25 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:04:25 +0000 Subject: Change in osmo-bsc[master]: clarify bts_chan_load References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24384 ) Change subject: clarify bts_chan_load ...................................................................... clarify bts_chan_load Change-Id: I9bd80a08472018e69360ac5739979c7056d4f063 --- M src/osmo-bsc/chan_alloc.c 1 file changed, 6 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/84/24384/1 diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index 402ca46..bd6929f 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -59,18 +59,17 @@ if (!nm_is_running(&ts->mo.nm_state)) continue; - /* Dynamic timeslots have to be counted separately - * when not in TCH/F or TCH/H mode because they don't - * have an lchan's allocated to them. At the same time, - * dynamic timeslots in NONE and PDCH modes are same - * as in UNUSED mode from the CS channel load perspective - * beause they can be switched to TCH mode at any moment. - * I.e. they are "available" for TCH. */ + /* A dynamic timeslot currently in PDCH mode are available as TCH, beause they can be switched + * to TCH mode at any moment. Count TCH/F_TCH/H_PDCH as one total timeslot, even though it may + * be switched to TCH/H and would then count as two -- hence opt for pessimistic load. */ if ((ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH || ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH) && (ts->pchan_is == GSM_PCHAN_NONE || ts->pchan_is == GSM_PCHAN_PDCH)) { pl->total++; + /* Below loop would not count this timeslot, since in PDCH mode it has no usable + * timeslots. But let's make it clear that the timeslot must not be counted again: */ + continue; } ts_for_n_lchans(lchan, ts, ts->max_primary_lchans) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9bd80a08472018e69360ac5739979c7056d4f063 Gerrit-Change-Number: 24384 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:04:25 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:04:25 +0000 Subject: Change in osmo-bsc[master]: get_any_lchan(): reduce minor code dup References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24385 ) Change subject: get_any_lchan(): reduce minor code dup ...................................................................... get_any_lchan(): reduce minor code dup Change-Id: I304a7333adc265e156f04b42a10bac6912f58ad2 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 4 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/85/24385/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index c0d9e4d..f3b6c3a 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1643,19 +1643,12 @@ ts = &trx->ts[ts_nr]; ts_for_n_lchans(lchan, ts, ts->max_primary_lchans) { if (lchan->type == GSM_LCHAN_TCH_F || lchan->type == GSM_LCHAN_TCH_H) { - if (bts->chan_alloc_reverse) { - if (lchan->fi->state == LCHAN_ST_ESTABLISHED) + if (lchan->fi->state == LCHAN_ST_ESTABLISHED){ + if (!lchan_est || bts->chan_alloc_reverse) lchan_est = lchan; - else - lchan_any = lchan; } else { - if (lchan->fi->state == LCHAN_ST_ESTABLISHED) { - if (!lchan_est) - lchan_est = lchan; - } else { - if (!lchan_any) - lchan_any = lchan; - } + if (!lchan_any || bts->chan_alloc_reverse) + lchan_any = lchan; } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I304a7333adc265e156f04b42a10bac6912f58ad2 Gerrit-Change-Number: 24385 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:37:50 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:37:50 +0000 Subject: Change in osmo-bsc[master]: add fields to reflect nr of lchans in ts struct In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24371 to look at the new patch set (#2). Change subject: add fields to reflect nr of lchans in ts struct ...................................................................... add fields to reflect nr of lchans in ts struct So far the number of usable lchans is determined on-the-fly by the physical channel config. With VAMOS, this becomes more complex, namely determining whether the BTS is vamos capable. Instead of calling a function to determine the number of lchans for every use, rather place the number of valid lchans in int members of the timeslot struct, and initialize those during timeslot setup. Actual use of these new fields will follow in a subsequent patch, which introduces the ts_for_n_lchans() macro to replace current lchan iteration macros. Related: SYS#5315 OS#4940 Change-Id: I08027d79db71a23e874b729c4e6173b0f269ee4f --- M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/timeslot_fsm.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/timeslot_fsm.c M tests/handover/handover_test.c 5 files changed, 35 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/71/24371/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I08027d79db71a23e874b729c4e6173b0f269ee4f Gerrit-Change-Number: 24371 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:37:50 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:37:50 +0000 Subject: Change in osmo-bsc[master]: add VAMOS secondary lchans to timeslot struct In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24377 to look at the new patch set (#2). Change subject: add VAMOS secondary lchans to timeslot struct ...................................................................... add VAMOS secondary lchans to timeslot struct So far there is a bunch of code setting a primary lchan in VAMOS mode. This patch now adds the actual secondary "shadow" lchans that may be combined with a primary lchan in VAMOS mode to form a multiplex. VAMOS lchans are put in the same ts->lchan[] array that keeps the primary lchans. They are at most two additional usable lchans (for a TCH/H shadow) added to either TCH/F or TCH/H. Keeping these in the same array allows looping over all lchans easily. The ts->max_primary_lchans indicates the index of the first VAMOS shadow lchan. Related: SYS#5315 OS#4940 Change-Id: I928af99498bba488d317693f3144d4fccbbe9af3 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/timeslot_fsm.c 6 files changed, 154 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/77/24377/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I928af99498bba488d317693f3144d4fccbbe9af3 Gerrit-Change-Number: 24377 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:37:51 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:37:51 +0000 Subject: Change in osmo-bsc[master]: no sigterm sleep References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24386 ) Change subject: no sigterm sleep ...................................................................... no sigterm sleep Change-Id: Ic1c5df22e103fcb0b276cb347cb12dfa440eeb01 --- M src/osmo-bsc/osmo_bsc_main.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/86/24386/1 diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index 3069cc0..0f90a79 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -699,7 +699,7 @@ case SIGTERM: bsc_shutdown_net(bsc_gsmnet); osmo_signal_dispatch(SS_L_GLOBAL, S_L_GLOBAL_SHUTDOWN, NULL); - sleep(3); + //sleep(3); exit(0); break; case SIGABRT: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic1c5df22e103fcb0b276cb347cb12dfa440eeb01 Gerrit-Change-Number: 24386 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 23 23:39:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 23 May 2021 23:39:08 +0000 Subject: Change in osmo-bsc[master]: no sigterm sleep In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24386 ) Change subject: no sigterm sleep ...................................................................... Abandoned accidental submission -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic1c5df22e103fcb0b276cb347cb12dfa440eeb01 Gerrit-Change-Number: 24386 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-CC: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 00:38:06 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 24 May 2021 00:38:06 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 to look at the new patch set (#4). Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... implement Channel Mode Modify to VAMOS mode Related: SYS#5315 OS#4940 Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c M tests/osmo-bsc.vty 6 files changed, 187 insertions(+), 42 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/74/24374/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 00:38:06 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 24 May 2021 00:38:06 +0000 Subject: Change in osmo-bsc[master]: implement CHANnel ACTIVate to VAMOS mode In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 to look at the new patch set (#4). Change subject: implement CHANnel ACTIVate to VAMOS mode ...................................................................... implement CHANnel ACTIVate to VAMOS mode Related: SYS#5315 OS#4940 Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/lchan_fsm.c M tests/osmo-bsc.vty 5 files changed, 45 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/75/24375/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec Gerrit-Change-Number: 24375 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 00:38:06 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 24 May 2021 00:38:06 +0000 Subject: Change in osmo-bsc[master]: VTY: add 'vamos-subslot' to activate a secondary lchan In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24380 to look at the new patch set (#4). Change subject: VTY: add 'vamos-subslot' to activate a secondary lchan ...................................................................... VTY: add 'vamos-subslot' to activate a secondary lchan Related: SYS#5315 OS#4940 Change-Id: If44b6bdb78046502eb0b66529ae190a955d9978c --- M src/osmo-bsc/bsc_vty.c M tests/osmo-bsc.vty 2 files changed, 27 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/80/24380/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If44b6bdb78046502eb0b66529ae190a955d9978c Gerrit-Change-Number: 24380 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 00:38:06 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 24 May 2021 00:38:06 +0000 Subject: Change in osmo-bsc[master]: VTY: add lchan re-assignment command In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 to look at the new patch set (#4). Change subject: VTY: add lchan re-assignment command ...................................................................... VTY: add lchan re-assignment command Add VTY command to trigger an intra-cell re-assignment, also allowing to re-assign to a secondary VAMOS lchan. Related: SYS#5315 OS#4940 Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M tests/osmo-bsc.vty 4 files changed, 112 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/81/24381/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 Gerrit-Change-Number: 24381 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 00:38:09 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 24 May 2021 00:38:09 +0000 Subject: Change in osmo-bsc[master]: vty-test: osmo-bsc.vty: test doc of lchan activate cmd References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24387 ) Change subject: vty-test: osmo-bsc.vty: test doc of lchan activate cmd ...................................................................... vty-test: osmo-bsc.vty: test doc of lchan activate cmd A subsequent patch will add to this VTY command, so let's first test the current status as a baseline. Change-Id: I6379e306fb8fa6ec227125c6cf14893d674e7596 --- M tests/osmo-bsc.vty 1 file changed, 55 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/87/24387/1 diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty index ac82e79..f519667 100644 --- a/tests/osmo-bsc.vty +++ b/tests/osmo-bsc.vty @@ -38,6 +38,61 @@ OsmoBSC# vamos modify lchan 0 0 0 0 tsc 1 0 ? + +OsmoBSC# list +... + bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> (activate|deactivate) (hr|fr|efr|amr|sig) [<0-7>] +... + +OsmoBSC# bts? + bts BTS Specific Commands + +OsmoBSC# bts ? + <0-255> BTS Number + +OsmoBSC# bts 0 ? + resend-system-information Re-generate + re-send BCCH SYSTEM INFORMATION + resend-power-control-defaults Re-generate + re-send default MS/BS Power control parameters + trx TRX for manual command + oml Manipulate the OML managed objects + om2000 Manipulate the OM2000 managed objects + +OsmoBSC# bts 0 trx ? + <0-255> TRX Number + +OsmoBSC# bts 0 trx 0 ? + timeslot Timeslot for manual command + +OsmoBSC# bts 0 trx 0 timeslot ? + <0-7> Timeslot Number + +OsmoBSC# bts 0 trx 0 timeslot 0 ? + pdch Packet Data Channel + sub-slot Sub-slot for manual command + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot ? + <0-7> Sub-slot Number + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 ? + activate Manual Channel Activation (e.g. for BER test) + deactivate Manual Channel Deactivation (e.g. for BER test) + mdcx Modify RTP Connection + handover Manually trigger handover (for debugging) + assignment Manually trigger assignment (for debugging) + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 activate ? + hr Half-Rate v1 + fr Full-Rate + efr Enhanced Full Rate + amr Adaptive Multi-Rate + sig Signalling + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 activate fr ? + [<0-7>] AMR Mode + +OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 activate fr 0 ? + + OsmoBSC# configure terminal OsmoBSC(config)# network OsmoBSC(config-net)# list -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6379e306fb8fa6ec227125c6cf14893d674e7596 Gerrit-Change-Number: 24387 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 07:11:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 May 2021 07:11:41 +0000 Subject: Change in pysim[master]: contrib: Add sim-rest-{server,client}.py In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24342 ) Change subject: contrib: Add sim-rest-{server,client}.py ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I738ca3109ab038d4f5595cc1dab6a49087df5886 Gerrit-Change-Number: 24342 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 24 May 2021 07:11:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 07:12:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 May 2021 07:12:10 +0000 Subject: Change in pysim[master]: contrib: Add sim-rest-{server,client}.py In-Reply-To: References: Message-ID: laforge has removed a vote from this change. ( https://gerrit.osmocom.org/c/pysim/+/24342 ) Change subject: contrib: Add sim-rest-{server,client}.py ...................................................................... Removed Code-Review+2 by laforge -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I738ca3109ab038d4f5595cc1dab6a49087df5886 Gerrit-Change-Number: 24342 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 07:14:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 May 2021 07:14:33 +0000 Subject: Change in pysim[master]: execute unit tests via nose from "setup.py test" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24349 ) Change subject: execute unit tests via nose from "setup.py test" ...................................................................... Patch Set 2: > Patch Set 1: > > Would be good to see the motivation for this change in the commit message, i.e. why testing with nose is better? I never heard of it... My main point is being able to execute it from the standard "./setup.py test" command. I tried to make this work with unittest but failed. An official-looking document I foun don packaging using setuptools recommended using nose, and using nose I could get it integrated to setup.py quickly. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8b2205b2c4e31f4ca64d0e48f8073799c61c29c7 Gerrit-Change-Number: 24349 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 24 May 2021 07:14:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 07:16:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 May 2021 07:16:36 +0000 Subject: Change in pysim[master]: execute unit tests via nose from "setup.py test" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24349 ) Change subject: execute unit tests via nose from "setup.py test" ...................................................................... Patch Set 2: It was https://python-packaging.readthedocs.io/en/latest/testing.html -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8b2205b2c4e31f4ca64d0e48f8073799c61c29c7 Gerrit-Change-Number: 24349 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 24 May 2021 07:16:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Mon May 24 18:45:02 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Mon, 24 May 2021 18:45:02 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-opencm3-projects_=C2=BB_a1=3Ddefa?= =?UTF-8?Q?ult,a2=3Ddefault,a3=3Ddefault,a4=3Dde?= =?UTF-8?Q?fault,osmocom-master-debian9_#18?= In-Reply-To: <1932569013.1601.1621795502115@jenkins.osmocom.org> References: <1932569013.1601.1621795502115@jenkins.osmocom.org> Message-ID: <1444559557.1660.1621881902086@jenkins.osmocom.org> See Changes: ------------------------------------------ Started by upstream project "master-osmo-opencm3-projects" build number 18 originally caused by: Started by timer Running as SYSTEM Building remotely on build2-deb9build-ansible (ttcn3 osmocom-gerrit-debian9 osmocom-master-debian9 repo-install-test coverity) in workspace The recommended git tool is: NONE No credentials specified > git rev-parse --resolve-git-dir # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url git://git.osmocom.org/osmo-opencm3-projects # timeout=10 Fetching upstream changes from git://git.osmocom.org/osmo-opencm3-projects > git --version # timeout=10 > git --version # 'git version 2.11.0' > git fetch --tags --progress -- git://git.osmocom.org/osmo-opencm3-projects +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision 7527cab6d8364b2022bd4fa2fd03039eac2a99bb (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 Commit message: "add missing libcommon.mk" > git rev-list --no-walk 7527cab6d8364b2022bd4fa2fd03039eac2a99bb # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 > git config --get submodule.libopencm3.url # timeout=10 > git config -f .gitmodules --get submodule.libopencm3.path # timeout=10 > git config --get submodule.librfn.url # timeout=10 > git config -f .gitmodules --get submodule.librfn.path # timeout=10 > git submodule update --init --recursive libopencm3 # timeout=10 > git submodule update --init --recursive librfn # timeout=10 [osmocom-master-debian9] $ /bin/sh -xe /tmp/jenkins7215820030571206298.sh + ARTIFACT_STORE=/home/osmocom-build/jenkins_build_artifact_store + mkdir -p /home/osmocom-build/jenkins_build_artifact_store + docker run --rm=true --cap-add SYS_PTRACE -e ARTIFACT_STORE=/artifact_store -e ASCIIDOC_WARNINGS_CHECK=1 -e HOME=/build -e JOB_NAME=master-osmo-opencm3-projects/a1=default,a2=default,a3=default,a4=default,label=osmocom-master-debian9 -e MAKE=make -e OSMOPY_DEBUG_TCP_SOCKETS=1 -e OSMO_GSM_MANUALS_DIR=/opt/osmo-gsm-manuals -e PARALLEL_MAKE=-j 8 -e PUBLISH=1 -e WITH_MANUALS=1 -w /build -i -u build -v :/build -v /home/osmocom-build/jenkins_build_artifact_store:/artifact_store -v /home/osmocom-build/.ssh:/home/build/.ssh:ro osmocom-build/debian-stretch-jenkins /build/contrib/jenkins.sh --publish =============== relay-driver START ============== CLEAN CC console.c arm-none-eabi-gcc: error: /usr/lib/picolibc/arm-none-eabi/picolibc.specs: No such file or directory make: *** [console.o] Error 1 ../../mk/libopencm3.mk:227: recipe for target 'console.o' failed Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Mon May 24 20:05:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 May 2021 20:05:55 +0000 Subject: Change in osmo-bsc[master]: ctrl: Introduce CTRL SET cmd to apply VTY cfg file In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, daniel, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24253 to look at the new patch set (#6). Change subject: ctrl: Introduce CTRL SET cmd to apply VTY cfg file ...................................................................... ctrl: Introduce CTRL SET cmd to apply VTY cfg file Depends: libosmocore.git Change-Id I720ac04386261628c0798a1bfcaa91e2490a86c3 Related: SYS#5369 Change-Id: I4c6c13418e5f7b4681b0e2a5cc8bb3bc6d8d17c3 --- M TODO-RELEASE M src/osmo-bsc/bsc_ctrl_commands.c M tests/Makefile.am A tests/ctrl/osmo-bsc-apply-config-file-invalid.cfg A tests/ctrl/osmo-bsc-apply-config-file.cfg M tests/ctrl_test_runner.py 6 files changed, 149 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/53/24253/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c6c13418e5f7b4681b0e2a5cc8bb3bc6d8d17c3 Gerrit-Change-Number: 24253 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 20:10:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 May 2021 20:10:06 +0000 Subject: Change in osmo-pcu[master]: tbf: Move existing tbf_state implementation to osmo_fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24235 ) Change subject: tbf: Move existing tbf_state implementation to osmo_fsm ...................................................................... Patch Set 3: empty enums are not allowed: "tbf_fsm.h:31:1: error: empty enum is invalid" So let's merge this at is. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6bb4baea2dee191ba5bbcbec2ea9dcf681aa1237 Gerrit-Change-Number: 24235 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 May 2021 20:10:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 20:19:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 May 2021 20:19:33 +0000 Subject: Change in osmo-bsc[master]: ctrl: Introduce CTRL SET cmd to apply VTY cfg file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24253 ) Change subject: ctrl: Introduce CTRL SET cmd to apply VTY cfg file ...................................................................... Patch Set 6: Code-Review+2 Merging after rebase (solve conflicts in TODO-RELEASE) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c6c13418e5f7b4681b0e2a5cc8bb3bc6d8d17c3 Gerrit-Change-Number: 24253 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 May 2021 20:19:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 20:19:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 May 2021 20:19:35 +0000 Subject: Change in osmo-bsc[master]: ctrl: Introduce CTRL SET cmd to apply VTY cfg file In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24253 ) Change subject: ctrl: Introduce CTRL SET cmd to apply VTY cfg file ...................................................................... ctrl: Introduce CTRL SET cmd to apply VTY cfg file Depends: libosmocore.git Change-Id I720ac04386261628c0798a1bfcaa91e2490a86c3 Related: SYS#5369 Change-Id: I4c6c13418e5f7b4681b0e2a5cc8bb3bc6d8d17c3 --- M TODO-RELEASE M src/osmo-bsc/bsc_ctrl_commands.c M tests/Makefile.am A tests/ctrl/osmo-bsc-apply-config-file-invalid.cfg A tests/ctrl/osmo-bsc-apply-config-file.cfg M tests/ctrl_test_runner.py 6 files changed, 149 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index d13cea4..e64aebb 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -11,3 +11,4 @@ libosmogsm >1.5.1 enum entry GSM0808_FE_IE_LAST_USED_EUTRAN_PLMN_ID libosmogsm >1.5.1 introduced struct needed gsm0808_old_bss_to_new_bss_info->last_eutran_plmn_id libosmo-mgcp-client >1.8.0 need osmo_mgcpc_ep_ci_get_remote_rtp_info() +libosmovty >1.5.1 needs vty_read_config_filep() diff --git a/src/osmo-bsc/bsc_ctrl_commands.c b/src/osmo-bsc/bsc_ctrl_commands.c index 96aeba2..9038404 100644 --- a/src/osmo-bsc/bsc_ctrl_commands.c +++ b/src/osmo-bsc/bsc_ctrl_commands.c @@ -22,6 +22,9 @@ #include #include + +#include + #include #include #include @@ -32,6 +35,53 @@ #include #include +static int verify_net_apply_config_file(struct ctrl_cmd *cmd, const char *value, void *_data) +{ + FILE *cfile; + + if (!cmd->value || cmd->value[0] == '\0') + return -1; + + cfile = fopen(cmd->value, "r"); + if (!cfile) + return -1; + + fclose(cfile); + + return 0; +} +static int set_net_apply_config_file(struct ctrl_cmd *cmd, void *_data) +{ + int rc; + FILE *cfile; + unsigned cmd_ret = CTRL_CMD_ERROR; + + LOGP(DCTRL, LOGL_NOTICE, "Applying VTY snippet from %s...\n", cmd->value); + cfile = fopen(cmd->value, "r"); + if (!cfile) { + LOGP(DCTRL, LOGL_NOTICE, "Applying VTY snippet from %s: fopen() failed: %d\n", + cmd->value, errno); + cmd->reply = "NoFile"; + goto close_ret; + } + + rc = vty_read_config_filep(cfile, NULL); + LOGP(DCTRL, LOGL_NOTICE, "Applying VTY snippet from %s returned %d\n", cmd->value, rc); + if (rc) { + cmd->reply = talloc_asprintf(cmd, "ParseError=%d", rc); + if (!cmd->reply) + cmd->reply = "OOM"; + goto close_ret; + } + + cmd->reply = "OK"; + cmd_ret = CTRL_CMD_REPLY; +close_ret: + fclose(cfile); + return cmd_ret; +} +CTRL_CMD_DEFINE_WO(net_apply_config_file, "apply-config-file"); + CTRL_CMD_DEFINE(net_mcc, "mcc"); static int get_net_mcc(struct ctrl_cmd *cmd, void *_data) { @@ -477,6 +527,7 @@ int bsc_base_ctrl_cmds_install(void) { int rc = 0; + rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_apply_config_file); rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_mnc); rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_mcc); rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_apply_config); diff --git a/tests/Makefile.am b/tests/Makefile.am index 6bc7839..5e23be0 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -42,6 +42,8 @@ timer.vty \ power_ctrl.vty \ ctrl/osmo-bsc-neigh-test.cfg \ + ctrl/osmo-bsc-apply-config-file.cfg \ + ctrl/osmo-bsc-apply-config-file-invalid.cfg \ $(NULL) TESTSUITE = $(srcdir)/testsuite diff --git a/tests/ctrl/osmo-bsc-apply-config-file-invalid.cfg b/tests/ctrl/osmo-bsc-apply-config-file-invalid.cfg new file mode 100644 index 0000000..b819f7d --- /dev/null +++ b/tests/ctrl/osmo-bsc-apply-config-file-invalid.cfg @@ -0,0 +1,2 @@ +network + btssss-invalid-cmd diff --git a/tests/ctrl/osmo-bsc-apply-config-file.cfg b/tests/ctrl/osmo-bsc-apply-config-file.cfg new file mode 100644 index 0000000..1a069ce --- /dev/null +++ b/tests/ctrl/osmo-bsc-apply-config-file.cfg @@ -0,0 +1,55 @@ +network + bts 1 + type osmo-bts + band DCS1800 + cell_identity 123 + location_area_code 1 + base_station_id_code 55 + ms max power 15 + cell reselection hysteresis 4 + rxlev access min 0 + radio-link-timeout 32 + channel allocator ascending + rach tx integer 9 + rach max transmission 7 + channel-description attach 1 + channel-description bs-pa-mfrms 5 + channel-description bs-ag-blks-res 1 + early-classmark-sending forbidden + ipa unit-id 55 0 + oml ipa stream-id 255 line 0 + codec-support fr + gprs mode gprs + gprs routing area 6 + neighbor bts 0 + trx 0 + rf_locked 0 + arfcn 880 + nominal power 23 + ! to use full TRX power, set max_power_red 0 + max_power_red 20 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4 + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 6 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 7 + phys_chan_config TCH/F + hopping enabled 0 diff --git a/tests/ctrl_test_runner.py b/tests/ctrl_test_runner.py index 501b917..64f93fc 100755 --- a/tests/ctrl_test_runner.py +++ b/tests/ctrl_test_runner.py @@ -488,6 +488,44 @@ self.assertEqual(r['var'], 'mcc') self.assertEqual(r['value'], '002') + + def testApplyConfigFile(self): + + vty_file = os.path.join(confpath, 'tests/ctrl/osmo-bsc-apply-config-file.cfg') + vty_file_invalid = os.path.join(confpath, 'tests/ctrl/osmo-bsc-apply-config-file-invalid.cfg') + + # Test some invalid input + r = self.do_set('apply-config-file', 'wrong-file-name-nonexistent') + self.assertEqual(r['mtype'], 'ERROR') + + # Test some existing file with invalid content + r = self.do_set('apply-config-file', vty_file_invalid) + self.assertEqual(r['mtype'], 'ERROR') + + #bts1 shouldn't exist yet, let's check: + r = self.do_get('bts.1.location-area-code') + self.assertEqual(r['mtype'], 'ERROR') + self.assertEqual(r['error'], 'Error while resolving object') + + r = self.do_set('apply-config-file', vty_file) + print('respose: ' + str(r)) + self.assertEqual(r['mtype'], 'SET_REPLY') + self.assertEqual(r['var'], 'apply-config-file') + self.assertEqual(r['value'], 'OK') + + # BTS1 should exist now: + r = self.do_get('bts.1.location-area-code') + self.assertEqual(r['mtype'], 'GET_REPLY') + self.assertEqual(r['var'], 'bts.1.location-area-code') + self.assertEqual(r['value'], '1') + + # Set it again + r = self.do_set('apply-config-file', vty_file) + self.assertEqual(r['mtype'], 'SET_REPLY') + self.assertEqual(r['var'], 'apply-config-file') + self.assertEqual(r['value'], 'OK') + + class TestCtrlBSCNeighbor(TestCtrlBase): def tearDown(self): -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c6c13418e5f7b4681b0e2a5cc8bb3bc6d8d17c3 Gerrit-Change-Number: 24253 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 21:21:34 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 24 May 2021 21:21:34 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: move selection of the next bind into own function In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24122 to look at the new patch set (#3). Change subject: gprs_ns2_sns: move selection of the next bind into own function ...................................................................... gprs_ns2_sns: move selection of the next bind into own function It will be also used by del_bind() when removing an active bind Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d --- M src/gb/gprs_ns2_sns.c 1 file changed, 10 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/24122/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d Gerrit-Change-Number: 24122 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 21:21:41 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 24 May 2021 21:21:41 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: move selection of the next bind into own function In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24122 ) Change subject: gprs_ns2_sns: move selection of the next bind into own function ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24122/2/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/24122/2/src/gb/gprs_ns2_sns.c at 889 PS2, Line 889: if (!gss->initial_bind) { > this can be furhter simplified to: [?] Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d Gerrit-Change-Number: 24122 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 May 2021 21:21:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 21:24:02 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 24 May 2021 21:24:02 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: move selection of the next bind into own function In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24122 to look at the new patch set (#4). Change subject: gprs_ns2_sns: move selection of the next bind into own function ...................................................................... gprs_ns2_sns: move selection of the next bind into own function It will be also used by del_bind() when removing an active bind Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d --- M src/gb/gprs_ns2_sns.c 1 file changed, 10 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/24122/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d Gerrit-Change-Number: 24122 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 21:27:56 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 May 2021 21:27:56 +0000 Subject: Change in osmo-bsc[master]: handover dot charts: fix wrong transitions regarding MGW In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24359 ) Change subject: handover dot charts: fix wrong transitions regarding MGW ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2ed9b3ca7fe145a930ca509e6b3943f5abf3aa62 Gerrit-Change-Number: 24359 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 24 May 2021 21:27:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 21:29:36 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 May 2021 21:29:36 +0000 Subject: Change in osmo-bsc[master]: handover_test: fix naming/wording: 'handover-req' should be 'handover... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24360 ) Change subject: handover_test: fix naming/wording: 'handover-req' should be 'handover-cmd' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0c20971590e4b1a19f77ff3f15d58992eeebfbd9 Gerrit-Change-Number: 24360 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 24 May 2021 21:29:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 21:31:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 May 2021 21:31:33 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: tweak state transitions (prep for reassignment) In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24361 ) Change subject: assignment_fsm: tweak state transitions (prep for reassignment) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9a2e7eefd4196b80671311e5dfd275893ec0e275 Gerrit-Change-Number: 24361 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 24 May 2021 21:31:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 21:41:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 May 2021 21:41:07 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: allow assignment to a specific lchan In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24362 ) Change subject: assignment_fsm: allow assignment to a specific lchan ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71e0d4ff4746706e0be5266e4574d70ca432e3d7 Gerrit-Change-Number: 24362 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 24 May 2021 21:41:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 21:44:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 May 2021 21:44:02 +0000 Subject: Change in osmo-bsc[master]: vty: actually trigger Assignment for 'assignment', not HO In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24363 ) Change subject: vty: actually trigger Assignment for 'assignment', not HO ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iee11f1ae0533d7db844e68a5c4c48d0fe3e27297 Gerrit-Change-Number: 24363 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 24 May 2021 21:44:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 21:55:52 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 May 2021 21:55:52 +0000 Subject: Change in osmo-bsc[master]: hodec 2: do intra-cell congestion resolution by Assignment In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24364 ) Change subject: hodec 2: do intra-cell congestion resolution by Assignment ...................................................................... Patch Set 3: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24364/3/tests/handover/handover_test.c File tests/handover/handover_test.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24364/3/tests/handover/handover_test.c at 584 PS3, Line 584: buf = msgb_put(msg, 3); You could (ab)use msgb_tv16_put() here: msgb_tv16_put(msg, RSL_IE_L3_INFO, sizeof(*gh) + sizeof(*hc)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id56a890106b93fcee67ac9401b890e7b63bba421 Gerrit-Change-Number: 24364 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 24 May 2021 21:55:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 21:58:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 May 2021 21:58:34 +0000 Subject: Change in osmo-bsc[master]: RSL link: explicitly select rsl_link based on lchan In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24365 ) Change subject: RSL link: explicitly select rsl_link based on lchan ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifbf16bb296e91f151d19e15e39f5c953ad77ff17 Gerrit-Change-Number: 24365 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 24 May 2021 21:58:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 22:05:42 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 May 2021 22:05:42 +0000 Subject: Change in osmo-bsc[master]: add secondary RSL link for VAMOS (shadow TEI) In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24366 ) Change subject: add secondary RSL link for VAMOS (shadow TEI) ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24366/3/include/osmocom/bsc/bts_trx.h File include/osmocom/bsc/bts_trx.h: https://gerrit.osmocom.org/c/osmo-bsc/+/24366/3/include/osmocom/bsc/bts_trx.h at 37 PS3, Line 37: rsl_tei_vamos Do you really need this field? It's always (rsl_tei_primary + 0x80) AFAICS. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic304924b017f4588f749268e99ed1326db4c9f47 Gerrit-Change-Number: 24366 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 24 May 2021 22:05:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 22:07:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 May 2021 22:07:10 +0000 Subject: Change in osmo-bsc[master]: add chan_mode_to_chan_type() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24367 ) Change subject: add chan_mode_to_chan_type() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I296651ebadba81f8b3db0d9bb5b5377877a43677 Gerrit-Change-Number: 24367 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 24 May 2021 22:07:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 22:08:52 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 May 2021 22:08:52 +0000 Subject: Change in osmo-bsc[master]: gsm48_lchan2chan_desc(): expose TSC as param In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24368 ) Change subject: gsm48_lchan2chan_desc(): expose TSC as param ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I49503a6f5d25bb3bc9a0505bd79ed1d5c4f50577 Gerrit-Change-Number: 24368 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 24 May 2021 22:08:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 23:24:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 May 2021 23:24:02 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24388 ) Change subject: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values ...................................................................... [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values Change-Id: Idc5796151e3e83f42d60c2d4cb7c35890d76a7f5 Related: SYS#4895, OS#4941 --- M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/trx_if.c M src/osmo-bts-trx/trx_if.h M src/osmo-bts-trx/trx_provision_fsm.c M src/osmo-bts-trx/trx_provision_fsm.h M src/osmo-bts-trx/trx_vty.c 7 files changed, 83 insertions(+), 57 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/88/24388/1 diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 3f95a69..3be5179 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -271,15 +271,9 @@ struct phy_instance *pinst = trx_phy_instance(ts->trx); struct trx_l1h *l1h = pinst->u.osmotrx.hdl; uint8_t tn = ts->nr; - uint16_t tsc = ts->tsc; uint8_t slottype; int rc; - /* all TSC of all timeslots must be equal, because transceiver only - * supports one TSC per TRX */ - - osmo_fsm_inst_dispatch(l1h->provision_fi, TRX_PROV_EV_CFG_TSC, (void*)(intptr_t)tsc); - /* ignore disabled slots */ if (!(l1h->config.slotmask & (1 << tn))) return NM_NACK_RES_NOTAVAIL; @@ -303,6 +297,13 @@ struct trx_prov_ev_cfg_ts_data data = { .tn = tn, .slottype = slottype }; + if (ts->tsc_set != 0 || ts->tsc != BTS_TSC(ts->trx->bts)) { + /* On TRXC we use 3GPP compliant numbering, so +1 */ + data.tsc_set = ts->tsc_set + 1; + data.tsc_val = ts->tsc; + data.tsc_valid = true; + } + osmo_fsm_inst_dispatch(l1h->provision_fi, TRX_PROV_EV_CFG_TS, &data); return 0; diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index 864bb69..50369d9 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -105,9 +105,14 @@ uint8_t slotmask; - bool slottype_valid[TRX_NR_TS]; - uint8_t slottype[TRX_NR_TS]; - bool slottype_sent[TRX_NR_TS]; + bool setslot_valid[TRX_NR_TS]; + struct { + uint8_t slottype; + uint8_t tsc_set; + uint8_t tsc_val; + bool tsc_valid; + } setslot[TRX_NR_TS]; + bool setslot_sent[TRX_NR_TS]; }; struct trx_l1h { diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index af1deef..c10a15f 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -8,6 +8,7 @@ * Copyright (C) 2013 Andreas Eversberg * Copyright (C) 2016-2017 Harald Welte * Copyright (C) 2019 Vadim Yanitskiy + * Copyright (C) 2021 sysmocom - s.m.f.c. GmbH * * All Rights Reserved * @@ -326,10 +327,21 @@ return trx_ctrl_cmd(l1h, 0, "SETMAXDLYNB", "%d", dly); } -/*! Send "SETSLOT" command to TRX: Configure Channel Combination for TS */ -int trx_if_cmd_setslot(struct trx_l1h *l1h, uint8_t tn, uint8_t type, trx_if_cmd_setslot_cb *cb) +/*! Send "SETSLOT" command to TRX: Configure Channel Combination and TSC for TS */ +int trx_if_cmd_setslot(struct trx_l1h *l1h, uint8_t tn, + trx_if_cmd_setslot_cb *cb) { - return trx_ctrl_cmd_cb(l1h, 1, cb, "SETSLOT", "%d %d", tn, type); + const struct trx_config *cfg = &l1h->config; + + if (cfg->setslot[tn].tsc_valid) { /* PHY is instructed to use a custom TSC */ + return trx_ctrl_cmd_cb(l1h, 1, cb, "SETSLOT", "%u %u C%u/S%u", + tn, cfg->setslot[tn].slottype, + cfg->setslot[tn].tsc_val, + cfg->setslot[tn].tsc_set); + } else { /* PHY is instructed to use the default TSC from 'SETTSC' */ + return trx_ctrl_cmd_cb(l1h, 1, cb, "SETSLOT", "%u %u", + tn, cfg->setslot[tn].slottype); + } } /*! Send "RXTUNE" command to TRX: Tune Receiver to given ARFCN */ diff --git a/src/osmo-bts-trx/trx_if.h b/src/osmo-bts-trx/trx_if.h index e131d56..b838b76 100644 --- a/src/osmo-bts-trx/trx_if.h +++ b/src/osmo-bts-trx/trx_if.h @@ -34,7 +34,7 @@ int trx_if_cmd_setpower_att(struct trx_l1h *l1h, int power_att_db, trx_if_cmd_setpower_att_cb *cb); int trx_if_cmd_setmaxdly(struct trx_l1h *l1h, int dly); int trx_if_cmd_setmaxdlynb(struct trx_l1h *l1h, int dly); -int trx_if_cmd_setslot(struct trx_l1h *l1h, uint8_t tn, uint8_t type, trx_if_cmd_setslot_cb *cb); +int trx_if_cmd_setslot(struct trx_l1h *l1h, uint8_t tn, trx_if_cmd_setslot_cb *cb); int trx_if_cmd_rxtune(struct trx_l1h *l1h, uint16_t arfcn, trx_if_cmd_generic_cb *cb); int trx_if_cmd_txtune(struct trx_l1h *l1h, uint16_t arfcn, trx_if_cmd_generic_cb *cb); int trx_if_cmd_handover(struct trx_l1h *l1h, uint8_t tn, uint8_t ss); diff --git a/src/osmo-bts-trx/trx_provision_fsm.c b/src/osmo-bts-trx/trx_provision_fsm.c index 070037d..60cdd78 100644 --- a/src/osmo-bts-trx/trx_provision_fsm.c +++ b/src/osmo-bts-trx/trx_provision_fsm.c @@ -192,16 +192,15 @@ } /* Returns true if any TS changed, false otherwise */ -static bool update_ts_data(struct trx_l1h *l1h, struct trx_prov_ev_cfg_ts_data* ts_data) { +static void update_ts_data(struct trx_l1h *l1h, struct trx_prov_ev_cfg_ts_data *data) +{ + l1h->config.setslot[data->tn].slottype = data->slottype; + l1h->config.setslot[data->tn].tsc_set = data->tsc_set; + l1h->config.setslot[data->tn].tsc_val = data->tsc_val; + l1h->config.setslot[data->tn].tsc_valid = data->tsc_valid; - if (l1h->config.slottype[ts_data->tn] != ts_data->slottype || - !l1h->config.slottype_valid[ts_data->tn]) { - l1h->config.slottype[ts_data->tn] = ts_data->slottype; - l1h->config.slottype_valid[ts_data->tn] = true; - l1h->config.slottype_sent[ts_data->tn] = false; - return true; - } - return false; + l1h->config.setslot_valid[data->tn] = true; + l1h->config.setslot_sent[data->tn] = false; } /* Whether a given TRX is fully configured and can be powered on */ @@ -290,9 +289,7 @@ struct trx_l1h *l1h = (struct trx_l1h *)fi->priv; struct phy_instance *pinst = l1h->phy_inst; struct gsm_bts_trx *trx = pinst->trx; - uint8_t bsic; uint16_t arfcn; - uint16_t tsc; int nominal_power; int status; bool others_ready; @@ -302,11 +299,21 @@ l1h->config.enabled =(bool)data; break; case TRX_PROV_EV_CFG_BSIC: - bsic = (uint8_t)(intptr_t)data; - if (l1h->config.bsic != bsic || !l1h->config.bsic_valid) { - l1h->config.bsic = bsic; - l1h->config.bsic_valid = true; - l1h->config.bsic_sent = false; + /* We always get BSIC from the BSC, TSC can be derived from the BCC */ + if (!pinst->phy_link->u.osmotrx.use_legacy_setbsic) { + const uint8_t tsc = BSIC2BCC((uint8_t)(intptr_t)data); + if (l1h->config.tsc != tsc || !l1h->config.tsc_valid) { + l1h->config.tsc = tsc; + l1h->config.tsc_valid = true; + l1h->config.tsc_sent = false; + } + } else { + const uint8_t bsic = (uint8_t)(intptr_t)data; + if (l1h->config.bsic != bsic || !l1h->config.bsic_valid) { + l1h->config.bsic = bsic; + l1h->config.bsic_valid = true; + l1h->config.bsic_sent = false; + } } break; case TRX_PROV_EV_CFG_ARFCN: @@ -319,14 +326,6 @@ l1h->config.nomtxpower_sent = false; } break; - case TRX_PROV_EV_CFG_TSC: - tsc = (uint16_t)(intptr_t)data; - if (l1h->config.tsc != tsc || !l1h->config.tsc_valid) { - l1h->config.tsc = tsc; - l1h->config.tsc_valid = true; - l1h->config.tsc_sent = false; - } - break; case TRX_PROV_EV_CFG_TS: update_ts_data(l1h, (struct trx_prov_ev_cfg_ts_data*)data); break; @@ -478,11 +477,10 @@ } for (tn = 0; tn < TRX_NR_TS; tn++) { - if (l1h->config.slottype_valid[tn] - && !l1h->config.slottype_sent[tn]) { - trx_if_cmd_setslot(l1h, tn, - l1h->config.slottype[tn], l1if_setslot_cb); - l1h->config.slottype_sent[tn] = true; + if (l1h->config.setslot_valid[tn] + && !l1h->config.setslot_sent[tn]) { + trx_if_cmd_setslot(l1h, tn, l1if_setslot_cb); + l1h->config.setslot_sent[tn] = true; } } } @@ -507,7 +505,7 @@ l1h->config.maxdly_sent = false; l1h->config.maxdlynb_sent = false; for (tn = 0; tn < TRX_NR_TS; tn++) - l1h->config.slottype_sent[tn] = false; + l1h->config.setslot_sent[tn] = false; } else if (!pinst->phy_link->u.osmotrx.poweronoff_sent) { bts_model_trx_close_cb(pinst->trx, 0); } /* else: poweroff in progress, cb will be called upon TRXC RSP */ @@ -519,12 +517,10 @@ break; case TRX_PROV_EV_CFG_TS: ts_data = (struct trx_prov_ev_cfg_ts_data*)data; - if (update_ts_data(l1h, ts_data)) { - trx_if_cmd_setslot(l1h, ts_data->tn, - l1h->config.slottype[ ts_data->tn], l1if_setslot_cb); - l1h->config.slottype_sent[ts_data->tn] = true; - } - + update_ts_data(l1h, ts_data); + /* While in this state we can send SETSLOT immediately */ + trx_if_cmd_setslot(l1h, ts_data->tn, l1if_setslot_cb); + l1h->config.setslot_sent[ts_data->tn] = true; break; default: OSMO_ASSERT(0); @@ -571,7 +567,6 @@ X(TRX_PROV_EV_CFG_ENABLE) | X(TRX_PROV_EV_CFG_BSIC) | X(TRX_PROV_EV_CFG_ARFCN) | - X(TRX_PROV_EV_CFG_TSC) | X(TRX_PROV_EV_CFG_TS) | X(TRX_PROV_EV_RXTUNE_CNF) | X(TRX_PROV_EV_TXTUNE_CNF) | @@ -623,7 +618,6 @@ OSMO_VALUE_STRING(TRX_PROV_EV_CFG_ENABLE), OSMO_VALUE_STRING(TRX_PROV_EV_CFG_BSIC), OSMO_VALUE_STRING(TRX_PROV_EV_CFG_ARFCN), - OSMO_VALUE_STRING(TRX_PROV_EV_CFG_TSC), OSMO_VALUE_STRING(TRX_PROV_EV_CFG_TS), OSMO_VALUE_STRING(TRX_PROV_EV_CFG_RXGAIN), OSMO_VALUE_STRING(TRX_PROV_EV_CFG_SETMAXDLY), diff --git a/src/osmo-bts-trx/trx_provision_fsm.h b/src/osmo-bts-trx/trx_provision_fsm.h index 0f80088..8e6b97b 100644 --- a/src/osmo-bts-trx/trx_provision_fsm.h +++ b/src/osmo-bts-trx/trx_provision_fsm.h @@ -22,6 +22,8 @@ #pragma once +#include + #include enum trx_provision_fsm_states { @@ -35,6 +37,11 @@ struct trx_prov_ev_cfg_ts_data { uint8_t tn; uint8_t slottype; + + /* Training Sequence Code and Set */ + uint8_t tsc_set; + uint8_t tsc_val; + bool tsc_valid; }; enum trx_provision_fsm_events { diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index 2b0913f..d9d17d0 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -127,16 +127,23 @@ else vty_out(vty, " maxdlynb : undefined%s", VTY_NEWLINE); for (tn = 0; tn < TRX_NR_TS; tn++) { - if (!((1 << tn) & l1h->config.slotmask)) + if (!((1 << tn) & l1h->config.slotmask)) { vty_out(vty, " slot #%d: unsupported%s", tn, VTY_NEWLINE); - else if (l1h->config.slottype_valid[tn]) - vty_out(vty, " slot #%d: type %d%s", tn, - l1h->config.slottype[tn], - VTY_NEWLINE); - else + continue; + } else if (!l1h->config.setslot_valid[tn]) { vty_out(vty, " slot #%d: undefined%s", tn, VTY_NEWLINE); + continue; + } + + vty_out(vty, " slot #%d: type %d", tn, + l1h->config.setslot[tn].slottype); + if (l1h->config.setslot[tn].tsc_valid) + vty_out(vty, " TSC-s%dc%d", + l1h->config.setslot[tn].tsc_set, + l1h->config.setslot[tn].tsc_val); + vty_out(vty, "%s", VTY_NEWLINE); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idc5796151e3e83f42d60c2d4cb7c35890d76a7f5 Gerrit-Change-Number: 24388 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 23:24:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 May 2021 23:24:02 +0000 Subject: Change in osmo-bts[master]: [VAMOS] common/oml: generalize checking BTS_FEAT_MULTI_TSC References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24389 ) Change subject: [VAMOS] common/oml: generalize checking BTS_FEAT_MULTI_TSC ...................................................................... [VAMOS] common/oml: generalize checking BTS_FEAT_MULTI_TSC Change-Id: Iaa5aced70e166963106c27ebdb09adaae22daea4 Related: SYS#4895, OS#4941 --- M src/common/oml.c M src/osmo-bts-lc15/oml.c M src/osmo-bts-oc2g/oml.c M src/osmo-bts-sysmo/oml.c 4 files changed, 7 insertions(+), 44 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/89/24389/1 diff --git a/src/common/oml.c b/src/common/oml.c index 0a502c1..7bf89c5 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -962,6 +962,13 @@ /* 9.4.60 TSC */ if (TLVP_PRES_LEN(&tp, NM_ATT_TSC, 1)) { ts->tsc_oml = ts->tsc = *TLVP_VAL(&tp, NM_ATT_TSC); + if (ts->tsc != BTS_TSC(bts) && + !osmo_bts_has_feature(bts->features, BTS_FEAT_MULTI_TSC)) { + LOGPFOH(DOML, LOGL_ERROR, foh, "SET CHAN ATTR: this BTS model does not " + "support TSC %u != BSIC-BCC %u\n", ts->tsc, BTS_TSC(bts)); + talloc_free(tp_merged); + return oml_fom_ack_nack(msg, NM_NACK_PARAM_RANGE); + } } else { /* If there is no TSC specified, use the BCC */ ts->tsc_oml = ts->tsc = BTS_TSC(bts); diff --git a/src/osmo-bts-lc15/oml.c b/src/osmo-bts-lc15/oml.c index 3010fe7..acce1d4 100644 --- a/src/osmo-bts-lc15/oml.c +++ b/src/osmo-bts-lc15/oml.c @@ -1827,21 +1827,6 @@ void *obj) { /* FIXME: more checks if the attributes are valid */ - - switch (msg_type) { - case NM_MT_SET_CHAN_ATTR: - /* our L1 only supports one global TSC for all channels - * one one TRX, so we need to make sure not to activate - * channels with a different TSC!! */ - if (TLVP_PRESENT(new_attr, NM_ATT_TSC) && - TLVP_LEN(new_attr, NM_ATT_TSC) >= 1 && - *TLVP_VAL(new_attr, NM_ATT_TSC) != BTS_TSC(bts)) { - LOGP(DOML, LOGL_ERROR, "Channel TSC %u != BSIC-TSC %u\n", - *TLVP_VAL(new_attr, NM_ATT_TSC), BTS_TSC(bts)); - return -NM_NACK_PARAM_RANGE; - } - break; - } return 0; } diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c index 151b92e..5646cfb 100644 --- a/src/osmo-bts-oc2g/oml.c +++ b/src/osmo-bts-oc2g/oml.c @@ -1836,21 +1836,6 @@ void *obj) { /* FIXME: more checks if the attributes are valid */ - - switch (msg_type) { - case NM_MT_SET_CHAN_ATTR: - /* our L1 only supports one global TSC for all channels - * one one TRX, so we need to make sure not to activate - * channels with a different TSC!! */ - if (TLVP_PRESENT(new_attr, NM_ATT_TSC) && - TLVP_LEN(new_attr, NM_ATT_TSC) >= 1 && - *TLVP_VAL(new_attr, NM_ATT_TSC) != BTS_TSC(bts)) { - LOGP(DOML, LOGL_ERROR, "Channel TSC %u != BSIC-TSC %u\n", - *TLVP_VAL(new_attr, NM_ATT_TSC), BTS_TSC(bts)); - return -NM_NACK_PARAM_RANGE; - } - break; - } return 0; } diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c index 25c5651..818d82b 100644 --- a/src/osmo-bts-sysmo/oml.c +++ b/src/osmo-bts-sysmo/oml.c @@ -1741,20 +1741,6 @@ void *obj) { /* FIXME: more checks if the attributes are valid */ - - switch (msg_type) { - case NM_MT_SET_CHAN_ATTR: - /* our L1 only supports one global TSC for all channels - * one one TRX, so we need to make sure not to activate - * channels with a different TSC!! */ - if (TLVP_PRES_LEN(new_attr, NM_ATT_TSC, 1) && - *TLVP_VAL(new_attr, NM_ATT_TSC) != BTS_TSC(bts)) { - LOGP(DOML, LOGL_ERROR, "Channel TSC %u != BSIC-TSC %u\n", - *TLVP_VAL(new_attr, NM_ATT_TSC), BTS_TSC(bts)); - return -NM_NACK_PARAM_RANGE; - } - break; - } return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iaa5aced70e166963106c27ebdb09adaae22daea4 Gerrit-Change-Number: 24389 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 23:24:03 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 May 2021 23:24:03 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: indicate BTS_FEAT_{MULTI_TSC, VAMOS} as supported References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24390 ) Change subject: [VAMOS] osmo-bts-trx: indicate BTS_FEAT_{MULTI_TSC,VAMOS} as supported ...................................................................... [VAMOS] osmo-bts-trx: indicate BTS_FEAT_{MULTI_TSC,VAMOS} as supported Change-Id: Iba3f9787c32c802cfab716176e6ada799f5f21df Related: SYS#4895, OS#4941 --- M src/osmo-bts-trx/main.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/90/24390/1 diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index e0a99a5..7134939 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -145,6 +145,8 @@ osmo_bts_set_feature(bts->features, BTS_FEAT_CBCH); osmo_bts_set_feature(bts->features, BTS_FEAT_HOPPING); osmo_bts_set_feature(bts->features, BTS_FEAT_ACCH_REP); + osmo_bts_set_feature(bts->features, BTS_FEAT_MULTI_TSC); + osmo_bts_set_feature(bts->features, BTS_FEAT_VAMOS); bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_MEAS_PAYLOAD_COMB); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iba3f9787c32c802cfab716176e6ada799f5f21df Gerrit-Change-Number: 24390 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 23:32:44 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 May 2021 23:32:44 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: rework handling of Training Sequence In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24327 ) Change subject: [VAMOS] osmo-bts-trx: rework handling of Training Sequence ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24327/1/src/common/l1sap.c File src/common/l1sap.c: https://gerrit.osmocom.org/c/osmo-bts/+/24327/1/src/common/l1sap.c at 1991 PS1, Line 1991: lchan->tsc_set = (cd->chan_nr & 0x80) ? 1 : 0; > is tsc_set really a number indexing the selected set? or set as in set(unset and hence a boolean? TS 45.002 defines 4 orthogonal TSC sets (8 sequences in each), and 'tsc_set' here is the number of a set. https://gerrit.osmocom.org/c/osmo-bts/+/24327/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/24327/1/src/common/scheduler.c at 1221 PS1, Line 1221: if (lchan != NULL) { > why not reusing the already existing check below if (lchan != NULL) ? This function is called lots o [?] Because func() needs to know it in advance. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3744bc308b99ef941e6e9d139444e414abebc14b Gerrit-Change-Number: 24327 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 24 May 2021 23:32:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 24 23:38:21 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 May 2021 23:38:21 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24388 ) Change subject: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24388/1/src/osmo-bts-trx/trx_provision_fsm.c File src/osmo-bts-trx/trx_provision_fsm.c: https://gerrit.osmocom.org/c/osmo-bts/+/24388/1/src/osmo-bts-trx/trx_provision_fsm.c at 194 PS1, Line 194: /* Returns true if any TS changed, false otherwise */ Ah, this comment needs to be removed. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idc5796151e3e83f42d60c2d4cb7c35890d76a7f5 Gerrit-Change-Number: 24388 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 May 2021 23:38:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 01:21:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 25 May 2021 01:21:38 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24388 to look at the new patch set (#2). Change subject: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values ...................................................................... [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values Each timeslot can have its own Training Sequence Code value, which may optionally be included in the NM_MT_SET_CHAN_ATTR message sent over the A-bis/OML. If it's not present, then the TSC value for a timeslot is derived from the BCC part of BSIC, which is always included in the NM_MT_SET_BTS_ATTR message. On the TRXC interface, the BTS global TSC value is indicated to the transceiver using either of the 'SETTSC' or 'SETBSIC' commands. The transceiver then applies this value for all timeslots by default, however it can be redefined for each timeslot individually using additional arguments of the 'SETSLOT' command (see section 25.2.4.1 in the user manual [1] for more details). Currently, trx_set_ts_as_pchan() sends TRX_PROV_EV_CFG_TSC to the transceiver provisioning FSM, together with the per-timeslot TSC value. This event causes the FSM to modify the global TSC value, that is going to be or has already been sent to the transceiver. This is wrong, the global TSC value shall not be overwritten. Remove the TRX_PROV_EV_CFG_TSC, and include per-timeslot Training Sequence Code and Set in the data structure that gets passed together with the TRX_PROV_EV_CFG_TS instead. Implement handling of the optional per-timeslot TSC in trx_if_cmd_setslot(). [1] https://downloads.osmocom.org/docs/latest/osmobts-usermanual.pdf Change-Id: Idc5796151e3e83f42d60c2d4cb7c35890d76a7f5 Related: SYS#4895, OS#4941 --- M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/trx_if.c M src/osmo-bts-trx/trx_if.h M src/osmo-bts-trx/trx_provision_fsm.c M src/osmo-bts-trx/trx_provision_fsm.h M src/osmo-bts-trx/trx_vty.c 7 files changed, 83 insertions(+), 57 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/88/24388/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idc5796151e3e83f42d60c2d4cb7c35890d76a7f5 Gerrit-Change-Number: 24388 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 01:21:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 25 May 2021 01:21:38 +0000 Subject: Change in osmo-bts[master]: [VAMOS] l1sap_chan_act(): handle Osmocom specific TSC IE In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24329 to look at the new patch set (#4). Change subject: [VAMOS] l1sap_chan_act(): handle Osmocom specific TSC IE ...................................................................... [VAMOS] l1sap_chan_act(): handle Osmocom specific TSC IE This is an Osmocom specific RSL IE that, if present, takes precedence over the values indicated via the A-bis/OML. Change-Id: I717e5b2a6ca5b4faeaab9cae4bb971907945871b Related: SYS#4895, OS#4941 --- M src/common/rsl.c 1 file changed, 33 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/29/24329/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I717e5b2a6ca5b4faeaab9cae4bb971907945871b Gerrit-Change-Number: 24329 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 01:21:54 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 25 May 2021 01:21:54 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: rework handling of Training Sequence In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24327 ) Change subject: [VAMOS] osmo-bts-trx: rework handling of Training Sequence ...................................................................... Patch Set 4: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3744bc308b99ef941e6e9d139444e414abebc14b Gerrit-Change-Number: 24327 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 25 May 2021 01:21:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 01:24:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 25 May 2021 01:24:41 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24388 to look at the new patch set (#3). Change subject: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values ...................................................................... [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values Each timeslot can have its own Training Sequence Code value, which may optionally be included in the NM_MT_SET_CHAN_ATTR message sent over the A-bis/OML. If it's not present, then the TSC value for a timeslot is derived from the BCC part of BSIC, which is always included in the NM_MT_SET_BTS_ATTR message. On the TRXC interface, the BTS global TSC value is indicated to the transceiver using either of the 'SETTSC' or 'SETBSIC' commands. The transceiver then applies this value for all timeslots by default, however it can be redefined for each timeslot individually using additional arguments of the 'SETSLOT' command (see section 25.2.4.1 in the user manual [1] for more details). Currently, trx_set_ts_as_pchan() sends TRX_PROV_EV_CFG_TSC to the transceiver provisioning FSM, together with the per-timeslot TSC value. This event causes the FSM to modify the global TSC value, that is going to be or has already been sent to the transceiver. This is wrong, the global TSC value shall not be overwritten. Remove the TRX_PROV_EV_CFG_TSC, and include per-timeslot Training Sequence Code and Set in the data structure that gets passed together with the TRX_PROV_EV_CFG_TS instead. Implement handling of the optional per-timeslot TSC in trx_if_cmd_setslot(). [1] https://downloads.osmocom.org/docs/latest/osmobts-usermanual.pdf Change-Id: Idc5796151e3e83f42d60c2d4cb7c35890d76a7f5 Related: SYS#4895, OS#4941 --- M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/trx_if.c M src/osmo-bts-trx/trx_if.h M src/osmo-bts-trx/trx_provision_fsm.c M src/osmo-bts-trx/trx_provision_fsm.h M src/osmo-bts-trx/trx_vty.c 7 files changed, 83 insertions(+), 58 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/88/24388/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idc5796151e3e83f42d60c2d4cb7c35890d76a7f5 Gerrit-Change-Number: 24388 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 07:44:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 07:44:14 +0000 Subject: Change in pysim[master]: contrib: Add sim-rest-{server,client}.py In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24342 to look at the new patch set (#3). Change subject: contrib: Add sim-rest-{server,client}.py ...................................................................... contrib: Add sim-rest-{server,client}.py sim-rest-server.py can be used to provide a RESTful API to allow remote clients to perform the authentication command against a SIM card in a PC/SC reader. sim-rest-client.py is an example client against sim-rest-server.py which can be used to test the functionality of sim-rest-server.py. Change-Id: I738ca3109ab038d4f5595cc1dab6a49087df5886 --- A contrib/sim-rest-client.py A contrib/sim-rest-server.py 2 files changed, 247 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/42/24342/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I738ca3109ab038d4f5595cc1dab6a49087df5886 Gerrit-Change-Number: 24342 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 07:44:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 07:44:58 +0000 Subject: Change in pysim[master]: contrib: Add sim-rest-{server,client}.py In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24342 ) Change subject: contrib: Add sim-rest-{server,client}.py ...................................................................... Patch Set 3: Code-Review+2 (4 comments) https://gerrit.osmocom.org/c/pysim/+/24342/2/contrib/sim-rest-client.py File contrib/sim-rest-client.py: https://gerrit.osmocom.org/c/pysim/+/24342/2/contrib/sim-rest-client.py at 39 PS2, Line 39: x2, x3 = struct.unpack('>IH', x) > I guess you could do this without using struct at all: [?] tested, changed in next version. https://gerrit.osmocom.org/c/pysim/+/24342/2/contrib/sim-rest-client.py at 46 PS2, Line 46: return struct.pack('>IH', x2, x3) > Also here: [?] tested, changed in next version. https://gerrit.osmocom.org/c/pysim/+/24342/2/contrib/sim-rest-client.py at 48 PS2, Line 48: dict > If all values in this dict() are bytes, then: [?] Ack https://gerrit.osmocom.org/c/pysim/+/24342/2/contrib/sim-rest-client.py at 61 PS2, Line 61: def milenage_auts(opc:bytes, k:bytes, rand:bytes, auts:bytes): > I would raise a RuntimeError directly from here, or alternatively: [?] Ack -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I738ca3109ab038d4f5595cc1dab6a49087df5886 Gerrit-Change-Number: 24342 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 25 May 2021 07:44:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 08:12:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 08:12:42 +0000 Subject: Change in pysim[master]: contrib: Add sim-rest-{server,client}.py In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24342 ) Change subject: contrib: Add sim-rest-{server,client}.py ...................................................................... contrib: Add sim-rest-{server,client}.py sim-rest-server.py can be used to provide a RESTful API to allow remote clients to perform the authentication command against a SIM card in a PC/SC reader. sim-rest-client.py is an example client against sim-rest-server.py which can be used to test the functionality of sim-rest-server.py. Change-Id: I738ca3109ab038d4f5595cc1dab6a49087df5886 --- A contrib/sim-rest-client.py A contrib/sim-rest-server.py 2 files changed, 247 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/contrib/sim-rest-client.py b/contrib/sim-rest-client.py new file mode 100755 index 0000000..8f74adc --- /dev/null +++ b/contrib/sim-rest-client.py @@ -0,0 +1,155 @@ +#!/usr/bin/env python3 +# +# sim-rest-client.py: client program to test the sim-rest-server.py +# +# this will generate authentication tuples just like a HLR / HSS +# and will then send the related challenge to the REST interface +# of sim-rest-server.py +# +# sim-rest-server.py will then contact the SIM card to perform the +# authentication (just like a 3GPP RAN), and return the results via +# the REST to sim-rest-client.py. +# +# (C) 2021 by Harald Welte +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +from typing import Optional, Dict + +import sys +import argparse +import secrets +import requests + +from CryptoMobile.Milenage import Milenage +from CryptoMobile.utils import xor_buf + +def unpack48(x:bytes) -> int: + """Decode a big-endian 48bit number from binary to integer.""" + return int.from_bytes(x, byteorder='big') + +def pack48(x:int) -> bytes: + """Encode a big-endian 48bit number from integer to binary.""" + return x.to_bytes(48 // 8, byteorder='big') + +def milenage_generate(opc:bytes, amf:bytes, k:bytes, sqn:bytes, rand:bytes) -> Dict[str, bytes]: + """Generate an MILENAGE Authentication Tuple.""" + m = Milenage(None) + m.set_opc(opc) + mac_a = m.f1(k, rand, sqn, amf) + res, ck, ik, ak = m.f2345(k, rand) + + # AUTN = (SQN ^ AK) || AMF || MAC + sqn_ak = xor_buf(sqn, ak) + autn = b''.join([sqn_ak, amf, mac_a]) + + return {'res': res, 'ck': ck, 'ik': ik, 'autn': autn} + +def milenage_auts(opc:bytes, k:bytes, rand:bytes, auts:bytes) -> Optional[bytes]: + """Validate AUTS. If successful, returns SQN_MS""" + amf = b'\x00\x00' # TS 33.102 Section 6.3.3 + m = Milenage(None) + m.set_opc(opc) + ak = m.f5star(k, rand) + + sqn_ak = auts[:6] + sqn = xor_buf(sqn_ak, ak[:6]) + + mac_s = m.f1star(k, rand, sqn, amf) + if mac_s == auts[6:14]: + return sqn + else: + return False + + +def build_url(suffix:str) -> str: + """Build an URL from global server_host, server_port, BASE_PATH and suffix.""" + BASE_PATH= "/sim-auth-api/v1" + return "http://%s:%u%s%s" % (server_host, server_port, BASE_PATH, suffix) + + +def rest_post(suffix:str, js:Optional[dict] = None): + """Perform a RESTful POST.""" + url = build_url(suffix) + if verbose: + print("POST %s (%s)" % (url, str(js))) + resp = requests.post(url, json=js) + if verbose: + print("-> %s" % (resp)) + if not resp.ok: + print("POST failed") + return resp + + + +def main(argv): + global server_port, server_host, verbose + + parser = argparse.ArgumentParser() + parser.add_argument("-H", "--host", help="Host to connect to", default="localhost") + parser.add_argument("-p", "--port", help="TCP port to connect to", default=8000) + parser.add_argument("-v", "--verbose", help="increase output verbosity", action='count', default=0) + parser.add_argument("-n", "--slot-nr", help="SIM slot number", type=int, default=0) + parser.add_argument("-c", "--count", help="Auth count", type=int, default=10) + + parser.add_argument("-k", "--key", help="Secret key K (hex)", type=str, required=True) + parser.add_argument("-o", "--opc", help="Secret OPc (hex)", type=str, required=True) + parser.add_argument("-a", "--amf", help="AMF Field (hex)", type=str, default="0000") + parser.add_argument("-s", "--sqn", help="SQN Field (hex)", type=str, default="000000000000") + + args = parser.parse_args() + + server_host = args.host + server_port = args.port + verbose = args.verbose + + #opc = bytes.fromhex('767A662ACF4587EB0C450C6A95540A04') + #k = bytes.fromhex('876B2D8D403EE96755BEF3E0A1857EBE') + opc = bytes.fromhex(args.opc) + k = bytes.fromhex(args.key) + amf = bytes.fromhex(args.amf) + sqn = bytes.fromhex(args.sqn) + + for i in range(args.count): + rand = secrets.token_bytes(16) + t = milenage_generate(opc=opc, amf=amf, k=k, sqn=sqn, rand=rand) + + req_json = {'rand': rand.hex(), 'autn': t['autn'].hex()} + print("-> %s" % req_json) + resp = rest_post('/slot/%u' % args.slot_nr, req_json) + resp_json = resp.json() + print("<- %s" % resp_json) + if 'synchronisation_failure' in resp_json: + auts = bytes.fromhex(resp_json['synchronisation_failure']['auts']) + sqn_ms = milenage_auts(opc, k, rand, auts) + if sqn_ms is not False: + print("SQN_MS = %s" % sqn_ms.hex()) + sqn_ms_int = unpack48(sqn_ms) + # we assume an IND bit-length of 5 here + sqn = pack48(sqn_ms_int + (1 << 5)) + else: + raise RuntimeError("AUTS auth failure during re-sync?!?") + elif 'successful_3g_authentication' in resp_json: + auth_res = resp_json['successful_3g_authentication'] + assert bytes.fromhex(auth_res['res']) == t['res'] + assert bytes.fromhex(auth_res['ck']) == t['ck'] + assert bytes.fromhex(auth_res['ik']) == t['ik'] + # we assume an IND bit-length of 5 here + sqn = pack48(unpack48(sqn) + (1 << 5)) + else: + raise RuntimeError("Auth failure") + + +if __name__ == "__main__": + main(sys.argv) diff --git a/contrib/sim-rest-server.py b/contrib/sim-rest-server.py new file mode 100755 index 0000000..0f77dfe --- /dev/null +++ b/contrib/sim-rest-server.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 + +# RESTful HTTP service for performing authentication against USIM cards +# +# (C) 2021 by Harald Welte +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +import json +import sys +import argparse + +from klein import run, route + +from pySim.transport import ApduTracer +from pySim.transport.pcsc import PcscSimLink +from pySim.commands import SimCardCommands +from pySim.cards import UsimCard +from pySim.exceptions import * + +class ApduPrintTracer(ApduTracer): + def trace_response(self, cmd, sw, resp): + #print("CMD: %s -> RSP: %s %s" % (cmd, sw, resp)) + pass + + at route('/sim-auth-api/v1/slot/') +def auth(request, slot): + """REST API endpoint for performing authentication against a USIM. + Expects a JSON body containing RAND and AUTN. + Returns a JSON body containing RES, CK, IK and Kc.""" + try: + # there are two hex-string JSON parameters in the body: rand and autn + content = json.loads(request.content.read()) + rand = content['rand'] + autn = content['autn'] + except: + request.setResponseCode(400) + return "Malformed Request" + + try: + tp = PcscSimLink(slot, apdu_tracer=ApduPrintTracer()) + tp.connect() + except ReaderError: + request.setResponseCode(404) + return "Specified SIM Slot doesn't exist" + except ProtocolError: + request.setResponseCode(500) + return "Error" + except NoCardError: + request.setResponseCode(410) + return "No SIM card inserted in slot" + + scc = SimCardCommands(tp) + card = UsimCard(scc) + # this should be part of UsimCard, but FairewavesSIM breaks with that :/ + scc.cla_byte = "00" + scc.sel_ctrl = "0004" + try: + card.read_aids() + card.select_adf_by_aid(adf='usim') + res, sw = scc.authenticate(rand, autn) + except SwMatchError as e: + request.setResponseCode(500) + return "Communication Error %s" % e + + tp.disconnect() + + return json.dumps(res, indent=4) + +def main(argv): + parser = argparse.ArgumentParser() + parser.add_argument("-H", "--host", help="Host/IP to bind HTTP to", default="localhost") + parser.add_argument("-p", "--port", help="TCP port to bind HTTP to", default=8000) + #parser.add_argument("-v", "--verbose", help="increase output verbosity", action='count', default=0) + + args = parser.parse_args() + + run(args.host, args.port) + +if __name__ == "__main__": + main(sys.argv) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I738ca3109ab038d4f5595cc1dab6a49087df5886 Gerrit-Change-Number: 24342 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 08:12:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 08:12:43 +0000 Subject: Change in pysim[master]: add unit tests for BER-TLV encoder/decoder functions In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24346 ) Change subject: add unit tests for BER-TLV encoder/decoder functions ...................................................................... add unit tests for BER-TLV encoder/decoder functions ... and while at it resolve a bug in bertlv_parse_len() discovered by those new tests. Change-Id: I9f14dafab4f712c29224c4eb25cacab7885e2b68 --- M pySim/utils.py M tests/test_utils.py 2 files changed, 25 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/pySim/utils.py b/pySim/utils.py index ff55642..1191983 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -132,7 +132,7 @@ for i in range(1, 1+num_len_oct): length <<= 8 length |= binary[i] - return (length, binary[num_len_oct:]) + return (length, binary[1+num_len_oct:]) def bertlv_encode_len(length:int) -> bytes: """Encode a single Length value according to ITU-T X.690 8.1.3; diff --git a/tests/test_utils.py b/tests/test_utils.py index 0fb502c..24f0fc9 100755 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -152,5 +152,29 @@ msisdn_decoded = utils.dec_msisdn("ffffffffffffffffffffffffffffffffffffffff0bb121436587092143658709ffff") self.assertEqual(msisdn_decoded, (1, 3, "12345678901234567890")) +class TestBerTlv(unittest.TestCase): + def test_BerTlvTagDec(self): + res = utils.bertlv_parse_tag(b'\x01') + self.assertEqual(res, ({'tag':1, 'constructed':False, 'class': 0}, b'')) + res = utils.bertlv_parse_tag(b'\x21') + self.assertEqual(res, ({'tag':1, 'constructed':True, 'class': 0}, b'')) + res = utils.bertlv_parse_tag(b'\x81\x23') + self.assertEqual(res, ({'tag':1, 'constructed':False, 'class': 2}, b'\x23')) + res = utils.bertlv_parse_tag(b'\x1f\x8f\x00\x23') + self.assertEqual(res, ({'tag':0xf<<7, 'constructed':False, 'class': 0}, b'\x23')) + + def test_BerTlvLenDec(self): + self.assertEqual(utils.bertlv_encode_len(1), b'\x01') + self.assertEqual(utils.bertlv_encode_len(127), b'\x7f') + self.assertEqual(utils.bertlv_encode_len(128), b'\x81\x80') + self.assertEqual(utils.bertlv_encode_len(0x123456), b'\x83\x12\x34\x56') + + def test_BerTlvLenEnc(self): + self.assertEqual(utils.bertlv_parse_len(b'\x01\x23'), (1, b'\x23')) + self.assertEqual(utils.bertlv_parse_len(b'\x7f'), (127, b'')) + self.assertEqual(utils.bertlv_parse_len(b'\x81\x80'), (128, b'')) + self.assertEqual(utils.bertlv_parse_len(b'\x83\x12\x34\x56\x78'), (0x123456, b'\x78')) + + if __name__ == "__main__": unittest.main() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9f14dafab4f712c29224c4eb25cacab7885e2b68 Gerrit-Change-Number: 24346 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 08:30:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 08:30:13 +0000 Subject: Change in pysim[master]: bertlv_parse_one: Also return remainder after end of TLV In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24347 ) Change subject: bertlv_parse_one: Also return remainder after end of TLV ...................................................................... bertlv_parse_one: Also return remainder after end of TLV Change-Id: I10ebd87f72ee934561118b768108e5dc76277660 --- M pySim-shell.py M pySim/filesystem.py M pySim/utils.py 3 files changed, 6 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/pySim-shell.py b/pySim-shell.py index bbfe7e9..0069661 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -265,7 +265,7 @@ tags = self._cmd.rs.retrieve_tags() for t in tags: result = self._cmd.rs.retrieve_data(t) - (tag, l, val) = bertlv_parse_one(h2b(result[0])) + (tag, l, val, remainer) = bertlv_parse_one(h2b(result[0])) self._cmd.poutput("set_data 0x%02x %s" % (t, b2h(val))) else: raise RuntimeError('Unsupported structure "%s" of file "%s"' % (structure, filename)) diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 780da26..8cdb23e 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -1260,7 +1260,7 @@ if not isinstance(self.selected_file, BerTlvEF): raise TypeError("Only works with BER-TLV EF") data, sw = self.card._scc.retrieve_data(self.selected_file.fid, 0x5c) - tag, length, value = bertlv_parse_one(h2b(data)) + tag, length, value, remainder = bertlv_parse_one(h2b(data)) return list(value) def set_data(self, tag:int, data_hex:str): diff --git a/pySim/utils.py b/pySim/utils.py index 1191983..3d96580 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -155,7 +155,7 @@ else: raise ValueError("Length > 32bits not supported") -def bertlv_parse_one(binary:bytes) -> (dict, int, bytes): +def bertlv_parse_one(binary:bytes) -> (dict, int, bytes, bytes): """Parse a single TLV IE at the start of the given binary data. Args: binary : binary input data of BER-TLV length field @@ -164,7 +164,9 @@ """ (tagdict, remainder) = bertlv_parse_tag(binary) (length, remainder) = bertlv_parse_len(remainder) - return (tagdict, length, remainder) + value = remainder[:length] + remainder = remainder[length:] + return (tagdict, length, value, remainder) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I10ebd87f72ee934561118b768108e5dc76277660 Gerrit-Change-Number: 24347 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 08:30:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 08:30:14 +0000 Subject: Change in pysim[master]: Introduce unit test for bertlv_parse_one() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24348 ) Change subject: Introduce unit test for bertlv_parse_one() ...................................................................... Introduce unit test for bertlv_parse_one() Change-Id: I3adbe22afd4b6503a7454de39b7663e9ede8995f --- M tests/test_utils.py 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/tests/test_utils.py b/tests/test_utils.py index 24f0fc9..17a9300 100755 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -175,6 +175,10 @@ self.assertEqual(utils.bertlv_parse_len(b'\x81\x80'), (128, b'')) self.assertEqual(utils.bertlv_parse_len(b'\x83\x12\x34\x56\x78'), (0x123456, b'\x78')) + def test_BerTlvParseOne(self): + res = utils.bertlv_parse_one(b'\x81\x01\x01'); + self.assertEqual(res, ({'tag':1, 'constructed':False, 'class':2}, 1, b'\x01', b'')) + if __name__ == "__main__": unittest.main() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3adbe22afd4b6503a7454de39b7663e9ede8995f Gerrit-Change-Number: 24348 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Tue May 25 08:37:40 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 08:37:40 +0000 Subject: Build failure of network:osmocom:nightly/osmo-cbc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <60acb76a802ab_3adf2b23e92b45fc137358c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-cbc/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-cbc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-cbc Last lines of build log: [ 70s] [325/510] installing libosmocoding0-1.5.1.122.155968.202105250026 [ 70s] Processing triggers for libc-bin (2.31-12) ... [ 70s] [326/510] installing opensp-1.5.2-13+b2 [ 70s] Processing triggers for sgml-base (1.30) ... [ 70s] [327/510] installing libosmoctrl0-1.5.1.122.155968.202105250026 [ 70s] Processing triggers for libc-bin (2.31-12) ... [ 70s] [328/510] installing libosmogb12-1.5.1.122.155968.202105250026 [ 71s] Processing triggers for libc-bin (2.31-12) ... [ 71s] [329/510] installing libosmonetif8-1.1.0.202105250026 [ 71s] Processing triggers for libc-bin (2.31-12) ... [ 71s] [330/510] installing libosmosim2-1.5.1.122.155968.202105250026 [ 71s] Processing triggers for libc-bin (2.31-12) ... [ 71s] [331/510] installing openjade-1.4devel1-22 [ 71s] Processing triggers for sgml-base (1.30) ... [ 71s] [332/510] installing libatkmm-1.6-1v5-2.28.0-3 [ 71s] Processing triggers for libc-bin (2.31-12) ... [ 71s] [333/510] installing libgdk-pixbuf-2.0-0-2.42.2+dfsg-1 [ 71s] Processing triggers for libc-bin (2.31-12) ... [ 71s] [334/510] installing gcc-10-10.2.1-6 [ 73s] [335/510] installing docbook5-xml-5.0-3 [ 73s] Processing triggers for sgml-base (1.30) ... [ 73s] [336/510] installing tzdata-2021a-1 [28874s] qemu-kvm: terminating on signal 15 from pid 30058 () Job seems to be stuck here, killed. (after 28800 seconds of inactivity) [28874s] ### VM INTERACTION END ### [28874s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [28874s] or the build host has a kernel or hardware problem... -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue May 25 09:49:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 09:49:20 +0000 Subject: Change in osmo-bsc[master]: ctrl: Avoid fclose() on NULL pointer References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24391 ) Change subject: ctrl: Avoid fclose() on NULL pointer ...................................................................... ctrl: Avoid fclose() on NULL pointer Fixes: 25ff634b5eb06bc1411125dd01efae246e976c4a Related: Coverity CID#236128 Change-Id: Ib23614c77ec039dd0812196fa4e5d1c3f8408087 --- M src/osmo-bsc/bsc_ctrl_commands.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/91/24391/1 diff --git a/src/osmo-bsc/bsc_ctrl_commands.c b/src/osmo-bsc/bsc_ctrl_commands.c index 9038404..2d37b5d 100644 --- a/src/osmo-bsc/bsc_ctrl_commands.c +++ b/src/osmo-bsc/bsc_ctrl_commands.c @@ -62,7 +62,7 @@ LOGP(DCTRL, LOGL_NOTICE, "Applying VTY snippet from %s: fopen() failed: %d\n", cmd->value, errno); cmd->reply = "NoFile"; - goto close_ret; + return cmd_ret; } rc = vty_read_config_filep(cfile, NULL); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib23614c77ec039dd0812196fa4e5d1c3f8408087 Gerrit-Change-Number: 24391 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 09:56:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 09:56:31 +0000 Subject: Change in osmo-bts[master]: [VAMOS] rsl_rx_mode_modif(): handle Channel Identification IE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24339 ) Change subject: [VAMOS] rsl_rx_mode_modif(): handle Channel Identification IE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I07f95e69e6230a1daca62cc0a7c64954f191fa8a Gerrit-Change-Number: 24339 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 09:56:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:00:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:00:31 +0000 Subject: Change in osmo-bts[master]: [VAMOS] rsl: call bts_supports_cm() from rsl_handle_chan_mod_ie() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24340 ) Change subject: [VAMOS] rsl: call bts_supports_cm() from rsl_handle_chan_mod_ie() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I31a444592436705ec9d6ddade3cbfa7f8cb4bb91 Gerrit-Change-Number: 24340 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:00:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:01:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:01:07 +0000 Subject: Change in osmo-bts[master]: [VAMOS] bts_supports_cm(): handle RSL_CMOD_CRT_OSMO_TCH_VAMOS_{Bm, Lm} In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24341 ) Change subject: [VAMOS] bts_supports_cm(): handle RSL_CMOD_CRT_OSMO_TCH_VAMOS_{Bm,Lm} ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I61040df30246ff79c9b13055bb1fec92fe64f3dd Gerrit-Change-Number: 24341 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:01:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:04:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:04:51 +0000 Subject: Change in osmo-bts[master]: common/vty: facilitate finding duplicate PHY/TRX associations In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24289 ) Change subject: common/vty: facilitate finding duplicate PHY/TRX associations ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24289/1/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/24289/1/src/common/vty.c at 993 PS1, Line 993: /* Be tolerant in the interactive VTY mode */ why do you want to be tolerant? this may break running process from working correctly. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I132e08fc496abef278b94254cebfac7a4285a7c2 Gerrit-Change-Number: 24289 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:04:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:10:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:10:43 +0000 Subject: Change in libosmo-abis[master]: ipa: do not open socket in nonblocking mode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24332 ) Change subject: ipa: do not open socket in nonblocking mode ...................................................................... Patch Set 1: Code-Review-2 You need to do this asyncrhonously. See https://linux.die.net/man/2/connect: """ EINPROGRESS The socket is nonblocking and the connection cannot be completed immediately. It is possible to select(2) or poll(2) for completion by selecting the socket for writing. After select(2) indicates writability, use getsockopt(2) to read the SO_ERROR option at level SOL_SOCKET to determine whether connect() completed successfully (SO_ERROR is zero) or unsuccessfully (SO_ERROR is one of the usual error codes listed here, explaining the reason for the failure). """ -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I926a75920f7a15c670f7445f2e74e876c5fad7be Gerrit-Change-Number: 24332 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Tue, 25 May 2021 10:10:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:15:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:15:26 +0000 Subject: Change in libosmo-abis[master]: ipa: do not open socket in nonblocking mode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24332 ) Change subject: ipa: do not open socket in nonblocking mode ...................................................................... Patch Set 1: It seems you can check at any tie whether the socket is connected by calling getpeername() (if not connected, you'll get an error). See too https://cr.yp.to/docs/connect.html -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I926a75920f7a15c670f7445f2e74e876c5fad7be Gerrit-Change-Number: 24332 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Tue, 25 May 2021 10:15:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:19:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:19:39 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: refactor MGCP_DUMMY_LOAD In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24315 ) Change subject: mgcp_network: refactor MGCP_DUMMY_LOAD ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24315/1/include/osmocom/mgcp/mgcp_network.h File include/osmocom/mgcp/mgcp_network.h: https://gerrit.osmocom.org/c/osmo-mgw/+/24315/1/include/osmocom/mgcp/mgcp_network.h at 18 PS1, Line 18: memcmp > If it's always just one byte, why is it better to use memcmp()? Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I21d96cefeeb647958bfa1e22a0ea030884746fad Gerrit-Change-Number: 24315 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 25 May 2021 10:19:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:24:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:24:48 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 2: filter modes also for VTY In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24357 ) Change subject: AMR config cleanup step 2: filter modes also for VTY ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24357/2/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24357/2/src/osmo-bsc/lchan_fsm.c at 575 PS2, Line 575: /* If activated for VTY, there may not be a conn indicating an MSC AMR configuration. */ You mean "activated from VTY" or "activated by VTY" here? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 Gerrit-Change-Number: 24357 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:24:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:32:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:32:52 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 3: generate AMR LV on msg composition In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24358 ) Change subject: AMR config cleanup step 3: generate AMR LV on msg composition ...................................................................... Patch Set 2: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24358/2/src/osmo-bsc/gsm_04_08_rr.c File src/osmo-bsc/gsm_04_08_rr.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24358/2/src/osmo-bsc/gsm_04_08_rr.c at 420 PS2, Line 420: for (i = 1; i < num_modes; i++) { this would ideally be a seprate commit https://gerrit.osmocom.org/c/osmo-bsc/+/24358/2/src/osmo-bsc/gsm_04_08_rr.c at 514 PS2, Line 514: data[0] |= (modes_selected[1]->hysteresis & 0x0f) << 2; You know you can do "data[0] = x | y;" right? ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie57f9d0e3912632903d9740291225bfd1634ed47 Gerrit-Change-Number: 24358 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:32:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:34:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:34:42 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: send BSSMAP response only after Assignment Request In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24350 ) Change subject: assignment_fsm: send BSSMAP response only after Assignment Request ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0cddbdb00abcec78e153f4ae6d04ce75080a111 Gerrit-Change-Number: 24350 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:34:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:36:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:36:12 +0000 Subject: Change in osmo-bsc[master]: eliminate lchan->rsl_cmode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24354 ) Change subject: eliminate lchan->rsl_cmode ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24354/2/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24354/2/src/osmo-bsc/abis_rsl.c at 370 PS2, Line 370: %d > 0x%02x? Also, why do you need temporary 'spd_ind' here? Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1c167b22bb6638a929488d093bde0f1a5fb227ad Gerrit-Change-Number: 24354 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:36:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:39:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:39:01 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 1: split lchan_mr_config() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24356 ) Change subject: AMR config cleanup step 1: split lchan_mr_config() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iebac2dc26412d877e5364f90d6f2ed7a7952351e Gerrit-Change-Number: 24356 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:39:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:39:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:39:32 +0000 Subject: Change in osmo-bsc[master]: VTY: dump TSC Set and TSC for each timeslot In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24370 ) Change subject: VTY: dump TSC Set and TSC for each timeslot ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7842ff89bece6d88387dae056e350529bae6fc38 Gerrit-Change-Number: 24370 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:39:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Tue May 25 10:40:46 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 10:40:46 +0000 Subject: Build failure of network:osmocom:nightly/osmo-cbc in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <60acd43a6390e_3adf2b23e92b45fc14151df@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-cbc/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-cbc failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-cbc Last lines of build log: [ 60s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 60s] [195/449] installing libpsl5-0.17.0-3 [ 60s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 60s] [196/449] installing libssh2-1-1.7.0-1+deb9u1 [ 60s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 60s] [197/449] installing libxcb1-1.12-1 [ 60s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 60s] [198/449] installing libapt-inst2.0-1.4.10 [ 60s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 60s] [199/449] installing libunbound2-1.6.0-3+deb9u2 [ 61s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 61s] [200/449] installing libwpd-0.10-10-0.10.1-5+deb9u1 [ 61s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 61s] [201/449] installing libxml2-2.9.4+dfsg1-2.2+deb9u2 [ 61s] dpkg-deb (subprocess): decompressing archive member: lzma error: compressed data is corrupt [ 61s] dpkg-deb: error: subprocess returned error exit status 2 [ 61s] dpkg: error processing archive .init_b_cache/libxml2.deb (--install): [ 61s] cannot copy extracted data for './usr/lib/arm-linux-gnueabihf/libxml2.so.2.9.4' to '/usr/lib/arm-linux-gnueabihf/libxml2.so.2.9.4.dpkg-new': unexpected end of file or stream [ 61s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 61s] Errors were encountered while processing: [ 61s] .init_b_cache/libxml2.deb [ 61s] exit ... [ 61s] ### VM INTERACTION START ### [ 64s] [ 47.536824] sysrq: SysRq : Power Off [ 64s] [ 47.538217] reboot: Power down [ 64s] ### VM INTERACTION END ### [ 64s] [ 64s] armbuild04 failed "build osmo-cbc_0.2.2.202105250026.dsc" at Tue May 25 10:40:40 UTC 2021. [ 64s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue May 25 10:43:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:43:31 +0000 Subject: Change in osmo-bsc[master]: replace ts_*_for_each_lchan() with ts_for_n_lchans() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24372 ) Change subject: replace ts_*_for_each_lchan() with ts_for_n_lchans() ...................................................................... Patch Set 3: Code-Review-1 (3 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24372/3/include/osmocom/bsc/gsm_data.h File include/osmocom/bsc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/24372/3/include/osmocom/bsc/gsm_data.h at 567 PS3, Line 567: ((lchan - (ts)->lchan) < ARRAY_SIZE((ts)->lchan)) \ Are you sure this is correct? AFAIR (lchan - (ts)->lchan) is a pointer distance in bytes, not in elements, while ARRAY_SIZE returns the number of elements? https://gerrit.osmocom.org/c/osmo-bsc/+/24372/3/include/osmocom/bsc/gsm_data.h at 568 PS3, Line 568: && lchan->fi \ So if an lchan has no fi, you early exit the loop? does that make sense? you should simply skip that lchan right? https://gerrit.osmocom.org/c/osmo-bsc/+/24372/3/include/osmocom/bsc/gsm_data.h at 569 PS3, Line 569: && ((lchan - (ts)->lchan) < (N)); \ Same here, I'd say that's a distance in bytes, not in elements. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib2c6baf73a81ba371143ba5adc912aef6f79238d Gerrit-Change-Number: 24372 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:43:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:43:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:43:52 +0000 Subject: Change in osmo-bsc[master]: add VAMOS cmodes to chan_mode_to_rsl_cmod_spd() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24373 ) Change subject: add VAMOS cmodes to chan_mode_to_rsl_cmod_spd() ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89c929e936151b4ed010114197cf8e6ea85193ff Gerrit-Change-Number: 24373 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:43:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:44:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:44:53 +0000 Subject: Change in osmo-bsc[master]: RR Assignment for VAMOS: send TSC Set In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24376 ) Change subject: RR Assignment for VAMOS: send TSC Set ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf3b6d276fadf724c16a5225c03e96a27a056153 Gerrit-Change-Number: 24376 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:44:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:47:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:47:39 +0000 Subject: Change in osmo-bsc[master]: RSL: look up lchan by sign_link, not trx, for VAMOS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24378 ) Change subject: RSL: look up lchan by sign_link, not trx, for VAMOS ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I872a3ed9ce0cdbd9fbe41a750081f54008eece8d Gerrit-Change-Number: 24378 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:47:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:47:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:47:53 +0000 Subject: Change in osmo-bsc[master]: VTY: 'show lchan': show that lchan is in VAMOS mode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24379 ) Change subject: VTY: 'show lchan': show that lchan is in VAMOS mode ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9f38712f941d60531526cc3395875655455909d9 Gerrit-Change-Number: 24379 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:47:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:48:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:48:47 +0000 Subject: Change in osmo-bsc[master]: log: assignment_fsm: drop newline from assignment_fail In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24382 ) Change subject: log: assignment_fsm: drop newline from assignment_fail ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib56e1f6a45c7e2c235f8ef0c8dea7151481677ab Gerrit-Change-Number: 24382 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:48:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:49:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:49:41 +0000 Subject: Change in osmo-bsc[master]: log: assignment_fsm: tweak err msg for incompatible chan In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24383 ) Change subject: log: assignment_fsm: tweak err msg for incompatible chan ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24383/4/src/osmo-bsc/assignment_fsm.c File src/osmo-bsc/assignment_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24383/4/src/osmo-bsc/assignment_fsm.c at 576 PS4, Line 576: gsm_lchan_name(conn->lchan), calling gsm_lchan_name twice in same function, make sure the buffer is not overwritten. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifd8790923d54a27061708ff8077d509238b9c7dd Gerrit-Change-Number: 24383 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:49:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:49:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:49:54 +0000 Subject: Change in osmo-bsc[master]: log: assignment_fsm: tweak err msg for incompatible chan In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24383 ) Change subject: log: assignment_fsm: tweak err msg for incompatible chan ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifd8790923d54a27061708ff8077d509238b9c7dd Gerrit-Change-Number: 24383 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:49:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:51:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:51:31 +0000 Subject: Change in osmo-bsc[master]: clarify bts_chan_load In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24384 ) Change subject: clarify bts_chan_load ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9bd80a08472018e69360ac5739979c7056d4f063 Gerrit-Change-Number: 24384 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:51:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 10:55:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:55:32 +0000 Subject: Change in osmo-bsc[master]: get_any_lchan(): reduce minor code dup In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24385 ) Change subject: get_any_lchan(): reduce minor code dup ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24385/4/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24385/4/src/osmo-bsc/abis_rsl.c at 1646 PS4, Line 1646: if (lchan->fi->state == LCHAN_ST_ESTABLISHED){ spacing -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I304a7333adc265e156f04b42a10bac6912f58ad2 Gerrit-Change-Number: 24385 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:55:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Tue May 25 10:56:21 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 10:56:21 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <60acd7e16be8e_3adf2b23e92b45fc1422218@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-pcu failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 149s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 149s] [366/408] installing libatkmm-1.6-1v5-2.24.2-2 [ 149s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 149s] [367/408] installing libgdk-pixbuf2.0-0-2.36.5-2+deb9u2 [ 149s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 149s] [368/408] installing gettext-0.19.8.1-2+deb9u1 [ 150s] Processing triggers for man-db (2.7.6.1-2) ... [ 150s] [369/408] installing libmagickcore-6.q16-3-8:6.9.7.4+dfsg-11+deb9u8 [ 150s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 150s] [370/408] installing intltool-debian-0.35.0+20060710.4 [ 150s] [371/408] installing gtk-update-icon-cache-3.22.11-1 [ 151s] No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. [ 151s] No diversion 'diversion of /usr/share/man/man8/update-icon-caches.8.gz to /usr/share/man/man8/update-icon-caches.gtk2.8.gz by libgtk-3-bin', none removed. [ 151s] Processing triggers for man-db (2.7.6.1-2) ... [ 151s] [372/408] installing libosmocore-dev-1.5.1.122.155968.202105250026 [ 151s] dpkg-deb (subprocess): decompressing archive member: lzma error: compressed data is corrupt [ 151s] dpkg-deb: error: subprocess returned error exit status 2 [ 151s] dpkg: error processing archive .init_b_cache/libosmocore-dev.deb (--install): [ 151s] cannot copy extracted data for './usr/lib/arm-linux-gnueabihf/libosmoctrl.a' to '/usr/lib/arm-linux-gnueabihf/libosmoctrl.a.dpkg-new': unexpected end of file or stream [ 151s] Errors were encountered while processing: [ 151s] .init_b_cache/libosmocore-dev.deb [ 151s] exit ... [ 151s] ### VM INTERACTION START ### [ 154s] [ 138.652369] sysrq: SysRq : Power Off [ 154s] [ 138.654605] reboot: Power down [ 154s] ### VM INTERACTION END ### [ 154s] [ 154s] armbuild04 failed "build osmo-pcu_0.9.0.106.38f8.202105250026.dsc" at Tue May 25 10:56:11 UTC 2021. [ 154s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue May 25 10:59:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 10:59:30 +0000 Subject: Change in osmo-bsc[master]: add fields to reflect nr of lchans in ts struct In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24371 ) Change subject: add fields to reflect nr of lchans in ts struct ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I08027d79db71a23e874b729c4e6173b0f269ee4f Gerrit-Change-Number: 24371 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 10:59:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:04:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:04:11 +0000 Subject: Change in osmo-bsc[master]: add VAMOS secondary lchans to timeslot struct In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24377 ) Change subject: add VAMOS secondary lchans to timeslot struct ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I928af99498bba488d317693f3144d4fccbbe9af3 Gerrit-Change-Number: 24377 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 11:04:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:05:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:05:32 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 11:05:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:05:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:05:55 +0000 Subject: Change in osmo-bsc[master]: implement CHANnel ACTIVate to VAMOS mode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24375 ) Change subject: implement CHANnel ACTIVate to VAMOS mode ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec Gerrit-Change-Number: 24375 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 11:05:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:06:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:06:11 +0000 Subject: Change in osmo-bsc[master]: VTY: add 'vamos-subslot' to activate a secondary lchan In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24380 ) Change subject: VTY: add 'vamos-subslot' to activate a secondary lchan ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If44b6bdb78046502eb0b66529ae190a955d9978c Gerrit-Change-Number: 24380 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 11:06:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:06:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:06:29 +0000 Subject: Change in osmo-bsc[master]: VTY: add lchan re-assignment command In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24381 ) Change subject: VTY: add lchan re-assignment command ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 Gerrit-Change-Number: 24381 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 11:06:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:06:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:06:48 +0000 Subject: Change in osmo-bsc[master]: vty-test: osmo-bsc.vty: test doc of lchan activate cmd In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24387 ) Change subject: vty-test: osmo-bsc.vty: test doc of lchan activate cmd ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6379e306fb8fa6ec227125c6cf14893d674e7596 Gerrit-Change-Number: 24387 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 11:06:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:07:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:07:38 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: move selection of the next bind into own function In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24122 ) Change subject: gprs_ns2_sns: move selection of the next bind into own function ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d Gerrit-Change-Number: 24122 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 11:07:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:08:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:08:16 +0000 Subject: Change in osmo-bsc[master]: handover dot charts: fix wrong transitions regarding MGW In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24359 ) Change subject: handover dot charts: fix wrong transitions regarding MGW ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2ed9b3ca7fe145a930ca509e6b3943f5abf3aa62 Gerrit-Change-Number: 24359 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 11:08:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:09:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:09:57 +0000 Subject: Change in osmo-bsc[master]: add secondary RSL link for VAMOS (shadow TEI) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24366 ) Change subject: add secondary RSL link for VAMOS (shadow TEI) ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24366/3/include/osmocom/bsc/bts_trx.h File include/osmocom/bsc/bts_trx.h: https://gerrit.osmocom.org/c/osmo-bsc/+/24366/3/include/osmocom/bsc/bts_trx.h at 37 PS3, Line 37: rsl_tei_vamos > Do you really need this field? It's always (rsl_tei_primary + 0x80) AFAICS. VAMOS_SHADOW_TEI(rsl_tei_primary) can be used instead afaiu. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic304924b017f4588f749268e99ed1326db4c9f47 Gerrit-Change-Number: 24366 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 25 May 2021 11:09:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:11:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:11:06 +0000 Subject: Change in osmo-bsc[master]: gsm48_lchan2chan_desc(): expose TSC as param In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24368 ) Change subject: gsm48_lchan2chan_desc(): expose TSC as param ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I49503a6f5d25bb3bc9a0505bd79ed1d5c4f50577 Gerrit-Change-Number: 24368 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 11:11:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:12:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:12:33 +0000 Subject: Change in osmo-bts[master]: [VAMOS] common/oml: generalize checking BTS_FEAT_MULTI_TSC In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24389 ) Change subject: [VAMOS] common/oml: generalize checking BTS_FEAT_MULTI_TSC ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iaa5aced70e166963106c27ebdb09adaae22daea4 Gerrit-Change-Number: 24389 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 11:12:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:12:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:12:45 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: indicate BTS_FEAT_{MULTI_TSC, VAMOS} as supported In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24390 ) Change subject: [VAMOS] osmo-bts-trx: indicate BTS_FEAT_{MULTI_TSC,VAMOS} as supported ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iba3f9787c32c802cfab716176e6ada799f5f21df Gerrit-Change-Number: 24390 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 11:12:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:13:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:13:43 +0000 Subject: Change in osmo-bts[master]: [VAMOS] l1sap_chan_act(): handle Osmocom specific TSC IE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24329 ) Change subject: [VAMOS] l1sap_chan_act(): handle Osmocom specific TSC IE ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I717e5b2a6ca5b4faeaab9cae4bb971907945871b Gerrit-Change-Number: 24329 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 11:13:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:15:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:15:18 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: rework handling of Training Sequence In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24327 ) Change subject: [VAMOS] osmo-bts-trx: rework handling of Training Sequence ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3744bc308b99ef941e6e9d139444e414abebc14b Gerrit-Change-Number: 24327 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 11:15:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:27:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:27:05 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24388 ) Change subject: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values ...................................................................... Patch Set 3: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24388/3/src/osmo-bts-trx/l1_if.h File src/osmo-bts-trx/l1_if.h: https://gerrit.osmocom.org/c/osmo-bts/+/24388/3/src/osmo-bts-trx/l1_if.h at 108 PS3, Line 108: bool setslot_valid[TRX_NR_TS]; Why not merging too the valid and sent into the new struct array you created? Feels like you went half way. https://gerrit.osmocom.org/c/osmo-bts/+/24388/3/src/osmo-bts-trx/trx_provision_fsm.c File src/osmo-bts-trx/trx_provision_fsm.c: https://gerrit.osmocom.org/c/osmo-bts/+/24388/3/src/osmo-bts-trx/trx_provision_fsm.c at 521 PS3, Line 521: trx_if_cmd_setslot(l1h, ts_data->tn, l1if_setslot_cb); shouldn't you send it only if it didn't change? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idc5796151e3e83f42d60c2d4cb7c35890d76a7f5 Gerrit-Change-Number: 24388 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 11:27:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:29:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 25 May 2021 11:29:43 +0000 Subject: Change in osmo-pcu[master]: tbf: Move existing tbf_state implementation to osmo_fsm In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24235 ) Change subject: tbf: Move existing tbf_state implementation to osmo_fsm ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6bb4baea2dee191ba5bbcbec2ea9dcf681aa1237 Gerrit-Change-Number: 24235 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 May 2021 11:29:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:31:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:31:10 +0000 Subject: Change in osmo-pcu[master]: tbf: Move existing tbf_state implementation to osmo_fsm In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24235 ) Change subject: tbf: Move existing tbf_state implementation to osmo_fsm ...................................................................... tbf: Move existing tbf_state implementation to osmo_fsm This is only an initial implementation, where all state changes are still done outside the FSM itself. The idea is to do the move in several commits so that they can be digested better in logical steps and avoid major break up. Related: OS#2709 Change-Id: I6bb4baea2dee191ba5bbcbec2ea9dcf681aa1237 --- M doc/tbf.txt M src/Makefile.am M src/gprs_ms.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp A src/tbf_fsm.c A src/tbf_fsm.h M src/tbf_ul.cpp M tests/alloc/AllocTest.cpp M tests/alloc/AllocTest.err M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.cpp M tests/types/TypesTest.err 17 files changed, 125,013 insertions(+), 364 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, but someone else must approve -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6bb4baea2dee191ba5bbcbec2ea9dcf681aa1237 Gerrit-Change-Number: 24235 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:31:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:31:11 +0000 Subject: Change in osmo-pcu[master]: cosmetic: Fix typo s/TIMSI/TMSI/ In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24321 ) Change subject: cosmetic: Fix typo s/TIMSI/TMSI/ ...................................................................... cosmetic: Fix typo s/TIMSI/TMSI/ Change-Id: I64231311633b64d898625c49fdbf3f816dfbb97a --- M src/gprs_bssgp_pcu.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/gprs_bssgp_pcu.c b/src/gprs_bssgp_pcu.c index 5d0a489..7ee2e45 100644 --- a/src/gprs_bssgp_pcu.c +++ b/src/gprs_bssgp_pcu.c @@ -191,7 +191,7 @@ } req->mi_imsi_present = true; - /* TIMSI is optional */ + /* TMSI is optional */ req->mi_tmsi_present = false; if (TLVP_PRESENT(tp, BSSGP_IE_TMSI)) { /* Be safe against an evil SGSN - check the length */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I64231311633b64d898625c49fdbf3f816dfbb97a Gerrit-Change-Number: 24321 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:31:12 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 25 May 2021 11:31:12 +0000 Subject: Change in osmo-bsc[master]: ctrl: Avoid fclose() on NULL pointer In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24391 ) Change subject: ctrl: Avoid fclose() on NULL pointer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib23614c77ec039dd0812196fa4e5d1c3f8408087 Gerrit-Change-Number: 24391 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 25 May 2021 11:31:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:36:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:36:28 +0000 Subject: Change in osmo-bsc[master]: ctrl: Avoid fclose() on NULL pointer In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24391 ) Change subject: ctrl: Avoid fclose() on NULL pointer ...................................................................... ctrl: Avoid fclose() on NULL pointer Fixes: 25ff634b5eb06bc1411125dd01efae246e976c4a Related: Coverity CID#236128 Change-Id: Ib23614c77ec039dd0812196fa4e5d1c3f8408087 --- M src/osmo-bsc/bsc_ctrl_commands.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/osmo-bsc/bsc_ctrl_commands.c b/src/osmo-bsc/bsc_ctrl_commands.c index 9038404..2d37b5d 100644 --- a/src/osmo-bsc/bsc_ctrl_commands.c +++ b/src/osmo-bsc/bsc_ctrl_commands.c @@ -62,7 +62,7 @@ LOGP(DCTRL, LOGL_NOTICE, "Applying VTY snippet from %s: fopen() failed: %d\n", cmd->value, errno); cmd->reply = "NoFile"; - goto close_ret; + return cmd_ret; } rc = vty_read_config_filep(cfile, NULL); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib23614c77ec039dd0812196fa4e5d1c3f8408087 Gerrit-Change-Number: 24391 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 11:36:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 11:36:35 +0000 Subject: Change in osmo-bts[master]: bts: Clean up TS selection in sign_link_up In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24319 ) Change subject: bts: Clean up TS selection in sign_link_up ...................................................................... bts: Clean up TS selection in sign_link_up Change-Id: I0c92dfd05bf2ae40887980ef10b7e4c679213b6a --- M src/common/abis.c M tests/handover/handover_test.c 2 files changed, 22 insertions(+), 18 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/abis.c b/src/common/abis.c index be7e906..55962bd 100644 --- a/src/common/abis.c +++ b/src/common/abis.c @@ -99,25 +99,27 @@ static struct e1inp_sign_link *sign_link_up(void *unit, struct e1inp_line *line, enum e1inp_sign_type type) { - struct e1inp_sign_link *sign_link = NULL; + struct e1inp_ts *sign_ts; struct gsm_bts_trx *trx; int trx_nr; switch (type) { case E1INP_SIGN_OML: + sign_ts = e1inp_line_ipa_oml_ts(line); LOGP(DABIS, LOGL_INFO, "OML Signalling link up\n"); - e1inp_ts_config_sign(&line->ts[E1INP_SIGN_OML-1], line); - sign_link = g_bts->oml_link = - e1inp_sign_link_create(&line->ts[E1INP_SIGN_OML-1], - E1INP_SIGN_OML, g_bts->c0, 255, 0); + e1inp_ts_config_sign(sign_ts, line); + g_bts->oml_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_OML, + g_bts->c0, IPAC_PROTO_OML, 0); if (clock_gettime(CLOCK_MONOTONIC, &g_bts->oml_conn_established_timestamp) != 0) memset(&g_bts->oml_conn_established_timestamp, 0, sizeof(g_bts->oml_conn_established_timestamp)); drain_oml_queue(g_bts); bts_link_estab(g_bts); - break; - default: + return g_bts->oml_link; + + case E1INP_SIGN_RSL: trx_nr = type - E1INP_SIGN_RSL; + sign_ts = e1inp_line_ipa_rsl_ts(line, trx_nr); LOGP(DABIS, LOGL_INFO, "RSL Signalling link for TRX%d up\n", trx_nr); trx = gsm_bts_trx_num(g_bts, trx_nr); @@ -126,16 +128,17 @@ trx_nr); break; } - e1inp_ts_config_sign(&line->ts[type-1], line); - sign_link = trx->rsl_link = - e1inp_sign_link_create(&line->ts[type-1], - E1INP_SIGN_RSL, trx, - trx->rsl_tei, 0); + e1inp_ts_config_sign(sign_ts, line); + trx->rsl_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_RSL, + trx, trx->rsl_tei, 0); trx_link_estab(trx); - break; - } + return trx->rsl_link; - return sign_link; + default: + LOGP(DABIS, LOGL_ERROR, "Unknwon Signalling link up %d\n", (int)type); + return NULL; + } + return NULL; } static void sign_link_down(struct e1inp_line *line) diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 6af8fac..9c9b020 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -58,6 +58,7 @@ { void *tall_bts_ctx; struct e1inp_line *line; + struct e1inp_ts *sign_ts; struct gsm_lchan *lchan; struct osmo_phsap_prim nl1sap; struct msgb *msg; @@ -90,9 +91,9 @@ line = e1inp_line_create(0, "ipa"); OSMO_ASSERT(line); - - e1inp_ts_config_sign(&line->ts[E1INP_SIGN_RSL-1], line); - trx->rsl_link = e1inp_sign_link_create(&line->ts[E1INP_SIGN_RSL-1], E1INP_SIGN_RSL, NULL, 0, 0); + sign_ts = e1inp_line_ipa_rsl_ts(line, 0); + e1inp_ts_config_sign(sign_ts, line); + trx->rsl_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_RSL, NULL, 0, 0); OSMO_ASSERT(trx->rsl_link); trx->rsl_link->trx = trx; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0c92dfd05bf2ae40887980ef10b7e4c679213b6a Gerrit-Change-Number: 24319 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 14:16:19 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 25 May 2021 14:16:19 +0000 Subject: Change in osmo-bsc[master]: get_any_lchan(): reduce minor code dup In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24385 ) Change subject: get_any_lchan(): reduce minor code dup ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I304a7333adc265e156f04b42a10bac6912f58ad2 Gerrit-Change-Number: 24385 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 25 May 2021 14:16:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 14:26:09 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 14:26:09 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 2: filter modes also for VTY In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24357 ) Change subject: AMR config cleanup step 2: filter modes also for VTY ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24357/2/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24357/2/src/osmo-bsc/lchan_fsm.c at 575 PS2, Line 575: /* If activated for VTY, there may not be a conn indicating an MSC AMR configuration. */ > You mean "activated from VTY" or "activated by VTY" here? the user entered some VTY command on telnet which ended up activating/modifying/re-assigning this lchan. So we are probably activating an lchan for a VTY command. For me all of "for VTY" "from VTY" "by VTY" mean exactly the same. Where is the difference for you? The point in this patch however is to not care about VTY, but pivot on the lack of a BSSAP conn. (incidentally this case happens only when some action was taken on the VTY without an MSC involved) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 Gerrit-Change-Number: 24357 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 14:26:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 14:48:24 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 25 May 2021 14:48:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392 ) Change subject: MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) ...................................................................... MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) The testcase TC_one_crcx_loopback_rtp_implicit triggers a bug in older osmo-mgw version that eventually leads into a crash of osmo-mgw. This also means that all tests after TC_one_crcx_loopback_rtp_implicit will also fail. Lets move TC_one_crcx_loopback_rtp_implicit to the end of the control section to postpone the crash to the very end of the testrun. Change-Id: I25abf30f8c49e580c46e7a61e887bd0add9a4cd4 Related: OS#5123 --- M mgw/MGCP_Test.ttcn 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/92/24392/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index c1e263a..6f9eb48 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -2445,7 +2445,6 @@ execute(TC_one_crcx_receive_only_rtp()); execute(TC_one_crcx_loopback_rtp()); execute(TC_one_crcx_loopback_rtp_ipv6()); - execute(TC_one_crcx_loopback_rtp_implicit()); execute(TC_two_crcx_and_rtp()); execute(TC_two_crcx_and_rtp_bidir()); execute(TC_two_crcx_diff_pt_and_rtp()); @@ -2474,5 +2473,7 @@ execute(TC_two_crcx_mdcx_and_rtp_osmux_ipv6()); execute(TC_two_crcx_mdcx_and_rtp_osmux_ipv4_ipv6()); execute(TC_two_crcx_mdcx_and_rtp_osmux_ipv6_ipv4()); + + execute(TC_one_crcx_loopback_rtp_implicit()); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392 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: I25abf30f8c49e580c46e7a61e887bd0add9a4cd4 Gerrit-Change-Number: 24392 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 14:51:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 14:51:55 +0000 Subject: Change in libosmo-abis[master]: ipa: do not open socket in nonblocking mode In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24332 ) Change subject: ipa: do not open socket in nonblocking mode ...................................................................... Patch Set 1: > It seems you can check at any tie whether the socket is connected by calling getpeername() (if not connected, you'll get an error). the method I'm aware is to register the file descriptor for exceptions, and when the exception is signalled to select/poll, you do a getsockopt SOL_SOCKET, SO_ERROR. That will tell you if any error condition exists. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I926a75920f7a15c670f7445f2e74e876c5fad7be Gerrit-Change-Number: 24332 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Tue, 25 May 2021 14:51:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 14:54:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 14:54:23 +0000 Subject: Change in osmo-bsc[master]: hodec 2: do intra-cell congestion resolution by Assignment In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24364 ) Change subject: hodec 2: do intra-cell congestion resolution by Assignment ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24364/3/tests/handover/handover_test.c File tests/handover/handover_test.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24364/3/tests/handover/handover_test.c at 584 PS3, Line 584: buf = msgb_put(msg, 3); > You could (ab)use msgb_tv16_put() here: [?] indeed. however this is just a copy of a different place in this file, so i'll just keep it the same -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id56a890106b93fcee67ac9401b890e7b63bba421 Gerrit-Change-Number: 24364 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 25 May 2021 14:54:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 14:54:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 14:54:37 +0000 Subject: Change in osmo-bsc[master]: make sure channel mode and s15_s0 are updated only after an ACK In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24352 ) Change subject: make sure channel mode and s15_s0 are updated only after an ACK ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24352/2/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24352/2/src/osmo-bsc/bsc_vty.c at 6086 PS2, Line 6086: amr_modes[amr_mode], > Unrelated: below the 'amr_mode' is compared to -1. [?] wait a minute, i thought i had a separate patch to fix this... this is a bug existing prior to this patch and i'm sure i removed that s15_s0 line in a patch, because AFAIU EFR doesn't use those bits anyway. ah found it, it got lost on another branch, will include here -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0da36124d73efc28a8809b63d7c96e2167fc412 Gerrit-Change-Number: 24352 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 25 May 2021 14:54:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 14:55:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 14:55:45 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: send BSSMAP response only after Assignment Request In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24350 ) Change subject: assignment_fsm: send BSSMAP response only after Assignment Request ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0cddbdb00abcec78e153f4ae6d04ce75080a111 Gerrit-Change-Number: 24350 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 14:55:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 14:56:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 14:56:14 +0000 Subject: Change in osmo-bsc[master]: cosmetic scoping in reuse_existing_lchan() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24351 ) Change subject: cosmetic scoping in reuse_existing_lchan() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0d1000cf108b0dfdc690f7a59d9bdf40de9043d2 Gerrit-Change-Number: 24351 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 May 2021 14:56:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 14:57:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 14:57:24 +0000 Subject: Change in osmo-bsc[master]: add secondary RSL link for VAMOS (shadow TEI) In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24366 ) Change subject: add secondary RSL link for VAMOS (shadow TEI) ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24366/3/include/osmocom/bsc/bts_trx.h File include/osmocom/bsc/bts_trx.h: https://gerrit.osmocom.org/c/osmo-bsc/+/24366/3/include/osmocom/bsc/bts_trx.h at 37 PS3, Line 37: rsl_tei_vamos > VAMOS_SHADOW_TEI(rsl_tei_primary) can be used instead afaiu. This is the current choice of things, but I was not certain that this would be the case. I still prefer that this translation from TEI to VAMOS TEI happens only once, and that all other code can just use the fixed value. Probably we don't need the macro then... -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic304924b017f4588f749268e99ed1326db4c9f47 Gerrit-Change-Number: 24366 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 25 May 2021 14:57:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 14:57:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 14:57:45 +0000 Subject: Change in osmo-bsc[master]: make sure channel mode and s15_s0 are updated only after an ACK In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24352 ) Change subject: make sure channel mode and s15_s0 are updated only after an ACK ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24352/2/src/osmo-bsc/gsm_data.c File src/osmo-bsc/gsm_data.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24352/2/src/osmo-bsc/gsm_data.c at 691 PS2, Line 691: default: > Cosmetic: it's unusual to see 'default' before the other 'case's. Agreed https://gerrit.osmocom.org/c/osmo-bsc/+/24352/2/src/osmo-bsc/gsm_data.c at 692 PS2, Line 692: return -1; > Callers of this function do not check the returned value, so I would rather add OSMO_ASSERT(0) here. Agreed -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0da36124d73efc28a8809b63d7c96e2167fc412 Gerrit-Change-Number: 24352 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 25 May 2021 14:57:45 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 14:58:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 14:58:20 +0000 Subject: Change in osmo-bsc[master]: remove special case from assignment_count_result() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24353 ) Change subject: remove special case from assignment_count_result() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic62e8a48d3c88a1966086240a41732d169328491 Gerrit-Change-Number: 24353 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 May 2021 14:58:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 14:59:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 14:59:47 +0000 Subject: Change in osmo-bsc[master]: move lchan->csd_mode into channel_mode_and_rate In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24355 ) Change subject: move lchan->csd_mode into channel_mode_and_rate ...................................................................... Patch Set 2: Code-Review+2 background: It is likely we will need to implement those towards the end of the year. Also FYI, there was some limited CSD support patches in a branch by tobias a long time ago. No action item associated with my comments above. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0e065a5dca5f4a31d5d81e3528a539214a74170 Gerrit-Change-Number: 24355 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 May 2021 14:59:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:02:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 15:02:28 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 1: split lchan_mr_config() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24356 ) Change subject: AMR config cleanup step 1: split lchan_mr_config() ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24356/2/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24356/2/src/osmo-bsc/lchan_fsm.c at 499 PS2, Line 499: logging > This looks weird to me. I would keep the old naming. once more I agree with fixeria. LOG_LCHAN logs on a lchan. And if I see a variable called lchan, I know what it is. "logging" looks like some kind of predicate boolean.. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iebac2dc26412d877e5364f90d6f2ed7a7952351e Gerrit-Change-Number: 24356 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 25 May 2021 15:02:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:17:01 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 15:17:01 +0000 Subject: Change in osmo-bsc[master]: replace ts_*_for_each_lchan() with ts_for_n_lchans() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24372 ) Change subject: replace ts_*_for_each_lchan() with ts_for_n_lchans() ...................................................................... Patch Set 3: (3 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24372/3/include/osmocom/bsc/gsm_data.h File include/osmocom/bsc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/24372/3/include/osmocom/bsc/gsm_data.h at 567 PS3, Line 567: ((lchan - (ts)->lchan) < ARRAY_SIZE((ts)->lchan)) \ > Are you sure this is correct? AFAIR (lchan - (ts)->lchan) is a pointer distance in bytes, not in ele [?] you *always* get a distance in pointer-type-sizeof. A distance in bytes will only be returned for e.g. uint8_t*. For gsm_lchan* you always get a distance in array indexes. I and we and everyone is using that all over the place and I am absolutely positively sure. x = &lchan[3] is identical to x = lchan + 3 https://gerrit.osmocom.org/c/osmo-bsc/+/24372/3/include/osmocom/bsc/gsm_data.h at 568 PS3, Line 568: && lchan->fi \ > So if an lchan has no fi, you early exit the loop? does that make sense? you should simply skip tha [?] I'd like that, but we can't skip in a for loop macro like this : ( And actually there will never be a "fi gap" in the lchan array. As soon as one NULL fi is encountered, the rest of them will also be NULL. https://gerrit.osmocom.org/c/osmo-bsc/+/24372/3/include/osmocom/bsc/gsm_data.h at 569 PS3, Line 569: && ((lchan - (ts)->lchan) < (N)); \ > Same here, I'd say that's a distance in bytes, not in elements. didn't expect this from you Pau ; ) ; ) ; ) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib2c6baf73a81ba371143ba5adc912aef6f79238d Gerrit-Change-Number: 24372 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 15:17:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:21:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 15:21:24 +0000 Subject: Change in osmo-bsc[master]: log: assignment_fsm: tweak err msg for incompatible chan In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24383 ) Change subject: log: assignment_fsm: tweak err msg for incompatible chan ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24383/4/src/osmo-bsc/assignment_fsm.c File src/osmo-bsc/assignment_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24383/4/src/osmo-bsc/assignment_fsm.c at 576 PS4, Line 576: gsm_lchan_name(conn->lchan), > calling gsm_lchan_name twice in same function, make sure the buffer is not overwritten. static inline char *gsm_lchan_name(const struct gsm_lchan *lchan) { return lchan->name; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifd8790923d54a27061708ff8077d509238b9c7dd Gerrit-Change-Number: 24383 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 15:21:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:24:02 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 15:24:02 +0000 Subject: Change in osmo-bsc[master]: make sure channel mode and s15_s0 are updated only after an ACK In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24352 to look at the new patch set (#3). Change subject: make sure channel mode and s15_s0 are updated only after an ACK ...................................................................... make sure channel mode and s15_s0 are updated only after an ACK I noticed during testing that an lchan used as TCH/F in fact still had its channel mode set to Signalling -- because on Assignment, the Speech mode used to be placed in the *previous* lchan and the new lchan was never updated after the Activ ACK. This is unbearable confusion which I complained about numerous times, so far mostly for cosmetic reasons. But implementing re-assignment properly actually requires this to be cleaned up. Keep all volatile chan mode settings in lchan->activate.* or lchan->modify.*, and only update lchan->* members when an ACK has been received for those settings. So a failed request keeps a sane state. Make sure that those settings are in fact updated in the proper lchan, upon an ACK, so that subsequent re-assignment or mode-modify know the accurate lchan state. Related are upcoming patches that sort out the AMR multirate configuration in a similar fashion, see Iebac2dc26412d877e5364f90d6f2ed7a7952351e Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 Ie57f9d0e3912632903d9740291225bfd1634ed47. Related: SYS#5315 OS#4940 OS#3787 OS#3833 Change-Id: Ie0da36124d73efc28a8809b63d7c96e2167fc412 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_lcls.c M tests/handover/handover_test.c 13 files changed, 186 insertions(+), 162 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/52/24352/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0da36124d73efc28a8809b63d7c96e2167fc412 Gerrit-Change-Number: 24352 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:24:02 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 15:24:02 +0000 Subject: Change in osmo-bsc[master]: eliminate lchan->rsl_cmode In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24354 to look at the new patch set (#3). Change subject: eliminate lchan->rsl_cmode ...................................................................... eliminate lchan->rsl_cmode Related: SYS#5315 OS#4940 Change-Id: I1c167b22bb6638a929488d093bde0f1a5fb227ad --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c 5 files changed, 26 insertions(+), 43 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/54/24354/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1c167b22bb6638a929488d093bde0f1a5fb227ad Gerrit-Change-Number: 24354 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:24:02 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 15:24:02 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 1: split lchan_mr_config() In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24356 to look at the new patch set (#3). Change subject: AMR config cleanup step 1: split lchan_mr_config() ...................................................................... AMR config cleanup step 1: split lchan_mr_config() Split off two function from lchan_mr_config() which do not directly manipulate struct gsm_lchan members. This allows subsequent patches to re-use mr_config_filter() for Channel Mode Modify without depending on lchan->activate.info; allows to filter AMR modes without modifying the state of an already active lchan before sending a Channel Activation or Channel Mode Modify; and allows to move mr_config_render_lv() to gsm_04_08_rr.c so that the mr_ms_lv and mr_bts_lv no longer need to be stored in struct gsm_lchan -- they essentially duplicate s15_s0. Rationale: This is a follow-up for the AMR configuration in the sense that previous patch Ie0da36124d73efc28a8809b63d7c96e2167fc412 started for channel mode and rate, and the s15_s0 bits: The AMR mode filtering directly manipulates struct gsm_lchan members and takes parameters from lchan->activate.info. This makes it hard to separate lchan activation from the Channel Mode Modify procedure. Related: SYS#5315 OS#4940 OS#3787 OS#3833 Change-Id: Iebac2dc26412d877e5364f90d6f2ed7a7952351e --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 85 insertions(+), 73 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/56/24356/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iebac2dc26412d877e5364f90d6f2ed7a7952351e Gerrit-Change-Number: 24356 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:24:02 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 15:24:02 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 2: filter modes also for VTY In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24357 to look at the new patch set (#3). Change subject: AMR config cleanup step 2: filter modes also for VTY ...................................................................... AMR config cleanup step 2: filter modes also for VTY The previous patch reshuffled the code without having any functional change. In this patch, a functional change follows: It does not really make sense to decide on AMR mode filtering based on whether an activation request came from the VTY: a) BTS: There is no need to skip AMR mode filtering for the BTS config at all. There is always a BTS. b) MSC: Instead of testing for a VTY origin of the request, rather skip the MSC AMR config filtering exactly when there is no conn associated with the lchan. Move the bts filtering directly into mr_config_filter(). Related: SYS#5315 OS#4940 OS#3787 OS#3833 Change-Id: Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 14 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/57/24357/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 Gerrit-Change-Number: 24357 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:24:02 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 15:24:02 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 3: generate AMR LV on msg composition In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24358 to look at the new patch set (#3). Change subject: AMR config cleanup step 3: generate AMR LV on msg composition ...................................................................... AMR config cleanup step 3: generate AMR LV on msg composition Firstly, do not store the encoded AMR length-value bits in gsm_lchan->* before an activation/modify has actually succeeded. And secondly, do not store the AMR LV structure in struct gsm_lchan at all, but only generate the TLV exactly when a message is being composed. In gsm48_multirate_config(), generate the LV directly to a msgb instead of a static buffer first. gsm0408_test.c expected output verifies that the generated LV bytes remain unchanged. In lchan_mr_config(), introduce a target mr_conf argument, so that Chan Act and Mode Modify may generate the filtered AMR config to different locations (lchan->{activate,modify}.mr_conf_filtered). Only after receiving an ACK for Activate/Modify, set lchan->current_mr_conf from lchan->{activate,modify}.mr_conf_filtered. Use the properly scoped lchan->activate.mr_conf_filtered for Chan Act, lchan->modify.mr_conf_filtered for Mode Modify and new_lchan->current_mr_conf for Handover Command as appropriate. Related: SYS#5315 OS#4940 OS#3787 OS#3833 Change-Id: Ie57f9d0e3912632903d9740291225bfd1634ed47 --- M include/osmocom/bsc/gsm_04_08_rr.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c M tests/gsm0408/gsm0408_test.c 6 files changed, 140 insertions(+), 100 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/58/24358/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie57f9d0e3912632903d9740291225bfd1634ed47 Gerrit-Change-Number: 24358 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:24:02 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 15:24:02 +0000 Subject: Change in osmo-bsc[master]: add secondary RSL link for VAMOS (shadow TEI) In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24366 to look at the new patch set (#4). Change subject: add secondary RSL link for VAMOS (shadow TEI) ...................................................................... add secondary RSL link for VAMOS (shadow TEI) Set up a secondary sign_link for BTS that have BTS_FEAT_VAMOS enabled. There are no secondary lchans being set up yet, but this is all that is needed to send RSL commands for VAMOS secondary lchans. Related: SYS#5315 OS#4940 Change-Id: Ic304924b017f4588f749268e99ed1326db4c9f47 --- M include/osmocom/bsc/bts_trx.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/e1_config.c 7 files changed, 42 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/66/24366/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic304924b017f4588f749268e99ed1326db4c9f47 Gerrit-Change-Number: 24366 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:24:02 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 15:24:02 +0000 Subject: Change in osmo-bsc[master]: implement CHANnel ACTIVate to VAMOS mode In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 to look at the new patch set (#5). Change subject: implement CHANnel ACTIVate to VAMOS mode ...................................................................... implement CHANnel ACTIVate to VAMOS mode Related: SYS#5315 OS#4940 Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/lchan_fsm.c M tests/osmo-bsc.vty 5 files changed, 45 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/75/24375/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec Gerrit-Change-Number: 24375 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:24:02 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 15:24:02 +0000 Subject: Change in osmo-bsc[master]: get_any_lchan(): reduce minor code dup In-Reply-To: References: Message-ID: Hello Jenkins Builder, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24385 to look at the new patch set (#5). Change subject: get_any_lchan(): reduce minor code dup ...................................................................... get_any_lchan(): reduce minor code dup Change-Id: I304a7333adc265e156f04b42a10bac6912f58ad2 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 4 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/85/24385/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I304a7333adc265e156f04b42a10bac6912f58ad2 Gerrit-Change-Number: 24385 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:24:06 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 15:24:06 +0000 Subject: Change in osmo-bsc[master]: potential segfault: vty chan act: do not set AMR bits for EFR References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24393 ) Change subject: potential segfault: vty chan act: do not set AMR bits for EFR ...................................................................... potential segfault: vty chan act: do not set AMR bits for EFR The amr_mode parameter may be passed as -1 and is directly used as an array index in amr_modes[]. The AMR related switch case properly checks against a -1 index, but the EFR does not -- and should not use s15_s0. Change-Id: I9bae5b4fb8ab8c2002fe785e130dc9faeeda892c --- M src/osmo-bsc/bsc_vty.c 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/93/24393/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index c482fb9..b964dbc 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6078,7 +6078,6 @@ info = (struct lchan_activate_info) { .activ_for = ACTIVATE_FOR_VTY, .chan_mode = GSM48_CMODE_SPEECH_EFR, - .s15_s0 = amr_modes[amr_mode], .requires_voice_stream = false, }; } else if (!strcmp(codec_str, "amr")) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9bae5b4fb8ab8c2002fe785e130dc9faeeda892c Gerrit-Change-Number: 24393 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:24:06 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 15:24:06 +0000 Subject: Change in osmo-bsc[master]: cosmetic loop simplification in gsm48_multirate_config() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24394 ) Change subject: cosmetic loop simplification in gsm48_multirate_config() ...................................................................... cosmetic loop simplification in gsm48_multirate_config() Change-Id: I52424ad6a0bf499fe040cf0a1de00e636a0a40fe --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/94/24394/1 diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 4eb6be1..9dc33af 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -417,13 +417,13 @@ uint8_t *data; /* Check if modes for consistency (order and duplicates) */ - for (i = 0; i < num_modes; i++) { - if (i > 0 && modes[i - 1].mode > modes[i].mode) { + for (i = 1; i < num_modes; i++) { + if (modes[i - 1].mode > modes[i].mode) { LOGP(DRR, LOGL_ERROR, "BUG: Multirate codec with inconsistent config (mode order).\n"); return -EINVAL; } - if (i > 0 && modes[i - 1].mode == modes[i].mode) { + if (modes[i - 1].mode == modes[i].mode) { LOGP(DRR, LOGL_ERROR, "BUG: Multirate codec with inconsistent config (duplicate modes).\n"); return -EINVAL; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I52424ad6a0bf499fe040cf0a1de00e636a0a40fe Gerrit-Change-Number: 24394 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:24:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 15:24:07 +0000 Subject: Change in osmo-bsc[master]: RSL: set default TEI according to TRX number References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24395 ) Change subject: RSL: set default TEI according to TRX number ...................................................................... RSL: set default TEI according to TRX number Change-Id: I3c500f7a5afc9143d4ea7102ab96e52aeb67b4b6 --- M src/osmo-bsc/bts_trx.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/95/24395/1 diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index de1662a..8ad0a6f 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -67,7 +67,7 @@ trx->bts = bts; trx->nr = bts->num_trx++; - gsm_bts_trx_set_tei(trx, 0); + gsm_bts_trx_set_tei(trx, trx->nr); trx->mo.fi = osmo_fsm_inst_alloc(&nm_rcarrier_fsm, trx, trx, LOGL_INFO, NULL); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3c500f7a5afc9143d4ea7102ab96e52aeb67b4b6 Gerrit-Change-Number: 24395 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:34:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 15:34:24 +0000 Subject: Change in osmo-bsc[master]: make sure channel mode and s15_s0 are updated only after an ACK In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24352 to look at the new patch set (#4). Change subject: make sure channel mode and s15_s0 are updated only after an ACK ...................................................................... make sure channel mode and s15_s0 are updated only after an ACK I noticed during testing that an lchan used as TCH/F in fact still had its channel mode set to Signalling -- because on Assignment, the Speech mode used to be placed in the *previous* lchan and the new lchan was never updated after the Activ ACK. This is unbearable confusion which I complained about numerous times, so far mostly for cosmetic reasons. But implementing re-assignment properly actually requires this to be cleaned up. Keep all volatile chan mode settings in lchan->activate.* or lchan->modify.*, and only update lchan->* members when an ACK has been received for those settings. So a failed request keeps a sane state. Make sure that those settings are in fact updated in the proper lchan, upon an ACK, so that subsequent re-assignment or mode-modify know the accurate lchan state. Related are upcoming patches that sort out the AMR multirate configuration in a similar fashion, see Iebac2dc26412d877e5364f90d6f2ed7a7952351e Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 Ie57f9d0e3912632903d9740291225bfd1634ed47. Related: SYS#5315 OS#4940 OS#3787 OS#3833 Change-Id: Ie0da36124d73efc28a8809b63d7c96e2167fc412 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_lcls.c M tests/handover/handover_test.c 13 files changed, 186 insertions(+), 163 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/52/24352/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0da36124d73efc28a8809b63d7c96e2167fc412 Gerrit-Change-Number: 24352 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:46:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 15:46:59 +0000 Subject: Change in osmo-bsc[master]: add secondary RSL link for VAMOS (shadow TEI) In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24366 to look at the new patch set (#6). Change subject: add secondary RSL link for VAMOS (shadow TEI) ...................................................................... add secondary RSL link for VAMOS (shadow TEI) Set up a secondary sign_link for BTS that have BTS_FEAT_VAMOS enabled. There are no secondary lchans being set up yet, but this is all that is needed to send RSL commands for VAMOS secondary lchans. Related: SYS#5315 OS#4940 Change-Id: Ic304924b017f4588f749268e99ed1326db4c9f47 --- M include/osmocom/bsc/bts_trx.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/e1_config.c 7 files changed, 42 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/66/24366/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic304924b017f4588f749268e99ed1326db4c9f47 Gerrit-Change-Number: 24366 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:48:48 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 25 May 2021 15:48:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Provider_IPL4: fix typos in comments References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24396 ) Change subject: NS_Provider_IPL4: fix typos in comments ...................................................................... NS_Provider_IPL4: fix typos in comments Change-Id: I05ccbf2eb7387bc8c1277a53591efbf503d46051 --- M library/NS_Provider_IPL4.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/96/24396/1 diff --git a/library/NS_Provider_IPL4.ttcn b/library/NS_Provider_IPL4.ttcn index 8145c13..774c08a 100644 --- a/library/NS_Provider_IPL4.ttcn +++ b/library/NS_Provider_IPL4.ttcn @@ -16,10 +16,10 @@ * exchange data with the next higher level component, such as a NSVC_CT * or a RAW_NS_CT. * - * 2) the enew "endpoint" mode, where one provider can host a number of different + * 2) the new "endpoint" mode, where one provider can host a number of different * NSVCs. This is needed in most non-trivial IP-SNS scenarios. The 'NSE' * port of this component is no longer used. Instead, there is a NSVC port - * array, one of which will be used for each NSVC. The NSVCs are dynamically + * array, one of which will be used for each NSVC. The NSVCs are dynamically * added and removed via the PROC procedure port, controlled by NS_CT. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24396 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: I05ccbf2eb7387bc8c1277a53591efbf503d46051 Gerrit-Change-Number: 24396 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:48:48 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 25 May 2021 15:48:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: add test configuration for SNS References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24397 ) Change subject: ns: add test configuration for SNS ...................................................................... ns: add test configuration for SNS Change-Id: Idda139c7adda3fb1fec0643a98cd6cf8b436a89e --- A ns/NS_Tests.sns.cfg 1 file changed, 34 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/97/24397/1 diff --git a/ns/NS_Tests.sns.cfg b/ns/NS_Tests.sns.cfg new file mode 100644 index 0000000..23b616b --- /dev/null +++ b/ns/NS_Tests.sns.cfg @@ -0,0 +1,34 @@ +[ORDERED_INCLUDE] +# Common configuration, shared between test suites +"../Common.cfg" +# testsuite specific configuration, not expected to change +"./NS_Tests.default" + +[LOGGING] + +[MODULE_PARAMETERS] +NS_Tests.mp_nsconfig := { + nsei := 1234, + nsvc := { + { + provider := { + ip := { + address_family := AF_INET, + local_ip := "127.0.0.1", + local_udp_port := 22000, + remote_ip := "127.0.0.1", + remote_udp_port := 23000 + } + }, + nsvci := 1234 + } + } +} +NS_Tests.mp_dialect := NS2_DIALECT_SNS + +[TESTPORT_PARAMETERS] + +[MAIN_CONTROLLER] + +[EXECUTE] +NS_Tests.control -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24397 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: Idda139c7adda3fb1fec0643a98cd6cf8b436a89e Gerrit-Change-Number: 24397 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:48:48 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 25 May 2021 15:48:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: add missing idx to as_rx_alive_tx_ack References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24398 ) Change subject: RAW_NS: add missing idx to as_rx_alive_tx_ack ...................................................................... RAW_NS: add missing idx to as_rx_alive_tx_ack Without the index the message got send and received via the wrong NSVC. Change-Id: Ic5d1f4aa5e8a2373a4f46feef44e71b9688035c9 --- M library/RAW_NS.ttcnpp 1 file changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/98/24398/1 diff --git a/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp index ff73348..93c43f0 100644 --- a/library/RAW_NS.ttcnpp +++ b/library/RAW_NS.ttcnpp @@ -100,7 +100,7 @@ var default d := activate(ax_rx_fail_on_any_ns()); alt { [] NSCP[idx].receive(PDU_NS: exp_rx) -> value nrf { } - [g_handle_rx_alive] as_rx_alive_tx_ack(); + [g_handle_rx_alive] as_rx_alive_tx_ack(idx := idx); } deactivate(d); return nrf; @@ -111,7 +111,7 @@ NSCP[idx].send(t_NS_ALIVE); alt { [] NSCP[idx].receive(t_NS_ALIVE_ACK); - [g_handle_rx_alive] as_rx_alive_tx_ack(); + [g_handle_rx_alive] as_rx_alive_tx_ack(idx := idx); [] NSCP[idx].receive { repeat; } } } @@ -125,7 +125,7 @@ [] NSCP[idx].receive(t_NS_ALIVE_ACK) { setverdict(fail, "Received unexpected NS-ALIVE ACK"); } - [g_handle_rx_alive] as_rx_alive_tx_ack(); + [g_handle_rx_alive] as_rx_alive_tx_ack(idx := idx); [] NSCP[idx].receive { repeat; } [] T.timeout { setverdict(pass); @@ -142,7 +142,7 @@ [] NSCP[idx].receive(ts_NS_RESET_ACK(g_nsconfig.nsvc[idx].nsvci, g_nsconfig.nsei)) { setverdict(pass); } - [g_handle_rx_alive] as_rx_alive_tx_ack(); + [g_handle_rx_alive] as_rx_alive_tx_ack(idx := idx); [] NSCP[idx].receive { repeat; } [] T.timeout { setverdict(fail, "Failed to receive a RESET ACK"); @@ -155,7 +155,7 @@ NSCP[idx].send(ts_NS_BLOCK(cause, g_nsconfig.nsvc[idx].nsvci)); alt { [] NSCP[idx].receive(tr_NS_BLOCK_ACK(g_nsconfig.nsvc[idx].nsvci)); - [g_handle_rx_alive] as_rx_alive_tx_ack(); + [g_handle_rx_alive] as_rx_alive_tx_ack(idx := idx); [] NSCP[idx].receive { repeat; } } } @@ -165,7 +165,7 @@ NSCP[idx].send(t_NS_UNBLOCK); alt { [] NSCP[idx].receive(t_NS_UNBLOCK_ACK); - [g_handle_rx_alive] as_rx_alive_tx_ack(); + [g_handle_rx_alive] as_rx_alive_tx_ack(idx := idx); [] NSCP[idx].receive { repeat; } } } @@ -205,7 +205,7 @@ [not exp_ack] T.timeout { setverdict(pass); } - [g_handle_rx_alive] as_rx_alive_tx_ack(); + [g_handle_rx_alive] as_rx_alive_tx_ack(idx := idx); [] NSCP[idx].receive { repeat; } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24398 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: Ic5d1f4aa5e8a2373a4f46feef44e71b9688035c9 Gerrit-Change-Number: 24398 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:48:49 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 25 May 2021 15:48:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: add support for an incoming SNS ADD procedure References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24399 ) Change subject: RAW_NS: add support for an incoming SNS ADD procedure ...................................................................... RAW_NS: add support for an incoming SNS ADD procedure Change-Id: I937b654d377e189ee811145474683b638153179e --- M library/RAW_NS.ttcnpp 1 file changed, 21 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/99/24399/1 diff --git a/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp index 93c43f0..d601ccd 100644 --- a/library/RAW_NS.ttcnpp +++ b/library/RAW_NS.ttcnpp @@ -427,6 +427,27 @@ } +/* perform inbound SNS-ADD procedure */ +function f_incoming_sns_add(integer idx_add, uint8_t w_sig := 1, uint8_t w_user := 1, integer idx := 0, template (omit) NsCause cause := omit) +runs on RAW_NS_CT { + log("f_incoming_sns_add(idx=", idx, ")"); + var PDU_NS rx; + var NSVCConfiguration nsvc_cfg := g_nsconfig.nsvc[idx_add]; + + if (nsvc_cfg.provider.ip.address_family == AF_INET) { + var template (omit) IP4_Elements v4_elem := { ts_SNS_IPv4(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port, + w_sig, w_user) }; + rx := f_ns_exp(tr_SNS_ADD(g_nsconfig.nsei, ?, v4 := v4_elem), idx); + } else { + var template (omit) IP6_Elements v6_elem := { ts_SNS_IPv6(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port, + w_sig, w_user) }; + rx := f_ns_exp(tr_SNS_ADD(g_nsconfig.nsei, ?, omit, v6_elem), idx); + } + NSCP[idx].send(ts_SNS_ACK(g_nsconfig.nsei, rx.pDU_SNS_Add.transactionID)); +} + function f_outgoing_sns_add(integer idx_add, uint8_t w_sig := 1, uint8_t w_user := 1, integer idx := 0, template (omit) NsCause cause := omit) runs on RAW_NS_CT { log("f_outgoing_sns_add(idx_add=", idx_add, ")"); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24399 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: I937b654d377e189ee811145474683b638153179e Gerrit-Change-Number: 24399 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:48:49 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 25 May 2021 15:48:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: add support for an incoming SNS DELETE procedure References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24400 ) Change subject: RAW_NS: add support for an incoming SNS DELETE procedure ...................................................................... RAW_NS: add support for an incoming SNS DELETE procedure Change-Id: Ia682522fe583a82e16a9c8008972f660f03243f7 --- M library/RAW_NS.ttcnpp 1 file changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/00/24400/1 diff --git a/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp index d601ccd..8f986e4 100644 --- a/library/RAW_NS.ttcnpp +++ b/library/RAW_NS.ttcnpp @@ -468,6 +468,28 @@ } } +/* perform inbound SNS-DELETE procedure */ +function f_incoming_sns_del(integer idx_del, uint8_t w_sig := 1, uint8_t w_user := 1, integer idx := 0, template (omit) NsCause cause := omit) +runs on RAW_NS_CT { + log("f_incoming_sns_del(idx=", idx, ")"); + var PDU_NS rx; + var NSVCConfiguration nsvc_cfg := g_nsconfig.nsvc[idx_del]; + + if (nsvc_cfg.provider.ip.address_family == AF_INET) { + var template (omit) IP4_Elements v4_elem := { ts_SNS_IPv4(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port, + w_sig, w_user) }; + rx := f_ns_exp(tr_SNS_DEL(g_nsconfig.nsei, ?, omit, v4 := v4_elem), idx); + } else { + var template (omit) IP6_Elements v6_elem := { ts_SNS_IPv6(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port, + w_sig, w_user) }; + rx := f_ns_exp(tr_SNS_DEL(g_nsconfig.nsei, ?, omit, omit, v6_elem), idx); + } + NSCP[idx].send(ts_SNS_ACK(g_nsconfig.nsei, rx.pDU_SNS_Delete.transactionID)); +} + + function f_outgoing_sns_del(integer idx_del, uint8_t w_sig := 1, uint8_t w_user := 1, integer idx := 0) runs on RAW_NS_CT { log("f_outgoing_sns_del(idx_del=", idx_del, ")"); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24400 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: Ia682522fe583a82e16a9c8008972f660f03243f7 Gerrit-Change-Number: 24400 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:48:49 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 25 May 2021 15:48:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface RAW_NS used previous a single TTCN3 port for a single UDP port (source/listen side). This has the limitation that only a single NSVC could be tested for a local UDP port. However SNS tests require multiple NSVCs over a single UDP port. NS_Provider_IPL4 already supports multiple NSVCs for the NS_Emulation. Extend the support in NS_Provider_IPL4 to also allow RAW_NS to use multiple NSVCs. Change-Id: Iafd9310e04066958914201da0cbdcd563bd5c976 --- M library/NS_Provider_IPL4.ttcn M library/RAW_NS.ttcnpp 2 files changed, 92 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/01/24401/1 diff --git a/library/NS_Provider_IPL4.ttcn b/library/NS_Provider_IPL4.ttcn index 774c08a..31ad351 100644 --- a/library/NS_Provider_IPL4.ttcn +++ b/library/NS_Provider_IPL4.ttcn @@ -28,6 +28,7 @@ import from Misc_Helpers all; import from NS_Emulation all; import from NS_Types all; +import from RAW_NS all; import from IPL4asp_Types all; import from IPL4asp_PortType all; @@ -51,10 +52,12 @@ type record PerNsvcState { charstring remote_ip, PortNumber remote_port, - NSVC_CT vc_nsvc + NSVC_CT vc_nsvc, + RAW_NS_CT vc_raw, + integer vc_raw_idx }; -signature NSPIP_add_nsvc(charstring remote_ip, PortNumber remote_port, NSVC_CT vc_nsvc); +signature NSPIP_add_nsvc(charstring remote_ip, PortNumber remote_port, NSVC_CT vc_nsvc, RAW_NS_CT vc_raw, integer vc_raw_idx); signature NSPIP_del_nsvc(charstring remote_ip, PortNumber remote_port); type port NSPIP_PROC_PT procedure { @@ -65,9 +68,13 @@ private function f_nsvc_add(PerNsvcState nsvc) runs on NS_Provider_IPL4_CT { for (var integer i := 0; i < sizeof(g_nsvc); i := i+1) { - if (g_nsvc[i].vc_nsvc == null) { + if (g_nsvc[i].vc_nsvc == null and g_nsvc[i].vc_raw == null) { g_nsvc[i] := nsvc; - connect(self:NSVC[i], nsvc.vc_nsvc:NSCP); + if (g_nsvc[i].vc_nsvc != null) { + connect(self:NSVC[i], nsvc.vc_nsvc:NSCP); + } else { + connect(self:NSVC[i], nsvc.vc_raw:NSCP[nsvc.vc_raw_idx]); + } NSVC[i].send(NS_Provider_Evt:{link_status := NS_PROV_LINK_STATUS_UP}); return; } @@ -78,16 +85,22 @@ private function f_nsvc_del(PerNsvcState nsvc) runs on NS_Provider_IPL4_CT { for (var integer i := 0; i < sizeof(g_nsvc); i := i+1) { - if (g_nsvc[i].vc_nsvc != null and + if ((g_nsvc[i].vc_nsvc != null or g_nsvc[i].vc_raw != null) and g_nsvc[i].remote_ip == nsvc.remote_ip and g_nsvc[i].remote_port == nsvc.remote_port) { g_nsvc[i] := { remote_ip := -, remote_port := -, - vc_nsvc := null + vc_nsvc := null, + vc_raw := null, + vc_raw_idx := -1 } NSVC[i].send(NS_Provider_Evt:{link_status := NS_PROV_LINK_STATUS_DOWN}); - disconnect(self:NSVC[i], nsvc.vc_nsvc:NSCP); + if (nsvc.vc_nsvc != null) { + disconnect(self:NSVC[i], nsvc.vc_nsvc:NSCP); + } else { + disconnect(self:NSVC[i], nsvc.vc_raw:NSCP[nsvc.vc_raw_idx]); + } return; } } @@ -98,7 +111,7 @@ runs on NS_Provider_IPL4_CT return integer { for (var integer i := 0; i < sizeof(g_nsvc); i := i+1) { - if (g_nsvc[i].vc_nsvc != null and + if ((g_nsvc[i].vc_nsvc != null or g_nsvc[i].vc_raw != null) and g_nsvc[i].remote_ip == remote_ip and g_nsvc[i].remote_port == remote_port) { return i; } @@ -109,6 +122,7 @@ function main(NSVCConfiguration config, NSConfiguration nsconfig, charstring id) runs on NS_Provider_IPL4_CT { for (var integer i := 0; i < sizeof(g_nsvc); i := i+1) { g_nsvc[i].vc_nsvc := null; + g_nsvc[i].vc_raw := null; } /* in order to support any number of NSVC on this endpoiint, we only bind the socket @@ -134,6 +148,8 @@ var charstring remote_ip; var PortNumber remote_port; var NSVC_CT vc_nsvc; + var RAW_NS_CT vc_raw; + var integer vc_raw_idx; var NS_CT vc_caller; alt { @@ -181,9 +197,9 @@ } /* procedure port to add/remove NSVCs from this provider */ - [] PROC.getcall(NSPIP_add_nsvc:{?,?,?}) -> param (remote_ip, remote_port, vc_nsvc) sender vc_caller { - f_nsvc_add(PerNsvcState:{remote_ip, remote_port, vc_nsvc}); - PROC.reply(NSPIP_add_nsvc:{remote_ip, remote_port, vc_nsvc}) to vc_caller; + [] PROC.getcall(NSPIP_add_nsvc:{?,?,?,?,?}) -> param (remote_ip, remote_port, vc_nsvc, vc_raw, vc_raw_idx) sender vc_caller { + f_nsvc_add(PerNsvcState:{remote_ip, remote_port, vc_nsvc, vc_raw, vc_raw_idx}); + PROC.reply(NSPIP_add_nsvc:{remote_ip, remote_port, vc_nsvc, vc_raw, vc_raw_idx}) to vc_caller; } [] PROC.getcall(NSPIP_del_nsvc:{?,?}) -> param (remote_ip, remote_port) sender vc_caller { f_nsvc_del(PerNsvcState:{remote_ip, remote_port}); @@ -197,9 +213,17 @@ function f_nspip_add_nsvc(NS_Provider_IPL4_CT vc_ipep, charstring remote_ip, PortNumber remote_port, NSVC_CT vc_nsvc) runs on NS_CT { - NSPIP_PROC.call(NSPIP_add_nsvc:{remote_ip, remote_port, vc_nsvc}) to vc_ipep { - [] NSPIP_PROC.getreply(NSPIP_add_nsvc:{?,?,?}); + NSPIP_PROC.call(NSPIP_add_nsvc:{remote_ip, remote_port, vc_nsvc, null, -1}) to vc_ipep { + [] NSPIP_PROC.getreply(NSPIP_add_nsvc:{?,?,?,?,?}); } } +function f_rawip_add_nsvc(NS_Provider_IPL4_CT vc_ipep, charstring remote_ip, PortNumber remote_port, integer idx) +runs on RAW_NS_CT { + NSPIP_PROC.call(NSPIP_add_nsvc:{remote_ip, remote_port, null, self, idx}) to vc_ipep { + [] NSPIP_PROC.getreply(NSPIP_add_nsvc:{?,?,?,?,?}); + } +} + + } /* module */ diff --git a/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp index 8f986e4..b459eb3 100644 --- a/library/RAW_NS.ttcnpp +++ b/library/RAW_NS.ttcnpp @@ -25,16 +25,24 @@ import from NS_Provider_FR all; #endif +type record PerIPProvider { + NS_Provider_IPL4_CT vc_NSP_IP, + charstring local_ip, + PortNumber local_udp_port +} + public type component RAW_NS_CT { /* UDP port towards the bottom (IUT) */ port NS_PROVIDER_PT NSCP[4]; - var NS_Provider_IPL4_CT vc_NSP_IP[4]; + var PerIPProvider ip_prov[4]; + port NSPIP_PROC_PT NSPIP_PROC; #ifdef NS_EMULATION_FR var NS_Provider_FR_CT vc_NSP_FR[4]; #endif var NSConfiguration g_nsconfig; timer g_T_guard; var boolean g_handle_rx_alive := false; + var boolean g_initialized := false; } public altstep as_Tguard() runs on RAW_NS_CT { @@ -44,6 +52,21 @@ } } +function f_find_ip_provider(NSVCConfigurationIP nsip_config) +runs on RAW_NS_CT return integer { + for (var integer idx := 0; idx < sizeof(ip_prov); idx := idx+1) { + if (ip_prov[idx].vc_NSP_IP == null) { + continue; + } + + if (ip_prov[idx].local_ip == nsip_config.local_ip and + ip_prov[idx].local_udp_port == nsip_config.local_udp_port) { + return idx; + } + } + return -1; +} + function f_init_ns_codec(NSConfiguration ns_config, integer idx := 0, float guard_secs := 60.0, charstring id := testcasename()) runs on RAW_NS_CT { var Result res; @@ -52,15 +75,39 @@ activate(as_Tguard()); } + if (not g_initialized) { + for (var integer i := 0; i < sizeof(ip_prov); i := i+1) { + ip_prov[i].vc_NSP_IP := null; + } + g_initialized := true; + } + if (not isbound(g_nsconfig)) { g_nsconfig := ns_config; } if (ischosen(ns_config.nsvc[idx].provider.ip)) { + var integer prov_idx := f_find_ip_provider(ns_config.nsvc[idx].provider.ip); /* Connect the UDP socket */ - vc_NSP_IP[idx] := NS_Provider_IPL4_CT.create(id & "-provIP"); - connect(self:NSCP[idx], vc_NSP_IP[idx]:NSE); - vc_NSP_IP[idx].start(NS_Provider_IPL4.main(ns_config.nsvc[idx], ns_config, id)); + // check if NS_Provider_IPL4_CT is already created + // add list of vc_NSP_IP with entries of source ip/port + // add a NSVC to it + if (prov_idx == -1) { + for (prov_idx := 0; prov_idx < sizeof(ip_prov); prov_idx := prov_idx+1) { + if (ip_prov[prov_idx].vc_NSP_IP == null) { + break; + } + } + if (prov_idx > sizeof(ip_prov)) { + /* TODO: error !! */ + } + ip_prov[prov_idx].local_ip := ns_config.nsvc[idx].provider.ip.local_ip; + ip_prov[prov_idx].local_udp_port := ns_config.nsvc[idx].provider.ip.local_udp_port; + ip_prov[prov_idx].vc_NSP_IP := NS_Provider_IPL4_CT.create(id & "-provIP" & int2str(prov_idx)); + connect(self:NSPIP_PROC, ip_prov[prov_idx].vc_NSP_IP:PROC); + ip_prov[prov_idx].vc_NSP_IP.start(NS_Provider_IPL4.main(ns_config.nsvc[idx], ns_config, id)); + } + f_rawip_add_nsvc(ip_prov[prov_idx].vc_NSP_IP, ns_config.nsvc[idx].provider.ip.remote_ip, ns_config.nsvc[idx].provider.ip.remote_udp_port, idx); #ifdef NS_EMULATION_FR } else if (ischosen(ns_config.nsvc[idx].provider.fr)) { vc_NSP_FR[idx] := NS_Provider_FR_CT.create(id & "-provFR"); @@ -75,8 +122,10 @@ } function f_clean_ns_codec() runs on RAW_NS_CT { - for (var integer i := 0; i < lengthof(vc_NSP_IP); i := i + 1) { - vc_NSP_IP[i].stop; + for (var integer i := 0; i < lengthof(ip_prov); i := i + 1) { + if (ip_prov[i].vc_NSP_IP != null) { + ip_prov[i].vc_NSP_IP.stop; + } } #ifdef NS_EMULATION_FR for (var integer i := 0; i < lengthof(vc_NSP_FR); i := i + 1) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 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: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:48:50 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 25 May 2021 15:48:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: add testcases for incoming SNS_ADD/DEL procedures References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24402 ) Change subject: NS_Tests: add testcases for incoming SNS_ADD/DEL procedures ...................................................................... NS_Tests: add testcases for incoming SNS_ADD/DEL procedures Allow to test add and remove a bind via vty. Change-Id: I98c04c083521ab38b58e8df9f1aee89445ab536d --- M ns/NS_Tests.sns.cfg M ns/NS_Tests.ttcn M ns/osmo-ns.sns.cfg 3 files changed, 69 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/02/24402/1 diff --git a/ns/NS_Tests.sns.cfg b/ns/NS_Tests.sns.cfg index 23b616b..5ee5e1a 100644 --- a/ns/NS_Tests.sns.cfg +++ b/ns/NS_Tests.sns.cfg @@ -21,6 +21,18 @@ } }, nsvci := 1234 + }, + { + provider := { + ip := { + address_family := AF_INET, + local_ip := "127.0.0.1", + local_udp_port := 22000, + remote_ip := "127.0.0.1", + remote_udp_port := 23001 + } + }, + nsvci := 1235 } } } diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index f69bbe0..58b2dda 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -44,6 +44,20 @@ } }, nsvci := 97 + }, + { + provider := { + ip := { + address_family := AF_INET, + local_udp_port := 21000, + local_ip := "127.0.0.1", + remote_udp_port := 23001, + remote_ip := "127.0.0.1", + data_weight := 1, + signalling_weight := 1 + } + }, + nsvci := 98 } } }; @@ -58,6 +72,7 @@ f_vty_set_prompts(NSVTY); f_vty_transceive(NSVTY, "enable"); f_vty_transceive(NSVTY, "nsvc nsei " & int2str(mp_nsconfig.nsei) & " force-unconfigured"); + f_vty_config2(NSVTY, {"ns", "nse " & int2str(mp_nsconfig.nsei)}, "no ip-sns-bind local2"); } /* ensure no matching message is received within 'tout' */ @@ -527,6 +542,42 @@ f_clean_ns_codec(); } +testcase TC_sns_bss_add() runs on RAW_Test_CT { + g_handle_rx_alive := true; + f_init_vty(); + f_init_ns_codec(mp_nsconfig); + f_init_ns_codec(mp_nsconfig, 1); + f_incoming_sns_size(); + f_incoming_sns_config(); + f_outgoing_sns_config(); + activate(as_rx_alive_tx_ack()); + f_vty_config2(NSVTY, {"ns", "nse " & int2str(g_nsconfig.nsei)}, "ip-sns-bind local2"); + f_incoming_sns_add(idx_add := 1); + as_rx_alive_tx_ack(oneshot := true, idx := 1); + setverdict(pass); + f_clean_ns_codec(); +} + +testcase TC_sns_bss_del() runs on RAW_Test_CT { + g_handle_rx_alive := true; + f_init_vty(); + f_init_ns_codec(mp_nsconfig); + f_init_ns_codec(mp_nsconfig, 1); + f_incoming_sns_size(); + f_incoming_sns_config(); + f_outgoing_sns_config(); + activate(as_rx_alive_tx_ack()); + f_vty_config2(NSVTY, {"ns", "nse " & int2str(g_nsconfig.nsei)}, "ip-sns-bind local2"); + f_incoming_sns_add(idx_add := 1); + as_rx_alive_tx_ack(oneshot := true, idx := 1); + + /* delete the endpoint */ + f_vty_config2(NSVTY, {"ns", "nse " & int2str(g_nsconfig.nsei)}, "no ip-sns-bind local2"); + f_incoming_sns_del(idx_del := 1); + setverdict(pass); + f_clean_ns_codec(); +} + control { if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) { execute( TC_tx_reset() ); @@ -574,6 +625,8 @@ execute( TC_sns_config_success() ); execute( TC_sns_bss_change_weight() ); execute( TC_sns_bss_change_weight_timeout() ); + execute( TC_sns_bss_add() ); + execute( TC_sns_bss_del() ); } } diff --git a/ns/osmo-ns.sns.cfg b/ns/osmo-ns.sns.cfg index 58d306e..b342305 100644 --- a/ns/osmo-ns.sns.cfg +++ b/ns/osmo-ns.sns.cfg @@ -92,6 +92,10 @@ listen 127.0.0.1 23000 ip-sns signalling-weight 2 data-weight 2 accept-ipaccess + bind udp local2 + listen 127.0.0.1 23001 + ip-sns signalling-weight 1 data-weight 1 + accept-ipaccess nse 1234 ip-sns-remote 127.0.0.1 22000 ip-sns-bind local -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24402 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: I98c04c083521ab38b58e8df9f1aee89445ab536d Gerrit-Change-Number: 24402 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:50:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 15:50:05 +0000 Subject: Change in osmo-bsc[master]: replace ts_*_for_each_lchan() with ts_for_n_lchans() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24372 ) Change subject: replace ts_*_for_each_lchan() with ts_for_n_lchans() ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib2c6baf73a81ba371143ba5adc912aef6f79238d Gerrit-Change-Number: 24372 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 15:50:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:51:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 15:51:01 +0000 Subject: Change in osmo-bsc[master]: eliminate lchan->rsl_cmode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24354 ) Change subject: eliminate lchan->rsl_cmode ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1c167b22bb6638a929488d093bde0f1a5fb227ad Gerrit-Change-Number: 24354 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 15:51:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:55:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 15:55:12 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 2: filter modes also for VTY In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24357 ) Change subject: AMR config cleanup step 2: filter modes also for VTY ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24357/2/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24357/2/src/osmo-bsc/lchan_fsm.c at 575 PS2, Line 575: /* If activated for VTY, there may not be a conn indicating an MSC AMR configuration. */ > the user entered some VTY command on telnet which ended up activating/modifying/re-assigning this lc [?] I just wanted to make sure I understood correctly. I wouldn't say "for" and "from" mean exactly the same, they are more like indicating opposite causalities here imho :) "from vty" means to me it was triggered through the VTY, so the VTY originated it, while "for VTY", seems like targeting or aiming at the VTY somehow, hence resolving into some VTY action afterwards, which is a bit weird imho. Not important though. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 Gerrit-Change-Number: 24357 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 15:55:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: neels Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:56:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 15:56:39 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 1: split lchan_mr_config() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24356 ) Change subject: AMR config cleanup step 1: split lchan_mr_config() ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24356/4/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24356/4/src/osmo-bsc/lchan_fsm.c at 499 PS4, Line 499: LOG_LCHAN(lchan_for_logging, LOGL_ERROR, lol, this new naming looks like a political attempt to have everyone happy. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iebac2dc26412d877e5364f90d6f2ed7a7952351e Gerrit-Change-Number: 24356 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 25 May 2021 15:56:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:57:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 15:57:08 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 3: generate AMR LV on msg composition In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24358 ) Change subject: AMR config cleanup step 3: generate AMR LV on msg composition ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie57f9d0e3912632903d9740291225bfd1634ed47 Gerrit-Change-Number: 24358 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 15:57:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:57:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 15:57:55 +0000 Subject: Change in osmo-bsc[master]: implement CHANnel ACTIVate to VAMOS mode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24375 ) Change subject: implement CHANnel ACTIVate to VAMOS mode ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec Gerrit-Change-Number: 24375 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 15:57:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:58:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 15:58:23 +0000 Subject: Change in osmo-bsc[master]: get_any_lchan(): reduce minor code dup In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24385 ) Change subject: get_any_lchan(): reduce minor code dup ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I304a7333adc265e156f04b42a10bac6912f58ad2 Gerrit-Change-Number: 24385 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 15:58:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:58:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 15:58:45 +0000 Subject: Change in osmo-bsc[master]: potential segfault: vty chan act: do not set AMR bits for EFR In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24393 ) Change subject: potential segfault: vty chan act: do not set AMR bits for EFR ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9bae5b4fb8ab8c2002fe785e130dc9faeeda892c Gerrit-Change-Number: 24393 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 15:58:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:59:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 15:59:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392 ) Change subject: MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392/1/mgw/MGCP_Test.ttcn File mgw/MGCP_Test.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392/1/mgw/MGCP_Test.ttcn at 2477 PS1, Line 2477: execute(TC_one_crcx_loopback_rtp_implicit()); Please ass a comment here about the crash, otherwise people will add new tests after it. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392 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: I25abf30f8c49e580c46e7a61e887bd0add9a4cd4 Gerrit-Change-Number: 24392 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 15:59:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 15:59:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 15:59:57 +0000 Subject: Change in osmo-bsc[master]: RSL: set default TEI according to TRX number In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24395 ) Change subject: RSL: set default TEI according to TRX number ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3c500f7a5afc9143d4ea7102ab96e52aeb67b4b6 Gerrit-Change-Number: 24395 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 15:59:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:01:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 16:01:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392 ) Change subject: MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392/1/mgw/MGCP_Test.ttcn File mgw/MGCP_Test.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392/1/mgw/MGCP_Test.ttcn at 2477 PS1, Line 2477: execute(TC_one_crcx_loopback_rtp_implicit()); > Please ass a comment here about the crash, otherwise people will add new tests after it. add* ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392 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: I25abf30f8c49e580c46e7a61e887bd0add9a4cd4 Gerrit-Change-Number: 24392 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 16:01:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:27:39 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 25 May 2021 16:27:39 +0000 Subject: Change in libosmocore[master]: gprs_ns2: implement local update weight procedure In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23187 to look at the new patch set (#6). Change subject: gprs_ns2: implement local update weight procedure ...................................................................... gprs_ns2: implement local update weight procedure When changing the bind ip-sns weight, initiate a SNS UPDATE WEIGHT procedure to inform the other side. Related: OS#5036 Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 5 files changed, 294 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/87/23187/6 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 Gerrit-Change-Number: 23187 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: daniel Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Tue May 25 16:41:35 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 16:41:35 +0000 Subject: Build failure of network:osmocom:nightly/orcania in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <60ad28dba7c46_68252ade5ccbe5fc29188@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/orcania/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/orcania failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly orcania Last lines of build log: getbinaries: missing packages: liblua5_4-5 aaa_base attr bash coreutils diffutils filesystem fillup glibc grep libbz2-1 libgcc_s1 libncurses6 pam permissions rpm rpm-config-SUSE sed tar libz1 libselinux1 libgcrypt20 libgpg-error0 liblzma5 libcap2 libacl1 libattr1 libpopt0 libelf1 libpcre1 libzstd1 libpcre2-8-0 libreadline8 zlib-devel util-linux libmount1 perl-base libdb-4_8 libblkid1 libuuid1 libsmartcols1 libcrypt1 kernel-obs-build iproute2 libmnl0 cmake gcc-c++ rpm-build gcc-PIE pkgconf-pkg-config gcc10-c++ gcc findutils glibc-devel make cpio xz file gawk bzip2 gzip binutils libdw1 patch which glibc-locale dwz librpmbuild9 systemd-rpm-macros pkgconf-m4 pkgconf libgmp10 libmpfr6 libmpc3 libisl23 gcc10 libstdc++6-devel-gcc10 cpp update-alternatives linux-glibc-devel libxcrypt-devel libaudit1 libcap-ng0 libutempter0 libeconf0 libfdisk1 shadow system-group-hardware libmagic1 libctf-nobfd0 libctf0 glibc-locale-base libpkgconf3 cpp10 system-user-root terminfo-base libsemanage2 chkstat permissions-config sysuser-shadow file-magic libsepol2 libsemanage-conf cmake-mini gettext-tools-mini libstdc++6 libgomp1 libasan6 libatomic1 libitm1 libubsan1 pam_unix python38-base libopenssl1_1 libexpat1 libuv1 librhash0 gettext-runtime-mini rpm-build-python libpython3_8-1_0 libffi8 python-rpm-macros perl build-mkbaselibs brp-check-suse post-build-checks rpmlint-Factory hostname build-compare ncurses-utils libgdbm6 libgdbm_compat4 aaa_base-malloccheck rpmlint-mini rpm-build-perl (worker was obs-arm-6:5) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 16:43:00 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 16:43:00 +0000 Subject: Build failure of network:osmocom:nightly/sofia-sip in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <60ad29171e551_68252ade5ccbe5fc3022f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/sofia-sip/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/sofia-sip failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly sofia-sip Last lines of build log: getbinaries: missing packages: liblua5_4-5 aaa_base attr bash coreutils diffutils filesystem fillup glibc grep libbz2-1 libgcc_s1 libncurses6 pam permissions rpm rpm-config-SUSE sed tar libz1 libselinux1 libgcrypt20 libgpg-error0 liblzma5 libcap2 libacl1 libattr1 libpopt0 libelf1 libpcre1 libzstd1 libpcre2-8-0 libreadline8 zlib-devel util-linux libmount1 perl-base libdb-4_8 libblkid1 libuuid1 libsmartcols1 libcrypt1 kernel-obs-build iproute2 libmnl0 fdupes gcc-c++ glib2-devel rpm-build gcc-PIE libopenssl-devel gcc10-c++ gcc pkgconf-pkg-config libglib-2_0-0 libgobject-2_0-0 libgio-2_0-0 python38-base glibc-devel libmount-devel libffi-devel pcre-devel glib2-tools libgmodule-2_0-0 libgthread-2_0-0 libselinux-devel findutils make cpio xz file gawk bzip2 gzip binutils libdw1 patch which glibc-locale dwz librpmbuild9 systemd-rpm-macros rpm-build-python libopenssl1_1 libopenssl-1_1-devel openssl libgmp10 libmpfr6 libmpc3 libisl23 gcc10 libstdc++6-devel-gcc10 cpp pkgconf-m4 pkgconf libffi8 shared-mime-info libpython3_8-1_0 libexpat1 linux-glibc-devel libxcrypt-devel libblkid-devel libstdc++-devel libpcre16-0 libpcrecpp0 libpcreposix0 pcre2-devel libsepol-devel update-alternatives libaudit1 libcap-ng0 libutempter0 libeconf0 libfdisk1 shadow system-group-hardware libmagic1 libctf-nobfd0 libctf0 glibc-locale-base python-rpm-macros openssl-1_1 system-user-root cpp10 libpkgconf3 libxml2-2 libpcre2-16-0 libpcre2-32-0 libpcre2-posix2 libsepol2 terminfo-base libsemanage2 chkstat permissions-config sysuser-shadow file-magic crypto-policies libsemanage-conf gettext-tools-mini gio-branding-upstream libstdc++6 libgomp1 libasan6 libatomic1 libitm1 libubsan1 pam_unix gettext-runtime-mini perl build-mkbaselibs brp-check-suse post-build-checks rpmlint-Factory hostname build-compare ncurses-utils libgdbm6 libgdbm_compat4 aaa_base-malloccheck rpmlint-mini rpm-build-perl (worker was armbuild14:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue May 25 16:43:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 16:43:19 +0000 Subject: Change in osmo-bsc[master]: add secondary RSL link for VAMOS (shadow TEI) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24366 ) Change subject: add secondary RSL link for VAMOS (shadow TEI) ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic304924b017f4588f749268e99ed1326db4c9f47 Gerrit-Change-Number: 24366 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 16:43:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:45:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 16:45:06 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 2: filter modes also for VTY In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24357 ) Change subject: AMR config cleanup step 2: filter modes also for VTY ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 Gerrit-Change-Number: 24357 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 16:45:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:45:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 16:45:38 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 3: generate AMR LV on msg composition In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24358 ) Change subject: AMR config cleanup step 3: generate AMR LV on msg composition ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie57f9d0e3912632903d9740291225bfd1634ed47 Gerrit-Change-Number: 24358 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 16:45:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:45:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 16:45:55 +0000 Subject: Change in osmo-bsc[master]: handover dot charts: fix wrong transitions regarding MGW In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24359 ) Change subject: handover dot charts: fix wrong transitions regarding MGW ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2ed9b3ca7fe145a930ca509e6b3943f5abf3aa62 Gerrit-Change-Number: 24359 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 16:45:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:46:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 16:46:16 +0000 Subject: Change in osmo-bsc[master]: handover_test: fix naming/wording: 'handover-req' should be 'handover... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24360 ) Change subject: handover_test: fix naming/wording: 'handover-req' should be 'handover-cmd' ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0c20971590e4b1a19f77ff3f15d58992eeebfbd9 Gerrit-Change-Number: 24360 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 May 2021 16:46:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:46:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 16:46:35 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: tweak state transitions (prep for reassignment) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24361 ) Change subject: assignment_fsm: tweak state transitions (prep for reassignment) ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9a2e7eefd4196b80671311e5dfd275893ec0e275 Gerrit-Change-Number: 24361 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 May 2021 16:46:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:47:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 16:47:03 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: allow assignment to a specific lchan In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24362 ) Change subject: assignment_fsm: allow assignment to a specific lchan ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71e0d4ff4746706e0be5266e4574d70ca432e3d7 Gerrit-Change-Number: 24362 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 May 2021 16:47:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:47:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 16:47:22 +0000 Subject: Change in osmo-bsc[master]: vty: actually trigger Assignment for 'assignment', not HO In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24363 ) Change subject: vty: actually trigger Assignment for 'assignment', not HO ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iee11f1ae0533d7db844e68a5c4c48d0fe3e27297 Gerrit-Change-Number: 24363 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 May 2021 16:47:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:47:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 16:47:48 +0000 Subject: Change in osmo-bsc[master]: hodec 2: do intra-cell congestion resolution by Assignment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24364 ) Change subject: hodec 2: do intra-cell congestion resolution by Assignment ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id56a890106b93fcee67ac9401b890e7b63bba421 Gerrit-Change-Number: 24364 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 May 2021 16:47:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:48:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 16:48:36 +0000 Subject: Change in osmo-bsc[master]: RSL link: explicitly select rsl_link based on lchan In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24365 ) Change subject: RSL link: explicitly select rsl_link based on lchan ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifbf16bb296e91f151d19e15e39f5c953ad77ff17 Gerrit-Change-Number: 24365 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 May 2021 16:48:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:48:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 16:48:42 +0000 Subject: Change in libosmocore[master]: gprs_ns2: implement local update weight procedure In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23187 ) Change subject: gprs_ns2: implement local update weight procedure ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 Gerrit-Change-Number: 23187 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 25 May 2021 16:48:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:49:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 16:49:22 +0000 Subject: Change in osmo-bsc[master]: add secondary RSL link for VAMOS (shadow TEI) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24366 ) Change subject: add secondary RSL link for VAMOS (shadow TEI) ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic304924b017f4588f749268e99ed1326db4c9f47 Gerrit-Change-Number: 24366 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 16:49:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:49:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 16:49:38 +0000 Subject: Change in osmo-bsc[master]: add chan_mode_to_chan_type() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24367 ) Change subject: add chan_mode_to_chan_type() ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I296651ebadba81f8b3db0d9bb5b5377877a43677 Gerrit-Change-Number: 24367 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 May 2021 16:49:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:49:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 16:49:53 +0000 Subject: Change in osmo-bsc[master]: gsm48_lchan2chan_desc(): expose TSC as param In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24368 ) Change subject: gsm48_lchan2chan_desc(): expose TSC as param ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I49503a6f5d25bb3bc9a0505bd79ed1d5c4f50577 Gerrit-Change-Number: 24368 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 16:49:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:51:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 16:51:11 +0000 Subject: Change in osmo-bsc[master]: allow explixit TSC Set and TSC on chan activ / modif / assignment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24369 ) Change subject: allow explixit TSC Set and TSC on chan activ / modif / assignment ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic665125255d7354f5499d10dda1dd866ab243d24 Gerrit-Change-Number: 24369 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 May 2021 16:51:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:51:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 16:51:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Provider_IPL4: fix typos in comments In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24396 ) Change subject: NS_Provider_IPL4: fix typos in comments ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24396 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: I05ccbf2eb7387bc8c1277a53591efbf503d46051 Gerrit-Change-Number: 24396 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 16:51:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:52:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 16:52:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: add test configuration for SNS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24397 ) Change subject: ns: add test configuration for SNS ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24397/1/ns/NS_Tests.sns.cfg File ns/NS_Tests.sns.cfg: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24397/1/ns/NS_Tests.sns.cfg at 14 PS1, Line 14: provider := { one level of indentation too much? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24397 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: Idda139c7adda3fb1fec0643a98cd6cf8b436a89e Gerrit-Change-Number: 24397 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 16:52:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:52:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 16:52:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: add missing idx to as_rx_alive_tx_ack In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24398 ) Change subject: RAW_NS: add missing idx to as_rx_alive_tx_ack ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24398 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: Ic5d1f4aa5e8a2373a4f46feef44e71b9688035c9 Gerrit-Change-Number: 24398 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 16:52:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:53:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 16:53:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: add support for an incoming SNS ADD procedure In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24399 ) Change subject: RAW_NS: add support for an incoming SNS ADD procedure ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24399 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: I937b654d377e189ee811145474683b638153179e Gerrit-Change-Number: 24399 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 16:53:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 16:54:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 May 2021 16:54:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: add support for an incoming SNS DELETE procedure In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24400 ) Change subject: RAW_NS: add support for an incoming SNS DELETE procedure ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24400 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: Ia682522fe583a82e16a9c8008972f660f03243f7 Gerrit-Change-Number: 24400 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 16:54:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Tue May 25 18:26:59 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:26:59 +0000 Subject: Build failure of network:osmocom:latest/osmocom-latest in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad417c42e31_68252ade5ccbe5fc550e0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmocom-latest/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/osmocom-latest failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmocom-latest Last lines of build log: [ 30s] [111/128] cumulate permissions-20210518.1550-28.1 [ 30s] [112/128] cumulate rpm-config-SUSE-0.g76-1.2 [ 30s] [113/128] cumulate glibc-devel-2.33-6.2 [ 30s] [114/128] cumulate librpmbuild9-4.16.1.3-2.2 [ 30s] [115/128] cumulate build-compare-20200727T175347.d95eb35-1.4 [ 30s] [116/128] cumulate zlib-devel-1.2.11-18.3 [ 30s] [117/128] cumulate libutempter0-1.2.0-3.3 [ 30s] [118/128] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 30s] [119/128] cumulate pam-1.5.1-4.3 [ 30s] [120/128] cumulate rpmlint-mini-1.10-23.13 [ 30s] [121/128] cumulate gcc10-10.3.0+git1587-1.3 [ 30s] [122/128] cumulate rpmlint-Factory-1.0-99.2 [ 30s] [123/128] cumulate gcc-10-3.3 [ 30s] [124/128] cumulate pam_unix-1.5.1-4.3 [ 30s] [125/128] cumulate shadow-4.8.1-6.2 [ 30s] [126/128] cumulate util-linux-2.36.2-1.3 [ 30s] [127/128] cumulate gcc-PIE-10-3.3 [ 30s] [128/128] cumulate rpm-build-4.16.1.3-2.2 [ 30s] now installing cumulated packages [ 31s] Preparing... ######################################## [ 31s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 31s] exit ... [ 31s] ### VM INTERACTION START ### [ 34s] [ 14.779614] sysrq: Power Off [ 34s] [ 14.780852] reboot: Power down [ 34s] ### VM INTERACTION END ### [ 34s] [ 34s] obs-arm-8 failed "build osmocom-latest.spec" at Tue May 25 18:26:57 UTC 2021. [ 34s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:27:33 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:27:33 +0000 Subject: Build failure of network:osmocom:nightly/osmocom-nightly in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad419d67bb7_68252ade5ccbe5fc565e0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmocom-nightly/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmocom-nightly failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmocom-nightly Last lines of build log: [ 52s] [111/128] cumulate permissions-20210518.1550-28.1 [ 52s] [112/128] cumulate rpm-config-SUSE-0.g76-1.2 [ 52s] [113/128] cumulate glibc-devel-2.33-6.2 [ 52s] [114/128] cumulate librpmbuild9-4.16.1.3-2.2 [ 52s] [115/128] cumulate build-compare-20200727T175347.d95eb35-1.4 [ 52s] [116/128] cumulate zlib-devel-1.2.11-18.3 [ 52s] [117/128] cumulate libutempter0-1.2.0-3.3 [ 52s] [118/128] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 52s] [119/128] cumulate pam-1.5.1-4.3 [ 52s] [120/128] cumulate rpmlint-mini-1.10-23.13 [ 52s] [121/128] cumulate gcc10-10.3.0+git1587-1.3 [ 52s] [122/128] cumulate rpmlint-Factory-1.0-99.2 [ 53s] [123/128] cumulate gcc-10-3.3 [ 53s] [124/128] cumulate pam_unix-1.5.1-4.3 [ 53s] [125/128] cumulate shadow-4.8.1-6.2 [ 53s] [126/128] cumulate util-linux-2.36.2-1.3 [ 53s] [127/128] cumulate gcc-PIE-10-3.3 [ 53s] [128/128] cumulate rpm-build-4.16.1.3-2.2 [ 53s] now installing cumulated packages [ 53s] Preparing... ######################################## [ 53s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 54s] exit ... [ 54s] ### VM INTERACTION START ### [ 57s] [ 23.445074] sysrq: Power Off [ 57s] [ 23.452771] reboot: Power down [ 57s] ### VM INTERACTION END ### [ 57s] [ 57s] obs-arm-3 failed "build osmocom-nightly.spec" at Tue May 25 18:27:27 UTC 2021. [ 57s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:28:41 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:28:41 +0000 Subject: Build failure of network:osmocom:latest/orcania in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad41f21b02e_68252ade5ccbe5fc59751@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/orcania/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/orcania failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest orcania Last lines of build log: [ 47s] [124/141] cumulate librpmbuild9-4.16.1.3-2.2 [ 47s] [125/141] cumulate build-compare-20200727T175347.d95eb35-1.4 [ 47s] [126/141] cumulate libstdc++6-devel-gcc10-10.3.0+git1587-1.3 [ 47s] [127/141] cumulate zlib-devel-1.2.11-18.3 [ 47s] [128/141] cumulate libutempter0-1.2.0-3.3 [ 47s] [129/141] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 47s] [130/141] cumulate pam-1.5.1-4.3 [ 47s] [131/141] cumulate rpmlint-mini-1.10-23.13 [ 47s] [132/141] cumulate gcc10-10.3.0+git1587-1.3 [ 47s] [133/141] cumulate rpmlint-Factory-1.0-99.2 [ 47s] [134/141] cumulate gcc-10-3.3 [ 47s] [135/141] cumulate pam_unix-1.5.1-4.3 [ 47s] [136/141] cumulate gcc10-c++-10.3.0+git1587-1.3 [ 47s] [137/141] cumulate shadow-4.8.1-6.2 [ 47s] [138/141] cumulate util-linux-2.36.2-1.3 [ 47s] [139/141] cumulate gcc-PIE-10-3.3 [ 47s] [140/141] cumulate gcc-c++-10-3.3 [ 47s] [141/141] cumulate rpm-build-4.16.1.3-2.2 [ 47s] now installing cumulated packages [ 47s] Preparing... ######################################## [ 47s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 47s] exit ... [ 47s] ### VM INTERACTION START ### [ 50s] [ 14.130061] sysrq: Power Off [ 50s] [ 14.131592] reboot: Power down [ 50s] ### VM INTERACTION END ### [ 50s] [ 50s] obs-arm-8 failed "build orcania.spec" at Tue May 25 18:28:35 UTC 2021. [ 50s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:28:58 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:28:58 +0000 Subject: Build failure of network:osmocom:nightly/orcania in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad41f5e7f13_68252ade5ccbe5fc605bb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/orcania/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/orcania failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly orcania Last lines of build log: [ 50s] [124/141] cumulate librpmbuild9-4.16.1.3-2.2 [ 50s] [125/141] cumulate build-compare-20200727T175347.d95eb35-1.4 [ 50s] [126/141] cumulate libstdc++6-devel-gcc10-10.3.0+git1587-1.3 [ 50s] [127/141] cumulate zlib-devel-1.2.11-18.3 [ 50s] [128/141] cumulate libutempter0-1.2.0-3.3 [ 50s] [129/141] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 50s] [130/141] cumulate pam-1.5.1-4.3 [ 50s] [131/141] cumulate rpmlint-mini-1.10-23.13 [ 50s] [132/141] cumulate gcc10-10.3.0+git1587-1.3 [ 50s] [133/141] cumulate rpmlint-Factory-1.0-99.2 [ 50s] [134/141] cumulate gcc-10-3.3 [ 50s] [135/141] cumulate pam_unix-1.5.1-4.3 [ 50s] [136/141] cumulate gcc10-c++-10.3.0+git1587-1.3 [ 50s] [137/141] cumulate shadow-4.8.1-6.2 [ 50s] [138/141] cumulate util-linux-2.36.2-1.3 [ 50s] [139/141] cumulate gcc-PIE-10-3.3 [ 50s] [140/141] cumulate gcc-c++-10-3.3 [ 50s] [141/141] cumulate rpm-build-4.16.1.3-2.2 [ 50s] now installing cumulated packages [ 50s] Preparing... ######################################## [ 50s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 52s] exit ... [ 52s] ### VM INTERACTION START ### [ 55s] [ 23.715182] sysrq: Power Off [ 55s] [ 23.752264] reboot: Power down [ 55s] ### VM INTERACTION END ### [ 55s] [ 55s] obs-arm-3 failed "build orcania.spec" at Tue May 25 18:28:45 UTC 2021. [ 55s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:30:57 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:30:57 +0000 Subject: Build failure of network:osmocom:latest/libosmocore in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad426d55622_68252ade5ccbe5fc638d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmocore/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/libosmocore failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest libosmocore Last lines of build log: [ 56s] [192/202] cumulate systemd-mini-246.13-1.2 [ 56s] [193/202] cumulate util-linux-2.36.2-1.3 [ 56s] [194/202] cumulate gcc-PIE-10-3.3 [ 56s] [195/202] cumulate gio-branding-upstream-2.68.2-1.1 [ 56s] [196/202] cumulate glib2-tools-2.68.2-1.1 [ 56s] [197/202] cumulate libgnutls-devel-3.7.1-2.1 [ 56s] [198/202] cumulate polkit-0.118-5.2 [ 56s] [199/202] cumulate rpm-build-4.16.1.3-2.2 [ 56s] [200/202] cumulate libpolkit0-0.118-5.2 [ 56s] [201/202] cumulate pcsc-lite-1.9.1-1.2 [ 56s] [202/202] cumulate pcsc-lite-devel-1.9.1-1.2 [ 56s] now installing cumulated packages [ 56s] Preparing... ######################################## [ 56s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 56s] file /usr/bin/dbus-cleanup-sockets conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 56s] file /usr/bin/dbus-daemon conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 56s] file /usr/bin/dbus-monitor conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 56s] file /usr/bin/dbus-send conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 56s] file /usr/bin/dbus-test-tool conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 56s] file /usr/bin/dbus-update-activation-environment conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 56s] file /usr/bin/dbus-uuidgen conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 58s] exit ... [ 58s] ### VM INTERACTION START ### [ 62s] [ 26.186938] sysrq: Power Off [ 62s] [ 26.193203] reboot: Power down [ 62s] ### VM INTERACTION END ### [ 62s] [ 62s] obs-arm-1 failed "build libosmocore.spec" at Tue May 25 18:30:53 UTC 2021. [ 62s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:30:57 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:30:57 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad426fc55f0_68252ade5ccbe5fc6464e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libosmocore failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 43s] [192/202] cumulate systemd-mini-246.13-1.2 [ 43s] [193/202] cumulate util-linux-2.36.2-1.3 [ 43s] [194/202] cumulate gcc-PIE-10-3.3 [ 43s] [195/202] cumulate gio-branding-upstream-2.68.2-1.1 [ 43s] [196/202] cumulate glib2-tools-2.68.2-1.1 [ 43s] [197/202] cumulate libgnutls-devel-3.7.1-2.1 [ 43s] [198/202] cumulate polkit-0.118-5.2 [ 43s] [199/202] cumulate rpm-build-4.16.1.3-2.2 [ 43s] [200/202] cumulate libpolkit0-0.118-5.2 [ 43s] [201/202] cumulate pcsc-lite-1.9.1-1.2 [ 43s] [202/202] cumulate pcsc-lite-devel-1.9.1-1.2 [ 43s] now installing cumulated packages [ 43s] Preparing... ######################################## [ 43s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 43s] file /usr/bin/dbus-cleanup-sockets conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 43s] file /usr/bin/dbus-daemon conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 43s] file /usr/bin/dbus-monitor conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 43s] file /usr/bin/dbus-send conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 43s] file /usr/bin/dbus-test-tool conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 43s] file /usr/bin/dbus-update-activation-environment conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 43s] file /usr/bin/dbus-uuidgen conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 44s] exit ... [ 44s] ### VM INTERACTION START ### [ 47s] [ 14.916124] sysrq: Power Off [ 47s] [ 14.917342] reboot: Power down [ 47s] ### VM INTERACTION END ### [ 47s] [ 47s] obs-arm-8 failed "build libosmocore.spec" at Tue May 25 18:30:55 UTC 2021. [ 47s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:32:40 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:32:40 +0000 Subject: Build failure of network:osmocom:latest/libosmo-abis in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad42e08df0c_68252ade5ccbe5fc690a9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmo-abis/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/libosmo-abis failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest libosmo-abis Last lines of build log: [ 38s] [151/168] cumulate zlib-devel-1.2.11-18.3 [ 38s] [152/168] cumulate libosmogsm-devel-1.5.1-2.6 [ 38s] [153/168] cumulate libosmovty-devel-1.5.1-2.6 [ 38s] [154/168] cumulate libutempter0-1.2.0-3.3 [ 38s] [155/168] cumulate libtool-2.4.6-8.12 [ 38s] [156/168] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 38s] [157/168] cumulate pam-1.5.1-4.3 [ 38s] [158/168] cumulate rpmlint-mini-1.10-23.13 [ 38s] [159/168] cumulate gcc10-10.3.0+git1587-1.3 [ 38s] [160/168] cumulate rpmlint-Factory-1.0-99.2 [ 38s] [161/168] cumulate gcc-10-3.3 [ 38s] [162/168] cumulate pam_unix-1.5.1-4.3 [ 38s] [163/168] cumulate bctoolbox-devel-4.5.15-1.1 [ 38s] [164/168] cumulate shadow-4.8.1-6.2 [ 38s] [165/168] cumulate util-linux-2.36.2-1.3 [ 38s] [166/168] cumulate gcc-PIE-10-3.3 [ 38s] [167/168] cumulate ortp-devel-4.5.15-1.1 [ 38s] [168/168] cumulate rpm-build-4.16.1.3-2.2 [ 38s] now installing cumulated packages [ 38s] Preparing... ######################################## [ 38s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 38s] exit ... [ 38s] ### VM INTERACTION START ### [ 41s] [ 13.880105] sysrq: Power Off [ 41s] [ 13.881606] reboot: Power down [ 41s] ### VM INTERACTION END ### [ 41s] [ 41s] obs-arm-8 failed "build libosmo-abis.spec" at Tue May 25 18:32:23 UTC 2021. [ 41s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:32:57 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:32:57 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad42e866237_68252ade5ccbe5fc714f4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 54s] [151/168] cumulate zlib-devel-1.2.11-18.3 [ 54s] [152/168] cumulate libosmogsm-devel-1.5.1.122.155968.202105250026-1.1 [ 54s] [153/168] cumulate libosmovty-devel-1.5.1.122.155968.202105250026-1.1 [ 54s] [154/168] cumulate libutempter0-1.2.0-3.3 [ 54s] [155/168] cumulate libtool-2.4.6-8.12 [ 54s] [156/168] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 54s] [157/168] cumulate pam-1.5.1-4.3 [ 54s] [158/168] cumulate rpmlint-mini-1.10-23.13 [ 54s] [159/168] cumulate gcc10-10.3.0+git1587-1.3 [ 54s] [160/168] cumulate rpmlint-Factory-1.0-99.2 [ 54s] [161/168] cumulate gcc-10-3.3 [ 54s] [162/168] cumulate pam_unix-1.5.1-4.3 [ 54s] [163/168] cumulate bctoolbox-devel-4.5.15-1.1 [ 54s] [164/168] cumulate shadow-4.8.1-6.2 [ 54s] [165/168] cumulate util-linux-2.36.2-1.3 [ 54s] [166/168] cumulate gcc-PIE-10-3.3 [ 54s] [167/168] cumulate ortp-devel-4.5.15-1.1 [ 54s] [168/168] cumulate rpm-build-4.16.1.3-2.2 [ 54s] now installing cumulated packages [ 54s] Preparing... ######################################## [ 54s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 54s] exit ... [ 54s] ### VM INTERACTION START ### [ 57s] [ 14.507642] sysrq: Power Off [ 57s] [ 14.508856] reboot: Power down [ 57s] ### VM INTERACTION END ### [ 57s] [ 57s] obs-arm-8 failed "build libosmo-abis.spec" at Tue May 25 18:32:44 UTC 2021. [ 57s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:34:05 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:34:05 +0000 Subject: Build failure of network:osmocom:latest/libosmo-netif in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad433cb989d_68252ade5ccbe5fc75526@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmo-netif/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/libosmo-netif failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest libosmo-netif Last lines of build log: [ 27s] [126/143] cumulate librpmbuild9-4.16.1.3-2.2 [ 27s] [127/143] cumulate build-compare-20200727T175347.d95eb35-1.4 [ 27s] [128/143] cumulate lksctp-tools-devel-1.0.16-2.7 [ 27s] [129/143] cumulate zlib-devel-1.2.11-18.3 [ 27s] [130/143] cumulate libosmogsm-devel-1.5.1-2.6 [ 27s] [131/143] cumulate libutempter0-1.2.0-3.3 [ 27s] [132/143] cumulate libtool-2.4.6-8.12 [ 27s] [133/143] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 27s] [134/143] cumulate pam-1.5.1-4.3 [ 27s] [135/143] cumulate rpmlint-mini-1.10-23.13 [ 27s] [136/143] cumulate gcc10-10.3.0+git1587-1.3 [ 27s] [137/143] cumulate rpmlint-Factory-1.0-99.2 [ 27s] [138/143] cumulate gcc-10-3.3 [ 27s] [139/143] cumulate pam_unix-1.5.1-4.3 [ 27s] [140/143] cumulate shadow-4.8.1-6.2 [ 27s] [141/143] cumulate util-linux-2.36.2-1.3 [ 27s] [142/143] cumulate gcc-PIE-10-3.3 [ 27s] [143/143] cumulate rpm-build-4.16.1.3-2.2 [ 27s] now installing cumulated packages [ 27s] Preparing... ######################################## [ 27s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 27s] exit ... [ 27s] ### VM INTERACTION START ### [ 30s] [ 14.498120] sysrq: Power Off [ 30s] [ 14.499473] reboot: Power down [ 31s] ### VM INTERACTION END ### [ 31s] [ 31s] obs-arm-7 failed "build libosmo-netif.spec" at Tue May 25 18:33:55 UTC 2021. [ 31s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:34:39 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:34:39 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad436f69c43_68252ade5ccbe5fc777fc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libosmo-netif failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 45s] [126/143] cumulate librpmbuild9-4.16.1.3-2.2 [ 45s] [127/143] cumulate build-compare-20200727T175347.d95eb35-1.4 [ 45s] [128/143] cumulate lksctp-tools-devel-1.0.16-2.7 [ 45s] [129/143] cumulate zlib-devel-1.2.11-18.3 [ 45s] [130/143] cumulate libosmogsm-devel-1.5.1.122.155968.202105250026-1.1 [ 45s] [131/143] cumulate libutempter0-1.2.0-3.3 [ 45s] [132/143] cumulate libtool-2.4.6-8.12 [ 45s] [133/143] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 45s] [134/143] cumulate pam-1.5.1-4.3 [ 45s] [135/143] cumulate rpmlint-mini-1.10-23.13 [ 45s] [136/143] cumulate gcc10-10.3.0+git1587-1.3 [ 45s] [137/143] cumulate rpmlint-Factory-1.0-99.2 [ 45s] [138/143] cumulate gcc-10-3.3 [ 45s] [139/143] cumulate pam_unix-1.5.1-4.3 [ 45s] [140/143] cumulate shadow-4.8.1-6.2 [ 45s] [141/143] cumulate util-linux-2.36.2-1.3 [ 45s] [142/143] cumulate gcc-PIE-10-3.3 [ 45s] [143/143] cumulate rpm-build-4.16.1.3-2.2 [ 45s] now installing cumulated packages [ 45s] Preparing... ######################################## [ 45s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 45s] exit ... [ 45s] ### VM INTERACTION START ### [ 48s] [ 13.948689] sysrq: Power Off [ 48s] [ 13.977888] reboot: Power down [ 48s] ### VM INTERACTION END ### [ 48s] [ 48s] obs-arm-9 failed "build libosmo-netif.spec" at Tue May 25 18:34:26 UTC 2021. [ 48s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:36:04 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:36:04 +0000 Subject: Build failure of network:osmocom:latest/libosmo-sccp in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad439b845f8_68252ade5ccbe5fc846b4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmo-sccp/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/libosmo-sccp failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest libosmo-sccp Last lines of build log: [ 30s] [130/147] cumulate zlib-devel-1.2.11-18.3 [ 30s] [131/147] cumulate libosmogsm-devel-1.5.1-2.6 [ 30s] [132/147] cumulate libosmovty-devel-1.5.1-2.6 [ 30s] [133/147] cumulate libutempter0-1.2.0-3.3 [ 30s] [134/147] cumulate libtool-2.4.6-8.12 [ 30s] [135/147] cumulate libosmonetif8-1.1.0-2.3 [ 30s] [136/147] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 30s] [137/147] cumulate pam-1.5.1-4.3 [ 30s] [138/147] cumulate rpmlint-mini-1.10-23.13 [ 30s] [139/147] cumulate gcc10-10.3.0+git1587-1.3 [ 30s] [140/147] cumulate rpmlint-Factory-1.0-99.2 [ 30s] [141/147] cumulate gcc-10-3.3 [ 30s] [142/147] cumulate libosmonetif-devel-1.1.0-2.3 [ 30s] [143/147] cumulate pam_unix-1.5.1-4.3 [ 30s] [144/147] cumulate shadow-4.8.1-6.2 [ 30s] [145/147] cumulate util-linux-2.36.2-1.3 [ 30s] [146/147] cumulate gcc-PIE-10-3.3 [ 30s] [147/147] cumulate rpm-build-4.16.1.3-2.2 [ 30s] now installing cumulated packages [ 30s] Preparing... ######################################## [ 30s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 31s] exit ... [ 31s] ### VM INTERACTION START ### [ 34s] [ 14.278255] sysrq: Power Off [ 34s] [ 14.332044] reboot: Power down [ 34s] ### VM INTERACTION END ### [ 34s] [ 34s] obs-arm-9 failed "build libosmo-sccp.spec" at Tue May 25 18:35:58 UTC 2021. [ 34s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:36:04 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:36:04 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad439c655c6_68252ade5ccbe5fc8499f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 24s] [130/147] cumulate zlib-devel-1.2.11-18.3 [ 24s] [131/147] cumulate libosmogsm-devel-1.5.1.122.155968.202105250026-1.1 [ 24s] [132/147] cumulate libosmovty-devel-1.5.1.122.155968.202105250026-1.1 [ 24s] [133/147] cumulate libutempter0-1.2.0-3.3 [ 24s] [134/147] cumulate libtool-2.4.6-8.12 [ 24s] [135/147] cumulate libosmonetif8-1.1.0.202105250026-1.1 [ 24s] [136/147] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 24s] [137/147] cumulate pam-1.5.1-4.3 [ 24s] [138/147] cumulate rpmlint-mini-1.10-23.13 [ 24s] [139/147] cumulate gcc10-10.3.0+git1587-1.3 [ 24s] [140/147] cumulate rpmlint-Factory-1.0-99.2 [ 24s] [141/147] cumulate gcc-10-3.3 [ 24s] [142/147] cumulate libosmonetif-devel-1.1.0.202105250026-1.1 [ 24s] [143/147] cumulate pam_unix-1.5.1-4.3 [ 24s] [144/147] cumulate shadow-4.8.1-6.2 [ 24s] [145/147] cumulate util-linux-2.36.2-1.3 [ 24s] [146/147] cumulate gcc-PIE-10-3.3 [ 24s] [147/147] cumulate rpm-build-4.16.1.3-2.2 [ 24s] now installing cumulated packages [ 24s] Preparing... ######################################## [ 24s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 25s] exit ... [ 25s] ### VM INTERACTION START ### [ 28s] [ 14.300017] sysrq: Power Off [ 28s] [ 14.301400] reboot: Power down [ 28s] ### VM INTERACTION END ### [ 28s] [ 28s] obs-arm-7 failed "build libosmo-sccp.spec" at Tue May 25 18:35:51 UTC 2021. [ 28s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:37:29 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:37:29 +0000 Subject: Build failure of network:osmocom:latest/libasn1c in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad43f33af5_68252ade5ccbe5fc90561@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libasn1c/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/libasn1c failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest libasn1c Last lines of build log: [ 27s] [123/140] cumulate glibc-devel-2.33-6.2 [ 27s] [124/140] cumulate libosmocore-devel-1.5.1-2.6 [ 27s] [125/140] cumulate librpmbuild9-4.16.1.3-2.2 [ 27s] [126/140] cumulate build-compare-20200727T175347.d95eb35-1.4 [ 27s] [127/140] cumulate zlib-devel-1.2.11-18.3 [ 27s] [128/140] cumulate libutempter0-1.2.0-3.3 [ 27s] [129/140] cumulate libtool-2.4.6-8.12 [ 27s] [130/140] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 27s] [131/140] cumulate pam-1.5.1-4.3 [ 27s] [132/140] cumulate rpmlint-mini-1.10-23.13 [ 27s] [133/140] cumulate gcc10-10.3.0+git1587-1.3 [ 27s] [134/140] cumulate rpmlint-Factory-1.0-99.2 [ 27s] [135/140] cumulate gcc-10-3.3 [ 27s] [136/140] cumulate pam_unix-1.5.1-4.3 [ 27s] [137/140] cumulate shadow-4.8.1-6.2 [ 27s] [138/140] cumulate util-linux-2.36.2-1.3 [ 27s] [139/140] cumulate gcc-PIE-10-3.3 [ 27s] [140/140] cumulate rpm-build-4.16.1.3-2.2 [ 27s] now installing cumulated packages [ 27s] Preparing... ######################################## [ 27s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 28s] exit ... [ 28s] ### VM INTERACTION START ### [ 31s] [ 14.670766] sysrq: Power Off [ 31s] [ 14.672193] reboot: Power down [ 31s] ### VM INTERACTION END ### [ 31s] [ 31s] obs-arm-7 failed "build libasn1c.spec" at Tue May 25 18:37:26 UTC 2021. [ 31s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:38:03 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:38:03 +0000 Subject: Build failure of network:osmocom:nightly/libasn1c in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad441579ddd_68252ade5ccbe5fc9259b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libasn1c/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libasn1c failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libasn1c Last lines of build log: [ 41s] [123/140] cumulate glibc-devel-2.33-6.2 [ 41s] [124/140] cumulate libosmocore-devel-1.5.1.122.155968.202105250026-1.1 [ 41s] [125/140] cumulate librpmbuild9-4.16.1.3-2.2 [ 41s] [126/140] cumulate build-compare-20200727T175347.d95eb35-1.4 [ 41s] [127/140] cumulate zlib-devel-1.2.11-18.3 [ 41s] [128/140] cumulate libutempter0-1.2.0-3.3 [ 41s] [129/140] cumulate libtool-2.4.6-8.12 [ 41s] [130/140] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 41s] [131/140] cumulate pam-1.5.1-4.3 [ 41s] [132/140] cumulate rpmlint-mini-1.10-23.13 [ 41s] [133/140] cumulate gcc10-10.3.0+git1587-1.3 [ 41s] [134/140] cumulate rpmlint-Factory-1.0-99.2 [ 41s] [135/140] cumulate gcc-10-3.3 [ 41s] [136/140] cumulate pam_unix-1.5.1-4.3 [ 41s] [137/140] cumulate shadow-4.8.1-6.2 [ 41s] [138/140] cumulate util-linux-2.36.2-1.3 [ 41s] [139/140] cumulate gcc-PIE-10-3.3 [ 41s] [140/140] cumulate rpm-build-4.16.1.3-2.2 [ 41s] now installing cumulated packages [ 42s] Preparing... ######################################## [ 42s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 42s] exit ... [ 42s] ### VM INTERACTION START ### [ 45s] [ 14.365277] sysrq: Power Off [ 45s] [ 14.367413] reboot: Power down [ 45s] ### VM INTERACTION END ### [ 45s] [ 45s] obs-arm-9 failed "build libasn1c.spec" at Tue May 25 18:38:02 UTC 2021. [ 45s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:38:54 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:38:54 +0000 Subject: Build failure of network:osmocom:latest/yder in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad444bc7248_68252ade5ccbe5fc9509e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/yder/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/yder failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest yder Last lines of build log: [ 47s] [128/145] cumulate librpmbuild9-4.16.1.3-2.2 [ 47s] [129/145] cumulate build-compare-20200727T175347.d95eb35-1.4 [ 47s] [130/145] cumulate libstdc++6-devel-gcc10-10.3.0+git1587-1.3 [ 47s] [131/145] cumulate zlib-devel-1.2.11-18.3 [ 47s] [132/145] cumulate libutempter0-1.2.0-3.3 [ 47s] [133/145] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 47s] [134/145] cumulate pam-1.5.1-4.3 [ 47s] [135/145] cumulate rpmlint-mini-1.10-23.13 [ 47s] [136/145] cumulate gcc10-10.3.0+git1587-1.3 [ 47s] [137/145] cumulate rpmlint-Factory-1.0-99.2 [ 47s] [138/145] cumulate gcc-10-3.3 [ 47s] [139/145] cumulate pam_unix-1.5.1-4.3 [ 47s] [140/145] cumulate gcc10-c++-10.3.0+git1587-1.3 [ 47s] [141/145] cumulate shadow-4.8.1-6.2 [ 47s] [142/145] cumulate util-linux-2.36.2-1.3 [ 47s] [143/145] cumulate gcc-PIE-10-3.3 [ 47s] [144/145] cumulate gcc-c++-10-3.3 [ 47s] [145/145] cumulate rpm-build-4.16.1.3-2.2 [ 47s] now installing cumulated packages [ 47s] Preparing... ######################################## [ 47s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 47s] exit ... [ 47s] ### VM INTERACTION START ### [ 51s] [ 13.898124] sysrq: Power Off [ 51s] [ 13.899265] reboot: Power down [ 51s] ### VM INTERACTION END ### [ 51s] [ 51s] obs-arm-9 failed "build yder.spec" at Tue May 25 18:38:43 UTC 2021. [ 51s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:40:19 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:40:19 +0000 Subject: Build failure of network:osmocom:nightly/yder in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad44a3bbb3e_68252ade5ccbe5fc99661@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/yder/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/yder failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly yder Last lines of build log: [ 38s] [128/145] cumulate librpmbuild9-4.16.1.3-2.2 [ 38s] [129/145] cumulate build-compare-20200727T175347.d95eb35-1.4 [ 38s] [130/145] cumulate libstdc++6-devel-gcc10-10.3.0+git1587-1.3 [ 38s] [131/145] cumulate zlib-devel-1.2.11-18.3 [ 38s] [132/145] cumulate libutempter0-1.2.0-3.3 [ 38s] [133/145] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 38s] [134/145] cumulate pam-1.5.1-4.3 [ 38s] [135/145] cumulate rpmlint-mini-1.10-23.13 [ 38s] [136/145] cumulate gcc10-10.3.0+git1587-1.3 [ 38s] [137/145] cumulate rpmlint-Factory-1.0-99.2 [ 38s] [138/145] cumulate gcc-10-3.3 [ 38s] [139/145] cumulate pam_unix-1.5.1-4.3 [ 38s] [140/145] cumulate gcc10-c++-10.3.0+git1587-1.3 [ 38s] [141/145] cumulate shadow-4.8.1-6.2 [ 38s] [142/145] cumulate util-linux-2.36.2-1.3 [ 38s] [143/145] cumulate gcc-PIE-10-3.3 [ 38s] [144/145] cumulate gcc-c++-10-3.3 [ 38s] [145/145] cumulate rpm-build-4.16.1.3-2.2 [ 38s] now installing cumulated packages [ 39s] Preparing... ######################################## [ 39s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 39s] exit ... [ 39s] ### VM INTERACTION START ### [ 42s] [ 14.501508] sysrq: Power Off [ 42s] [ 14.633062] reboot: Power down [ 42s] ### VM INTERACTION END ### [ 42s] [ 42s] obs-arm-9 failed "build yder.spec" at Tue May 25 18:40:04 UTC 2021. [ 42s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:40:19 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:40:19 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad44a7fce5_68252ade5ccbe5fc100332@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/osmo-hlr failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 54s] [147/164] cumulate libutempter0-1.2.0-3.3 [ 54s] [148/164] cumulate libtool-2.4.6-8.12 [ 54s] [149/164] cumulate libosmoabis10-1.1.1-2.3 [ 54s] [150/164] cumulate libosmoctrl0-1.5.1-2.6 [ 54s] [151/164] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 54s] [152/164] cumulate pam-1.5.1-4.3 [ 54s] [153/164] cumulate rpmlint-mini-1.10-23.13 [ 54s] [154/164] cumulate gcc10-10.3.0+git1587-1.3 [ 54s] [155/164] cumulate rpmlint-Factory-1.0-99.2 [ 54s] [156/164] cumulate gcc-10-3.3 [ 54s] [157/164] cumulate pam_unix-1.5.1-4.3 [ 54s] [158/164] cumulate libosmoabis-devel-1.1.1-2.3 [ 54s] [159/164] cumulate libosmoctrl-devel-1.5.1-2.6 [ 54s] [160/164] cumulate python38-3.8.10-1.1 [ 54s] [161/164] cumulate shadow-4.8.1-6.2 [ 54s] [162/164] cumulate util-linux-2.36.2-1.3 [ 54s] [163/164] cumulate gcc-PIE-10-3.3 [ 54s] [164/164] cumulate rpm-build-4.16.1.3-2.2 [ 54s] now installing cumulated packages [ 54s] Preparing... ######################################## [ 54s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 56s] exit ... [ 56s] ### VM INTERACTION START ### [ 59s] [ 26.182768] sysrq: Power Off [ 59s] [ 26.219856] reboot: Power down [ 59s] ### VM INTERACTION END ### [ 59s] [ 59s] obs-arm-2 failed "build osmo-hlr.spec" at Tue May 25 18:40:17 UTC 2021. [ 59s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:42:19 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:42:19 +0000 Subject: Build failure of network:osmocom:latest/osmo-mgw in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad451b9424b_68252ade5ccbe5fc1065b4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-mgw/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/osmo-mgw failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-mgw Last lines of build log: [ 51s] [144/161] cumulate libosmoabis10-1.1.1-2.3 [ 51s] [145/161] cumulate libosmoctrl0-1.5.1-2.6 [ 51s] [146/161] cumulate libosmonetif8-1.1.0-2.3 [ 51s] [147/161] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 51s] [148/161] cumulate pam-1.5.1-4.3 [ 51s] [149/161] cumulate rpmlint-mini-1.10-23.13 [ 51s] [150/161] cumulate gcc10-10.3.0+git1587-1.3 [ 51s] [151/161] cumulate rpmlint-Factory-1.0-99.2 [ 51s] [152/161] cumulate gcc-10-3.3 [ 51s] [153/161] cumulate libosmonetif-devel-1.1.0-2.3 [ 51s] [154/161] cumulate pam_unix-1.5.1-4.3 [ 51s] [155/161] cumulate libosmoabis-devel-1.1.1-2.3 [ 51s] [156/161] cumulate libosmoctrl-devel-1.5.1-2.6 [ 51s] [157/161] cumulate libosmocoding-devel-1.5.1-2.6 [ 51s] [158/161] cumulate shadow-4.8.1-6.2 [ 51s] [159/161] cumulate util-linux-2.36.2-1.3 [ 51s] [160/161] cumulate gcc-PIE-10-3.3 [ 51s] [161/161] cumulate rpm-build-4.16.1.3-2.2 [ 51s] now installing cumulated packages [ 51s] Preparing... ######################################## [ 51s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 53s] exit ... [ 53s] ### VM INTERACTION START ### [ 56s] [ 24.505871] sysrq: Power Off [ 56s] [ 24.516462] reboot: Power down [ 56s] ### VM INTERACTION END ### [ 56s] [ 56s] obs-arm-1 failed "build osmo-mgw.spec" at Tue May 25 18:42:08 UTC 2021. [ 56s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:42:36 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:42:36 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad453d6b62c_68252ade5ccbe5fc1086c4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-hlr failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 52s] [147/164] cumulate libutempter0-1.2.0-3.3 [ 52s] [148/164] cumulate libtool-2.4.6-8.12 [ 52s] [149/164] cumulate libosmoabis10-1.1.1.7.ea0f.202105250026-1.1 [ 52s] [150/164] cumulate libosmoctrl0-1.5.1.122.155968.202105250026-1.1 [ 52s] [151/164] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 52s] [152/164] cumulate pam-1.5.1-4.3 [ 52s] [153/164] cumulate rpmlint-mini-1.10-23.13 [ 52s] [154/164] cumulate gcc10-10.3.0+git1587-1.3 [ 52s] [155/164] cumulate rpmlint-Factory-1.0-99.2 [ 52s] [156/164] cumulate gcc-10-3.3 [ 52s] [157/164] cumulate pam_unix-1.5.1-4.3 [ 52s] [158/164] cumulate libosmoabis-devel-1.1.1.7.ea0f.202105250026-1.1 [ 52s] [159/164] cumulate libosmoctrl-devel-1.5.1.122.155968.202105250026-1.1 [ 52s] [160/164] cumulate python38-3.8.10-1.1 [ 52s] [161/164] cumulate shadow-4.8.1-6.2 [ 52s] [162/164] cumulate util-linux-2.36.2-1.3 [ 52s] [163/164] cumulate gcc-PIE-10-3.3 [ 52s] [164/164] cumulate rpm-build-4.16.1.3-2.2 [ 52s] now installing cumulated packages [ 52s] Preparing... ######################################## [ 52s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 54s] exit ... [ 54s] ### VM INTERACTION START ### [ 57s] [ 24.918064] sysrq: Power Off [ 57s] [ 24.951610] reboot: Power down [ 57s] ### VM INTERACTION END ### [ 57s] [ 57s] obs-arm-2 failed "build osmo-hlr.spec" at Tue May 25 18:42:28 UTC 2021. [ 57s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:44:19 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:44:19 +0000 Subject: Build failure of network:osmocom:latest/osmo-iuh in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad459236c84_68252ade5ccbe5fc112565@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-iuh/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/osmo-iuh failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-iuh Last lines of build log: [ 47s] [153/170] cumulate libosmogb12-1.5.1-2.6 [ 47s] [154/170] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 47s] [155/170] cumulate pam-1.5.1-4.3 [ 47s] [156/170] cumulate rpmlint-mini-1.10-23.13 [ 47s] [157/170] cumulate gcc10-10.3.0+git1587-1.3 [ 47s] [158/170] cumulate rpmlint-Factory-1.0-99.2 [ 47s] [159/170] cumulate gcc-10-3.3 [ 47s] [160/170] cumulate libosmonetif-devel-1.1.0-2.3 [ 47s] [161/170] cumulate pam_unix-1.5.1-4.3 [ 47s] [162/170] cumulate libosmoctrl-devel-1.5.1-2.6 [ 47s] [163/170] cumulate libosmogb-devel-1.5.1-2.6 [ 47s] [164/170] cumulate python38-3.8.10-1.1 [ 47s] [165/170] cumulate libosmo-sigtran5-1.4.0-2.4 [ 47s] [166/170] cumulate shadow-4.8.1-6.2 [ 47s] [167/170] cumulate util-linux-2.36.2-1.3 [ 47s] [168/170] cumulate gcc-PIE-10-3.3 [ 47s] [169/170] cumulate libosmo-sigtran-devel-1.4.0-2.4 [ 47s] [170/170] cumulate rpm-build-4.16.1.3-2.2 [ 47s] now installing cumulated packages [ 47s] Preparing... ######################################## [ 47s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 48s] exit ... [ 48s] ### VM INTERACTION START ### [ 51s] [ 14.728695] sysrq: Power Off [ 51s] [ 14.730037] reboot: Power down [ 51s] ### VM INTERACTION END ### [ 51s] [ 51s] obs-arm-8 failed "build osmo-iuh.spec" at Tue May 25 18:44:07 UTC 2021. [ 51s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:44:19 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:44:19 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad4596cc97b_68252ade5ccbe5fc113385@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 50s] [144/161] cumulate libosmoabis10-1.1.1.7.ea0f.202105250026-1.1 [ 50s] [145/161] cumulate libosmoctrl0-1.5.1.122.155968.202105250026-1.1 [ 50s] [146/161] cumulate libosmonetif8-1.1.0.202105250026-1.1 [ 50s] [147/161] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 50s] [148/161] cumulate pam-1.5.1-4.3 [ 50s] [149/161] cumulate rpmlint-mini-1.10-23.13 [ 50s] [150/161] cumulate gcc10-10.3.0+git1587-1.3 [ 50s] [151/161] cumulate rpmlint-Factory-1.0-99.2 [ 50s] [152/161] cumulate gcc-10-3.3 [ 51s] [153/161] cumulate libosmonetif-devel-1.1.0.202105250026-1.1 [ 51s] [154/161] cumulate pam_unix-1.5.1-4.3 [ 51s] [155/161] cumulate libosmoabis-devel-1.1.1.7.ea0f.202105250026-1.1 [ 51s] [156/161] cumulate libosmoctrl-devel-1.5.1.122.155968.202105250026-1.1 [ 51s] [157/161] cumulate libosmocoding-devel-1.5.1.122.155968.202105250026-1.1 [ 51s] [158/161] cumulate shadow-4.8.1-6.2 [ 51s] [159/161] cumulate util-linux-2.36.2-1.3 [ 51s] [160/161] cumulate gcc-PIE-10-3.3 [ 51s] [161/161] cumulate rpm-build-4.16.1.3-2.2 [ 51s] now installing cumulated packages [ 51s] Preparing... ######################################## [ 51s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 52s] exit ... [ 52s] ### VM INTERACTION START ### [ 56s] [ 24.578946] sysrq: Power Off [ 56s] [ 24.615165] reboot: Power down [ 56s] ### VM INTERACTION END ### [ 56s] [ 56s] obs-arm-3 failed "build osmo-mgw.spec" at Tue May 25 18:44:06 UTC 2021. [ 56s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:46:01 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:46:01 +0000 Subject: Build failure of network:osmocom:latest/libsmpp34 in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad45f04832d_68252ade5ccbe5fc1170bb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libsmpp34/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/libsmpp34 failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest libsmpp34 Last lines of build log: [ 35s] [120/137] cumulate glibc-devel-2.33-6.2 [ 35s] [121/137] cumulate librpmbuild9-4.16.1.3-2.2 [ 35s] [122/137] cumulate build-compare-20200727T175347.d95eb35-1.4 [ 35s] [123/137] cumulate zlib-devel-1.2.11-18.3 [ 35s] [124/137] cumulate libutempter0-1.2.0-3.3 [ 35s] [125/137] cumulate libtool-2.4.6-8.12 [ 35s] [126/137] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 35s] [127/137] cumulate pam-1.5.1-4.3 [ 35s] [128/137] cumulate rpmlint-mini-1.10-23.13 [ 35s] [129/137] cumulate gcc10-10.3.0+git1587-1.3 [ 35s] [130/137] cumulate rpmlint-Factory-1.0-99.2 [ 35s] [131/137] cumulate gcc-10-3.3 [ 35s] [132/137] cumulate pam_unix-1.5.1-4.3 [ 35s] [133/137] cumulate libxml2-devel-2.9.10-11.1 [ 35s] [134/137] cumulate shadow-4.8.1-6.2 [ 35s] [135/137] cumulate util-linux-2.36.2-1.3 [ 35s] [136/137] cumulate gcc-PIE-10-3.3 [ 35s] [137/137] cumulate rpm-build-4.16.1.3-2.2 [ 35s] now installing cumulated packages [ 35s] Preparing... ######################################## [ 35s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 35s] exit ... [ 35s] ### VM INTERACTION START ### [ 38s] [ 13.765060] sysrq: Power Off [ 38s] [ 13.766230] reboot: Power down [ 38s] ### VM INTERACTION END ### [ 38s] [ 38s] obs-arm-8 failed "build libsmpp34.spec" at Tue May 25 18:45:50 UTC 2021. [ 38s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:46:35 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:46:35 +0000 Subject: Build failure of network:osmocom:nightly/osmo-iuh in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad462878c95_68252ade5ccbe5fc11795f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-iuh/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-iuh failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-iuh Last lines of build log: [ 46s] [153/170] cumulate libosmogb12-1.5.1.122.155968.202105250026-1.1 [ 46s] [154/170] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 46s] [155/170] cumulate pam-1.5.1-4.3 [ 46s] [156/170] cumulate rpmlint-mini-1.10-23.13 [ 46s] [157/170] cumulate gcc10-10.3.0+git1587-1.3 [ 46s] [158/170] cumulate rpmlint-Factory-1.0-99.2 [ 46s] [159/170] cumulate gcc-10-3.3 [ 46s] [160/170] cumulate libosmonetif-devel-1.1.0.202105250026-1.1 [ 46s] [161/170] cumulate pam_unix-1.5.1-4.3 [ 46s] [162/170] cumulate libosmoctrl-devel-1.5.1.122.155968.202105250026-1.1 [ 46s] [163/170] cumulate libosmogb-devel-1.5.1.122.155968.202105250026-1.1 [ 46s] [164/170] cumulate python38-3.8.10-1.1 [ 46s] [165/170] cumulate libosmo-sigtran5-1.4.0.22.ce72c.202105250026-1.1 [ 46s] [166/170] cumulate shadow-4.8.1-6.2 [ 46s] [167/170] cumulate util-linux-2.36.2-1.3 [ 46s] [168/170] cumulate gcc-PIE-10-3.3 [ 46s] [169/170] cumulate libosmo-sigtran-devel-1.4.0.22.ce72c.202105250026-1.1 [ 46s] [170/170] cumulate rpm-build-4.16.1.3-2.2 [ 46s] now installing cumulated packages [ 46s] Preparing... ######################################## [ 46s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 46s] exit ... [ 46s] ### VM INTERACTION START ### [ 49s] [ 14.076072] sysrq: Power Off [ 49s] [ 14.077064] reboot: Power down [ 49s] ### VM INTERACTION END ### [ 49s] [ 49s] obs-arm-9 failed "build osmo-iuh.spec" at Tue May 25 18:46:18 UTC 2021. [ 49s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:49:08 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:49:08 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad46c0708ca_68252ade5ccbe5fc125163@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/ulfius failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 30s] [170/187] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 30s] [171/187] cumulate pam-1.5.1-4.3 [ 30s] [172/187] cumulate rpmlint-mini-1.10-23.13 [ 30s] [173/187] cumulate libcurl4-7.76.1-1.1 [ 30s] [174/187] cumulate gcc10-10.3.0+git1587-1.3 [ 30s] [175/187] cumulate rpmlint-Factory-1.0-99.2 [ 30s] [176/187] cumulate gcc-10-3.3 [ 30s] [177/187] cumulate libcurl-devel-7.76.1-1.1 [ 30s] [178/187] cumulate pam_unix-1.5.1-4.3 [ 30s] [179/187] cumulate gnutls-3.7.1-2.1 [ 30s] [180/187] cumulate gcc10-c++-10.3.0+git1587-1.3 [ 30s] [181/187] cumulate shadow-4.8.1-6.2 [ 30s] [182/187] cumulate util-linux-2.36.2-1.3 [ 30s] [183/187] cumulate gcc-PIE-10-3.3 [ 30s] [184/187] cumulate gcc-c++-10-3.3 [ 30s] [185/187] cumulate libgnutls-devel-3.7.1-2.1 [ 30s] [186/187] cumulate rpm-build-4.16.1.3-2.2 [ 30s] [187/187] cumulate libmicrohttpd-devel-0.9.73-1.1 [ 30s] now installing cumulated packages [ 30s] Preparing... ######################################## [ 30s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 30s] exit ... [ 30s] ### VM INTERACTION START ### [ 33s] [ 14.485152] sysrq: Power Off [ 33s] [ 14.486180] reboot: Power down [ 33s] ### VM INTERACTION END ### [ 33s] [ 33s] obs-arm-9 failed "build ulfius.spec" at Tue May 25 18:48:59 UTC 2021. [ 33s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:49:08 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:49:08 +0000 Subject: Build failure of network:osmocom:latest/libgtpnl in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad46c270b3c_68252ade5ccbe5fc12569d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libgtpnl/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/libgtpnl failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest libgtpnl Last lines of build log: [ 41s] [117/134] cumulate automake-1.16.3-3.1 [ 41s] [118/134] cumulate glibc-devel-2.33-6.2 [ 41s] [119/134] cumulate librpmbuild9-4.16.1.3-2.2 [ 41s] [120/134] cumulate build-compare-20200727T175347.d95eb35-1.4 [ 41s] [121/134] cumulate zlib-devel-1.2.11-18.3 [ 41s] [122/134] cumulate libutempter0-1.2.0-3.3 [ 41s] [123/134] cumulate libtool-2.4.6-8.12 [ 41s] [124/134] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 41s] [125/134] cumulate pam-1.5.1-4.3 [ 41s] [126/134] cumulate rpmlint-mini-1.10-23.13 [ 41s] [127/134] cumulate gcc10-10.3.0+git1587-1.3 [ 41s] [128/134] cumulate rpmlint-Factory-1.0-99.2 [ 41s] [129/134] cumulate gcc-10-3.3 [ 41s] [130/134] cumulate pam_unix-1.5.1-4.3 [ 41s] [131/134] cumulate shadow-4.8.1-6.2 [ 41s] [132/134] cumulate util-linux-2.36.2-1.3 [ 41s] [133/134] cumulate gcc-PIE-10-3.3 [ 41s] [134/134] cumulate rpm-build-4.16.1.3-2.2 [ 41s] now installing cumulated packages [ 41s] Preparing... ######################################## [ 41s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 41s] exit ... [ 41s] ### VM INTERACTION START ### [ 44s] [ 14.006147] sysrq: Power Off [ 44s] [ 14.020292] reboot: Power down [ 44s] ### VM INTERACTION END ### [ 44s] [ 44s] obs-arm-8 failed "build libgtpnl.spec" at Tue May 25 18:48:52 UTC 2021. [ 44s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:49:42 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:49:42 +0000 Subject: Build failure of network:osmocom:nightly/sofia-sip in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad46e3e1bd9_68252ade5ccbe5fc1283f7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/sofia-sip/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/sofia-sip failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly sofia-sip Last lines of build log: getbinaries: missing packages: iproute2 (worker was obs-arm-9:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:50:16 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:50:16 +0000 Subject: Build failure of network:osmocom:nightly/libsmpp34 in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad46fe878e0_68252ade5ccbe5fc13176a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libsmpp34/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libsmpp34 failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libsmpp34 Last lines of build log: getbinaries: missing packages: iproute2 (worker was obs-arm-9:22) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:50:16 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:50:16 +0000 Subject: Build failure of network:osmocom:latest/libusrp in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad46ffea60c_68252ade5ccbe5fc1322b7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libusrp/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/libusrp failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest libusrp Last lines of build log: [ 30s] [161/178] cumulate shadow-4.8.1-6.2 [ 30s] [162/178] cumulate util-linux-2.36.2-1.3 [ 30s] [163/178] cumulate gcc-PIE-10-3.3 [ 30s] [164/178] cumulate gcc-c++-10-3.3 [ 30s] [165/178] cumulate libboost_headers1_76_0-devel-1.76.0-3.1 [ 30s] [166/178] cumulate python-2.7.18-5.1 [ 30s] [167/178] cumulate rpm-build-4.16.1.3-2.2 [ 30s] [168/178] cumulate libboost_chrono1_76_0-devel-1.76.0-3.1 [ 30s] [169/178] cumulate libboost_program_options1_76_0-devel-1.76.0-3.1 [ 30s] [170/178] cumulate libboost_system1_76_0-devel-1.76.0-3.1 [ 30s] [171/178] cumulate libboost_date_time1_76_0-devel-1.76.0-3.1 [ 30s] [172/178] cumulate libboost_filesystem1_76_0-devel-1.76.0-3.1 [ 30s] [173/178] cumulate libboost_date_time-devel-1.76.0-1.1 [ 30s] [174/178] cumulate libboost_filesystem-devel-1.76.0-1.1 [ 30s] [175/178] cumulate libboost_program_options-devel-1.76.0-1.1 [ 30s] [176/178] cumulate libboost_system-devel-1.76.0-1.1 [ 30s] [177/178] cumulate libboost_thread1_76_0-devel-1.76.0-3.1 [ 30s] [178/178] cumulate libboost_thread-devel-1.76.0-1.1 [ 30s] now installing cumulated packages [ 30s] Preparing... ######################################## [ 30s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 31s] exit ... [ 31s] ### VM INTERACTION START ### [ 34s] [ 14.787313] sysrq: Power Off [ 34s] [ 14.845779] reboot: Power down [ 34s] ### VM INTERACTION END ### [ 34s] [ 34s] obs-arm-9 failed "build libusrp.spec" at Tue May 25 18:50:07 UTC 2021. [ 34s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:52:15 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:52:15 +0000 Subject: Build failure of network:osmocom:nightly/libgtpnl in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad477a9c813_68252ade5ccbe5fc139633@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libgtpnl/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libgtpnl failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libgtpnl Last lines of build log: getbinaries: missing packages: iproute2 (worker was obs-arm-8:7) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:52:49 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:52:49 +0000 Subject: Build failure of network:osmocom:latest/ulfius in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad4796e223f_68252ade5ccbe5fc142592@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/ulfius failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 40s] [170/187] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 40s] [171/187] cumulate pam-1.5.1-4.3 [ 40s] [172/187] cumulate rpmlint-mini-1.10-23.13 [ 40s] [173/187] cumulate libcurl4-7.76.1-1.1 [ 40s] [174/187] cumulate gcc10-10.3.0+git1587-1.3 [ 40s] [175/187] cumulate rpmlint-Factory-1.0-99.2 [ 40s] [176/187] cumulate gcc-10-3.3 [ 40s] [177/187] cumulate libcurl-devel-7.76.1-1.1 [ 40s] [178/187] cumulate pam_unix-1.5.1-4.3 [ 40s] [179/187] cumulate gnutls-3.7.1-2.1 [ 40s] [180/187] cumulate gcc10-c++-10.3.0+git1587-1.3 [ 40s] [181/187] cumulate shadow-4.8.1-6.2 [ 40s] [182/187] cumulate util-linux-2.36.2-1.3 [ 40s] [183/187] cumulate gcc-PIE-10-3.3 [ 40s] [184/187] cumulate gcc-c++-10-3.3 [ 40s] [185/187] cumulate libgnutls-devel-3.7.1-2.1 [ 40s] [186/187] cumulate rpm-build-4.16.1.3-2.2 [ 40s] [187/187] cumulate libmicrohttpd-devel-0.9.73-1.1 [ 40s] now installing cumulated packages [ 40s] Preparing... ######################################## [ 40s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 41s] exit ... [ 41s] ### VM INTERACTION START ### [ 44s] [ 15.136115] sysrq: Power Off [ 44s] [ 15.198870] reboot: Power down [ 44s] ### VM INTERACTION END ### [ 44s] [ 44s] obs-arm-8 failed "build ulfius.spec" at Tue May 25 18:52:33 UTC 2021. [ 44s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:53:06 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:53:06 +0000 Subject: Build failure of network:osmocom:latest/osmo-ggsn in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad47ae96542_68252ade5ccbe5fc14328d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-ggsn/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/osmo-ggsn failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-ggsn Last lines of build log: [ 29s] [131/148] cumulate zlib-devel-1.2.11-18.3 [ 29s] [132/148] cumulate libosmogsm-devel-1.5.1-2.6 [ 29s] [133/148] cumulate libosmovty-devel-1.5.1-2.6 [ 29s] [134/148] cumulate libutempter0-1.2.0-3.3 [ 29s] [135/148] cumulate libtool-2.4.6-8.12 [ 29s] [136/148] cumulate libosmoctrl0-1.5.1-2.6 [ 29s] [137/148] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 29s] [138/148] cumulate pam-1.5.1-4.3 [ 29s] [139/148] cumulate rpmlint-mini-1.10-23.13 [ 29s] [140/148] cumulate gcc10-10.3.0+git1587-1.3 [ 29s] [141/148] cumulate rpmlint-Factory-1.0-99.2 [ 29s] [142/148] cumulate gcc-10-3.3 [ 29s] [143/148] cumulate pam_unix-1.5.1-4.3 [ 29s] [144/148] cumulate libosmoctrl-devel-1.5.1-2.6 [ 29s] [145/148] cumulate shadow-4.8.1-6.2 [ 29s] [146/148] cumulate util-linux-2.36.2-1.3 [ 29s] [147/148] cumulate gcc-PIE-10-3.3 [ 29s] [148/148] cumulate rpm-build-4.16.1.3-2.2 [ 29s] now installing cumulated packages [ 29s] Preparing... ######################################## [ 29s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 29s] exit ... [ 29s] ### VM INTERACTION START ### [ 32s] [ 13.928142] sysrq: Power Off [ 32s] [ 14.005964] reboot: Power down [ 32s] ### VM INTERACTION END ### [ 32s] [ 32s] obs-arm-9 failed "build osmo-ggsn.spec" at Tue May 25 18:52:52 UTC 2021. [ 32s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:53:57 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:53:57 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad47d3cd29a_68252ade5ccbe5fc146753@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 28s] [168/178] cumulate systemd-mini-246.13-1.2 [ 28s] [169/178] cumulate util-linux-2.36.2-1.3 [ 28s] [170/178] cumulate gcc-PIE-10-3.3 [ 28s] [171/178] cumulate gio-branding-upstream-2.68.2-1.1 [ 28s] [172/178] cumulate glib2-tools-2.68.2-1.1 [ 28s] [173/178] cumulate udev-mini-246.13-1.2 [ 28s] [174/178] cumulate polkit-0.118-5.2 [ 28s] [175/178] cumulate rpm-build-4.16.1.3-2.2 [ 28s] [176/178] cumulate libpolkit0-0.118-5.2 [ 28s] [177/178] cumulate pcsc-lite-1.9.1-1.2 [ 28s] [178/178] cumulate pcsc-lite-devel-1.9.1-1.2 [ 28s] now installing cumulated packages [ 28s] Preparing... ######################################## [ 28s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 28s] file /usr/bin/dbus-cleanup-sockets conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 28s] file /usr/bin/dbus-daemon conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 28s] file /usr/bin/dbus-monitor conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 28s] file /usr/bin/dbus-send conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 28s] file /usr/bin/dbus-test-tool conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 28s] file /usr/bin/dbus-update-activation-environment conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 28s] file /usr/bin/dbus-uuidgen conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 29s] exit ... [ 29s] ### VM INTERACTION START ### [ 32s] [ 14.341426] sysrq: Power Off [ 32s] [ 14.393717] reboot: Power down [ 32s] ### VM INTERACTION END ### [ 32s] [ 32s] obs-arm-9 failed "build simtrace2.spec" at Tue May 25 18:53:49 UTC 2021. [ 32s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:55:05 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:55:05 +0000 Subject: Build failure of network:osmocom:nightly/libusrp in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad4826902ae_68252ade5ccbe5fc153113@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libusrp/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libusrp failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libusrp Last lines of build log: [ 46s] [161/178] cumulate shadow-4.8.1-6.2 [ 46s] [162/178] cumulate util-linux-2.36.2-1.3 [ 46s] [163/178] cumulate gcc-PIE-10-3.3 [ 46s] [164/178] cumulate gcc-c++-10-3.3 [ 46s] [165/178] cumulate libboost_headers1_76_0-devel-1.76.0-3.1 [ 46s] [166/178] cumulate python-2.7.18-5.1 [ 46s] [167/178] cumulate rpm-build-4.16.1.3-2.2 [ 46s] [168/178] cumulate libboost_chrono1_76_0-devel-1.76.0-3.1 [ 46s] [169/178] cumulate libboost_program_options1_76_0-devel-1.76.0-3.1 [ 46s] [170/178] cumulate libboost_system1_76_0-devel-1.76.0-3.1 [ 46s] [171/178] cumulate libboost_date_time1_76_0-devel-1.76.0-3.1 [ 46s] [172/178] cumulate libboost_filesystem1_76_0-devel-1.76.0-3.1 [ 46s] [173/178] cumulate libboost_date_time-devel-1.76.0-1.1 [ 46s] [174/178] cumulate libboost_filesystem-devel-1.76.0-1.1 [ 46s] [175/178] cumulate libboost_program_options-devel-1.76.0-1.1 [ 46s] [176/178] cumulate libboost_system-devel-1.76.0-1.1 [ 46s] [177/178] cumulate libboost_thread1_76_0-devel-1.76.0-3.1 [ 46s] [178/178] cumulate libboost_thread-devel-1.76.0-1.1 [ 46s] now installing cumulated packages [ 46s] Preparing... ######################################## [ 46s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 47s] exit ... [ 47s] ### VM INTERACTION START ### [ 50s] [ 13.876476] sysrq: Power Off [ 50s] [ 13.877857] reboot: Power down [ 50s] ### VM INTERACTION END ### [ 50s] [ 50s] obs-arm-8 failed "build libusrp.spec" at Tue May 25 18:55:04 UTC 2021. [ 50s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:55:05 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:55:05 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad4828ad5db_68252ade5ccbe5fc1536f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/osmo-sip-connector failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 41s] [166/183] cumulate pam-1.5.1-4.3 [ 41s] [167/183] cumulate rpmlint-mini-1.10-23.13 [ 41s] [168/183] cumulate gcc10-10.3.0+git1587-1.3 [ 41s] [169/183] cumulate libstdc++-devel-10-3.3 [ 41s] [170/183] cumulate rpmlint-Factory-1.0-99.2 [ 41s] [171/183] cumulate gcc-10-3.3 [ 41s] [172/183] cumulate libopenssl-1_1-devel-1.1.1k-2.1 [ 41s] [173/183] cumulate pam_unix-1.5.1-4.3 [ 41s] [174/183] cumulate shadow-4.8.1-6.2 [ 41s] [175/183] cumulate util-linux-2.36.2-1.3 [ 41s] [176/183] cumulate gcc-PIE-10-3.3 [ 41s] [177/183] cumulate pcre-devel-8.44-3.1 [ 41s] [178/183] cumulate pcre2-devel-10.36-2.1 [ 41s] [179/183] cumulate rpm-build-4.16.1.3-2.2 [ 41s] [180/183] cumulate libselinux-devel-3.2-2.2 [ 41s] [181/183] cumulate libmount-devel-2.36.2-1.3 [ 41s] [182/183] cumulate glib2-devel-2.68.2-1.1 [ 41s] [183/183] cumulate sofia-sip-devel-1.12.11+20110422-1.5 [ 41s] now installing cumulated packages [ 41s] Preparing... ######################################## [ 41s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 41s] exit ... [ 41s] ### VM INTERACTION START ### [ 44s] [ 14.190657] sysrq: Power Off [ 44s] [ 14.247480] reboot: Power down [ 44s] ### VM INTERACTION END ### [ 44s] [ 44s] obs-arm-8 failed "build osmo-sip-connector.spec" at Tue May 25 18:54:59 UTC 2021. [ 44s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:56:13 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:56:13 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcap in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad4866455b7_68252ade5ccbe5fc159179@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcap/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/osmo-pcap failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcap Last lines of build log: [ 45s] [163/180] cumulate libutempter0-1.2.0-3.3 [ 45s] [164/180] cumulate libnettle-devel-3.7.2-2.1 [ 45s] [165/180] cumulate libtool-2.4.6-8.12 [ 45s] [166/180] cumulate libosmogb12-1.5.1-2.6 [ 45s] [167/180] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 45s] [168/180] cumulate pam-1.5.1-4.3 [ 45s] [169/180] cumulate rpmlint-mini-1.10-23.13 [ 45s] [170/180] cumulate gcc10-10.3.0+git1587-1.3 [ 45s] [171/180] cumulate rpmlint-Factory-1.0-99.2 [ 45s] [172/180] cumulate gcc-10-3.3 [ 45s] [173/180] cumulate pam_unix-1.5.1-4.3 [ 45s] [174/180] cumulate libosmogb-devel-1.5.1-2.6 [ 45s] [175/180] cumulate gnutls-3.7.1-2.1 [ 45s] [176/180] cumulate shadow-4.8.1-6.2 [ 45s] [177/180] cumulate util-linux-2.36.2-1.3 [ 45s] [178/180] cumulate gcc-PIE-10-3.3 [ 45s] [179/180] cumulate libgnutls-devel-3.7.1-2.1 [ 45s] [180/180] cumulate rpm-build-4.16.1.3-2.2 [ 45s] now installing cumulated packages [ 45s] Preparing... ######################################## [ 45s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 47s] exit ... [ 47s] ### VM INTERACTION START ### [ 50s] [ 23.997935] sysrq: Power Off [ 50s] [ 24.013166] reboot: Power down [ 50s] ### VM INTERACTION END ### [ 50s] [ 50s] obs-arm-1 failed "build osmo-pcap.spec" at Tue May 25 18:56:08 UTC 2021. [ 50s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:56:30 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:56:30 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad486d98a6a_68252ade5ccbe5fc1611ed@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-ggsn failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: [ 50s] [131/148] cumulate zlib-devel-1.2.11-18.3 [ 50s] [132/148] cumulate libosmogsm-devel-1.5.1.122.155968.202105250026-1.1 [ 50s] [133/148] cumulate libosmovty-devel-1.5.1.122.155968.202105250026-1.1 [ 50s] [134/148] cumulate libutempter0-1.2.0-3.3 [ 50s] [135/148] cumulate libtool-2.4.6-8.12 [ 50s] [136/148] cumulate libosmoctrl0-1.5.1.122.155968.202105250026-1.1 [ 50s] [137/148] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 50s] [138/148] cumulate pam-1.5.1-4.3 [ 50s] [139/148] cumulate rpmlint-mini-1.10-23.13 [ 50s] [140/148] cumulate gcc10-10.3.0+git1587-1.3 [ 50s] [141/148] cumulate rpmlint-Factory-1.0-99.2 [ 50s] [142/148] cumulate gcc-10-3.3 [ 50s] [143/148] cumulate pam_unix-1.5.1-4.3 [ 50s] [144/148] cumulate libosmoctrl-devel-1.5.1.122.155968.202105250026-1.1 [ 50s] [145/148] cumulate shadow-4.8.1-6.2 [ 50s] [146/148] cumulate util-linux-2.36.2-1.3 [ 50s] [147/148] cumulate gcc-PIE-10-3.3 [ 50s] [148/148] cumulate rpm-build-4.16.1.3-2.2 [ 50s] now installing cumulated packages [ 51s] Preparing... ######################################## [ 51s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 53s] exit ... [ 53s] ### VM INTERACTION START ### [ 56s] [ 25.232451] sysrq: Power Off [ 56s] [ 25.268518] reboot: Power down [ 56s] ### VM INTERACTION END ### [ 56s] [ 56s] obs-arm-3 failed "build osmo-ggsn.spec" at Tue May 25 18:56:19 UTC 2021. [ 56s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:57:04 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:57:04 +0000 Subject: Build failure of network:osmocom:latest/osmo-gbproxy in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad489fbe7dd_68252ade5ccbe5fc1637ae@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gbproxy/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/osmo-gbproxy failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gbproxy Last lines of build log: [ 23s] [137/154] cumulate libutempter0-1.2.0-3.3 [ 23s] [138/154] cumulate libtool-2.4.6-8.12 [ 23s] [139/154] cumulate libosmoctrl0-1.5.1-2.6 [ 23s] [140/154] cumulate libosmogb12-1.5.1-2.6 [ 23s] [141/154] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 23s] [142/154] cumulate pam-1.5.1-4.3 [ 23s] [143/154] cumulate rpmlint-mini-1.10-23.13 [ 23s] [144/154] cumulate gcc10-10.3.0+git1587-1.3 [ 23s] [145/154] cumulate rpmlint-Factory-1.0-99.2 [ 23s] [146/154] cumulate gcc-10-3.3 [ 23s] [147/154] cumulate libopenssl-1_1-devel-1.1.1k-2.1 [ 23s] [148/154] cumulate pam_unix-1.5.1-4.3 [ 23s] [149/154] cumulate libosmoctrl-devel-1.5.1-2.6 [ 23s] [150/154] cumulate libosmogb-devel-1.5.1-2.6 [ 23s] [151/154] cumulate shadow-4.8.1-6.2 [ 23s] [152/154] cumulate util-linux-2.36.2-1.3 [ 23s] [153/154] cumulate gcc-PIE-10-3.3 [ 23s] [154/154] cumulate rpm-build-4.16.1.3-2.2 [ 23s] now installing cumulated packages [ 23s] Preparing... ######################################## [ 23s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 23s] exit ... [ 23s] ### VM INTERACTION START ### [ 27s] [ 14.420765] sysrq: Power Off [ 27s] [ 14.421873] reboot: Power down [ 27s] ### VM INTERACTION END ### [ 27s] [ 27s] obs-arm-8 failed "build osmo-gbproxy.spec" at Tue May 25 18:57:02 UTC 2021. [ 27s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:57:55 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:57:55 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad48c18f0e4_68252ade5ccbe5fc1664c1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-pcu failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 37s] [134/151] cumulate libtool-2.4.6-8.12 [ 37s] [135/151] cumulate libosmoctrl0-1.5.1.122.155968.202105250026-1.1 [ 37s] [136/151] cumulate libosmogb12-1.5.1.122.155968.202105250026-1.1 [ 37s] [137/151] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 37s] [138/151] cumulate pam-1.5.1-4.3 [ 37s] [139/151] cumulate rpmlint-mini-1.10-23.13 [ 37s] [140/151] cumulate gcc10-10.3.0+git1587-1.3 [ 37s] [141/151] cumulate rpmlint-Factory-1.0-99.2 [ 37s] [142/151] cumulate gcc-10-3.3 [ 37s] [143/151] cumulate pam_unix-1.5.1-4.3 [ 37s] [144/151] cumulate libosmoctrl-devel-1.5.1.122.155968.202105250026-1.1 [ 37s] [145/151] cumulate libosmogb-devel-1.5.1.122.155968.202105250026-1.1 [ 37s] [146/151] cumulate gcc10-c++-10.3.0+git1587-1.3 [ 37s] [147/151] cumulate shadow-4.8.1-6.2 [ 37s] [148/151] cumulate util-linux-2.36.2-1.3 [ 37s] [149/151] cumulate gcc-PIE-10-3.3 [ 37s] [150/151] cumulate gcc-c++-10-3.3 [ 37s] [151/151] cumulate rpm-build-4.16.1.3-2.2 [ 37s] now installing cumulated packages [ 37s] Preparing... ######################################## [ 37s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 37s] exit ... [ 37s] ### VM INTERACTION START ### [ 40s] [ 14.051294] sysrq: Power Off [ 40s] [ 14.052414] reboot: Power down [ 41s] ### VM INTERACTION END ### [ 41s] [ 41s] obs-arm-9 failed "build osmo-pcu.spec" at Tue May 25 18:57:50 UTC 2021. [ 41s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:58:46 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:58:46 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcap in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad48f8edbcb_68252ade5ccbe5fc1706df@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcap/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-pcap failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcap Last lines of build log: [ 24s] [163/180] cumulate libutempter0-1.2.0-3.3 [ 24s] [164/180] cumulate libnettle-devel-3.7.2-2.1 [ 24s] [165/180] cumulate libtool-2.4.6-8.12 [ 24s] [166/180] cumulate libosmogb12-1.5.1.122.155968.202105250026-1.1 [ 24s] [167/180] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 24s] [168/180] cumulate pam-1.5.1-4.3 [ 24s] [169/180] cumulate rpmlint-mini-1.10-23.13 [ 24s] [170/180] cumulate gcc10-10.3.0+git1587-1.3 [ 24s] [171/180] cumulate rpmlint-Factory-1.0-99.2 [ 24s] [172/180] cumulate gcc-10-3.3 [ 24s] [173/180] cumulate pam_unix-1.5.1-4.3 [ 24s] [174/180] cumulate libosmogb-devel-1.5.1.122.155968.202105250026-1.1 [ 24s] [175/180] cumulate gnutls-3.7.1-2.1 [ 24s] [176/180] cumulate shadow-4.8.1-6.2 [ 24s] [177/180] cumulate util-linux-2.36.2-1.3 [ 24s] [178/180] cumulate gcc-PIE-10-3.3 [ 24s] [179/180] cumulate libgnutls-devel-3.7.1-2.1 [ 24s] [180/180] cumulate rpm-build-4.16.1.3-2.2 [ 24s] now installing cumulated packages [ 24s] Preparing... ######################################## [ 24s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 25s] exit ... [ 25s] ### VM INTERACTION START ### [ 28s] [ 15.672244] sysrq: Power Off [ 28s] [ 15.673867] reboot: Power down [ 28s] ### VM INTERACTION END ### [ 28s] [ 28s] obs-arm-7 failed "build osmo-pcap.spec" at Tue May 25 18:58:39 UTC 2021. [ 28s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:59:03 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:59:03 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad48fd96417_68252ade5ccbe5fc1716ee@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/osmo-pcu failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 25s] [134/151] cumulate libtool-2.4.6-8.12 [ 25s] [135/151] cumulate libosmoctrl0-1.5.1-2.6 [ 25s] [136/151] cumulate libosmogb12-1.5.1-2.6 [ 25s] [137/151] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 25s] [138/151] cumulate pam-1.5.1-4.3 [ 25s] [139/151] cumulate rpmlint-mini-1.10-23.13 [ 25s] [140/151] cumulate gcc10-10.3.0+git1587-1.3 [ 25s] [141/151] cumulate rpmlint-Factory-1.0-99.2 [ 25s] [142/151] cumulate gcc-10-3.3 [ 25s] [143/151] cumulate pam_unix-1.5.1-4.3 [ 25s] [144/151] cumulate libosmoctrl-devel-1.5.1-2.6 [ 25s] [145/151] cumulate libosmogb-devel-1.5.1-2.6 [ 25s] [146/151] cumulate gcc10-c++-10.3.0+git1587-1.3 [ 25s] [147/151] cumulate shadow-4.8.1-6.2 [ 25s] [148/151] cumulate util-linux-2.36.2-1.3 [ 25s] [149/151] cumulate gcc-PIE-10-3.3 [ 25s] [150/151] cumulate gcc-c++-10-3.3 [ 25s] [151/151] cumulate rpm-build-4.16.1.3-2.2 [ 25s] now installing cumulated packages [ 25s] Preparing... ######################################## [ 25s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 25s] exit ... [ 25s] ### VM INTERACTION START ### [ 28s] [ 14.333606] sysrq: Power Off [ 28s] [ 14.335352] reboot: Power down [ 28s] ### VM INTERACTION END ### [ 28s] [ 28s] obs-arm-9 failed "build osmo-pcu.spec" at Tue May 25 18:58:50 UTC 2021. [ 28s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 18:59:37 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 18:59:37 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gbproxy in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad4936ab3f6_68252ade5ccbe5fc17404c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gbproxy/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-gbproxy failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gbproxy Last lines of build log: [ 25s] [137/154] cumulate libutempter0-1.2.0-3.3 [ 25s] [138/154] cumulate libtool-2.4.6-8.12 [ 25s] [139/154] cumulate libosmoctrl0-1.5.1.122.155968.202105250026-1.1 [ 25s] [140/154] cumulate libosmogb12-1.5.1.122.155968.202105250026-1.1 [ 25s] [141/154] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 25s] [142/154] cumulate pam-1.5.1-4.3 [ 25s] [143/154] cumulate rpmlint-mini-1.10-23.13 [ 25s] [144/154] cumulate gcc10-10.3.0+git1587-1.3 [ 25s] [145/154] cumulate rpmlint-Factory-1.0-99.2 [ 25s] [146/154] cumulate gcc-10-3.3 [ 25s] [147/154] cumulate libopenssl-1_1-devel-1.1.1k-2.1 [ 25s] [148/154] cumulate pam_unix-1.5.1-4.3 [ 25s] [149/154] cumulate libosmoctrl-devel-1.5.1.122.155968.202105250026-1.1 [ 25s] [150/154] cumulate libosmogb-devel-1.5.1.122.155968.202105250026-1.1 [ 25s] [151/154] cumulate shadow-4.8.1-6.2 [ 25s] [152/154] cumulate util-linux-2.36.2-1.3 [ 25s] [153/154] cumulate gcc-PIE-10-3.3 [ 25s] [154/154] cumulate rpm-build-4.16.1.3-2.2 [ 25s] now installing cumulated packages [ 25s] Preparing... ######################################## [ 25s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 26s] exit ... [ 26s] ### VM INTERACTION START ### [ 29s] [ 15.935358] sysrq: Power Off [ 29s] [ 15.937248] reboot: Power down [ 29s] ### VM INTERACTION END ### [ 29s] [ 29s] obs-arm-7 failed "build osmo-gbproxy.spec" at Tue May 25 18:59:36 UTC 2021. [ 29s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 19:00:11 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 19:00:11 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad495052c9b_68252ade5ccbe5fc1754b0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/osmo-bts failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 44s] [144/161] cumulate libosmoabis10-1.1.1-2.3 [ 44s] [145/161] cumulate libosmoctrl0-1.5.1-2.6 [ 44s] [146/161] cumulate libosmogb12-1.5.1-2.6 [ 44s] [147/161] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 44s] [148/161] cumulate pam-1.5.1-4.3 [ 44s] [149/161] cumulate rpmlint-mini-1.10-23.13 [ 44s] [150/161] cumulate gcc10-10.3.0+git1587-1.3 [ 44s] [151/161] cumulate rpmlint-Factory-1.0-99.2 [ 44s] [152/161] cumulate gcc-10-3.3 [ 44s] [153/161] cumulate pam_unix-1.5.1-4.3 [ 44s] [154/161] cumulate libosmoabis-devel-1.1.1-2.3 [ 44s] [155/161] cumulate libosmoctrl-devel-1.5.1-2.6 [ 44s] [156/161] cumulate libosmogb-devel-1.5.1-2.6 [ 44s] [157/161] cumulate libosmocoding-devel-1.5.1-2.6 [ 44s] [158/161] cumulate shadow-4.8.1-6.2 [ 44s] [159/161] cumulate util-linux-2.36.2-1.3 [ 44s] [160/161] cumulate gcc-PIE-10-3.3 [ 44s] [161/161] cumulate rpm-build-4.16.1.3-2.2 [ 44s] now installing cumulated packages [ 44s] Preparing... ######################################## [ 44s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 46s] exit ... [ 46s] ### VM INTERACTION START ### [ 49s] [ 23.608139] sysrq: Power Off [ 49s] [ 23.613618] reboot: Power down [ 49s] ### VM INTERACTION END ### [ 49s] [ 49s] obs-arm-1 failed "build osmo-bts.spec" at Tue May 25 19:00:02 UTC 2021. [ 49s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 19:00:45 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 19:00:45 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad49743530f_68252ade5ccbe5fc1782af@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-bts failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 22s] [144/161] cumulate libosmoabis10-1.1.1.7.ea0f.202105250026-1.1 [ 22s] [145/161] cumulate libosmoctrl0-1.5.1.122.155968.202105250026-1.1 [ 22s] [146/161] cumulate libosmogb12-1.5.1.122.155968.202105250026-1.1 [ 22s] [147/161] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 22s] [148/161] cumulate pam-1.5.1-4.3 [ 22s] [149/161] cumulate rpmlint-mini-1.10-23.13 [ 22s] [150/161] cumulate gcc10-10.3.0+git1587-1.3 [ 22s] [151/161] cumulate rpmlint-Factory-1.0-99.2 [ 22s] [152/161] cumulate gcc-10-3.3 [ 22s] [153/161] cumulate pam_unix-1.5.1-4.3 [ 22s] [154/161] cumulate libosmoabis-devel-1.1.1.7.ea0f.202105250026-1.1 [ 22s] [155/161] cumulate libosmoctrl-devel-1.5.1.122.155968.202105250026-1.1 [ 22s] [156/161] cumulate libosmogb-devel-1.5.1.122.155968.202105250026-1.1 [ 22s] [157/161] cumulate libosmocoding-devel-1.5.1.122.155968.202105250026-1.1 [ 22s] [158/161] cumulate shadow-4.8.1-6.2 [ 22s] [159/161] cumulate util-linux-2.36.2-1.3 [ 22s] [160/161] cumulate gcc-PIE-10-3.3 [ 22s] [161/161] cumulate rpm-build-4.16.1.3-2.2 [ 22s] now installing cumulated packages [ 22s] Preparing... ######################################## [ 22s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 23s] exit ... [ 23s] ### VM INTERACTION START ### [ 26s] [ 15.082008] sysrq: Power Off [ 26s] [ 15.083481] reboot: Power down [ 26s] ### VM INTERACTION END ### [ 26s] [ 26s] obs-arm-7 failed "build osmo-bts.spec" at Tue May 25 19:00:44 UTC 2021. [ 26s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 19:02:10 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 19:02:10 +0000 Subject: Build failure of network:osmocom:nightly/osmo-smlc in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad49ca1370e_68252ade5ccbe5fc1833bf@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-smlc/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-smlc failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-smlc Last lines of build log: [ 29s] [135/152] cumulate libtool-2.4.6-8.12 [ 29s] [136/152] cumulate libosmoctrl0-1.5.1.122.155968.202105250026-1.1 [ 29s] [137/152] cumulate libosmonetif8-1.1.0.202105250026-1.1 [ 29s] [138/152] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 29s] [139/152] cumulate pam-1.5.1-4.3 [ 29s] [140/152] cumulate rpmlint-mini-1.10-23.13 [ 29s] [141/152] cumulate gcc10-10.3.0+git1587-1.3 [ 29s] [142/152] cumulate rpmlint-Factory-1.0-99.2 [ 29s] [143/152] cumulate gcc-10-3.3 [ 29s] [144/152] cumulate libosmonetif-devel-1.1.0.202105250026-1.1 [ 29s] [145/152] cumulate pam_unix-1.5.1-4.3 [ 29s] [146/152] cumulate libosmoctrl-devel-1.5.1.122.155968.202105250026-1.1 [ 29s] [147/152] cumulate libosmo-sigtran5-1.4.0.22.ce72c.202105250026-1.1 [ 29s] [148/152] cumulate shadow-4.8.1-6.2 [ 29s] [149/152] cumulate util-linux-2.36.2-1.3 [ 29s] [150/152] cumulate gcc-PIE-10-3.3 [ 29s] [151/152] cumulate libosmo-sigtran-devel-1.4.0.22.ce72c.202105250026-1.1 [ 29s] [152/152] cumulate rpm-build-4.16.1.3-2.2 [ 29s] now installing cumulated packages [ 29s] Preparing... ######################################## [ 30s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 30s] exit ... [ 30s] ### VM INTERACTION START ### [ 33s] [ 14.221995] sysrq: Power Off [ 33s] [ 14.278879] reboot: Power down [ 33s] ### VM INTERACTION END ### [ 33s] [ 33s] obs-arm-9 failed "build osmo-smlc.spec" at Tue May 25 19:01:54 UTC 2021. [ 33s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 19:02:27 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 19:02:27 +0000 Subject: Build failure of network:osmocom:latest/osmo-smlc in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad49d0b5377_68252ade5ccbe5fc185183@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-smlc/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/osmo-smlc failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-smlc Last lines of build log: [ 52s] [135/152] cumulate libtool-2.4.6-8.12 [ 52s] [136/152] cumulate libosmoctrl0-1.5.1-2.6 [ 52s] [137/152] cumulate libosmonetif8-1.1.0-2.3 [ 52s] [138/152] cumulate post-build-checks-84.87+git20210304.df696a0-1.1 [ 52s] [139/152] cumulate pam-1.5.1-4.3 [ 52s] [140/152] cumulate rpmlint-mini-1.10-23.13 [ 52s] [141/152] cumulate gcc10-10.3.0+git1587-1.3 [ 52s] [142/152] cumulate rpmlint-Factory-1.0-99.2 [ 52s] [143/152] cumulate gcc-10-3.3 [ 52s] [144/152] cumulate libosmonetif-devel-1.1.0-2.3 [ 52s] [145/152] cumulate pam_unix-1.5.1-4.3 [ 52s] [146/152] cumulate libosmoctrl-devel-1.5.1-2.6 [ 52s] [147/152] cumulate libosmo-sigtran5-1.4.0-2.4 [ 52s] [148/152] cumulate shadow-4.8.1-6.2 [ 52s] [149/152] cumulate util-linux-2.36.2-1.3 [ 52s] [150/152] cumulate gcc-PIE-10-3.3 [ 52s] [151/152] cumulate libosmo-sigtran-devel-1.4.0-2.4 [ 52s] [152/152] cumulate rpm-build-4.16.1.3-2.2 [ 52s] now installing cumulated packages [ 53s] Preparing... ######################################## [ 53s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 55s] exit ... [ 55s] ### VM INTERACTION START ### [ 58s] [ 25.762117] sysrq: Power Off [ 58s] [ 25.791220] reboot: Power down [ 58s] ### VM INTERACTION END ### [ 58s] [ 58s] obs-arm-3 failed "build osmo-smlc.spec" at Tue May 25 19:02:17 UTC 2021. [ 58s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 19:03:35 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 19:03:35 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad4a2318a94_68252ade5ccbe5fc188363@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-bsc failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 26s] [145/162] cumulate pam-1.5.1-4.3 [ 26s] [146/162] cumulate rpmlint-mini-1.10-23.13 [ 26s] [147/162] cumulate gcc10-10.3.0+git1587-1.3 [ 26s] [148/162] cumulate rpmlint-Factory-1.0-99.2 [ 26s] [149/162] cumulate gcc-10-3.3 [ 26s] [150/162] cumulate libopenssl-1_1-devel-1.1.1k-2.1 [ 26s] [151/162] cumulate libosmo-mgcp-client-devel-1.8.1.12.7768.202105250026-1.1 [ 26s] [152/162] cumulate libosmonetif-devel-1.1.0.202105250026-1.1 [ 26s] [153/162] cumulate pam_unix-1.5.1-4.3 [ 26s] [154/162] cumulate libosmoabis-devel-1.1.1.7.ea0f.202105250026-1.1 [ 26s] [155/162] cumulate libosmoctrl-devel-1.5.1.122.155968.202105250026-1.1 [ 26s] [156/162] cumulate libosmogb-devel-1.5.1.122.155968.202105250026-1.1 [ 26s] [157/162] cumulate libosmo-sigtran5-1.4.0.22.ce72c.202105250026-1.1 [ 26s] [158/162] cumulate shadow-4.8.1-6.2 [ 26s] [159/162] cumulate util-linux-2.36.2-1.3 [ 26s] [160/162] cumulate gcc-PIE-10-3.3 [ 26s] [161/162] cumulate libosmo-sigtran-devel-1.4.0.22.ce72c.202105250026-1.1 [ 26s] [162/162] cumulate rpm-build-4.16.1.3-2.2 [ 26s] now installing cumulated packages [ 27s] Preparing... ######################################## [ 27s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 27s] exit ... [ 27s] ### VM INTERACTION START ### [ 30s] [ 15.964505] sysrq: Power Off [ 30s] [ 15.966332] reboot: Power down [ 30s] ### VM INTERACTION END ### [ 30s] [ 30s] obs-arm-7 failed "build osmo-bsc.spec" at Tue May 25 19:03:32 UTC 2021. [ 30s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 19:03:52 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 19:03:52 +0000 Subject: Build failure of network:osmocom:latest/osmo-bsc in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad4a27c823f_68252ade5ccbe5fc189070@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bsc/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/osmo-bsc failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-bsc Last lines of build log: [ 28s] [146/163] cumulate pam-1.5.1-4.3 [ 28s] [147/163] cumulate rpmlint-mini-1.10-23.13 [ 28s] [148/163] cumulate gcc10-10.3.0+git1587-1.3 [ 28s] [149/163] cumulate rpmlint-Factory-1.0-99.2 [ 28s] [150/163] cumulate gcc-10-3.3 [ 28s] [151/163] cumulate libopenssl-1_1-devel-1.1.1k-2.1 [ 28s] [152/163] cumulate libosmo-mgcp-client-devel-1.8.1-2.4 [ 28s] [153/163] cumulate libosmonetif-devel-1.1.0-2.3 [ 28s] [154/163] cumulate pam_unix-1.5.1-4.3 [ 28s] [155/163] cumulate libosmoabis-devel-1.1.1-2.3 [ 28s] [156/163] cumulate libosmoctrl-devel-1.5.1-2.6 [ 28s] [157/163] cumulate libosmogb-devel-1.5.1-2.6 [ 28s] [158/163] cumulate libosmo-sigtran5-1.4.0-2.4 [ 28s] [159/163] cumulate shadow-4.8.1-6.2 [ 28s] [160/163] cumulate util-linux-2.36.2-1.3 [ 28s] [161/163] cumulate gcc-PIE-10-3.3 [ 28s] [162/163] cumulate libosmo-sigtran-devel-1.4.0-2.4 [ 28s] [163/163] cumulate rpm-build-4.16.1.3-2.2 [ 28s] now installing cumulated packages [ 28s] Preparing... ######################################## [ 28s] file /usr/sbin/ip conflicts between attempted installs of iproute2-5.12-1.1.aarch64 and iproute2-5.12-1.1.aarch64 [ 28s] exit ... [ 28s] ### VM INTERACTION START ### [ 31s] [ 14.352798] sysrq: Power Off [ 31s] [ 14.354161] reboot: Power down [ 32s] ### VM INTERACTION END ### [ 32s] [ 32s] obs-arm-9 failed "build osmo-bsc.spec" at Tue May 25 19:03:41 UTC 2021. [ 32s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 19:16:23 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 19:16:23 +0000 Subject: Build failure of network:osmocom:latest/osmo-sgsn in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad4d1670aad_68252ade5ccbe5fc21581a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sgsn/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/osmo-sgsn failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sgsn Last lines of build log: [ 62s] checking for a BSD-compatible install... /usr/bin/install -c [ 62s] checking whether build environment is sane... yes [ 62s] checking for a thread-safe mkdir -p... /usr/bin/mkdir -p [ 62s] checking for gawk... gawk [ 62s] checking whether make sets $(MAKE)... yes [ 62s] checking whether make supports nested variables... yes [ 62s] checking whether make supports nested variables... (cached) yes [ 62s] checking whether make sets $(MAKE)... (cached) yes [ 62s] checking for aarch64-suse-linux-gnu-gcc... no [ 62s] checking for gcc... no [ 62s] checking for aarch64-suse-linux-gnu-cc... no [ 62s] checking for cc... no [ 62s] checking for aarch64-suse-linux-gnu-cl.exe... no [ 62s] checking for cl.exe... no [ 62s] configure: error: in `/home/abuild/rpmbuild/BUILD/osmo-sgsn-1.7.0': [ 62s] configure: error: no acceptable C compiler found in $PATH [ 62s] See `config.log' for more details [ 62s] error: Bad exit status from /var/tmp/rpm-tmp.77qrst (%build) [ 62s] [ 62s] [ 62s] RPM build errors: [ 62s] Bad exit status from /var/tmp/rpm-tmp.77qrst (%build) [ 62s] ### VM INTERACTION START ### [ 65s] [ 41.648928] sysrq: Power Off [ 65s] [ 41.683496] reboot: Power down [ 65s] ### VM INTERACTION END ### [ 65s] [ 65s] obs-arm-9 failed "build osmo-sgsn.spec" at Tue May 25 19:16:08 UTC 2021. [ 65s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 19:19:32 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 19:19:32 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad4dc8e8b5c_68252ade5ccbe5fc2243b1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-sgsn failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 159s] checking for a BSD-compatible install... /usr/bin/install -c [ 159s] checking whether build environment is sane... yes [ 159s] checking for a thread-safe mkdir -p... /usr/bin/mkdir -p [ 159s] checking for gawk... gawk [ 160s] checking whether make sets $(MAKE)... yes [ 160s] checking whether make supports nested variables... yes [ 160s] checking whether make supports nested variables... (cached) yes [ 160s] checking whether make sets $(MAKE)... (cached) yes [ 160s] checking for aarch64-suse-linux-gnu-gcc... no [ 160s] checking for gcc... no [ 160s] checking for aarch64-suse-linux-gnu-cc... no [ 160s] checking for cc... no [ 160s] checking for aarch64-suse-linux-gnu-cl.exe... no [ 160s] checking for cl.exe... no [ 160s] configure: error: in `/home/abuild/rpmbuild/BUILD/osmo-sgsn-1.7.0.19.c12c1.202105250026': [ 160s] configure: error: no acceptable C compiler found in $PATH [ 160s] See `config.log' for more details [ 160s] error: Bad exit status from /var/tmp/rpm-tmp.bSYuLz (%build) [ 160s] [ 160s] [ 160s] RPM build errors: [ 160s] Bad exit status from /var/tmp/rpm-tmp.bSYuLz (%build) [ 160s] ### VM INTERACTION START ### [ 164s] [ 126.309250] sysrq: Power Off [ 164s] [ 126.321631] reboot: Power down [ 164s] ### VM INTERACTION END ### [ 164s] [ 164s] obs-arm-1 failed "build osmo-sgsn.spec" at Tue May 25 19:19:22 UTC 2021. [ 164s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 19:19:32 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 19:19:32 +0000 Subject: Build failure of network:osmocom:latest/osmo-cbc in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad4dcbce028_68252ade5ccbe5fc2251be@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-cbc/openSUSE_Factory_ARM/aarch64 Package network:osmocom:latest/osmo-cbc failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-cbc Last lines of build log: [ 49s] checking for a BSD-compatible install... /usr/bin/install -c [ 49s] checking whether build environment is sane... yes [ 49s] checking for a thread-safe mkdir -p... /usr/bin/mkdir -p [ 49s] checking for gawk... gawk [ 49s] checking whether make sets $(MAKE)... yes [ 49s] checking whether make supports nested variables... yes [ 49s] checking whether make supports nested variables... (cached) yes [ 49s] checking whether make sets $(MAKE)... (cached) yes [ 49s] checking for aarch64-suse-linux-gnu-gcc... no [ 49s] checking for gcc... no [ 49s] checking for aarch64-suse-linux-gnu-cc... no [ 49s] checking for cc... no [ 49s] checking for aarch64-suse-linux-gnu-cl.exe... no [ 49s] checking for cl.exe... no [ 49s] configure: error: in `/home/abuild/rpmbuild/BUILD/osmo-cbc-0.2.2': [ 49s] configure: error: no acceptable C compiler found in $PATH [ 49s] See `config.log' for more details [ 49s] error: Bad exit status from /var/tmp/rpm-tmp.cHKx2F (%build) [ 49s] [ 49s] [ 49s] RPM build errors: [ 49s] Bad exit status from /var/tmp/rpm-tmp.cHKx2F (%build) [ 49s] ### VM INTERACTION START ### [ 53s] [ 38.181446] sysrq: Power Off [ 53s] [ 38.303339] reboot: Power down [ 53s] ### VM INTERACTION END ### [ 53s] [ 53s] obs-arm-7 failed "build osmo-cbc.spec" at Tue May 25 19:19:19 UTC 2021. [ 53s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 19:22:40 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 19:22:40 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad4e9f3953d_68252ade5ccbe5fc2389b6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-remsim failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 42s] [222/233] cumulate util-linux-2.36.2-1.3 [ 42s] [223/233] cumulate gio-branding-upstream-2.68.2-1.1 [ 42s] [224/233] cumulate libosmo-simtrace2-devel-0.7.0.103.c690.202105250026-1.1 [ 42s] [225/233] cumulate glib2-tools-2.68.2-1.1 [ 42s] [226/233] cumulate libgnutls-devel-3.7.1-2.1 [ 42s] [227/233] cumulate polkit-0.118-5.2 [ 42s] [228/233] cumulate rpm-build-4.16.1.3-2.2 [ 42s] [229/233] cumulate libmicrohttpd-devel-0.9.73-1.1 [ 42s] [230/233] cumulate libpolkit0-0.118-5.2 [ 42s] [231/233] cumulate ulfius-devel-2.7.2-6.2 [ 42s] [232/233] cumulate pcsc-lite-1.9.1-1.2 [ 42s] [233/233] cumulate pcsc-lite-devel-1.9.1-1.2 [ 42s] now installing cumulated packages [ 42s] Preparing... ######################################## [ 42s] file /usr/bin/dbus-cleanup-sockets conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 42s] file /usr/bin/dbus-daemon conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 42s] file /usr/bin/dbus-monitor conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 42s] file /usr/bin/dbus-send conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 42s] file /usr/bin/dbus-test-tool conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 42s] file /usr/bin/dbus-update-activation-environment conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 42s] file /usr/bin/dbus-uuidgen conflicts between attempted installs of dbus-1-1.12.20-5.2.aarch64 and dbus-1-1.12.20-5.2.aarch64 [ 43s] exit ... [ 43s] ### VM INTERACTION START ### [ 46s] [ 15.260946] sysrq: Power Off [ 46s] [ 15.296971] reboot: Power down [ 46s] ### VM INTERACTION END ### [ 46s] [ 46s] obs-arm-8 failed "build osmo-remsim.spec" at Tue May 25 19:22:28 UTC 2021. [ 46s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 19:26:40 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 19:26:40 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <60ad4f8aa0dcf_68252ade5ccbe5fc2540a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-trx failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 88s] checking for a BSD-compatible install... /usr/bin/install -c [ 88s] checking whether build environment is sane... yes [ 88s] checking for a thread-safe mkdir -p... /usr/bin/mkdir -p [ 88s] checking for gawk... gawk [ 88s] checking whether make sets $(MAKE)... yes [ 88s] checking whether make supports nested variables... yes [ 88s] checking whether make supports nested variables... (cached) yes [ 88s] checking whether make supports the include directive... yes (GNU style) [ 88s] checking for aarch64-suse-linux-gnu-gcc... no [ 88s] checking for gcc... no [ 88s] checking for aarch64-suse-linux-gnu-cc... no [ 88s] checking for cc... no [ 88s] checking for aarch64-suse-linux-gnu-cl.exe... no [ 88s] checking for cl.exe... no [ 88s] configure: error: in `/home/abuild/rpmbuild/BUILD/osmo-trx-1.3.1.6.c27fe.202105250026': [ 88s] configure: error: no acceptable C compiler found in $PATH [ 88s] See `config.log' for more details [ 89s] error: Bad exit status from /var/tmp/rpm-tmp.xJ0B21 (%build) [ 89s] [ 89s] [ 89s] RPM build errors: [ 89s] Bad exit status from /var/tmp/rpm-tmp.xJ0B21 (%build) [ 89s] ### VM INTERACTION START ### [ 92s] [ 51.404396] sysrq: Power Off [ 92s] [ 51.405497] reboot: Power down [ 92s] ### VM INTERACTION END ### [ 92s] [ 92s] obs-arm-8 failed "build osmo-trx.spec" at Tue May 25 19:26:35 UTC 2021. [ 92s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 19:44:54 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 19:44:54 +0000 Subject: Build failure of network:osmocom:latest/libosmocore in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <60ad53d5cc54a_68252ade5ccbe5fc3751b7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmocore/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/libosmocore failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest libosmocore Last lines of build log: [ 25s] [190/201] cumulate libgio-2_0-0-2.68.2-1.1 [ 25s] [191/201] cumulate shadow-4.8.1-6.2 [ 25s] [192/201] cumulate systemd-mini-246.13-1.2 [ 25s] [193/201] cumulate util-linux-2.36.2-1.3 [ 25s] [194/201] cumulate gio-branding-upstream-2.68.2-1.1 [ 25s] [195/201] cumulate glib2-tools-2.68.2-1.1 [ 25s] [196/201] cumulate libgnutls-devel-3.7.1-2.1 [ 25s] [197/201] cumulate polkit-0.118-5.2 [ 25s] [198/201] cumulate rpm-build-4.16.1.3-2.2 [ 25s] [199/201] cumulate libpolkit0-0.118-5.2 [ 25s] [200/201] cumulate pcsc-lite-1.9.1-1.2 [ 25s] [201/201] cumulate pcsc-lite-devel-1.9.1-1.2 [ 25s] now installing cumulated packages [ 25s] Preparing... ######################################## [ 25s] file /usr/bin/dbus-cleanup-sockets conflicts between attempted installs of dbus-1-1.12.20-5.2.armv7hl and dbus-1-1.12.20-5.2.armv7hl [ 25s] file /usr/bin/dbus-daemon conflicts between attempted installs of dbus-1-1.12.20-5.2.armv7hl and dbus-1-1.12.20-5.2.armv7hl [ 25s] file /usr/bin/dbus-monitor conflicts between attempted installs of dbus-1-1.12.20-5.2.armv7hl and dbus-1-1.12.20-5.2.armv7hl [ 25s] file /usr/bin/dbus-send conflicts between attempted installs of dbus-1-1.12.20-5.2.armv7hl and dbus-1-1.12.20-5.2.armv7hl [ 25s] file /usr/bin/dbus-test-tool conflicts between attempted installs of dbus-1-1.12.20-5.2.armv7hl and dbus-1-1.12.20-5.2.armv7hl [ 25s] file /usr/bin/dbus-update-activation-environment conflicts between attempted installs of dbus-1-1.12.20-5.2.armv7hl and dbus-1-1.12.20-5.2.armv7hl [ 25s] file /usr/bin/dbus-uuidgen conflicts between attempted installs of dbus-1-1.12.20-5.2.armv7hl and dbus-1-1.12.20-5.2.armv7hl [ 26s] exit ... [ 26s] ### VM INTERACTION START ### [ 29s] [ 15.700680] sysrq: Power Off [ 29s] [ 15.757268] reboot: Power down [ 29s] ### VM INTERACTION END ### [ 29s] [ 29s] armbuild22 failed "build libosmocore.spec" at Tue May 25 19:44:46 UTC 2021. [ 29s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 19:56:32 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 19:56:32 +0000 Subject: Build failure of network:osmocom:latest/orcania in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <60ad568537946_68252ade5ccbe5fc4976b1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/orcania/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/orcania failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest orcania Last lines of build log: [ 157s] + cd orcania-2.2.0 [ 157s] + find . -name CMakeLists.txt -exec sed -i -re '/^[[:blank:]]*[sS][eE][tT][[:blank:]]*\([[:blank:]]*(CMAKE_BUILD_TYPE|CMAKE_COLOR_MAKEFILE|CMAKE_INSTALL_PREFIX|CMAKE_VERBOSE_MAKEFILE).*\)/{s/^/#IGNORE /}' '{}' + [ 158s] + mkdir -p build [ 158s] + cd build [ 158s] + /usr/bin/cmake /home/abuild/rpmbuild/BUILD/orcania-2.2.0/. '-GUnix Makefiles' -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DCMAKE_INSTALL_LIBDIR:PATH=lib -DCMAKE_INSTALL_LIBEXECDIR=/usr/libexec -DCMAKE_BUILD_TYPE=RelWithDebInfo '-DCMAKE_C_FLAGS=-O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -DNDEBUG' '-DCMAKE_CXX_FLAGS=-O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -DNDEBUG' '-DCMAKE_Fortran_FLAGS=-O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -DNDEBUG' '-DCMAKE_EXE_LINKER_FLAGS=-flto=auto -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now' '-DCMAKE_MODULE_LINKER_FLAGS=-flto=auto -Wl,--as-needed' '-DCMAKE_SHARED_LINKER_FLAGS=-flto=auto -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now' -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=OFF -DCMAKE_COLOR_MAKEFILE:BOOL=OFF -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF -DCMAKE_MODULES_INSTALL_DIR=/usr/lib/cmake/orcania [ 159s] -- The C compiler identification is unknown [ 159s] CMake Error at CMakeLists.txt:19 (project): [ 159s] No CMAKE_C_COMPILER could be found. [ 159s] [ 159s] Tell CMake where to find the compiler by setting either the environment [ 159s] variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to [ 159s] the compiler, or to the compiler name if it is in the PATH. [ 159s] [ 159s] [ 159s] -- Configuring incomplete, errors occurred! [ 159s] See also "/home/abuild/rpmbuild/BUILD/orcania-2.2.0/build/CMakeFiles/CMakeOutput.log". [ 159s] See also "/home/abuild/rpmbuild/BUILD/orcania-2.2.0/build/CMakeFiles/CMakeError.log". [ 159s] error: Bad exit status from /var/tmp/rpm-tmp.nN5kAl (%build) [ 159s] [ 159s] [ 159s] RPM build errors: [ 159s] Bad exit status from /var/tmp/rpm-tmp.nN5kAl (%build) [ 159s] ### VM INTERACTION START ### [ 162s] [ 109.591077] sysrq: Power Off [ 162s] [ 109.600641] reboot: Power down [ 165s] ### VM INTERACTION END ### [ 165s] [ 165s] obs-arm-6 failed "build orcania.spec" at Tue May 25 19:56:24 UTC 2021. [ 165s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 20:03:06 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 20:03:06 +0000 Subject: Build failure of network:osmocom:latest/libgtpnl in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <60ad581d56de_68252ade5ccbe5fc5841ec@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libgtpnl/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/libgtpnl failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest libgtpnl Last lines of build log: [ 78s] checking for gawk... gawk [ 78s] checking whether make sets $(MAKE)... yes [ 78s] checking whether make supports nested variables... yes [ 78s] checking how to create a pax tar archive... gnutar [ 78s] checking whether make supports nested variables... (cached) yes [ 78s] checking for armv7hl-suse-linux-gnueabi-pkg-config... /usr/bin/armv7hl-suse-linux-gnueabi-pkg-config [ 78s] checking pkg-config is at least version 0.9.0... yes [ 78s] checking for LIBMNL... yes [ 78s] checking for armv7hl-suse-linux-gnueabi-gcc... no [ 78s] checking for gcc... no [ 78s] checking for armv7hl-suse-linux-gnueabi-cc... no [ 78s] checking for cc... no [ 78s] checking for armv7hl-suse-linux-gnueabi-cl.exe... no [ 78s] checking for cl.exe... no [ 78s] configure: error: in `/home/abuild/rpmbuild/BUILD/libgtpnl-1.2.2': [ 78s] configure: error: no acceptable C compiler found in $PATH [ 78s] See `config.log' for more details [ 78s] error: Bad exit status from /var/tmp/rpm-tmp.ppD3Iz (%build) [ 78s] [ 78s] [ 78s] RPM build errors: [ 78s] Bad exit status from /var/tmp/rpm-tmp.ppD3Iz (%build) [ 78s] ### VM INTERACTION START ### [ 81s] [ 66.213599] sysrq: Power Off [ 81s] [ 66.241436] reboot: Power down [ 82s] ### VM INTERACTION END ### [ 82s] [ 82s] armbuild24 failed "build libgtpnl.spec" at Tue May 25 20:02:57 UTC 2021. [ 82s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 20:08:49 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 20:08:49 +0000 Subject: Build failure of network:osmocom:latest/libsmpp34 in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <60ad5966c5fc0_68252ade5ccbe5fc6598ca@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libsmpp34/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/libsmpp34 failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest libsmpp34 Last lines of build log: [ 60s] + ./configure --host=armv7hl-suse-linux-gnueabi --build=armv7hl-suse-linux-gnueabi --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --disable-dependency-tracking --disable-static --includedir=/usr/include/libsmpp34 [ 60s] checking for a BSD-compatible install... /usr/bin/install -c [ 60s] checking whether build environment is sane... yes [ 60s] checking for a thread-safe mkdir -p... /usr/bin/mkdir -p [ 60s] checking for gawk... gawk [ 60s] checking whether make sets $(MAKE)... yes [ 61s] checking whether make supports nested variables... yes [ 61s] checking whether make supports nested variables... (cached) yes [ 61s] checking for armv7hl-suse-linux-gnueabi-gcc... no [ 61s] checking for gcc... no [ 61s] checking for armv7hl-suse-linux-gnueabi-cc... no [ 61s] checking for cc... no [ 61s] checking for armv7hl-suse-linux-gnueabi-cl.exe... no [ 61s] checking for cl.exe... no [ 61s] configure: error: in `/home/abuild/rpmbuild/BUILD/libsmpp34-1.14.1': [ 61s] configure: error: no acceptable C compiler found in $PATH [ 61s] See `config.log' for more details [ 61s] error: Bad exit status from /var/tmp/rpm-tmp.9aTgfg (%build) [ 61s] [ 61s] [ 61s] RPM build errors: [ 61s] Bad exit status from /var/tmp/rpm-tmp.9aTgfg (%build) [ 61s] ### VM INTERACTION START ### [ 64s] [ 51.828308] sysrq: Power Off [ 64s] [ 51.829868] reboot: Power down [ 64s] ### VM INTERACTION END ### [ 64s] [ 64s] armbuild04 failed "build libsmpp34.spec" at Tue May 25 20:08:36 UTC 2021. [ 64s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 20:14:30 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 20:14:30 +0000 Subject: Build failure of network:osmocom:latest/libusrp in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <60ad5ab4207a_68252ade5ccbe5fc73059d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libusrp/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/libusrp failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest libusrp Last lines of build log: [ 192s] checking for g++... no [ 192s] checking for c++... no [ 192s] checking for gpp... no [ 192s] checking for aCC... no [ 192s] checking for CC... no [ 192s] checking for cxx... no [ 192s] checking for cc++... no [ 192s] checking for cl.exe... no [ 192s] checking for FCC... no [ 192s] checking for KCC... no [ 192s] checking for RCC... no [ 192s] checking for xlC_r... no [ 192s] checking for xlC... no [ 194s] checking whether the C++ compiler works... no [ 194s] configure: error: in `/home/abuild/rpmbuild/BUILD/libusrp-3.4.5': [ 194s] configure: error: C++ compiler cannot create executables [ 194s] See `config.log' for more details [ 195s] error: Bad exit status from /var/tmp/rpm-tmp.P31JWg (%build) [ 195s] [ 195s] [ 195s] RPM build errors: [ 195s] Bad exit status from /var/tmp/rpm-tmp.P31JWg (%build) [ 195s] ### VM INTERACTION START ### [ 199s] [ 150.012512] sysrq: Power Off [ 199s] [ 150.014555] reboot: Power down [ 200s] ### VM INTERACTION END ### [ 200s] [ 200s] obs-arm-5 failed "build libusrp.spec" at Tue May 25 20:14:22 UTC 2021. [ 200s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue May 25 20:23:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 20:23:09 +0000 Subject: Change in pysim[master]: transport: Add support for SW 6Cxx References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24403 ) Change subject: transport: Add support for SW 6Cxx ...................................................................... transport: Add support for SW 6Cxx According to ETSI TS 102 221 Section 7.2.2.3.1 Table 7.1 the UICC may respond with SW 6Cxx to tell us to re-issue the command with a modified P3/Le. Change-Id: Ia7e6202bbd0f61034a985ecf76d0542d959922ce --- M pySim/transport/__init__.py 1 file changed, 10 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/03/24403/1 diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py index 5311d8f..dae2a78 100644 --- a/pySim/transport/__init__.py +++ b/pySim/transport/__init__.py @@ -109,11 +109,16 @@ # available. There are two SWs commonly used for this 9fxx (sim) and 61xx (usim), where # xx is the number of response bytes available. # See also: - # SW1=9F: 3GPP TS 51.011 9.4.1, Responses to commands which are correctly executed - # SW1=61: ISO/IEC 7816-4, Table 5 ? General meaning of the interindustry values of SW1-SW2 - if (sw is not None) and ((sw[0:2] == '9f') or (sw[0:2] == '61')): - pdu_gr = pdu[0:2] + 'c00000' + sw[2:4] - data, sw = self.send_apdu_raw(pdu_gr) + if (sw is not None): + if ((sw[0:2] == '9f') or (sw[0:2] == '61')): + # SW1=9F: 3GPP TS 51.011 9.4.1, Responses to commands which are correctly executed + # SW1=61: ISO/IEC 7816-4, Table 5 ? General meaning of the interindustry values of SW1-SW2 + pdu_gr = pdu[0:2] + 'c00000' + sw[2:4] + data, sw = self.send_apdu_raw(pdu_gr) + if sw[0:2] == '6c': + # SW1=6C: ETSI TS 102 221 Table 7.1: Procedure byte coding + pdu_gr = pdu[0:8] + sw[2:4] + data,sw = self.send_apdu_raw(pdu_gr) return data, sw -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia7e6202bbd0f61034a985ecf76d0542d959922ce Gerrit-Change-Number: 24403 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 20:23:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 20:23:09 +0000 Subject: Change in pysim[master]: shell: Add 'status' command to issue STATUS APDU References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24404 ) Change subject: shell: Add 'status' command to issue STATUS APDU ...................................................................... shell: Add 'status' command to issue STATUS APDU This can be used to get the FCP of the currently selected file. Change-Id: I65c97adadd831ca2daa5a0dbb52a37999f8514fd --- M pySim-shell.py M pySim/commands.py M pySim/filesystem.py 3 files changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/04/24404/1 diff --git a/pySim-shell.py b/pySim-shell.py index 0069661..edd8112 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -443,6 +443,11 @@ """Close a logical channel.""" (data, sw) = self._cmd.card._scc.manage_channel(mode='close', lchan_nr=opts.chan_nr) + def do_status(self, opts): + """Perform the STATUS command.""" + fcp_dec = self._cmd.rs.status() + self._cmd.poutput_json(fcp_dec) + option_parser = argparse.ArgumentParser(prog='pySim-shell', description='interactive SIM card shell', formatter_class=argparse.ArgumentDefaultsHelpFormatter) diff --git a/pySim/commands.py b/pySim/commands.py index 689cbea..4640fe1 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -359,6 +359,10 @@ ret = {'successful_3g_authentication': data} return (ret, sw) + def status(self): + """Execute a STATUS command as per TS 102 221 Section 11.1.2.""" + return self._tp.send_apdu_checksw('80F20000ff') + def deactivate_file(self): """Execute DECATIVATE FILE command as per TS 102 221 Section 11.1.14.""" return self._tp.send_apdu_constr_checksw(self.cla_byte, '04', '00', '00', None, None, None) diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 8cdb23e..aaf333b 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -1145,6 +1145,11 @@ return select_resp + def status(self): + """Request STATUS (current selected file FCP) from card.""" + (data, sw) = self.card._scc.status() + return self.selected_file.decode_select_response(data) + def read_binary(self, length:int=None, offset:int=0): """Read [part of] a transparent EF binary data. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I65c97adadd831ca2daa5a0dbb52a37999f8514fd Gerrit-Change-Number: 24404 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 20:23:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 20:23:10 +0000 Subject: Change in pysim[master]: shell: Fix activate_file + deactivate_file commands References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24405 ) Change subject: shell: Fix activate_file + deactivate_file commands ...................................................................... shell: Fix activate_file + deactivate_file commands We cannot re-activate a deactivated file after we have selected somethng else, as SELECT will fail on the deactivated file. Hence, the deactivate_file command needs to be used with a file name as argument. Change-Id: Ief4d2bf8ea90497a8f25d1986aeea935c615f9bb --- M pySim-shell.py M pySim/commands.py M pySim/filesystem.py 3 files changed, 18 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/05/24405/1 diff --git a/pySim-shell.py b/pySim-shell.py index edd8112..59bfa28 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -419,13 +419,17 @@ def do_deactivate_file(self, opts): """Deactivate the current EF""" - fid = self._cmd.rs.selected_file.fid - (data, sw) = self._cmd.card._scc.deactivate_file(fid) + (data, sw) = self._cmd.card._scc.deactivate_file() def do_activate_file(self, opts): - """Activate the current EF""" - fid = self._cmd.rs.selected_file.fid - (data, sw) = self._cmd.card._scc.activate_file(fid) + """Activate the specified EF""" + path = opts.arg_list[0] + (data, sw) = self._cmd.rs.activate_file(path) + + def complete_activate_file(self, text, line, begidx, endidx) -> List[str]: + """Command Line tab completion for ACTIVATE FILE""" + index_dict = { 1: self._cmd.rs.selected_file.get_selectable_names() } + return self._cmd.index_based_complete(text, line, begidx, endidx, index_dict=index_dict) open_chan_parser = argparse.ArgumentParser() open_chan_parser.add_argument('chan_nr', type=int, default=0, help='Channel Number') diff --git a/pySim/commands.py b/pySim/commands.py index 4640fe1..1fbea16 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -367,9 +367,9 @@ """Execute DECATIVATE FILE command as per TS 102 221 Section 11.1.14.""" return self._tp.send_apdu_constr_checksw(self.cla_byte, '04', '00', '00', None, None, None) - def activate_file(self): + def activate_file(self, fid): """Execute ACTIVATE FILE command as per TS 102 221 Section 11.1.15.""" - return self._tp.send_apdu_constr_checksw(self.cla_byte, '44', '00', '00', None, None, None) + return self._tp.send_apdu_checksw(self.cla_byte + '44000002' + fid) def manage_channel(self, mode='open', lchan_nr=0): """Execute MANAGE CHANNEL command as per TS 102 221 Section 11.1.17.""" diff --git a/pySim/filesystem.py b/pySim/filesystem.py index aaf333b..8c45ba1 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -1150,6 +1150,13 @@ (data, sw) = self.card._scc.status() return self.selected_file.decode_select_response(data) + def activate_file(self, name:str): + """Request ACTIVATE FILE of specified file.""" + sels = self.selected_file.get_selectables() + f = sels[name] + data, sw = self.card._scc.activate_file(f.fid) + return data, sw + def read_binary(self, length:int=None, offset:int=0): """Read [part of] a transparent EF binary data. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ief4d2bf8ea90497a8f25d1986aeea935c615f9bb Gerrit-Change-Number: 24405 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 20:29:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 20:29:55 +0000 Subject: Change in pysim[master]: transport: Add support for SW 6Cxx In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24403 ) Change subject: transport: Add support for SW 6Cxx ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia7e6202bbd0f61034a985ecf76d0542d959922ce Gerrit-Change-Number: 24403 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 25 May 2021 20:29:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 20:29:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 20:29:59 +0000 Subject: Change in pysim[master]: shell: Add 'status' command to issue STATUS APDU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24404 ) Change subject: shell: Add 'status' command to issue STATUS APDU ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I65c97adadd831ca2daa5a0dbb52a37999f8514fd Gerrit-Change-Number: 24404 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 May 2021 20:29:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 20:30:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 20:30:17 +0000 Subject: Change in pysim[master]: shell: Fix activate_file + deactivate_file commands In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24405 ) Change subject: shell: Fix activate_file + deactivate_file commands ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ief4d2bf8ea90497a8f25d1986aeea935c615f9bb Gerrit-Change-Number: 24405 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 May 2021 20:30:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 20:41:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 20:41:07 +0000 Subject: Change in pysim[master]: transport: Add support for SW 6Cxx In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24403 ) Change subject: transport: Add support for SW 6Cxx ...................................................................... transport: Add support for SW 6Cxx According to ETSI TS 102 221 Section 7.2.2.3.1 Table 7.1 the UICC may respond with SW 6Cxx to tell us to re-issue the command with a modified P3/Le. Change-Id: Ia7e6202bbd0f61034a985ecf76d0542d959922ce --- M pySim/transport/__init__.py 1 file changed, 10 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py index 5311d8f..dae2a78 100644 --- a/pySim/transport/__init__.py +++ b/pySim/transport/__init__.py @@ -109,11 +109,16 @@ # available. There are two SWs commonly used for this 9fxx (sim) and 61xx (usim), where # xx is the number of response bytes available. # See also: - # SW1=9F: 3GPP TS 51.011 9.4.1, Responses to commands which are correctly executed - # SW1=61: ISO/IEC 7816-4, Table 5 ? General meaning of the interindustry values of SW1-SW2 - if (sw is not None) and ((sw[0:2] == '9f') or (sw[0:2] == '61')): - pdu_gr = pdu[0:2] + 'c00000' + sw[2:4] - data, sw = self.send_apdu_raw(pdu_gr) + if (sw is not None): + if ((sw[0:2] == '9f') or (sw[0:2] == '61')): + # SW1=9F: 3GPP TS 51.011 9.4.1, Responses to commands which are correctly executed + # SW1=61: ISO/IEC 7816-4, Table 5 ? General meaning of the interindustry values of SW1-SW2 + pdu_gr = pdu[0:2] + 'c00000' + sw[2:4] + data, sw = self.send_apdu_raw(pdu_gr) + if sw[0:2] == '6c': + # SW1=6C: ETSI TS 102 221 Table 7.1: Procedure byte coding + pdu_gr = pdu[0:8] + sw[2:4] + data,sw = self.send_apdu_raw(pdu_gr) return data, sw -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia7e6202bbd0f61034a985ecf76d0542d959922ce Gerrit-Change-Number: 24403 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 20:46:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 May 2021 20:46:26 +0000 Subject: Change in pysim[master]: shell: Add 'status' command to issue STATUS APDU In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24404 ) Change subject: shell: Add 'status' command to issue STATUS APDU ...................................................................... shell: Add 'status' command to issue STATUS APDU This can be used to get the FCP of the currently selected file. Change-Id: I65c97adadd831ca2daa5a0dbb52a37999f8514fd --- M pySim-shell.py M pySim/commands.py M pySim/filesystem.py 3 files changed, 14 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim-shell.py b/pySim-shell.py index 0069661..edd8112 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -443,6 +443,11 @@ """Close a logical channel.""" (data, sw) = self._cmd.card._scc.manage_channel(mode='close', lchan_nr=opts.chan_nr) + def do_status(self, opts): + """Perform the STATUS command.""" + fcp_dec = self._cmd.rs.status() + self._cmd.poutput_json(fcp_dec) + option_parser = argparse.ArgumentParser(prog='pySim-shell', description='interactive SIM card shell', formatter_class=argparse.ArgumentDefaultsHelpFormatter) diff --git a/pySim/commands.py b/pySim/commands.py index 689cbea..4640fe1 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -359,6 +359,10 @@ ret = {'successful_3g_authentication': data} return (ret, sw) + def status(self): + """Execute a STATUS command as per TS 102 221 Section 11.1.2.""" + return self._tp.send_apdu_checksw('80F20000ff') + def deactivate_file(self): """Execute DECATIVATE FILE command as per TS 102 221 Section 11.1.14.""" return self._tp.send_apdu_constr_checksw(self.cla_byte, '04', '00', '00', None, None, None) diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 8cdb23e..aaf333b 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -1145,6 +1145,11 @@ return select_resp + def status(self): + """Request STATUS (current selected file FCP) from card.""" + (data, sw) = self.card._scc.status() + return self.selected_file.decode_select_response(data) + def read_binary(self, length:int=None, offset:int=0): """Read [part of] a transparent EF binary data. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I65c97adadd831ca2daa5a0dbb52a37999f8514fd Gerrit-Change-Number: 24404 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 21:02:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 25 May 2021 21:02:47 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24388 ) Change subject: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24388/3/src/osmo-bts-trx/l1_if.h File src/osmo-bts-trx/l1_if.h: https://gerrit.osmocom.org/c/osmo-bts/+/24388/3/src/osmo-bts-trx/l1_if.h at 108 PS3, Line 108: bool setslot_valid[TRX_NR_TS]; > Why not merging too the valid and sent into the new struct array you created? Feels like you went ha [?] Just wanted to keep it consistent with the other fields above, but I am also fine with merging it into the new structure array. https://gerrit.osmocom.org/c/osmo-bts/+/24388/3/src/osmo-bts-trx/trx_provision_fsm.c File src/osmo-bts-trx/trx_provision_fsm.c: https://gerrit.osmocom.org/c/osmo-bts/+/24388/3/src/osmo-bts-trx/trx_provision_fsm.c at 521 PS3, Line 521: trx_if_cmd_setslot(l1h, ts_data->tn, l1if_setslot_cb); > shouldn't you send it only if it didn't change? I could introduce additional checks for the TSC fields too, but does it really hurt if we sent it with the same parameters as before? So far this event is generated on receipt of the NM_MT_SET_CHAN_ATTR message, which is usually sent once for each timeslot during the OML bootstrapping. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idc5796151e3e83f42d60c2d4cb7c35890d76a7f5 Gerrit-Change-Number: 24388 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 May 2021 21:02:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 21:46:41 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 21:46:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_establish_fully: verify lchan ESTABLISHED state References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24406 ) Change subject: bsc: f_establish_fully: verify lchan ESTABLISHED state ...................................................................... bsc: f_establish_fully: verify lchan ESTABLISHED state Change-Id: I341e2fa1e8946e7516705fa079e6e54fce9e58b0 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/06/24406/1 diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 6b93ca5..8c44bf7 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -1307,6 +1307,13 @@ " released properly: saw an RLL Release on the old lchan, but expecting none."); } } + + var charstring lchan_info := f_vty_transceive_ret(BSCVTY, "show lchan 0 0 " & int2str(g_chan_nr.tn) & " 0"); + if (f_strstr(lchan_info, "State: ESTABLISHED") < 0) { + log("after f_establish_fully(), 'show lchan' replied: ", lchan_info); + setverdict(fail, "lchan is not in state ESTABLISHED"); + mtc.stop; + } } type record HandoverState { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24406 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: I341e2fa1e8946e7516705fa079e6e54fce9e58b0 Gerrit-Change-Number: 24406 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 21:46:42 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 21:46:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: refuse VAMOS mode without BTS_FEAT_VAMOS References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24407 ) Change subject: bsc: refuse VAMOS mode without BTS_FEAT_VAMOS ...................................................................... bsc: refuse VAMOS mode without BTS_FEAT_VAMOS Change-Id: I73b8eb5e6073ae46b83bed9fddd4762861029a84 --- M bsc/BSC_Tests.ttcn 1 file changed, 96 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/07/24407/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index b07e693..889a64d 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -8579,6 +8579,99 @@ * is the info correct on delayed PCU (re)connect? */ +private function f_TC_refuse_mode_modif_to_vamos(charstring id) runs on MSC_ConnHdlr { + var PDU_BSSAP ass_cmd := f_gen_ass_req(g_pars.use_osmux); + var template PDU_BSSAP exp_compl := f_gen_exp_compl(g_pars.use_osmux); + + /* puzzle together the ASSIGNMENT REQ for given codec[s] */ + if (mp_bssap_cfg[0].transport == BSSAP_TRANSPORT_AoIP) { + ass_cmd.pdu.bssmap.assignmentRequest.codecList := g_pars.ass_codec_list; + exp_compl.pdu.bssmap.assignmentComplete.speechCodec.codecElements[0] := + g_pars.ass_codec_list.codecElements[0]; + if (isvalue(g_pars.expect_mr_s0_s7)) { + exp_compl.pdu.bssmap.assignmentComplete.speechCodec.codecElements[0].s0_7 := + g_pars.expect_mr_s0_s7; + } + } + ass_cmd.pdu.bssmap.assignmentRequest.channelType := + f_BSSMAP_chtype_from_codec(g_pars.ass_codec_list.codecElements[0]); + log("expecting ASS COMPL like this: ", exp_compl); + + f_establish_fully(ass_cmd, exp_compl); + + f_vty_transceive(BSCVTY, "vamos modify first"); + + var RSL_Message rsl; + + timer T := 5.0; + T.start; + alt { + [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr)) -> value rsl { + var PDU_ML3_NW_MS l3 := dec_PDU_ML3_NW_MS(rsl.ies[2].body.l3_info.payload); + log("Rx L3 from net: ", l3); + if (ischosen(l3.msgs.rrm.channelModeModify)) { + setverdict(fail, "Mode Modify to VAMOS succeeded even though BTS does not support VAMOS"); + mtc.stop; + } + } + [] RSL.receive(tr_RSL_MODE_MODIFY_REQ(g_chan_nr, ?)) -> value rsl { + setverdict(fail, "Mode Modify to VAMOS succeeded even though BTS does not support VAMOS"); + mtc.stop; + } + [] T.timeout { + /* The BTS does not exhibit BTS_FEAT_VAMOS, so no VAMOS related Mode Modify should happen. */ + setverdict(pass); + } + } + T.stop; +} + +/* The BSC does *not* indicate BTS_FEAT_VAMOS; make sure that a channel Mode Modify to VAMOS mode is refused by + * osmo-bsc. */ +testcase TC_refuse_mode_modif_to_vamos() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + vc_conn := f_start_handler(refers(f_TC_refuse_mode_modif_to_vamos), pars); + vc_conn.done; + f_shutdown_helper(); +} + +/* The BSC does *not* indicate BTS_FEAT_VAMOS; make sure that a channel activation to VAMOS mode is refused by osmo-bsc. + */ +testcase TC_refuse_chan_act_to_vamos() runs on test_CT { + f_init_vty(); + + f_init(1, false); + f_sleep(1.0); + + f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 1 sub-slot 0 activate-vamos fr"); + + var ASP_RSL_Unitdata rx_rsl_ud; + timer T := 5.0; + + T.start; + alt { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(?, IPAC_PROTO_RSL_TRX0)) -> value rx_rsl_ud { + if (rx_rsl_ud.rsl.msg_type == RSL_MT_CHAN_ACTIV) { + T.stop; + setverdict(fail, "CHANnel ACTivate in VAMOS mode succeeded even though BTS does not support VAMOS"); + mtc.stop; + } + repeat; + } + [] T.timeout { + /* The BTS does not exhibit BTS_FEAT_VAMOS, so no VAMOS related CHANnel ACTivate should happen. */ + setverdict(pass); + } + } +} + + control { /* CTRL interface testing */ execute( TC_ctrl_msc_connection_status() ); @@ -8839,6 +8932,9 @@ } execute( TC_no_msc() ); + + execute( TC_refuse_chan_act_to_vamos() ); + execute( TC_refuse_mode_modif_to_vamos() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24407 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: I73b8eb5e6073ae46b83bed9fddd4762861029a84 Gerrit-Change-Number: 24407 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 21:46:42 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 21:46:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_reassignment_fr() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24408 ) Change subject: bsc: add TC_reassignment_fr() ...................................................................... bsc: add TC_reassignment_fr() osmo-bsc does now support intra-cell re-Assignment of lchans with active voice. Test re-Assignment of TCH/F, triggered by VTY command. Change-Id: I05fecefb9d6f9f23a0362f133170bca4da92e308 --- M bsc/BSC_Tests.ttcn 1 file changed, 89 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/08/24408/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 889a64d..abcfece 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -8671,6 +8671,93 @@ } } +private function f_TC_reassignment_codec(charstring id) runs on MSC_ConnHdlr { + /* First fully set up a speech lchan */ + f_TC_assignment_codec(id); + + /* Trigger re-assignment to another lchan */ + var AssignmentState assignment_st := valueof(ts_AssignmentStateInit); + + /* Re-Assignment should tell the MGW endpoint the new lchan's RTP address and port, so expecting to see exactly + * one MDCX on MGCP. */ + g_media.mgcp_conn[0].mdcx_seen_exp := g_media.mgcp_conn[0].mdcx_seen_exp + 1; + + /* The new lchan will see all-new IPAC_CRCX and IPAC_MDCX messages telling the BTS the same RTP address and port + * as the old lchan used. */ + g_media.bts.ipa_crcx_seen := false; + g_media.bts.ipa_mdcx_seen := false; + + /* Send different BTS side RTP port number for the new lchan */ + g_media.bts.bts.port_nr := 4223; + + f_rslem_register(0, valueof(ts_RslChanNr_Bm(2))); /* <-- FIXME: can we somehow infer the timeslot that will be used? */ + + /* Trigger re-assignment. */ + f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot " & int2str(g_chan_nr.tn) & " sub-slot 0 assignment"); + + timer T := 5.0; + T.start; + alt { + [] as_assignment(assignment_st); + [] as_Media(); + [] T.timeout { + break; + } + } + + if (not assignment_st.assignment_done) { + setverdict(fail, "Assignment did not complete"); + mtc.stop; + } + + f_check_mgcp_expectations() + setverdict(pass); + + f_sleep(2.0); + log("show lchan summary: ", f_vty_transceive_ret(BSCVTY, "show lchan summary")); + + /* Instruct BSC to clear channel */ + var BssmapCause cause := 0; + BSSAP.send(ts_BSSMAP_ClearCommand(cause)); + interleave { + [] MGCP.receive(tr_DLCX) {} + [] MGCP.receive(tr_DLCX) {} + [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE)) {} + [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {} + [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + } + [] BSSAP.receive(tr_BSSMAP_ClearComplete) { + BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ); + } + } + + f_sleep(0.5); +} + +testcase TC_reassignment_fr() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + f_ctrs_bsc_and_bts_init(); + + pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + vc_conn := f_start_handler(refers(f_TC_reassignment_codec), pars); + vc_conn.done; + + /* from f_establish_fully() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + /* from re-assignment */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + f_ctrs_bsc_and_bts_verify(); + f_shutdown_helper(); +} + control { /* CTRL interface testing */ @@ -8935,6 +9022,8 @@ execute( TC_refuse_chan_act_to_vamos() ); execute( TC_refuse_mode_modif_to_vamos() ); + + execute( TC_reassignment_fr() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24408 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: I05fecefb9d6f9f23a0362f133170bca4da92e308 Gerrit-Change-Number: 24408 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 21:46:43 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 21:46:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RSL_Types: add VAMOS chan rates and OSMO_TRAINING_SEQUENCE IE References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24409 ) Change subject: RSL_Types: add VAMOS chan rates and OSMO_TRAINING_SEQUENCE IE ...................................................................... RSL_Types: add VAMOS chan rates and OSMO_TRAINING_SEQUENCE IE Prepare for upcoming VAMOS tests in BSC_Tests_VAMOS.ttcn. Change-Id: Idbe9014754eff9c8b2bff19828581bae5b36fadf --- M library/RSL_Types.ttcn 1 file changed, 15 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/09/24409/1 diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 6118dcf..2cbd668 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -220,6 +220,8 @@ RSL_IE_TFO_STATUS ('00111011'B), RSL_IE_LLP_APDU ('00111100'B), + RSL_IE_OSMO_TRAINING_SEQUENCE ('01100001'B), + /* ip.access */ RSL_IE_IPAC_SRTP_CONFIG ('11100000'B), RSL_IE_IPAC_PROXY_UDP ('11100001'B), @@ -376,7 +378,9 @@ RSL_CHRT_TCH_F_GROUP ('00011000'B), RSL_CHRT_TCH_H_GROUP ('00011001'B), RSL_CHRT_TCH_F_BCAST ('00101000'B), - RSL_CHRT_TCH_H_BCAST ('00101001'B) + RSL_CHRT_TCH_H_BCAST ('00101001'B), + RSL_CHRT_OSMO_TCH_F_VAMOS ('10001000'B), + RSL_CHRT_OSMO_TCH_H_VAMOS ('10001001'B) } with { variant "FIELDLENGTH(8)" }; type enumerated RSL_SpeechAlgo { RSL_CMOD_NO_RESOURCE ('00000000'B), @@ -826,6 +830,12 @@ REL_REL_MODE_LOCAL ('01'B) } + type record RSL_IE_OSMO_TrainingSequence { + uint8_t len, + uint8_t tsc_set, + uint8_t tsc + } with { variant (len) "LENGTHTO(tsc_set,tsc)" } + /* union of all IE bodies */ type union RSL_IE_Body { RslChannelNr chan_nr, @@ -878,6 +888,8 @@ RSL_IE_IPA_ConnectionStats ipa_stats, RSL_IE_IPA_SpeechMode ipa_speech_mode, + RSL_IE_OSMO_TrainingSequence osmo_training_sequence, + RSL_LV other } @@ -937,6 +949,8 @@ ipa_stats, iei = RSL_IE_IPAC_CONN_STAT; ipa_speech_mode, iei = RSL_IE_IPAC_SPEECH_MODE; + osmo_training_sequence, iei = RSL_IE_OSMO_TRAINING_SEQUENCE; + other, OTHERWISE; )" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24409 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: Idbe9014754eff9c8b2bff19828581bae5b36fadf Gerrit-Change-Number: 24409 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 21:46:43 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 21:46:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: IPA_Emulation: add TEIs for four VAMOS shadow TRXes References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24410 ) Change subject: IPA_Emulation: add TEIs for four VAMOS shadow TRXes ...................................................................... IPA_Emulation: add TEIs for four VAMOS shadow TRXes Change-Id: I7c647603e0f91df0d1cfd2dde29f6ab3ca609a06 --- M library/IPA_Emulation.ttcnpp M library/IPA_Types.ttcn M library/RSL_Emulation.ttcn 3 files changed, 11 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/10/24410/1 diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 906664f..84ed1e8 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -140,7 +140,9 @@ } template IpaStreamId t_IpaSidRSL := ( IPAC_PROTO_RSL_TRX0, IPAC_PROTO_RSL_TRX1, - IPAC_PROTO_RSL_TRX2, IPAC_PROTO_RSL_TRX3 ); + IPAC_PROTO_RSL_TRX2, IPAC_PROTO_RSL_TRX3, + IPAC_PROTO_RSL_TRX0_VAMOS, IPAC_PROTO_RSL_TRX1_VAMOS, + IPAC_PROTO_RSL_TRX2_VAMOS, IPAC_PROTO_RSL_TRX3_VAMOS ); #endif diff --git a/library/IPA_Types.ttcn b/library/IPA_Types.ttcn index 110e5b1..d955c63 100644 --- a/library/IPA_Types.ttcn +++ b/library/IPA_Types.ttcn @@ -20,6 +20,10 @@ IPAC_PROTO_RSL_TRX1 (1), IPAC_PROTO_RSL_TRX2 (2), IPAC_PROTO_RSL_TRX3 (3), + IPAC_PROTO_RSL_TRX0_VAMOS (128), + IPAC_PROTO_RSL_TRX1_VAMOS (129), + IPAC_PROTO_RSL_TRX2_VAMOS (130), + IPAC_PROTO_RSL_TRX3_VAMOS (131), IPAC_PROTO_OSMO (238), IPAC_PROTO_MGCP_OLD (252), IPAC_PROTO_SCCP (253), diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index cb8b763..7aefe7a 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -449,6 +449,10 @@ case (1) { return IPAC_PROTO_RSL_TRX1; } case (2) { return IPAC_PROTO_RSL_TRX2; } case (3) { return IPAC_PROTO_RSL_TRX3; } + case (128) { return IPAC_PROTO_RSL_TRX0_VAMOS; } + case (129) { return IPAC_PROTO_RSL_TRX1_VAMOS; } + case (130) { return IPAC_PROTO_RSL_TRX2_VAMOS; } + case (131) { return IPAC_PROTO_RSL_TRX3_VAMOS; } } setverdict(fail, "Unknown stream ID ", trx_nr); mtc.stop; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24410 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: I7c647603e0f91df0d1cfd2dde29f6ab3ca609a06 Gerrit-Change-Number: 24410 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 21:46:43 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 21:46:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 ) Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... add bsc/BSC_Tests_VAMOS.ttcn BSC_Tests_VAMOS.ttcn is separate from BSC_Tests.ttcn in order to instruct osmo-bts-omldummy to pass BTS_FEAT_VAMOS == true in the OML BTS attributes. Add tests: TC_mode_modify_to_vamos() TC_chan_act_to_vamos() TC_assign_to_secondary_lchan() TC_vamos_multiplex_tch_f_tch_f() Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 --- A bsc/BSC_Tests_VAMOS.ttcn 1 file changed, 1,435 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/11/24411/1 diff --git a/bsc/BSC_Tests_VAMOS.ttcn b/bsc/BSC_Tests_VAMOS.ttcn new file mode 100644 index 0000000..ac95827 --- /dev/null +++ b/bsc/BSC_Tests_VAMOS.ttcn @@ -0,0 +1,1435 @@ +module BSC_Tests_VAMOS { + +/* Integration Tests for OsmoBSC + * (C) 2017-2018 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + * This test suite tests OsmoBSC while emulating both multiple BTS + MS as + * well as the MSC. See README for more details. + * + * There are test cases that run in so-called 'handler mode' and test cases + * that run directly on top of the BSSAP and RSL CodecPorts. The "handler mode" + * tests abstract the multiplexing/demultiplexing of multiple SCCP connections + * and/or RSL channels and are hence suitable for higher-level test cases, while + * the "raw" tests directly on top of the CodecPorts are more suitable for lower- + * level testing. + */ + +import from Misc_Helpers all; +import from General_Types all; +import from Osmocom_Types all; +import from GSM_Types all; +import from IPL4asp_Types all; + +import from BSSAP_Types all; +import from RAN_Adapter all; +import from BSSAP_LE_Adapter all; +import from BSSAP_LE_CodecPort all; +import from BSSAP_LE_Types all; +import from BSSLAP_Types all; +import from BSSAP_CodecPort all; +import from BSSMAP_Templates all; +import from IPA_Emulation all; +import from IPA_CodecPort all; +import from IPA_Types all; +import from IPA_Testing all; +import from RSL_Types all; +import from RSL_Emulation all; +import from MGCP_Emulation all; +import from MGCP_Templates all; +import from MGCP_Types all; +import from MGCP_CodecPort all; + +import from Osmocom_CTRL_Functions all; +import from Osmocom_CTRL_Types all; +import from Osmocom_CTRL_Adapter all; + +import from StatsD_Types all; +import from StatsD_CodecPort all; +import from StatsD_CodecPort_CtrlFunct all; +import from StatsD_Checker all; + +import from Osmocom_VTY_Functions all; +import from TELNETasp_PortType all; + +import from MobileL3_CommonIE_Types all; +import from MobileL3_Types all; +import from MobileL3_RRM_Types all; +import from L3_Templates all; +import from GSM_RR_Types all; + +import from SCCP_Templates all; +import from BSSMAP_Templates all; +import from BSSMAP_LE_Templates all; + +import from SCCPasp_Types all; + +import from GSM_SystemInformation all; +import from GSM_RestOctets all; +import from TCCConversion_Functions all; + +import from RAN_Emulation all; +import from MSC_ConnectionHandler all; + +import from Native_Functions all; + +const integer NUM_BTS := 3; +const integer NUM_MSC := 3; + +/* per-BTS state which we keep */ +type record BTS_State { + /* component reference to the IPA_Client component used for RSL */ + IPA_Client rsl +} + +/* Set of all System Information received during one RSL port's startup. + * Note that some System Information may be sent on RSL, but lacking actual SI data, to indicate that the BTS should not + * broadcast that SI type. That will be reflected as 'omit' here. + */ +type record SystemInformationConfig { + SystemInformationType1 si1 optional, + SystemInformationType2 si2 optional, + SystemInformationType2bis si2bis optional, + SystemInformationType2ter si2ter optional, + SI2quaterRestOctetsList si2quater optional, + SystemInformationType3 si3 optional, + SystemInformationType4 si4 optional, + SystemInformationType13 si13 optional, + SystemInformationType5 si5 optional, + SystemInformationType5bis si5bis optional, + SystemInformationType5ter si5ter optional, + SystemInformationType6 si6 optional +}; + +const SystemInformationConfig SystemInformationConfig_omit := { + si1 := omit, + si2 := omit, + si2bis := omit, + si2ter := omit, + si2quater := omit, + si3 := omit, + si4 := omit, + si13 := omit, + si5 := omit, + si5bis := omit, + si5ter := omit, + si6 := omit +}; + +/* tr_EUTRAN_CellDesc with defaults used in BSC_Tests_VAMOS.ttcn */ +template EUTRAN_CellDesc tr_EUTRAN_CellDesc_default(template (present) uint16_t e_arfcn := ?, + template uint3_t meas_bw := 3) +:= tr_EUTRAN_CellDesc(e_arfcn := e_arfcn, + meas_bw_presence := '1'B, + meas_bw := meas_bw); + +/* tr_EUTRAN_NeighbourCells with defaults used in BSC_Tests_VAMOS.ttcn */ +template EUTRAN_NeighbourCells tr_EUTRAN_NeighbourCells_default(template (present) EUTRAN_CellDescs cell_desc_list := { tr_EUTRAN_CellDesc_default }, + template uint3_t prio := 3, + template (present) uint5_t thresh_high := 20, + template uint5_t thresh_low := 10, + template uint5_t qrxlevmin := 22) +:= tr_EUTRAN_NeighbourCells( + cell_desc_list := cell_desc_list, + prio_presence := '1'B, + prio := prio, + thresh_high := thresh_high, + thresh_low_presence := '1'B, + thresh_low := thresh_low, + qrxlevmin_presence := '1'B, + qrxlevmin := qrxlevmin); + +template SystemInformationConfig SystemInformationConfig_default := { + si1 := { + cell_chan_desc := '8FB38000000000000000000000000000'O, + rach_control := { + max_retrans := RACH_MAX_RETRANS_7, + tx_integer := '1001'B, + cell_barr_access := false, + re_not_allowed := true, + acc := '0000010000000000'B + }, + rest_octets := ? + }, + si2 := { + bcch_freq_list := '00000000000000000000000000000000'O, + ncc_permitted := '11111111'B, + rach_control := { + max_retrans := RACH_MAX_RETRANS_7, + tx_integer := '1001'B, + cell_barr_access := false, + re_not_allowed := true, + acc := '0000010000000000'B + } + }, + si2bis := omit, + si2ter := { + extd_bcch_freq_list := '8E320000000000000000000000000800'O, + rest_octets := ? + }, + si2quater := { + tr_SI2quaterRestOctets_EUTRAN( repeated_neigh_cells := { tr_EUTRAN_NeighbourCells_default } ) + }, + si3 := { + cell_id := 0, + lai := { + mcc_mnc := '001F01'H, + lac := 1 + }, + ctrl_chan_desc := { + msc_r99 := true, + att := true, + bs_ag_blks_res := 1, + ccch_conf := CCHAN_DESC_1CCCH_COMBINED, + si22ind := false, + cbq3 := CBQ3_IU_MODE_NOT_SUPPORTED, + spare := '00'B, + bs_pa_mfrms := 3, + t3212 := 30 + }, + cell_options := { + dn_ind := false, + pwrc := false, + dtx := MS_SHALL_USE_UL_DTX, + radio_link_tout_div4 := 7 + }, + cell_sel_par := { + cell_resel_hyst_2dB := 2, + ms_txpwr_max_cch := 7, + acs := '0'B, + neci := true, + rxlev_access_min := 0 + }, + rach_control := { + max_retrans := RACH_MAX_RETRANS_7, + tx_integer := '1001'B, + cell_barr_access := false, + re_not_allowed := true, + acc := '0000010000000000'B + }, + rest_octets := { + sel_params := { + presence := '0'B, + params := omit + }, + pwr_offset := { + presence := '0'B, + offset := omit + }, + si_2ter_ind := '1'B, + early_cm_ind := '0'B, + sched_where := { + presence := '0'B, + where := omit + }, + gprs_ind := { + presence := '1'B, + ind := { + ra_colour := 0, + si13_pos := '0'B + } + }, + umts_early_cm_ind := '1'B, + si2_quater_ind := { + presence := '1'B, + ind := '0'B + }, + iu_mode_ind := omit, + si21_ind := { + presence := '0'B, + pos := omit + } + } + }, + si4 := { + lai := { + mcc_mnc := '001F01'H, + lac := 1 + }, + cell_sel_par := { + cell_resel_hyst_2dB := 2, + ms_txpwr_max_cch := 7, + acs := '0'B, + neci := true, + rxlev_access_min := 0 + }, + rach_control := { + max_retrans := RACH_MAX_RETRANS_7, + tx_integer := '1001'B, + cell_barr_access := false, + re_not_allowed := true, + acc := '0000010000000000'B + }, + cbch_chan_desc := { + iei := '64'O, + v := { + chan_nr := { + u := { + sdcch4 := { + tag := '001'B, + sub_chan := 2 + } + }, + tn := 0 + }, + tsc := 2, + h := false, + arfcn := 871, + maio_hsn := omit + } + }, + cbch_mobile_alloc := omit, + rest_octets := { + sel_params := { + presence := '0'B, + params := omit + }, + pwr_offset := { + presence := '0'B, + offset := omit + }, + gprs_ind := { + presence := '1'B, + ind := { + ra_colour := 0, + si13_pos := '0'B + } + }, + s_presence := '0'B, + s := omit + } + }, + si13 := { + rest_octets := { + presence := '1'B, + bcch_change_mark := ?, + si_change_field := '0000'B, + presence2 := '0'B, + si13_change_mark := omit, + gprs_ma := omit, + zero := '0'B, /* PBCCH not present in cell */ + rac := 0, + spgc_ccch_sup := '0'B, + priority_access_thr := '110'B, + network_control_order := '00'B, + gprs_cell_opts := { + nmo := '01'B, + t3168 := '011'B, + t3192 := '010'B, + drx_timer_max := '011'B, + access_burst_type := '0'B, + control_ack_type := '1'B, + bs_cv_max := 15, + pan_presence := '1'B, + pan_dec := 1, + pan_inc := 1, + pan_max := '111'B, + ext_info_presence := ?, + ext_info_length := *, + ext_info := * + }, + gprs_pwr_ctrl_params := { + alpha := 0, + t_avg_w := '10000'B, + t_avg_t := '10000'B, + pc_meas_chan := '0'B, + n_avg_i := '1000'B + } + } + }, + si5 := { + bcch_freq_list := '10000000000000000000000000000000'O + }, + si5bis := omit, + si5ter := { + extd_bcch_freq_list := '9E050020000000000000000000000000'O + }, + si6 := { + cell_id := 0, + lai := { + mcc_mnc := '001F01'H, + lac := 1 + }, + cell_options := { + dtx_ext := '1'B, + pwrc := false, + dtx := '01'B, + radio_link_timeout := '0111'B + }, + ncc_permitted := '11111111'B, + rest_octets := ? + } + }; + + +/* List of all the System Information received on all RSL ports */ +type record of SystemInformationConfig SystemInformationConfig_list; + +function f_sysinfo_dec_raw(inout SystemInformationConfig si, RSL_Message rsl) +{ + var RSL_IE_Body sysinfo_type_ie; + var RSL_IE_SysinfoType si_type; + var octetstring data; + + if (f_rsl_find_ie(rsl, RSL_IE_SYSINFO_TYPE, sysinfo_type_ie) == false) { + setverdict(fail, "Cannot find RSL_IE_SYSINFO_TYPE"); + mtc.stop; + } + si_type := sysinfo_type_ie.sysinfo_type; + + if (rsl.msg_type == RSL_MT_BCCH_INFO) { + var RSL_IE_Body bcch_ie; + if (f_rsl_find_ie(rsl, RSL_IE_FULL_BCCH_INFO, bcch_ie)) { + data := bcch_ie.other.payload; + } + } else if (rsl.msg_type == RSL_MT_SACCH_FILL) { + var RSL_IE_Body l3_ie; + if (f_rsl_find_ie(rsl, RSL_IE_L3_INFO, l3_ie)) { + data := l3_ie.l3_info.payload; + } + } else { + setverdict(fail, "Don't understand this System Information message"); + mtc.stop; + } + + var boolean handled := false; + + if (rsl.msg_type == RSL_MT_BCCH_INFO) { + handled := true; + + if (si_type == RSL_SYSTEM_INFO_1) { + if (not isbound(data)) { + si.si1 := omit; + } else { + si.si1 := dec_SystemInformation(data).payload.si1; + } + } else if (si_type == RSL_SYSTEM_INFO_2) { + if (not isbound(data)) { + si.si2 := omit; + } else { + si.si2 := dec_SystemInformation(data).payload.si2; + } + } else if (si_type == RSL_SYSTEM_INFO_2bis) { + if (not isbound(data)) { + si.si2bis := omit; + } else { + si.si2bis := dec_SystemInformation(data).payload.si2bis; + } + } else if (si_type == RSL_SYSTEM_INFO_2ter) { + if (not isbound(data)) { + si.si2ter := omit; + } else { + si.si2ter := dec_SystemInformation(data).payload.si2ter; + } + } else if (si_type == RSL_SYSTEM_INFO_2quater) { + if (not isbound(data)) { + si.si2quater := {}; + } else { + var SystemInformationType2quater decoded := dec_SystemInformation(data).payload.si2quater; + /* this is a *record* of SI2quaterRestOctets! (multiplexed) */ + si.si2quater[decoded.rest_octets.si2quater_index] := decoded.rest_octets; + } + } else if (si_type == RSL_SYSTEM_INFO_3) { + if (not isbound(data)) { + si.si3 := omit; + } else { + si.si3 := dec_SystemInformation(data).payload.si3; + } + } else if (si_type == RSL_SYSTEM_INFO_4) { + if (not isbound(data)) { + si.si4 := omit; + } else { + si.si4 := dec_SystemInformation(data).payload.si4; + } + } else if (si_type == RSL_SYSTEM_INFO_13) { + if (not isbound(data)) { + si.si13 := omit; + } else { + si.si13 := dec_SystemInformation(data).payload.si13; + } + } else { + handled := false; + } + } else if (rsl.msg_type == RSL_MT_SACCH_FILL) { + handled := true; + + if (si_type == RSL_SYSTEM_INFO_5) { + if (not isbound(data)) { + si.si5 := omit; + } else { + si.si5 := dec_SystemInformation(data).payload.si5; + } + } else if (si_type == RSL_SYSTEM_INFO_5bis) { + if (not isbound(data)) { + si.si5bis := omit; + } else { + si.si5bis := dec_SystemInformation(data).payload.si5bis; + } + } else if (si_type == RSL_SYSTEM_INFO_5ter) { + if (not isbound(data)) { + si.si5ter := omit; + } else { + si.si5ter := dec_SystemInformation(data).payload.si5ter; + } + } else if (si_type == RSL_SYSTEM_INFO_6) { + if (not isbound(data)) { + si.si6 := omit; + } else { + si.si6 := dec_SystemInformation(data).payload.si6; + } + } else { + handled := false; + } + } + + if (not handled) { + setverdict(fail, "Unexpected SI type in ", rsl.msg_type, " message: ", si_type); + } +} + +type component test_CT extends CTRL_Adapter_CT { + /* Array of per-BTS state */ + var BTS_State bts[NUM_BTS]; + /* RSL common Channel Port (for RSL_Emulation) */ + port RSL_CCHAN_PT RSL_CCHAN[NUM_BTS]; + /* array of per-BTS RSL test ports */ + port IPA_RSL_PT IPA_RSL[NUM_BTS]; + 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; + + var MGCP_Emulation_CT vc_MGCP; + port TELNETasp_PT BSCVTY; + + /* StatsD */ + var StatsD_Checker_CT vc_STATSD; + + var RAN_Adapter g_bssap[NUM_MSC]; + var BSSAP_LE_Adapter g_bssap_le; + /* for old legacy-tests only */ + port BSSAP_CODEC_PT BSSAP; + port BSSAP_LE_CODEC_PT BSSAP_LE; + + /* are we initialized yet */ + var boolean g_initialized := false; + + /* Osmux is enabled through VTY */ + var boolean g_osmux_enabled := false; + + /*Configure T(tias) over VTY, seconds */ + var integer g_bsc_sccp_timer_ias := 7 * 60; + /*Configure T(tiar) over VTY, seconds */ + var integer g_bsc_sccp_timer_iar := 15 * 60; + + /* global test case guard timer (actual timeout value is set in f_init()) */ + timer T_guard := 30.0; + + var CounterNameValsList g_ctr_msc; + var CounterNameValsList g_ctr_bsc; + var CounterNameValsList g_ctr_bts; + + /* System Information bytes as received during RSL startup, for each RSL[idx]. */ + var SystemInformationConfig_list g_system_information := {}; +} + +modulepar { + /* IP address at which the BSC can be reached */ + charstring mp_bsc_ip := "127.0.0.1"; + /* port number to which to establish the IPA OML connections */ + integer mp_bsc_oml_port := 3002; + /* port number to which to establish the IPA RSL connections */ + integer mp_bsc_rsl_port := 3003; + /* port number to which to establish the IPA CTRL connection */ + integer mp_bsc_ctrl_port := 4249; + /* port number to which to listen for STATSD metrics */ + integer mp_bsc_statsd_port := 8125; + /* IP address at which the test binds */ + charstring mp_test_ip := "127.0.0.1"; + + RAN_Configurations mp_bssap_cfg := { + { + transport := BSSAP_TRANSPORT_AoIP, + sccp_service_type := "mtp3_itu", + sctp_addr := { 23905, "127.0.0.1", 2905, "127.0.0.1" }, + own_pc := 185, /* 0.23.1 first MSC emulation */ + own_ssn := 254, + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 254, + sio := '83'O, + rctx := 1 + }, + { + transport := BSSAP_TRANSPORT_AoIP, + sccp_service_type := "mtp3_itu", + sctp_addr := { 23906, "127.0.0.1", 2905, "127.0.0.1" }, + own_pc := 2, /* 0.0.2 second MSC emulation */ + own_ssn := 254, + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 254, + sio := '83'O, + rctx := 2 + }, + { + transport := BSSAP_TRANSPORT_AoIP, + sccp_service_type := "mtp3_itu", + sctp_addr := { 23907, "127.0.0.1", 2905, "127.0.0.1" }, + own_pc := 3, /* 0.0.3 third MSC emulation */ + own_ssn := 254, + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 254, + sio := '83'O, + rctx := 3 + } + }; + + BSSAP_LE_Configuration mp_bssap_le_cfg := { + sccp_service_type := "mtp3_itu", + sctp_addr := { 23908, "127.0.0.1", 2905, "127.0.0.1" }, + own_pc := 190, /* 0.23.6 SMLC emulation */ + own_ssn := 252, /* SMLC side SSN */ + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 250, /* BSC side SSN */ + sio := '83'O, + rctx := 6 + }; + boolean mp_enable_lcs_tests := true; + + /* Whether to enable osmux tests. Can be dropped completely and enable + unconditionally once new version of osmo-bsc is released (current + version: 1.4.1) */ + boolean mp_enable_osmux_test := true; + /* Value set in osmo-bsc.cfg "ms max power" */ + uint8_t mp_exp_ms_power_level := 7; +} + +private function f_shutdown_helper() runs on test_CT { + all component.stop; + setverdict(pass); + mtc.stop; +} + +private function f_legacy_bssap_reset(integer bssap_idx := 0) runs on test_CT { + var BSSAP_N_UNITDATA_ind ud_ind; + var boolean reset_received := false; + timer T := 5.0; + BSSAP.send(ts_BSSAP_UNITDATA_req(g_bssap[bssap_idx].sccp_addr_peer, g_bssap[bssap_idx].sccp_addr_own, + ts_BSSMAP_Reset(0, g_osmux_enabled))); + T.start; + alt { + [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(g_bssap[bssap_idx].sccp_addr_own, g_bssap[bssap_idx].sccp_addr_peer, + tr_BSSMAP_ResetAck(g_osmux_enabled))) { + log("BSSMAP: Received RESET-ACK in response to RESET, we're ready to go!"); + } + [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset(g_osmux_enabled))) -> value ud_ind { + log("BSSMAP: Respoding to inbound RESET with RESET-ACK"); + BSSAP.send(ts_BSSAP_UNITDATA_req(ud_ind.callingAddress, ud_ind.calledAddress, + ts_BSSMAP_ResetAck(g_osmux_enabled))); + reset_received := true; + repeat; + } + [] BSSAP.receive { repeat; } + [] T.timeout { + log("BSSMAP: Timeout waiting for RESET-ACK after sending RESET"); + /* If we received a RESET after ours was sent, it + may be a race condition where the other peer beacame + available after we sent it, but we are in a desired + state anyway, so go forward. */ + if (not reset_received) { + setverdict(fail); + } + } + } +} + +type record IPA_Client { + /* IPA Emulation component reference */ + IPA_Emulation_CT vc_IPA, + /* Unit-ID and other CCM parameters to use for IPA client emulation */ + IPA_CCM_Parameters ccm_pars, + /* String identifier for this IPA Client */ + charstring id, + /* Associated RSL Emulation Component (if any). Only used in "Handler mode" */ + RSL_Emulation_CT vc_RSL optional +} + +/*! Start the IPA/RSL related bits for one IPA_Client. + * \param clnt IPA_Client for which to establish + * \param bsc_host IP address / hostname of the BSC + * \param bsc_port TCP port number of the BSC + * \param i number identifying this BTS + * \param handler_mode Start an RSL_Emulation_CT component (true) or not (false) */ +function f_ipa_rsl_start(inout IPA_Client clnt, charstring bsc_host, PortNumber bsc_port, integer i, + boolean handler_mode := false) +runs on test_CT { + timer T := 10.0; + + clnt.id := "IPA" & int2str(i) & "-RSL"; + clnt.vc_IPA := IPA_Emulation_CT.create(clnt.id & "-IPA"); + clnt.ccm_pars := c_IPA_default_ccm_pars; + clnt.ccm_pars.name := "Osmocom TTCN-3 BTS Simulator"; + clnt.ccm_pars.unit_id := int2str(1234+i) & "/0/0"; + if (handler_mode) { + clnt.vc_RSL := RSL_Emulation_CT.create(clnt.id & "-RSL"); + connect(clnt.vc_RSL:CCHAN_PT, self:RSL_CCHAN[i]); + } + + map(clnt.vc_IPA:IPA_PORT, system:IPA_CODEC_PT); + if (handler_mode) { + connect(clnt.vc_IPA:IPA_RSL_PORT, clnt.vc_RSL:IPA_PT); + } else { + connect(clnt.vc_IPA:IPA_RSL_PORT, self:IPA_RSL[i]); + } + + clnt.vc_IPA.start(IPA_Emulation.main_client(bsc_host, bsc_port, "", 10000+i, clnt.ccm_pars)); + if (handler_mode) { + clnt.vc_RSL.start(RSL_Emulation.main()); + return; + } + + /* wait for IPA RSL link to connect and send ID ACK */ + T.start; + alt { + [] IPA_RSL[i].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { + T.stop; + IPA_RSL[i].send(ts_ASP_RSL_UD(ts_RSL_PAGING_LOAD_IND(23))); + } + [] IPA_RSL[i].receive(ASP_IPA_Event:?) { repeat } + [] IPA_RSL[i].receive { repeat } + [] T.timeout { + setverdict(fail, "Timeout RSL waiting for ASP_IPA_EVENT_ID_ACK"); + mtc.stop; + } + } +} + +function f_ipa_rsl_stop(inout IPA_Client clnt) runs on test_CT { + if (not isbound(clnt) or not isbound(clnt.vc_IPA)) { + return; + } + clnt.vc_IPA.stop; + if (isbound(clnt.vc_RSL)) { + clnt.vc_RSL.stop; + } +} + +/* Wait for the OML connection to be brought up by the external osmo-bts-omldummy */ +function f_wait_oml(integer bts_nr, charstring status, float secs_max) runs on test_CT { + timer T := secs_max; + T.start; + while (true) { + if (f_ctrl_get_bts(IPA_CTRL, bts_nr, "oml-connection-state") == status) { + T.stop; + /* the 'degraded' state exists from OML connection time, and we have to wait + * until all MO's are initialized */ + T.start(1.0); + T.timeout; + return; + } + f_sleep(0.1); + if (not T.running) { + setverdict(fail, "Timeout waiting for BTS" & int2str(bts_nr) & " oml-connection-state ", status); + mtc.stop; + } + } +} + +/* global altstep for global guard timer; also takes care of responding RESET witH RESET-ACK */ +altstep as_Tguard() runs on test_CT { + var BSSAP_N_UNITDATA_ind ud_ind; + [] T_guard.timeout { + setverdict(fail, "Timeout of T_guard"); + mtc.stop; + } + /* always respond with RESET ACK to RESET */ + [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset(g_osmux_enabled))) -> value ud_ind { + BSSAP.send(ts_BSSAP_UNITDATA_req(ud_ind.callingAddress, ud_ind.calledAddress, + ts_BSSMAP_ResetAck(g_osmux_enabled))); + repeat; + } +} + +altstep no_bssmap_reset() runs on test_CT { + [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset(g_osmux_enabled))) { + setverdict(fail, "unexpected BSSMAP Reset"); + mtc.stop; + } +} + +function f_init_mgcp(charstring id) runs on test_CT { + id := id & "-MGCP"; + + var MGCPOps ops := { + create_cb := refers(MGCP_Emulation.ExpectedCreateCallback), + unitdata_cb := refers(MGCP_Emulation.DummyUnitdataCallback) + }; + var MGCP_conn_parameters mgcp_pars := { + callagent_ip := mp_bsc_ip, + callagent_udp_port := -1, + mgw_ip := mp_test_ip, + mgw_udp_port := 2427, + /* Enable it for SCCPlite, since we have 2 MGCP sockets towards MGW (UDP one + + the on with MGCP over IPA forwarded from MSC one) */ + multi_conn_mode := (mp_bssap_cfg[0].transport == BSSAP_TRANSPORT_SCCPlite_SERVER) + }; + + vc_MGCP := MGCP_Emulation_CT.create(id); + vc_MGCP.start(MGCP_Emulation.main(ops, mgcp_pars, id)); +} + +/* Enable or disable (current default) Osmux. When enabling, BSSMAP Reset + * contains extra IE (OsmuxSupport) and osmo-bsc will handle AssignReq with + * OsmuxCID IE. + */ +private function f_vty_allow_osmux(boolean allow) runs on test_CT { + f_vty_enter_cfg_msc(BSCVTY, 0); + if (allow) { + f_vty_transceive(BSCVTY, "osmux on"); + } else { + f_vty_transceive(BSCVTY, "osmux off"); + } + f_vty_transceive(BSCVTY, "exit"); + f_vty_transceive(BSCVTY, "exit"); + g_osmux_enabled := allow; +} + +type record of charstring Commands; + +private function f_cs7_inst_0_cfg(TELNETasp_PT pt, Commands cmds := {}) +{ + f_vty_enter_cfg_cs7_inst(pt, 0); + for (var integer i := 0; i < sizeof(cmds); i := i+1) { + f_vty_transceive(pt, cmds[i]); + } + f_vty_transceive(pt, "end"); +} + +function f_init_vty(charstring id := "foo") runs on test_CT { + if (BSCVTY.checkstate("Mapped")) { + /* skip initialization if already executed once */ + return; + } + map(self:BSCVTY, system:BSCVTY); + f_vty_set_prompts(BSCVTY); + f_vty_transceive(BSCVTY, "enable"); + f_cs7_inst_0_cfg(BSCVTY, {"sccp-timer ias " & int2str(g_bsc_sccp_timer_ias), + "sccp-timer iar " & int2str(g_bsc_sccp_timer_iar)}); +} + +private function f_logp(TELNETasp_PT pt, charstring log_msg) +{ + // log on TTCN3 log output + log(log_msg); + // log in stderr log + f_vty_transceive(pt, "logp lglobal notice TTCN3 f_logp(): " & log_msg); +} + +private function f_sysinfo_seen(integer rsl_idx, RSL_Message rsl) runs on test_CT +{ + if (rsl_idx >= lengthof(g_system_information)) { + g_system_information[rsl_idx] := SystemInformationConfig_omit + } + f_sysinfo_dec_raw(g_system_information[rsl_idx], rsl); +} + +altstep as_catch_RSL_sysinfo(integer rsl_idx) runs on test_CT { + var ASP_RSL_Unitdata rx_rsl_ud; + + /* For handler_mode := false, receiving the RSL bootstrap messages directly on IPA_RSL */ + [] IPA_RSL[rsl_idx].receive(tr_ASP_RSL_UD(tr_RSL_NO_BCCH_INFO)) -> value rx_rsl_ud { + f_sysinfo_seen(rsl_idx, rx_rsl_ud.rsl); + repeat; + } + [] IPA_RSL[rsl_idx].receive(tr_ASP_RSL_UD(tr_RSL_BCCH_INFO)) -> value rx_rsl_ud { + f_sysinfo_seen(rsl_idx, rx_rsl_ud.rsl); + repeat; + } + [] IPA_RSL[rsl_idx].receive(tr_ASP_RSL_UD(tr_RSL_NO_SACCH_FILL)) -> value rx_rsl_ud { + f_sysinfo_seen(rsl_idx, rx_rsl_ud.rsl); + repeat; + } + [] IPA_RSL[rsl_idx].receive(tr_ASP_RSL_UD(tr_RSL_SACCH_FILL)) -> value rx_rsl_ud { + f_sysinfo_seen(rsl_idx, rx_rsl_ud.rsl); + repeat; + } + + /* For handler_mode := true, receiving the RSL bootstrap messages via RSL_Emulation */ + [] RSL_CCHAN[rsl_idx].receive(tr_ASP_RSL_UD(tr_RSL_NO_BCCH_INFO)) -> value rx_rsl_ud { + f_sysinfo_seen(rsl_idx, rx_rsl_ud.rsl); + repeat; + } + [] RSL_CCHAN[rsl_idx].receive(tr_ASP_RSL_UD(tr_RSL_BCCH_INFO)) -> value rx_rsl_ud { + f_sysinfo_seen(rsl_idx, rx_rsl_ud.rsl); + repeat; + } + [] RSL_CCHAN[rsl_idx].receive(tr_ASP_RSL_UD(tr_RSL_NO_SACCH_FILL)) -> value rx_rsl_ud { + f_sysinfo_seen(rsl_idx, rx_rsl_ud.rsl); + repeat; + } + [] RSL_CCHAN[rsl_idx].receive(tr_ASP_RSL_UD(tr_RSL_SACCH_FILL)) -> value rx_rsl_ud { + f_sysinfo_seen(rsl_idx, rx_rsl_ud.rsl); + repeat; + } +} + +/* TODO: use BooleanList from COMMON/src/General_Types.ttcn */ +private type record of boolean my_BooleanList; + +private function f_vty_msc_allow_attach(TELNETasp_PT pt, my_BooleanList allow_attach_list) +{ + var charstring config := f_vty_transceive_ret(pt, "show running-config"); + + for (var integer msc_nr := 0; msc_nr < sizeof(allow_attach_list); msc_nr := msc_nr+1) { + if (f_strstr(config, "\nmsc " & int2str(msc_nr) & "\n") < 0) { + /* There is no 'msc N' for this msc_nr in the running config, so don't create an empty msc by + * stepping into that config node. */ + log("msc ", msc_nr, " is not configured, skipping"); + continue; + } + f_vty_enter_cfg_msc(pt, msc_nr); + if (allow_attach_list[msc_nr]) { + /* strict := false: ignore if osmo-bsc does not support this config option (latest build) */ + f_vty_transceive(pt, "allow-attach", strict := false); + } else { + f_vty_transceive(pt, "no allow-attach", strict := false); + } + f_vty_transceive(pt, "exit"); + f_vty_transceive(pt, "exit"); + } +} + +/* global initialization function + * \param nr_bts Number of BTSs we should start/bring up + * \param handler_mode Start an RSL_Emulation_CT component (true) or not (false). + * \param nr_msc Number of virtual MSCs to bring up to connect to osmo-bsc. + */ +function f_init(integer nr_bts := NUM_BTS, boolean handler_mode := false, boolean allow_osmux := false, + integer nr_msc := 1, float guard_timeout := 30.0) runs on test_CT { + var integer bssap_idx; + + if (g_initialized) { + return; + } + g_initialized := true; + + T_guard.start(guard_timeout); + activate(as_Tguard()); + + f_init_vty("VirtMSC"); + if (mp_enable_osmux_test) { + f_vty_allow_osmux(allow_osmux); + } + + var my_BooleanList allow_attach := { false, false, false }; + f_init_statsd("VirtMSC", vc_STATSD, mp_test_ip, mp_bsc_statsd_port); + + for (bssap_idx := 0; bssap_idx < nr_msc; bssap_idx := bssap_idx+1) { + allow_attach[bssap_idx] := true; + /* Call a function of our 'parent component' RAN_Adapter_CT to start the + * MSC-side BSSAP emulation */ + if (handler_mode) { + var RanOps ranops := MSC_RanOps; + ranops.use_osmux := g_osmux_enabled; + f_ran_adapter_init(g_bssap[bssap_idx], mp_bssap_cfg[bssap_idx], "VirtMSC", ranops); + connect(self:SCCPLITE_IPA_CTRL, g_bssap[bssap_idx].vc_RAN:CTRL_CLIENT); + f_ran_adapter_start(g_bssap[bssap_idx]); + } else { + f_ran_adapter_init(g_bssap[bssap_idx], mp_bssap_cfg[bssap_idx], "VirtMSC", omit); + connect(self:BSSAP, g_bssap[bssap_idx].vc_SCCP:SCCP_SP_PORT); + f_ran_adapter_start(g_bssap[bssap_idx]); + f_legacy_bssap_reset(); + } + } + + if (mp_enable_lcs_tests) { + if (handler_mode) { + f_bssap_le_adapter_init(g_bssap_le, mp_bssap_le_cfg, "VirtSMLC", SMLC_BssapLeOps); + } else { + f_bssap_le_adapter_init(g_bssap_le, mp_bssap_le_cfg, "VirtSMLC", omit); + connect(self:BSSAP_LE, g_bssap_le.vc_SCCP:SCCP_SP_PORT); + } + f_bssap_le_adapter_start(g_bssap_le); + } + + /* start the test with exactly all enabled MSCs allowed to attach */ + f_vty_msc_allow_attach(BSCVTY, allow_attach); + + f_ipa_ctrl_start_client(mp_bsc_ip, mp_bsc_ctrl_port); + + f_init_mgcp("VirtMSC"); + + for (var integer i := 0; i < nr_bts; i := i+1) { + f_init_bts(i, handler_mode); + } +} + +function f_init_bts(integer bts_idx := 0, boolean handler_mode := false) +runs on test_CT { + /* wait until osmo-bts-omldummy has respawned */ + f_wait_oml(bts_idx, "degraded", 5.0); + + /* start RSL connection */ + f_ipa_rsl_start(bts[bts_idx].rsl, mp_bsc_ip, mp_bsc_rsl_port, bts_idx, handler_mode); + /* wait until BSC tells us "connected" */ + f_wait_oml(bts_idx, "connected", 5.0); +} + +/* expect to receive a RSL message matching a specified template on a given BTS / stream */ +function f_exp_ipa_rx(integer bts_nr, template (present) RSL_Message t_rx, float t_secs := 2.0, IpaStreamId sid := IPAC_PROTO_RSL_TRX0) +runs on test_CT return RSL_Message { + var ASP_RSL_Unitdata rx_rsl_ud; + timer T := t_secs; + + T.start; + alt { + [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(t_rx, sid)) -> value rx_rsl_ud { + T.stop; + } + [] IPA_RSL[bts_nr].receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout expecting ", t_rx); + mtc.stop; + } + } + return rx_rsl_ud.rsl; +} + +/* transmit RSL on a given BTS/stream */ +function f_ipa_tx(integer bts_nr, template (value) RSL_Message t_tx, IpaStreamId sid := IPAC_PROTO_RSL_TRX0) +runs on test_CT { + IPA_RSL[bts_nr].send(ts_ASP_RSL_UD(t_tx, sid)); +} + +private function f_gen_test_hdlr_pars(integer bssap_idx := 0) return TestHdlrParams { + + var TestHdlrParams pars := valueof(t_def_TestHdlrPars); + if (mp_bssap_cfg[bssap_idx].transport == BSSAP_TRANSPORT_AoIP) { + pars.aoip := true; + } else { + pars.aoip := false; + } + pars.exp_ms_power_level := mp_exp_ms_power_level; + pars.mscpool.bssap_idx := bssap_idx; + + return pars; +} + +type function void_fn(charstring id) runs on MSC_ConnHdlr; + +/* create and connect a MSC_ConnHdlr component */ +private function f_connect_handler(inout MSC_ConnHdlr vc_conn, integer bssap_idx := 0) runs on test_CT { + connect(vc_conn:RAN, g_bssap[bssap_idx].vc_RAN:PROC); + connect(vc_conn:MGCP_PROC, vc_MGCP:MGCP_PROC); + connect(vc_conn:RSL, bts[0].rsl.vc_RSL:CLIENT_PT); + connect(vc_conn:RSL_PROC, bts[0].rsl.vc_RSL:RSL_PROC); + if (isvalue(bts[1])) { + connect(vc_conn:RSL1, bts[1].rsl.vc_RSL:CLIENT_PT); + connect(vc_conn:RSL1_PROC, bts[1].rsl.vc_RSL:RSL_PROC); + } + if (isvalue(bts[2])) { + connect(vc_conn:RSL2, bts[2].rsl.vc_RSL:CLIENT_PT); + connect(vc_conn:RSL2_PROC, bts[2].rsl.vc_RSL:RSL_PROC); + } + connect(vc_conn:BSSAP, g_bssap[bssap_idx].vc_RAN:CLIENT); + if (mp_enable_lcs_tests) { + connect(vc_conn:BSSAP_LE, g_bssap_le.vc_BSSAP_LE:CLIENT); + connect(vc_conn:BSSAP_LE_PROC, g_bssap_le.vc_BSSAP_LE:PROC); + } + connect(vc_conn:MGCP, vc_MGCP:MGCP_CLIENT); + connect(vc_conn:MGCP_MULTI, vc_MGCP:MGCP_CLIENT_MULTI); + connect(vc_conn:STATSD_PROC, vc_STATSD:STATSD_PROC); +} + +/* first function inside ConnHdlr component; sets g_pars + starts function */ +private function f_handler_init(void_fn fn, charstring id, template (omit) TestHdlrParams pars := omit) +runs on MSC_ConnHdlr { + if (isvalue(pars)) { + g_pars := valueof(pars); + } + fn.apply(id); +} + +function f_start_handler(void_fn fn, template (omit) TestHdlrParams pars := omit) +runs on test_CT return MSC_ConnHdlr { + var charstring id := testcasename(); + var MSC_ConnHdlr vc_conn; + var integer bssap_idx := 0; + if (isvalue(pars)) { + bssap_idx := valueof(pars).mscpool.bssap_idx; + } + vc_conn := MSC_ConnHdlr.create(id); + f_connect_handler(vc_conn, bssap_idx); + /* Emit a marker to appear in the SUT's own logging output */ + f_logp(BSCVTY, testcasename() & "() start"); + vc_conn.start(f_handler_init(fn, id, pars)); + return vc_conn; +} + + +testcase TC_chan_act_to_vamos() runs on test_CT { + f_init_vty(); + + f_logp(BSCVTY, "TC_chan_act_to_vamos"); + + f_init(1, false); + f_sleep(1.0); + + f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 1 sub-slot 0 activate-vamos fr"); + + var RSL_Message rsl; + + rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + + var RSL_IE_Body chan_mode_ie; + if (f_rsl_find_ie(rsl, RSL_IE_CHAN_MODE, chan_mode_ie) == false) { + setverdict(fail, "Cannot find RSL_IE_CHAN_MODE"); + mtc.stop; + } + if (chan_mode_ie.chan_mode.ch_rate_type != RSL_CHRT_OSMO_TCH_F_VAMOS) { + setverdict(fail, "expected chan_mode.ch_rate_type == RSL_CHRT_OSMO_TCH_F_VAMOS"); + mtc.stop; + } + + var RSL_IE_Body osmo_tsc_ie; + if (f_rsl_find_ie(rsl, RSL_IE_OSMO_TRAINING_SEQUENCE, osmo_tsc_ie) == false) { + setverdict(fail, "Cannot find RSL_IE_OSMO_TRAINING_SEQUENCE"); + mtc.stop; + } + + var RslChannelNr chan_nr := rsl.ies[0].body.chan_nr; + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 23+10)); + + f_sleep(1.0); + f_vty_transceive(BSCVTY, "show lchan summary"); + var charstring lchan_info := f_vty_transceive_ret(BSCVTY, "show lchan 0 0 1 0"); + if (f_strstr(lchan_info, "State: ESTABLISHED") < 0) { + log("'show lchan' replied: ", lchan_info); + setverdict(fail, "lchan is not in state ESTABLISHED"); + mtc.stop; + } + + f_shutdown_helper(); +} + +/* generate an assignment request for either AoIP or SCCPlite */ +function f_gen_ass_req(boolean osmux_enabled := false, integer bssap_idx := 0, charstring aoip_tla := "1.2.3.4") return PDU_BSSAP { + var PDU_BSSAP ass_cmd; + var BSSMAP_IE_Osmo_OsmuxCID osmux_cid := valueof(ts_OsmuxCID(0)); + if (mp_bssap_cfg[bssap_idx].transport == BSSAP_TRANSPORT_AoIP) { + var BSSMAP_IE_AoIP_TransportLayerAddress tla := + valueof(f_ts_BSSMAP_IE_AoIP_TLA(aoip_tla, 2342)); + if (osmux_enabled) { + ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla, osmux_cid)); + } else { + ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla)); + } + } else { + var BSSMAP_IE_CircuitIdentityCode cic := valueof(ts_BSSMAP_IE_CIC(0,1)); + ass_cmd := valueof(ts_BSSMAP_AssignmentReq(cic, omit)); + } + return ass_cmd; +} + +/* generate an assignment complete template for either AoIP or SCCPlite */ +function f_gen_exp_compl(boolean expect_osmux := false, integer bssap_idx := 0) return template PDU_BSSAP { + var template PDU_BSSAP exp_compl; + var BSSMAP_IE_Osmo_OsmuxCID osmux_cid := valueof(ts_OsmuxCID(0)); + if (mp_bssap_cfg[bssap_idx].transport == BSSAP_TRANSPORT_AoIP) { + if (expect_osmux) { + exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?, osmux_cid); + } else { + exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?, omit); + } + } else { + /* CIC is optional "*" as the MSC allocated it */ + exp_compl := tr_BSSMAP_AssignmentComplete(*, omit); + } + return exp_compl; +} + +/* determine BSSMAP_IE_ChannelType from *first* element of BSSMAP_FIELD_CodecElement */ +function f_BSSMAP_chtype_from_codec(BSSMAP_FIELD_CodecElement a_elem) +return BSSMAP_IE_ChannelType { + /* FIXME: actually look at all elements of BSSMAP_IE_SpeechCodecList */ + var BSSMAP_IE_ChannelType ret := valueof(ts_BSSMAP_IE_ChannelType); + select (a_elem.codecType) { + case (GSM_FR) { + ret.channelRateAndType := ChRate_TCHF; + ret.speechId_DataIndicator := Spdi_TCHF_FR; + } + case (GSM_HR) { + ret.channelRateAndType := ChRate_TCHH; + ret.speechId_DataIndicator := Spdi_TCHH_HR; + } + case (GSM_EFR) { + ret.channelRateAndType := ChRate_TCHF; + ret.speechId_DataIndicator := Spdi_TCHF_EFR; + } + case (FR_AMR) { + ret.channelRateAndType := ChRate_TCHF; + ret.speechId_DataIndicator := Spdi_TCHF_AMR; + } + case (HR_AMR) { + ret.channelRateAndType := ChRate_TCHH; + ret.speechId_DataIndicator := Spdi_TCHH_AMR; + } + case else { + setverdict(fail, "Unsupported codec ", a_elem); + mtc.stop; + } + } + return ret; +} + + +private function f_est_lchan_and_mode_modify_to_vamos() runs on MSC_ConnHdlr { + var PDU_BSSAP ass_cmd := f_gen_ass_req(g_pars.use_osmux); + var template PDU_BSSAP exp_compl := f_gen_exp_compl(g_pars.use_osmux); + + /* puzzle together the ASSIGNMENT REQ for given codec[s] */ + if (mp_bssap_cfg[0].transport == BSSAP_TRANSPORT_AoIP) { + ass_cmd.pdu.bssmap.assignmentRequest.codecList := g_pars.ass_codec_list; + exp_compl.pdu.bssmap.assignmentComplete.speechCodec.codecElements[0] := + g_pars.ass_codec_list.codecElements[0]; + if (isvalue(g_pars.expect_mr_s0_s7)) { + exp_compl.pdu.bssmap.assignmentComplete.speechCodec.codecElements[0].s0_7 := + g_pars.expect_mr_s0_s7; + } + } + ass_cmd.pdu.bssmap.assignmentRequest.channelType := + f_BSSMAP_chtype_from_codec(g_pars.ass_codec_list.codecElements[0]); + log("expecting ASS COMPL like this: ", exp_compl); + + f_establish_fully(ass_cmd, exp_compl); + + /* Expecting TCH/F in timeslot 1 to be active. Let's make sure. */ + var charstring lchan_info := f_vty_transceive_ret(BSCVTY, "show lchan 0 0 1 0"); + if (f_strstr(lchan_info, "State: ESTABLISHED") < 0) { + log("'show lchan' replied: ", lchan_info); + setverdict(fail, "lchan is not in state ESTABLISHED"); + mtc.stop; + } + + f_vty_transceive(BSCVTY, "vamos modify lchan 0 0 1 0 tsc 2 3"); + + var RSL_Message rsl_rr; + RSL.receive(tr_RSL_DATA_REQ(g_chan_nr)) -> value rsl_rr; + + var PDU_ML3_NW_MS l3 := dec_PDU_ML3_NW_MS(rsl_rr.ies[2].body.l3_info.payload); + log("Rx L3 from net: ", l3); + if (not ischosen(l3.msgs.rrm.channelModeModify)) { + setverdict(fail, "Expected channelModeModify message"); + mtc.stop; + } + f_rsl_reply(ts_RRM_ModeModifyAck(l3.msgs.rrm.channelModeModify.channelDescription, + l3.msgs.rrm.channelModeModify.channelMode), rsl_rr); + + var RSL_Message rsl; + RSL.receive(tr_RSL_MODE_MODIFY_REQ(g_chan_nr, ?)) -> value rsl; + + var RSL_IE_Body chan_mode_ie; + if (f_rsl_find_ie(rsl, RSL_IE_CHAN_MODE, chan_mode_ie) == false) { + setverdict(fail, "Cannot find RSL_IE_CHAN_MODE"); + mtc.stop; + } + if (chan_mode_ie.chan_mode.ch_rate_type != RSL_CHRT_OSMO_TCH_F_VAMOS) { + setverdict(fail, "expected chan_mode.ch_rate_type == RSL_CHRT_OSMO_TCH_F_VAMOS"); + mtc.stop; + } + + var RSL_IE_Body osmo_tsc_ie; + if (f_rsl_find_ie(rsl, RSL_IE_OSMO_TRAINING_SEQUENCE, osmo_tsc_ie) == false) { + setverdict(fail, "Cannot find RSL_IE_OSMO_TRAINING_SEQUENCE"); + mtc.stop; + } + + RSL.send(ts_RSL_MODE_MODIFY_ACK(g_chan_nr)); + f_sleep(1.0); + lchan_info := f_vty_transceive_ret(BSCVTY, "show lchan 0 0 1 0"); + if (f_strstr(lchan_info, "State: ESTABLISHED") < 0) { + log("'show lchan' replied: ", lchan_info); + setverdict(fail, "lchan is not in state ESTABLISHED"); + mtc.stop; + } +} + +private function f_TC_mode_modify_to_vamos(charstring id) runs on MSC_ConnHdlr { + f_est_lchan_and_mode_modify_to_vamos(); +} + +testcase TC_mode_modify_to_vamos() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + vc_conn := f_start_handler(refers(f_TC_mode_modify_to_vamos), pars); + vc_conn.done; + f_shutdown_helper(); +} + +private function f_est_and_reassign_to_secondary_lchan(integer reassign_to_tn := -1) runs on MSC_ConnHdlr { + var PDU_BSSAP ass_cmd := f_gen_ass_req(); + var template PDU_BSSAP exp_compl := f_gen_exp_compl(); + + /* puzzle together the ASSIGNMENT REQ for given codec[s] */ + if (mp_bssap_cfg[0].transport == BSSAP_TRANSPORT_AoIP) { + ass_cmd.pdu.bssmap.assignmentRequest.codecList := g_pars.ass_codec_list; + exp_compl.pdu.bssmap.assignmentComplete.speechCodec.codecElements[0] := + g_pars.ass_codec_list.codecElements[0]; + if (isvalue(g_pars.expect_mr_s0_s7)) { + exp_compl.pdu.bssmap.assignmentComplete.speechCodec.codecElements[0].s0_7 := + g_pars.expect_mr_s0_s7; + } + } + ass_cmd.pdu.bssmap.assignmentRequest.channelType := + f_BSSMAP_chtype_from_codec(g_pars.ass_codec_list.codecElements[0]); + log("expecting ASS COMPL like this: ", exp_compl); + + f_establish_fully(ass_cmd, exp_compl); + + f_sleep(1.0); + + var RslChannelNr new_chan_nr := g_chan_nr; + if (reassign_to_tn < 0) { + reassign_to_tn := g_chan_nr.tn + 1; + } + new_chan_nr.tn := reassign_to_tn; + + activate(as_Media_mgw()); + + /* 128 is the TEI for trx 0's VAMOS shadow */ + f_rslem_register(128, new_chan_nr, RSL_PROC); + log("f_rslem_register(128, new_chan_nr = ", new_chan_nr, ")"); + + f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot " & int2str(g_chan_nr.tn) & " sub-slot 0" + & " reassign-to trx 0 timeslot " & int2str(new_chan_nr.tn) & " vamos-sub-slot 0 tsc 4 2"); + /* RSL CHAN ACT is ACKed by RSL emulation */ + + var RSL_Message rsl; + var RSL_IE_Body ie; + var boolean b_unused; + interleave { + [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr)) -> value rsl { + var PDU_ML3_NW_MS l3 := dec_PDU_ML3_NW_MS(rsl.ies[2].body.l3_info.payload); + log("Rx L3 from net: ", l3); + if (ischosen(l3.msgs.rrm.assignmentCommand)) { + + var PDU_ML3_MS_NW l3_tx := valueof(ts_RRM_AssignmentComplete('00'O)); + RSL.send(ts_RSL_EST_IND(new_chan_nr, valueof(ts_RslLinkID_DCCH(0)), + enc_PDU_ML3_MS_NW(l3_tx))); + + var RSL_Message chan_act := f_rslem_get_last_act(RSL_PROC, 128, new_chan_nr); + log("VAMOS secondary chan act was ", chan_act); + + } else { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Unexpected L3 received", l3)); + } + } + [] RSL.receive(tr_RSL_IPA_CRCX(new_chan_nr)) -> value rsl { + var uint7_t rtp_pt := 0; + if (f_rsl_find_ie(rsl, RSL_IE_IPAC_RTP_PAYLOAD, ie)) { + rtp_pt := ie.ipa_rtp_pt; + } + RSL.send(ts_RSL_IPA_CRCX_ACK(new_chan_nr, 123, + oct2int(f_inet_addr("1.2.3.4")), + 4321, + rtp_pt)); + } + [] RSL.receive(tr_RSL_IPA_MDCX(new_chan_nr, ?)) -> value rsl{ + /* Extract conn_id, ip, port, rtp_pt2 from request + use in response */ + b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_CONN_ID, ie); + var uint16_t conn_id := ie.ipa_conn_id; + /* mandatory */ + b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_REMOTE_IP, ie); + var HostPort peer; + peer.host := f_inet_ntoa(int2oct(ie.ipa_remote_ip, 4)); + b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_REMOTE_PORT, ie); + peer.port_nr := ie.ipa_remote_port; + var uint7_t rtp_pt := 0; + /* optional */ + if (f_rsl_find_ie(rsl, RSL_IE_IPAC_RTP_PAYLOAD, ie)) { + rtp_pt := ie.ipa_rtp_pt; + } + RSL.send(ts_RSL_IPA_MDCX_ACK(new_chan_nr, conn_id, + oct2int(f_inet_addr(peer.host)), + peer.port_nr, + rtp_pt)); + } + [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {} + [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { + /* + RSL.send(ts_ASP_RSL_UD(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr), + IPAC_PROTO_RSL_TRX0)); + */ + } + /* (There must be no RSL_MT_REL_REQ on the old lchan.) */ + } + + f_sleep(1.0); + f_vty_transceive(BSCVTY, "show lchan summary"); + f_sleep(5.0); +} + +private function f_TC_assign_to_secondary_lchan(charstring id) runs on MSC_ConnHdlr { + f_est_and_reassign_to_secondary_lchan(); +} + +testcase TC_assign_to_secondary_lchan() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + vc_conn := f_start_handler(refers(f_TC_assign_to_secondary_lchan), pars); + vc_conn.done; + f_shutdown_helper(); +} + +private function f_TC_vamos_multiplex_tch_f_tch_f1(charstring id) runs on MSC_ConnHdlr { + f_est_lchan_and_mode_modify_to_vamos(); + f_logp(BSCVTY, "f_est_lchan_and_mode_modify_to_vamos done"); +} + +private function f_TC_vamos_multiplex_tch_f_tch_f2(charstring id) runs on MSC_ConnHdlr { + f_est_and_reassign_to_secondary_lchan(1); +} + +testcase TC_vamos_multiplex_tch_f_tch_f() runs on test_CT { + var TestHdlrParams pars1 := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn1; + + var TestHdlrParams pars2 := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn2; + pars2.imsi := '001014234234234'H; + pars2.media_nr := 2; + + f_init(1, true); + f_sleep(1.0); + + pars1.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + pars2.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + vc_conn1 := f_start_handler(refers(f_TC_vamos_multiplex_tch_f_tch_f1), pars1); + vc_conn1.done; + + vc_conn2 := f_start_handler(refers(f_TC_vamos_multiplex_tch_f_tch_f2), pars2); + vc_conn2.done; + f_shutdown_helper(); +} + +control { + execute( TC_mode_modify_to_vamos() ); + execute( TC_chan_act_to_vamos() ); + execute( TC_assign_to_secondary_lchan() ); + execute( TC_vamos_multiplex_tch_f_tch_f() ); +} + +} -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 21:46:43 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 21:46:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: allow ASP_RSL_UD on MSC_ConnHdlr RSL References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24412 ) Change subject: allow ASP_RSL_UD on MSC_ConnHdlr RSL ...................................................................... allow ASP_RSL_UD on MSC_ConnHdlr RSL In BSC_Tests_VAMOS.ttcn, in f_est_and_reassign_to_secondary_lchan() there is a missing channel release ack. By allowing ASP_RSL_UD, this rel ack can be sent trivially. Change-Id: Icd04184ed87c359349d86c5e0893c2ce9de2f7f1 --- M bsc/BSC_Tests_VAMOS.ttcn M library/RSL_Emulation.ttcn 2 files changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/12/24412/1 diff --git a/bsc/BSC_Tests_VAMOS.ttcn b/bsc/BSC_Tests_VAMOS.ttcn index ac95827..851516c 100644 --- a/bsc/BSC_Tests_VAMOS.ttcn +++ b/bsc/BSC_Tests_VAMOS.ttcn @@ -1364,10 +1364,8 @@ } [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {} [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { - /* RSL.send(ts_ASP_RSL_UD(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr), IPAC_PROTO_RSL_TRX0)); - */ } /* (There must be no RSL_MT_REL_REQ on the old lchan.) */ } diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index 7aefe7a..315bc89 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -85,7 +85,7 @@ }; type port RSL_DCHAN_PT message { - inout RSLDC_ChanRqd, RSL_Message; + inout RSLDC_ChanRqd, RSL_Message, ASP_RSL_Unitdata; } with { extension "internal" }; type port RSL_CCHAN_PT message { @@ -623,6 +623,9 @@ cid := f_cid_by_comp_ref(vc_conn); IPA_PT.send(ts_ASP_RSL_UD(rx_rsl_msg, ConnectionTable[cid].stream_id)); } + [bts_role] CLIENT_PT.receive(tr_ASP_RSL_UD(?, sid := ?)) -> value rx_rsl { + IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.rsl, rx_rsl.streamId)); + } [not bts_role] CLIENT_PT.receive(tr_RSL_MsgType(?)) -> value rx_rsl_msg sender vc_conn { cid := f_cid_by_comp_ref(vc_conn); conn_id := f_trx_conn_map_resolve(ConnectionTable[cid].stream_id); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24412 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: Icd04184ed87c359349d86c5e0893c2ce9de2f7f1 Gerrit-Change-Number: 24412 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 25 21:59:32 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 21:59:32 +0000 Subject: Change in docker-playground[master]: add ttcn3-bsc-test-vamos References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24413 ) Change subject: add ttcn3-bsc-test-vamos ...................................................................... add ttcn3-bsc-test-vamos The purpose is to run osmo-ttcn3-hacks/bsc/BSC_Tests_VAMOS.ttcn with osmo-bts-omldummy -f VAMOS (send BTS_FEAT_VAMOS = true). Change-Id: I2146388bf683cfba99cef5592b8b141c3a6eabb1 --- A ttcn3-bsc-test-vamos/BSC_Tests.cfg A ttcn3-bsc-test-vamos/Dockerfile A ttcn3-bsc-test-vamos/Makefile A ttcn3-bsc-test-vamos/jenkins.sh A ttcn3-bsc-test-vamos/osmo-bsc.cfg A ttcn3-bsc-test-vamos/osmo-stp.cfg 6 files changed, 659 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/13/24413/1 diff --git a/ttcn3-bsc-test-vamos/BSC_Tests.cfg b/ttcn3-bsc-test-vamos/BSC_Tests.cfg new file mode 100644 index 0000000..a995461 --- /dev/null +++ b/ttcn3-bsc-test-vamos/BSC_Tests.cfg @@ -0,0 +1,74 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/bsc/BSC_Tests.default" + +[LOGGING] +*.JUnitLogger.testsuite_name := "BSC_Tests" + +[TESTPORT_PARAMETERS] +*.BSCVTY.CTRL_HOSTNAME := "172.18.31.20" +*.STATSVTY.CTRL_HOSTNAME := "172.18.31.20" + +[MODULE_PARAMETERS] +BSC_Tests_VAMOS.mp_bsc_ip := "172.18.31.20"; +BSC_Tests_VAMOS.mp_test_ip := "172.18.31.203"; +BSC_Tests_VAMOS.mp_enable_osmux_test := true; +BSC_Tests_VAMOS.mp_bssap_cfg := { + { + transport := BSSAP_TRANSPORT_AoIP, + sccp_service_type := "mtp3_itu", + sctp_addr := { 23905, "172.18.31.203", 2905, "172.18.31.200" }, + own_pc := 185, /* 0.23.1 first MSC emulation */ + own_ssn := 254, + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 254, + sio := '83'O, + rctx := 1 + }, + { + transport := BSSAP_TRANSPORT_AoIP, + sccp_service_type := "mtp3_itu", + sctp_addr := { 23906, "172.18.31.203", 2905, "172.18.31.200" }, + own_pc := 2, /* 0.0.2 second MSC emulation */ + own_ssn := 254, + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 254, + sio := '83'O, + rctx := 2 + }, + { + transport := BSSAP_TRANSPORT_AoIP, + sccp_service_type := "mtp3_itu", + sctp_addr := { 23907, "172.18.31.203", 2905, "172.18.31.200" }, + own_pc := 3, /* 0.0.3 third MSC emulation */ + own_ssn := 254, + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 254, + sio := '83'O, + rctx := 3 + } +}; +BSC_Tests_VAMOS.mp_enable_lcs_tests := true; +BSC_Tests_VAMOS.mp_bssap_le_cfg := { + sccp_service_type := "mtp3_itu", + sctp_addr := { 23908, "172.18.31.203", 2905, "172.18.31.200" }, + own_pc := 190, /* 0.23.6 SMLC emulation */ + own_ssn := 252, /* SMLC side SSN */ + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 250, /* BSC side SSN */ + sio := '83'O, + rctx := 6 +}; +BSC_Tests_CBSP.mp_cgi_bts0 := { '001'H, '01'H, 1, 0 }; +BSC_Tests_CBSP.mp_cgi_bts1 := { '001'H, '01'H, 1, 1 }; +BSC_Tests_CBSP.mp_cgi_bts2 := { '001'H, '01'H, 2, 1 }; +BSC_Tests_CBSP.mp_cgi_bts3 := { '001'H, '01'H, 3, 3 }; +BSC_Tests_CBSP.mp_cbc_ip := "172.18.31.203"; +BSC_Tests_CBSP.mp_cbc_ip6 := "fd02:db8:31::203"; +BSC_Tests_CBSP.mp_bsc_cbsp_ip := "172.18.31.20"; +BSC_Tests_CBSP.mp_bsc_cbsp_ip6 := "fd02:db8:31::20"; + +[MAIN_CONTROLLER] + +[EXECUTE] +BSC_Tests_VAMOS.control diff --git a/ttcn3-bsc-test-vamos/Dockerfile b/ttcn3-bsc-test-vamos/Dockerfile new file mode 100644 index 0000000..1923c38 --- /dev/null +++ b/ttcn3-bsc-test-vamos/Dockerfile @@ -0,0 +1,13 @@ +ARG REGISTRY +ARG USER +FROM $REGISTRY/$USER/debian-stretch-titan +ARG OSMO_TTCN3_BRANCH="master" + +ADD http://git.osmocom.org/osmo-ttcn3-hacks/patch?h=$OSMO_TTCN3_BRANCH /tmp/commit +RUN ttcn3-docker-prepare "$OSMO_TTCN3_BRANCH" bsc + +VOLUME /data + +COPY BSC_Tests.cfg /data/BSC_Tests.cfg + +CMD ttcn3-docker-run bsc BSC_Tests diff --git a/ttcn3-bsc-test-vamos/Makefile b/ttcn3-bsc-test-vamos/Makefile new file mode 100644 index 0000000..913c072 --- /dev/null +++ b/ttcn3-bsc-test-vamos/Makefile @@ -0,0 +1,3 @@ +RUN_ARGS?=--sysctl net.ipv6.conf.all.disable_ipv6=0 --rm --network sigtran --ip 172.18.31.202 -v ggsn-test-vol:/data + +include ../make/Makefile diff --git a/ttcn3-bsc-test-vamos/jenkins.sh b/ttcn3-bsc-test-vamos/jenkins.sh new file mode 100755 index 0000000..6462977 --- /dev/null +++ b/ttcn3-bsc-test-vamos/jenkins.sh @@ -0,0 +1,67 @@ +#!/bin/sh + +. ../jenkins-common.sh +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +docker_images_require \ + "osmo-stp-$IMAGE_SUFFIX" \ + "osmo-bsc-$IMAGE_SUFFIX" \ + "osmo-bts-$IMAGE_SUFFIX" \ + "ttcn3-bsc-test" + +set_clean_up_trap +set -e + +mkdir $VOL_BASE_DIR/bsc-tester +cp BSC_Tests.cfg $VOL_BASE_DIR/bsc-tester/ + +mkdir $VOL_BASE_DIR/stp +cp osmo-stp.cfg $VOL_BASE_DIR/stp/ + +mkdir $VOL_BASE_DIR/bsc +cp osmo-bsc.cfg $VOL_BASE_DIR/bsc/ + +mkdir $VOL_BASE_DIR/bts-omldummy + +SUBNET=31 +network_create $SUBNET + +echo Starting container with STP +docker run --rm \ + $(docker_network_params $SUBNET 200) \ + --ulimit core=-1 \ + -v $VOL_BASE_DIR/stp:/data \ + --name ${BUILD_TAG}-stp -d \ + --ulimit core=-1 \ + $DOCKER_ARGS \ + $REPO_USER/osmo-stp-$IMAGE_SUFFIX + +echo Starting container with BSC +docker run --rm \ + $(docker_network_params $SUBNET 20) \ + --ulimit core=-1 \ + -v $VOL_BASE_DIR/bsc:/data \ + --name ${BUILD_TAG}-bsc -d \ + $DOCKER_ARGS \ + $REPO_USER/osmo-bsc-$IMAGE_SUFFIX + +for i in `seq 0 2`; do + echo Starting container with OML for BTS$i + docker run --rm \ + $(docker_network_params $SUBNET 10$i) \ + --ulimit core=-1 \ + -v $VOL_BASE_DIR/bts-omldummy:/data \ + --name ${BUILD_TAG}-bts$i -d \ + $DOCKER_ARGS \ + $REPO_USER/osmo-bts-$IMAGE_SUFFIX \ + /bin/sh -c "/usr/local/bin/respawn.sh osmo-bts-omldummy -f VAMOS 172.18.31.20 $((i + 1234)) 1 >>/data/osmo-bts-omldummy-${i}.log 2>&1" +done + +echo Starting container with BSC testsuite +docker run --rm \ + $(docker_network_params $SUBNET 203) \ + --ulimit core=-1 \ + -e "TTCN3_PCAP_PATH=/data" \ + -v $VOL_BASE_DIR/bsc-tester:/data \ + --name ${BUILD_TAG}-ttcn3-bsc-test \ + $DOCKER_ARGS \ + $REPO_USER/ttcn3-bsc-test diff --git a/ttcn3-bsc-test-vamos/osmo-bsc.cfg b/ttcn3-bsc-test-vamos/osmo-bsc.cfg new file mode 100644 index 0000000..6685f0e --- /dev/null +++ b/ttcn3-bsc-test-vamos/osmo-bsc.cfg @@ -0,0 +1,427 @@ +! +! OsmoBSC (1.0.1.122-630df) configuration saved from vty +!! +password foo +! +log gsmtap 172.18.31.203 + logging level set-all debug + logging filter all 1 +! +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging print category-hex 0 + logging timestamp 1 + logging print extended-timestamp 1 + logging print file basename last + logging print level 1 + logging level set-all debug + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp notice + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice + logging level lmgcp notice +! +stats interval 0 +stats reporter statsd + prefix TTCN3 + level subscriber + remote-ip 172.18.31.203 + remote-port 8125 + flush-period 1 + mtu 1024 + enable +! +line vty + no login + bind 0.0.0.0 +! +e1_input + e1_line 0 driver ipa + e1_line 0 port 0 + no e1_line 0 keepalive +cs7 instance 0 + asp asp-clnt-msc-0 2905 2905 m3ua + local-ip 172.18.31.20 + local-ip fd02:db8:31::20 + remote-ip 172.18.31.200 + remote-ip fd02:db8:31::200 + sccp-address msc2 + point-code 0.0.2 + sccp-address msc3 + point-code 0.0.3 +network + network country code 1 + mobile network code 1 + encryption a5 0 1 3 + neci 1 + paging any use tch 0 + handover 1 + handover window rxlev averaging 10 + handover window rxqual averaging 1 + handover window rxlev neighbor averaging 10 + handover power budget interval 6 + handover power budget hysteresis 3 + handover maximum distance 9999 + timer t3113 10 + timer t3212 30 + bts 0 + type sysmobts + band DCS1800 + cell_identity 0 + location_area_code 1 + dtx uplink force + dtx downlink + base_station_id_code 10 + ms max power 15 + cell reselection hysteresis 4 + rxlev access min 0 + radio-link-timeout 32 + channel allocator ascending + rach tx integer 9 + rach max transmission 7 + channel-descrption attach 1 + channel-descrption bs-pa-mfrms 5 + channel-descrption bs-ag-blks-res 1 + early-classmark-sending forbidden + ip.access unit_id 1234 0 + oml ip.access stream_id 255 line 0 + neighbor-list mode manual-si5 + neighbor-list add arfcn 100 + neighbor-list add arfcn 200 + si5 neighbor-list add arfcn 10 + si5 neighbor-list add arfcn 20 + codec-support fr hr efr amr + gprs mode gprs + gprs routing area 0 + gprs network-control-order nc0 + gprs cell bvci 1234 + gprs cell timer blocking-timer 3 + gprs cell timer blocking-retries 3 + gprs cell timer unblocking-retries 3 + gprs cell timer reset-timer 3 + gprs cell timer reset-retries 3 + gprs cell timer suspend-timer 10 + gprs cell timer suspend-retries 3 + gprs cell timer resume-timer 10 + gprs cell timer resume-retries 3 + gprs cell timer capability-update-timer 10 + gprs cell timer capability-update-retries 3 + gprs nsei 1234 + gprs ns timer tns-block 3 + gprs ns timer tns-block-retries 3 + gprs ns timer tns-reset 3 + gprs ns timer tns-reset-retries 3 + gprs ns timer tns-test 30 + gprs ns timer tns-alive 3 + gprs ns timer tns-alive-retries 10 + gprs nsvc 0 nsvci 1234 + gprs nsvc 0 local udp port 23000 + gprs nsvc 0 remote udp port 23000 + gprs nsvc 0 remote ip 192.168.100.239 + gprs nsvc 1 nsvci 0 + gprs nsvc 1 local udp port 0 + gprs nsvc 1 remote udp port 0 + gprs nsvc 1 remote ip 0.0.0.0 + no force-combined-si + si2quater neighbor-list add earfcn 111 thresh-hi 20 thresh-lo 10 prio 3 qrxlv 22 meas 3 + trx 0 + rf_locked 0 + arfcn 871 + nominal power 23 + max_power_red 20 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4+CBCH + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config PDCH + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 + bts 1 + type sysmobts + band DCS1800 + cell_identity 1 + location_area_code 1 + dtx uplink force + dtx downlink + base_station_id_code 11 + ms max power 15 + cell reselection hysteresis 4 + rxlev access min 0 + radio-link-timeout 32 + channel allocator ascending + rach tx integer 9 + rach max transmission 7 + channel-descrption attach 1 + channel-descrption bs-pa-mfrms 5 + channel-descrption bs-ag-blks-res 1 + early-classmark-sending forbidden + ip.access unit_id 1235 0 + oml ip.access stream_id 255 line 0 + neighbor-list mode manual-si5 + neighbor-list add arfcn 100 + neighbor-list add arfcn 200 + si5 neighbor-list add arfcn 10 + si5 neighbor-list add arfcn 20 + codec-support fr hr efr amr + gprs mode gprs + gprs routing area 0 + gprs network-control-order nc0 + gprs cell bvci 1235 + gprs cell timer blocking-timer 3 + gprs cell timer blocking-retries 3 + gprs cell timer unblocking-retries 3 + gprs cell timer reset-timer 3 + gprs cell timer reset-retries 3 + gprs cell timer suspend-timer 10 + gprs cell timer suspend-retries 3 + gprs cell timer resume-timer 10 + gprs cell timer resume-retries 3 + gprs cell timer capability-update-timer 10 + gprs cell timer capability-update-retries 3 + gprs nsei 1235 + gprs ns timer tns-block 3 + gprs ns timer tns-block-retries 3 + gprs ns timer tns-reset 3 + gprs ns timer tns-reset-retries 3 + gprs ns timer tns-test 30 + gprs ns timer tns-alive 3 + gprs ns timer tns-alive-retries 10 + gprs nsvc 0 nsvci 1235 + gprs nsvc 0 local udp port 23000 + gprs nsvc 0 remote udp port 23000 + gprs nsvc 0 remote ip 192.168.100.239 + gprs nsvc 1 nsvci 0 + gprs nsvc 1 local udp port 0 + gprs nsvc 1 remote udp port 0 + gprs nsvc 1 remote ip 0.0.0.0 + no force-combined-si + si2quater neighbor-list add earfcn 111 thresh-hi 20 thresh-lo 10 prio 3 qrxlv 22 meas 3 + trx 0 + rf_locked 0 + arfcn 871 + nominal power 23 + max_power_red 20 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4+CBCH + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config PDCH + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 + bts 2 + type sysmobts + band DCS1800 + cell_identity 1 + location_area_code 2 + dtx uplink force + dtx downlink + base_station_id_code 12 + ms max power 15 + cell reselection hysteresis 4 + rxlev access min 0 + radio-link-timeout 32 + channel allocator ascending + rach tx integer 9 + rach max transmission 7 + channel-descrption attach 1 + channel-descrption bs-pa-mfrms 5 + channel-descrption bs-ag-blks-res 1 + early-classmark-sending forbidden + ip.access unit_id 1236 0 + oml ip.access stream_id 255 line 0 + neighbor-list mode manual-si5 + neighbor-list add arfcn 100 + neighbor-list add arfcn 200 + si5 neighbor-list add arfcn 10 + si5 neighbor-list add arfcn 20 + codec-support fr hr efr amr + gprs mode gprs + gprs routing area 0 + gprs network-control-order nc0 + gprs cell bvci 1236 + gprs cell timer blocking-timer 3 + gprs cell timer blocking-retries 3 + gprs cell timer unblocking-retries 3 + gprs cell timer reset-timer 3 + gprs cell timer reset-retries 3 + gprs cell timer suspend-timer 10 + gprs cell timer suspend-retries 3 + gprs cell timer resume-timer 10 + gprs cell timer resume-retries 3 + gprs cell timer capability-update-timer 10 + gprs cell timer capability-update-retries 3 + gprs nsei 1236 + gprs ns timer tns-block 3 + gprs ns timer tns-block-retries 3 + gprs ns timer tns-reset 3 + gprs ns timer tns-reset-retries 3 + gprs ns timer tns-test 30 + gprs ns timer tns-alive 3 + gprs ns timer tns-alive-retries 10 + gprs nsvc 0 nsvci 1236 + gprs nsvc 0 local udp port 23000 + gprs nsvc 0 remote udp port 23000 + gprs nsvc 0 remote ip 192.168.100.239 + gprs nsvc 1 nsvci 0 + gprs nsvc 1 local udp port 0 + gprs nsvc 1 remote udp port 0 + gprs nsvc 1 remote ip 0.0.0.0 + no force-combined-si + si2quater neighbor-list add earfcn 111 thresh-hi 20 thresh-lo 10 prio 3 qrxlv 22 meas 3 + trx 0 + rf_locked 0 + arfcn 871 + nominal power 23 + max_power_red 20 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4+CBCH + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config PDCH + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 + bts 3 + type sysmobts + band DCS1800 + cell_identity 3 + location_area_code 3 + # re-use bts 2's ARFCN 871 and BSIC 12 (to test handover config) + base_station_id_code 12 + trx 0 + rf_locked 0 + arfcn 871 + nominal power 23 + max_power_red 20 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4 + timeslot 1 + phys_chan_config TCH/F + timeslot 2 + phys_chan_config TCH/F + timeslot 3 + phys_chan_config TCH/F + timeslot 4 + phys_chan_config TCH/F + timeslot 5 + phys_chan_config TCH/H + timeslot 6 + phys_chan_config PDCH + timeslot 7 + phys_chan_config PDCH +msc 0 + allow-emergency allow + amr-config 12_2k forbidden + amr-config 10_2k forbidden + amr-config 7_95k forbidden + amr-config 7_40k forbidden + amr-config 6_70k forbidden + amr-config 5_90k allowed + amr-config 5_15k forbidden + amr-config 4_75k forbidden + codec-list fr1 fr2 fr3 hr1 hr3 + mgw remote-ip 172.18.31.203 + lcls-mode mgw-loop +msc 1 + msc-addr msc2 + mgw remote-ip 172.18.31.203 +msc 2 + msc-addr msc3 + mgw remote-ip 172.18.31.203 + +network + nri bitlen 10 + # a NULL NRI that is outside the NRI ranges used by the MSCs: + nri null add 0 + # a NULL NRI that is also used by an MSC: + nri null add 1 +msc 0 + nri add 1 255 +msc 1 + nri add 256 511 +msc 2 + nri add 512 767 + # range 768-1024 is not assigned to any MSC on purpose + +bsc + mid-call-timeout 0 + no missing-msc-text +ctrl + bind 0.0.0.0 +cbc + mode disabled + client + remote-ip 172.18.31.203 + remote-port 48049 + server + local-ip 172.18.31.20 + local-port 48050 +smlc + enable diff --git a/ttcn3-bsc-test-vamos/osmo-stp.cfg b/ttcn3-bsc-test-vamos/osmo-stp.cfg new file mode 100644 index 0000000..c254a4a --- /dev/null +++ b/ttcn3-bsc-test-vamos/osmo-stp.cfg @@ -0,0 +1,75 @@ +! +! OsmoSTP (0.8.1) configuration saved from vty +!! +! +log gsmtap 172.18.31.203 + logging level set-all debug + logging filter all 1 +! +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging print category-hex 0 + logging timestamp 1 + logging print extended-timestamp 1 + logging print file basename last + logging print level 1 + logging level set-all notice +! +line vty + no login +! +cs7 instance 0 + xua rkm routing-key-allocation dynamic-permitted + asp virt-msc0-0 23905 2905 m3ua + local-ip 172.18.31.200 + local-ip fd02:db8:31::200 + remote-ip 172.18.31.203 + remote-ip fd02:db8:31::203 + as mahlzeit ipa + routing-key 0 0.23.4 + point-code override dpc 0.23.1 + as virt-msc0 m3ua + asp virt-msc0-0 + routing-key 1 0.23.1 + + asp virt-msc1-0 23906 2905 m3ua + local-ip 172.18.31.200 + local-ip fd02:db8:31::200 + remote-ip 172.18.31.203 + remote-ip fd02:db8:31::203 + as virt-msc1 m3ua + asp virt-msc1-0 + routing-key 2 0.0.2 + + asp virt-msc2-0 23907 2905 m3ua + local-ip 172.18.31.200 + local-ip fd02:db8:31::200 + remote-ip 172.18.31.203 + remote-ip fd02:db8:31::203 + as virt-msc2 m3ua + asp virt-msc2-0 + routing-key 3 0.0.3 + + asp virt-smlc-0 23908 2905 m3ua + local-ip 172.18.31.200 + local-ip fd02:db8:31::200 + remote-ip 172.18.31.203 + remote-ip fd02:db8:31::203 + as virt-smlc m3ua + asp virt-smlc-0 + routing-key 6 0.23.6 + + route-table system + update route 0.23.1 7.255.7 linkset virt-msc0 + update route 0.0.2 7.255.7 linkset virt-msc1 + update route 0.0.3 7.255.7 linkset virt-msc2 + update route 0.23.6 7.255.7 linkset virt-smlc + listen m3ua 2905 + accept-asp-connections dynamic-permitted + local-ip 172.18.31.200 + local-ip fd02:db8:31::200 + listen ipa 5000 + accept-asp-connections dynamic-permitted + local-ip 172.18.31.200 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2146388bf683cfba99cef5592b8b141c3a6eabb1 Gerrit-Change-Number: 24413 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Tue May 25 22:00:21 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 22:00:21 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <60ad7384adca0_68252ade5ccbe5fc171814@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/libosmocore failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 25s] [190/201] cumulate libgio-2_0-0-2.68.2-1.1 [ 25s] [191/201] cumulate shadow-4.8.1-6.2 [ 25s] [192/201] cumulate systemd-mini-246.13-1.2 [ 25s] [193/201] cumulate util-linux-2.36.2-1.3 [ 25s] [194/201] cumulate gio-branding-upstream-2.68.2-1.1 [ 25s] [195/201] cumulate glib2-tools-2.68.2-1.1 [ 25s] [196/201] cumulate libgnutls-devel-3.7.1-2.1 [ 25s] [197/201] cumulate polkit-0.118-5.2 [ 25s] [198/201] cumulate rpm-build-4.16.1.3-2.2 [ 25s] [199/201] cumulate libpolkit0-0.118-5.2 [ 25s] [200/201] cumulate pcsc-lite-1.9.1-1.2 [ 25s] [201/201] cumulate pcsc-lite-devel-1.9.1-1.2 [ 25s] now installing cumulated packages [ 25s] Preparing... ######################################## [ 25s] file /usr/bin/dbus-cleanup-sockets conflicts between attempted installs of dbus-1-1.12.20-5.2.armv7hl and dbus-1-1.12.20-5.2.armv7hl [ 25s] file /usr/bin/dbus-daemon conflicts between attempted installs of dbus-1-1.12.20-5.2.armv7hl and dbus-1-1.12.20-5.2.armv7hl [ 25s] file /usr/bin/dbus-monitor conflicts between attempted installs of dbus-1-1.12.20-5.2.armv7hl and dbus-1-1.12.20-5.2.armv7hl [ 25s] file /usr/bin/dbus-send conflicts between attempted installs of dbus-1-1.12.20-5.2.armv7hl and dbus-1-1.12.20-5.2.armv7hl [ 25s] file /usr/bin/dbus-test-tool conflicts between attempted installs of dbus-1-1.12.20-5.2.armv7hl and dbus-1-1.12.20-5.2.armv7hl [ 25s] file /usr/bin/dbus-update-activation-environment conflicts between attempted installs of dbus-1-1.12.20-5.2.armv7hl and dbus-1-1.12.20-5.2.armv7hl [ 25s] file /usr/bin/dbus-uuidgen conflicts between attempted installs of dbus-1-1.12.20-5.2.armv7hl and dbus-1-1.12.20-5.2.armv7hl [ 26s] exit ... [ 26s] ### VM INTERACTION START ### [ 29s] [ 14.975101] sysrq: Power Off [ 29s] [ 15.031404] reboot: Power down [ 29s] ### VM INTERACTION END ### [ 29s] [ 29s] armbuild22 failed "build libosmocore.spec" at Tue May 25 22:00:04 UTC 2021. [ 29s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue May 25 22:09:32 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 May 2021 22:09:32 +0000 Subject: Change in osmo-ci[master]: ttcn3: add ttcn3-bsc-test-vamos References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24414 ) Change subject: ttcn3: add ttcn3-bsc-test-vamos ...................................................................... ttcn3: add ttcn3-bsc-test-vamos Change-Id: I9c4918c4f1da28b97db6386485e115f7e091a842 --- M jobs/ttcn3-testsuites.yml 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/14/24414/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 3b35ab9..1704327 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -129,6 +129,9 @@ - ttcn3-pcap-client-test: blocking: "^(ttcn3|TTCN3-.*)-pcap-client-test.*" timer: 40 11 * * * + - ttcn3-bsc-test-vamos: + blocking: "^(ttcn3|TTCN3-.*)-bsc-test.*" + timer: 00 12 * * * # debian-stretch latest stable - nplab-m3ua-test-latest: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I9c4918c4f1da28b97db6386485e115f7e091a842 Gerrit-Change-Number: 24414 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Tue May 25 22:17:04 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 22:17:04 +0000 Subject: Build failure of network:osmocom:nightly/yder in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <60ad7780d23e_68252ade5ccbe5fc1761088@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/yder/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/yder failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly yder Last lines of build log: [ 91s] + cd yder-1.4.13 [ 91s] + find . -name CMakeLists.txt -exec sed -i -re '/^[[:blank:]]*[sS][eE][tT][[:blank:]]*\([[:blank:]]*(CMAKE_BUILD_TYPE|CMAKE_COLOR_MAKEFILE|CMAKE_INSTALL_PREFIX|CMAKE_VERBOSE_MAKEFILE).*\)/{s/^/#IGNORE /}' '{}' + [ 91s] + mkdir -p build [ 92s] + cd build [ 92s] + /usr/bin/cmake /home/abuild/rpmbuild/BUILD/yder-1.4.13/. '-GUnix Makefiles' -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DCMAKE_INSTALL_LIBDIR:PATH=lib -DCMAKE_INSTALL_LIBEXECDIR=/usr/libexec -DCMAKE_BUILD_TYPE=RelWithDebInfo '-DCMAKE_C_FLAGS=-O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -DNDEBUG' '-DCMAKE_CXX_FLAGS=-O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -DNDEBUG' '-DCMAKE_Fortran_FLAGS=-O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -DNDEBUG' '-DCMAKE_EXE_LINKER_FLAGS=-flto=auto -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now' '-DCMAKE_MODULE_LINKER_FLAGS=-flto=auto -Wl,--as-needed' '-DCMAKE_SHARED_LINKER_FLAGS=-flto=auto -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now' -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=OFF -DCMAKE_COLOR_MAKEFILE:BOOL=OFF -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF -DCMAKE_MODULES_INSTALL_DIR=/usr/lib/cmake/yder -DCMAKE_INSTALL_PREFIX:PATH=/ [ 92s] -- The C compiler identification is unknown [ 92s] CMake Error at CMakeLists.txt:19 (project): [ 92s] No CMAKE_C_COMPILER could be found. [ 92s] [ 92s] Tell CMake where to find the compiler by setting either the environment [ 92s] variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to [ 92s] the compiler, or to the compiler name if it is in the PATH. [ 92s] [ 92s] [ 92s] -- Configuring incomplete, errors occurred! [ 92s] See also "/home/abuild/rpmbuild/BUILD/yder-1.4.13/build/CMakeFiles/CMakeOutput.log". [ 92s] See also "/home/abuild/rpmbuild/BUILD/yder-1.4.13/build/CMakeFiles/CMakeError.log". [ 92s] error: Bad exit status from /var/tmp/rpm-tmp.ROYK3R (%build) [ 92s] [ 92s] [ 92s] RPM build errors: [ 92s] Bad exit status from /var/tmp/rpm-tmp.ROYK3R (%build) [ 92s] ### VM INTERACTION START ### [ 95s] [ 67.429107] sysrq: Power Off [ 95s] [ 67.439006] reboot: Power down [ 96s] ### VM INTERACTION END ### [ 96s] [ 96s] obs-arm-5 failed "build yder.spec" at Tue May 25 22:16:56 UTC 2021. [ 96s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 22:23:35 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 22:23:35 +0000 Subject: Build failure of network:osmocom:nightly/libsmpp34 in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <60ad7904c6fa6_68252ade5ccbe5fc17747cb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libsmpp34/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/libsmpp34 failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libsmpp34 Last lines of build log: [ 106s] + ./configure --host=armv7hl-suse-linux-gnueabi --build=armv7hl-suse-linux-gnueabi --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --disable-dependency-tracking --disable-static --includedir=/usr/include/libsmpp34 [ 108s] checking for a BSD-compatible install... /usr/bin/install -c [ 108s] checking whether build environment is sane... yes [ 109s] checking for a thread-safe mkdir -p... /usr/bin/mkdir -p [ 109s] checking for gawk... gawk [ 109s] checking whether make sets $(MAKE)... yes [ 109s] checking whether make supports nested variables... yes [ 109s] checking whether make supports nested variables... (cached) yes [ 109s] checking for armv7hl-suse-linux-gnueabi-gcc... no [ 109s] checking for gcc... no [ 109s] checking for armv7hl-suse-linux-gnueabi-cc... no [ 109s] checking for cc... no [ 109s] checking for armv7hl-suse-linux-gnueabi-cl.exe... no [ 109s] checking for cl.exe... no [ 109s] configure: error: in `/home/abuild/rpmbuild/BUILD/libsmpp34-1.14.1.202105250026': [ 109s] configure: error: no acceptable C compiler found in $PATH [ 109s] See `config.log' for more details [ 110s] error: Bad exit status from /var/tmp/rpm-tmp.lDjk63 (%build) [ 110s] [ 110s] [ 110s] RPM build errors: [ 110s] Bad exit status from /var/tmp/rpm-tmp.lDjk63 (%build) [ 110s] ### VM INTERACTION START ### [ 113s] [ 78.458141] sysrq: Power Off [ 113s] [ 78.468778] reboot: Power down [ 114s] ### VM INTERACTION END ### [ 114s] [ 114s] obs-arm-5 failed "build libsmpp34.spec" at Tue May 25 22:23:22 UTC 2021. [ 114s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 22:27:50 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 22:27:50 +0000 Subject: Build failure of network:osmocom:nightly/libgtpnl in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <60ad79f5b6f10_68252ade5ccbe5fc17825de@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libgtpnl/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/libgtpnl failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libgtpnl Last lines of build log: [ 121s] checking for gawk... gawk [ 122s] checking whether make sets $(MAKE)... yes [ 122s] checking whether make supports nested variables... yes [ 122s] checking how to create a pax tar archive... gnutar [ 122s] checking whether make supports nested variables... (cached) yes [ 122s] checking for armv7hl-suse-linux-gnueabi-pkg-config... /usr/bin/armv7hl-suse-linux-gnueabi-pkg-config [ 122s] checking pkg-config is at least version 0.9.0... yes [ 122s] checking for LIBMNL... yes [ 122s] checking for armv7hl-suse-linux-gnueabi-gcc... no [ 122s] checking for gcc... no [ 122s] checking for armv7hl-suse-linux-gnueabi-cc... no [ 122s] checking for cc... no [ 122s] checking for armv7hl-suse-linux-gnueabi-cl.exe... no [ 122s] checking for cl.exe... no [ 122s] configure: error: in `/home/abuild/rpmbuild/BUILD/libgtpnl-1.2.2.202105250026': [ 122s] configure: error: no acceptable C compiler found in $PATH [ 122s] See `config.log' for more details [ 123s] error: Bad exit status from /var/tmp/rpm-tmp.r6ucaa (%build) [ 123s] [ 123s] [ 123s] RPM build errors: [ 123s] Bad exit status from /var/tmp/rpm-tmp.r6ucaa (%build) [ 123s] ### VM INTERACTION START ### [ 126s] [ 99.531455] sysrq: Power Off [ 126s] [ 99.539010] reboot: Power down [ 127s] ### VM INTERACTION END ### [ 127s] [ 127s] obs-arm-6 failed "build libgtpnl.spec" at Tue May 25 22:27:33 UTC 2021. [ 127s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue May 25 22:31:14 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 25 May 2021 22:31:14 +0000 Subject: Build failure of network:osmocom:nightly/libusrp in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <60ad7ac8e71f2_68252ade5ccbe5fc17897dd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libusrp/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/libusrp failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libusrp Last lines of build log: [ 123s] checking for g++... no [ 123s] checking for c++... no [ 123s] checking for gpp... no [ 123s] checking for aCC... no [ 123s] checking for CC... no [ 123s] checking for cxx... no [ 123s] checking for cc++... no [ 123s] checking for cl.exe... no [ 123s] checking for FCC... no [ 123s] checking for KCC... no [ 123s] checking for RCC... no [ 123s] checking for xlC_r... no [ 123s] checking for xlC... no [ 123s] checking whether the C++ compiler works... no [ 123s] configure: error: in `/home/abuild/rpmbuild/BUILD/libusrp-3.4.5.1.b293.202105250026': [ 123s] configure: error: C++ compiler cannot create executables [ 123s] See `config.log' for more details [ 124s] error: Bad exit status from /var/tmp/rpm-tmp.dZFqQw (%build) [ 124s] [ 124s] [ 124s] RPM build errors: [ 124s] Bad exit status from /var/tmp/rpm-tmp.dZFqQw (%build) [ 124s] ### VM INTERACTION START ### [ 127s] [ 99.055525] sysrq: Power Off [ 127s] [ 99.070299] reboot: Power down [ 128s] ### VM INTERACTION END ### [ 128s] [ 128s] obs-arm-6 failed "build libusrp.spec" at Tue May 25 22:31:11 UTC 2021. [ 128s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed May 26 03:58:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 May 2021 03:58:01 +0000 Subject: Change in pysim[master]: shell: Fix activate_file + deactivate_file commands In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24405 ) Change subject: shell: Fix activate_file + deactivate_file commands ...................................................................... shell: Fix activate_file + deactivate_file commands We cannot re-activate a deactivated file after we have selected somethng else, as SELECT will fail on the deactivated file. Hence, the deactivate_file command needs to be used with a file name as argument. Change-Id: Ief4d2bf8ea90497a8f25d1986aeea935c615f9bb --- M pySim-shell.py M pySim/commands.py M pySim/filesystem.py 3 files changed, 18 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim-shell.py b/pySim-shell.py index edd8112..59bfa28 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -419,13 +419,17 @@ def do_deactivate_file(self, opts): """Deactivate the current EF""" - fid = self._cmd.rs.selected_file.fid - (data, sw) = self._cmd.card._scc.deactivate_file(fid) + (data, sw) = self._cmd.card._scc.deactivate_file() def do_activate_file(self, opts): - """Activate the current EF""" - fid = self._cmd.rs.selected_file.fid - (data, sw) = self._cmd.card._scc.activate_file(fid) + """Activate the specified EF""" + path = opts.arg_list[0] + (data, sw) = self._cmd.rs.activate_file(path) + + def complete_activate_file(self, text, line, begidx, endidx) -> List[str]: + """Command Line tab completion for ACTIVATE FILE""" + index_dict = { 1: self._cmd.rs.selected_file.get_selectable_names() } + return self._cmd.index_based_complete(text, line, begidx, endidx, index_dict=index_dict) open_chan_parser = argparse.ArgumentParser() open_chan_parser.add_argument('chan_nr', type=int, default=0, help='Channel Number') diff --git a/pySim/commands.py b/pySim/commands.py index 4640fe1..1fbea16 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -367,9 +367,9 @@ """Execute DECATIVATE FILE command as per TS 102 221 Section 11.1.14.""" return self._tp.send_apdu_constr_checksw(self.cla_byte, '04', '00', '00', None, None, None) - def activate_file(self): + def activate_file(self, fid): """Execute ACTIVATE FILE command as per TS 102 221 Section 11.1.15.""" - return self._tp.send_apdu_constr_checksw(self.cla_byte, '44', '00', '00', None, None, None) + return self._tp.send_apdu_checksw(self.cla_byte + '44000002' + fid) def manage_channel(self, mode='open', lchan_nr=0): """Execute MANAGE CHANNEL command as per TS 102 221 Section 11.1.17.""" diff --git a/pySim/filesystem.py b/pySim/filesystem.py index aaf333b..8c45ba1 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -1150,6 +1150,13 @@ (data, sw) = self.card._scc.status() return self.selected_file.decode_select_response(data) + def activate_file(self, name:str): + """Request ACTIVATE FILE of specified file.""" + sels = self.selected_file.get_selectables() + f = sels[name] + data, sw = self.card._scc.activate_file(f.fid) + return data, sw + def read_binary(self, length:int=None, offset:int=0): """Read [part of] a transparent EF binary data. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ief4d2bf8ea90497a8f25d1986aeea935c615f9bb Gerrit-Change-Number: 24405 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 03:58:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 May 2021 03:58:47 +0000 Subject: Change in docker-playground[master]: add ttcn3-bsc-test-vamos In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24413 ) Change subject: add ttcn3-bsc-test-vamos ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2146388bf683cfba99cef5592b8b141c3a6eabb1 Gerrit-Change-Number: 24413 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 26 May 2021 03:58:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 03:58:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 May 2021 03:58:53 +0000 Subject: Change in osmo-ci[master]: ttcn3: add ttcn3-bsc-test-vamos In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24414 ) Change subject: ttcn3: add ttcn3-bsc-test-vamos ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I9c4918c4f1da28b97db6386485e115f7e091a842 Gerrit-Change-Number: 24414 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 26 May 2021 03:58:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 04:00:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 May 2021 04:00:07 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24388 ) Change subject: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idc5796151e3e83f42d60c2d4cb7c35890d76a7f5 Gerrit-Change-Number: 24388 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 04:00:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 04:00:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 May 2021 04:00:46 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: rework handling of Training Sequence In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24327 ) Change subject: [VAMOS] osmo-bts-trx: rework handling of Training Sequence ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3744bc308b99ef941e6e9d139444e414abebc14b Gerrit-Change-Number: 24327 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 04:00:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 04:01:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 May 2021 04:01:10 +0000 Subject: Change in osmo-bts[master]: [VAMOS] l1sap_chan_act(): handle Osmocom specific TSC IE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24329 ) Change subject: [VAMOS] l1sap_chan_act(): handle Osmocom specific TSC IE ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I717e5b2a6ca5b4faeaab9cae4bb971907945871b Gerrit-Change-Number: 24329 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 04:01:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 04:01:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 May 2021 04:01:33 +0000 Subject: Change in osmo-bts[master]: [VAMOS] common/oml: generalize checking BTS_FEAT_MULTI_TSC In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24389 ) Change subject: [VAMOS] common/oml: generalize checking BTS_FEAT_MULTI_TSC ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iaa5aced70e166963106c27ebdb09adaae22daea4 Gerrit-Change-Number: 24389 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 04:01:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 04:01:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 May 2021 04:01:44 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: indicate BTS_FEAT_{MULTI_TSC, VAMOS} as supported In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24390 ) Change subject: [VAMOS] osmo-bts-trx: indicate BTS_FEAT_{MULTI_TSC,VAMOS} as supported ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iba3f9787c32c802cfab716176e6ada799f5f21df Gerrit-Change-Number: 24390 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 04:01:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Wed May 26 05:02:56 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 26 May 2021 05:02:56 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <60add6886def3_68252ade5ccbe5fc2100486@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Raspbian_10/armv7l Package network:osmocom:nightly/osmo-remsim failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 227s] Running mktexlsr. This may take some time... done. [ 227s] [480/506] installing texlive-latex-base-2018.20190227-2 [ 228s] Processing triggers for man-db (2.8.5-2) ... [ 228s] Processing triggers for tex-common (6.11) ... [ 228s] Running mktexlsr. This may take some time... done. [ 229s] Running updmap-sys. This may take some time... done. [ 230s] Running mktexlsr /var/lib/texmf ... done. [ 230s] Building format(s) --all. [ 246s] This may take some time... done. [ 246s] [481/506] installing libyder-dev-1.4.4-4.1 [ 246s] [482/506] installing python3-nwdiag-1.0.4+dfsg-1 [ 247s] Processing triggers for man-db (2.8.5-2) ... [ 247s] [483/506] installing texlive-lang-greek-2018.20190227-2 [ 252s] dpkg-deb (subprocess): decompressing archive member: lzma error: compressed data is corrupt [ 252s] dpkg-deb: error: subprocess returned error exit status 2 [ 252s] dpkg: error processing archive .init_b_cache/texlive-lang-greek.deb (--install): [ 252s] cannot copy extracted data for './usr/share/texlive/texmf-dist/fonts/type1/public/cbfonts/goxo3583.pfb' to '/usr/share/texlive/texmf-dist/fonts/type1/public/cbfonts/goxo3583.pfb.dpkg-new': unexpected end of file or stream [ 252s] Processing triggers for tex-common (6.11) ... [ 252s] Running mktexlsr. This may take some time... done. [ 253s] Errors were encountered while processing: [ 253s] .init_b_cache/texlive-lang-greek.deb [ 253s] exit ... [ 253s] ### VM INTERACTION START ### [ 256s] [ 234.822032] sysrq: SysRq : Power Off [ 256s] [ 234.823451] reboot: Power down [ 256s] ### VM INTERACTION END ### [ 256s] [ 256s] armbuild04 failed "build osmo-remsim_0.2.2.107.a06d.202105260026.dsc" at Wed May 26 05:02:42 UTC 2021. [ 256s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed May 26 05:09:10 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 26 May 2021 05:09:10 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <60add80d74112_68252ade5ccbe5fc2104327@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Raspbian_10/armv7l Package network:osmocom:nightly/osmo-trx failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 38s] [3/603] installing binutils-common-2.31.1-16+rpi2 [ 38s] [4/603] installing emacsen-common-3.0.4 [ 39s] [5/603] installing fonts-dejavu-core-2.37-1 [ 39s] [6/603] installing fonts-gfs-baskerville-1.1-5 [ 39s] [7/603] installing fonts-gfs-porson-1.1-6 [ 39s] [8/603] installing fonts-lmodern-2.004.5-6 [ 40s] [9/603] installing gcc-8-base-8.3.0-6+rpi1 [ 40s] [10/603] installing gnupg-l10n-2.2.12-1+rpi1+deb10u1 [ 40s] [11/603] installing hicolor-icon-theme-0.17-2 [ 40s] [12/603] installing imagemagick-6-common-8:6.9.10.23+dfsg-2.1+deb10u1 [ 40s] [13/603] installing libatk1.0-data-2.30.0-2 [ 41s] [14/603] installing libaudit-common-1:2.8.4-3 [ 41s] [15/603] installing libavahi-common-data-0.7-4+deb10u1 [ 41s] [16/603] installing libgdk-pixbuf2.0-common-2.38.1+dfsg-1 [ 41s] [17/603] installing libgs9-common-9.27~dfsg-2+deb10u4 [ 41s] dpkg-deb (subprocess): decompressing archive member: lzma error: compressed data is corrupt [ 41s] dpkg-deb: error: subprocess returned error exit status 2 [ 41s] dpkg: error processing archive .init_b_cache/libgs9-common.deb (--install): [ 41s] cannot copy extracted data for './usr/share/ghostscript/9.27/Resource/Font/NimbusMonoPS-BoldItalic' to '/usr/share/ghostscript/9.27/Resource/Font/NimbusMonoPS-BoldItalic.dpkg-new': unexpected end of file or stream [ 41s] Errors were encountered while processing: [ 41s] .init_b_cache/libgs9-common.deb [ 41s] exit ... [ 41s] ### VM INTERACTION START ### [ 44s] [ 20.723937] sysrq: SysRq : Power Off [ 44s] [ 20.725784] reboot: Power down [ 44s] ### VM INTERACTION END ### [ 44s] [ 44s] armbuild04 failed "build osmo-trx_1.3.1.6.c27fe.202105260026.dsc" at Wed May 26 05:09:04 UTC 2021. [ 44s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed May 26 09:57:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 May 2021 09:57:19 +0000 Subject: Change in docker-playground[master]: add ttcn3-bsc-test-vamos In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24413 ) Change subject: add ttcn3-bsc-test-vamos ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2146388bf683cfba99cef5592b8b141c3a6eabb1 Gerrit-Change-Number: 24413 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 09:57:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 09:57:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 May 2021 09:57:51 +0000 Subject: Change in osmo-ci[master]: ttcn3: add ttcn3-bsc-test-vamos In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24414 ) Change subject: ttcn3: add ttcn3-bsc-test-vamos ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I9c4918c4f1da28b97db6386485e115f7e091a842 Gerrit-Change-Number: 24414 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 09:57:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 10:00:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 May 2021 10:00:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_establish_fully: verify lchan ESTABLISHED state In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24406 ) Change subject: bsc: f_establish_fully: verify lchan ESTABLISHED state ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24406/1/bsc/MSC_ConnectionHandler.ttcn File bsc/MSC_ConnectionHandler.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24406/1/bsc/MSC_ConnectionHandler.ttcn at 1312 PS1, Line 1312: if (f_strstr(lchan_info, "State: ESTABLISHED") < 0) { I have the feeling this is turning into something else than blackbox testing. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24406 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: I341e2fa1e8946e7516705fa079e6e54fce9e58b0 Gerrit-Change-Number: 24406 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 10:00:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 10:00:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 May 2021 10:00:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: refuse VAMOS mode without BTS_FEAT_VAMOS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24407 ) Change subject: bsc: refuse VAMOS mode without BTS_FEAT_VAMOS ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24407 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: I73b8eb5e6073ae46b83bed9fddd4762861029a84 Gerrit-Change-Number: 24407 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 10:00:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 10:02:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 May 2021 10:02:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_reassignment_fr() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24408 ) Change subject: bsc: add TC_reassignment_fr() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24408 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: I05fecefb9d6f9f23a0362f133170bca4da92e308 Gerrit-Change-Number: 24408 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 10:02:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 10:03:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 May 2021 10:03:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RSL_Types: add VAMOS chan rates and OSMO_TRAINING_SEQUENCE IE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24409 ) Change subject: RSL_Types: add VAMOS chan rates and OSMO_TRAINING_SEQUENCE IE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24409 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: Idbe9014754eff9c8b2bff19828581bae5b36fadf Gerrit-Change-Number: 24409 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 10:03:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 10:04:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 May 2021 10:04:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: IPA_Emulation: add TEIs for four VAMOS shadow TRXes In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24410 ) Change subject: IPA_Emulation: add TEIs for four VAMOS shadow TRXes ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24410 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: I7c647603e0f91df0d1cfd2dde29f6ab3ca609a06 Gerrit-Change-Number: 24410 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 10:04:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 10:05:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 May 2021 10:05:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: allow ASP_RSL_UD on MSC_ConnHdlr RSL In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24412 ) Change subject: allow ASP_RSL_UD on MSC_ConnHdlr RSL ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24412 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: Icd04184ed87c359349d86c5e0893c2ce9de2f7f1 Gerrit-Change-Number: 24412 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 10:05:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 10:06:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 May 2021 10:06:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 ) Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/1/bsc/BSC_Tests_VAMOS.ttcn File bsc/BSC_Tests_VAMOS.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/1/bsc/BSC_Tests_VAMOS.ttcn at 1327 PS1, Line 1327: whitespace -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 10:06:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 10:08:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 May 2021 10:08:29 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24388 ) Change subject: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idc5796151e3e83f42d60c2d4cb7c35890d76a7f5 Gerrit-Change-Number: 24388 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 10:08:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 10:15:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 10:15:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RSL_Types: add VAMOS chan rates and OSMO_TRAINING_SEQUENCE IE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24409 ) Change subject: RSL_Types: add VAMOS chan rates and OSMO_TRAINING_SEQUENCE IE ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24409 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: Idbe9014754eff9c8b2bff19828581bae5b36fadf Gerrit-Change-Number: 24409 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 10:15:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 10:16:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 10:16:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: IPA_Emulation: add TEIs for four VAMOS shadow TRXes In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24410 ) Change subject: IPA_Emulation: add TEIs for four VAMOS shadow TRXes ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24410 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: I7c647603e0f91df0d1cfd2dde29f6ab3ca609a06 Gerrit-Change-Number: 24410 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 10:16:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 13:24:55 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 13:24:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: fix wrong parameter type in ts_PCUIF_DATA_IND References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24415 ) Change subject: library/PCUIF_Types: fix wrong parameter type in ts_PCUIF_DATA_IND ...................................................................... library/PCUIF_Types: fix wrong parameter type in ts_PCUIF_DATA_IND The 'lqual_cb' represents the link quality in centiBels, which can be negative. Use 'int16_t' instead of 'uint16_t'. Change-Id: I038eec22928d831ddbc0a2704830d5e2eab2cb6b --- M library/PCUIF_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/15/24415/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index b259cfc..9d6b023 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -438,7 +438,7 @@ template (value) int8_t rssi := -80, template (value) uint16_t ber10k := 0, template (value) int16_t ta_offs_qbits := 0, - template (value) uint16_t lqual_cb := 10) := { + template (value) int16_t lqual_cb := 10) := { msg_type := PCU_IF_MSG_DATA_IND, bts_nr := bts_nr, spare := '0000'O, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24415 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: I038eec22928d831ddbc0a2704830d5e2eab2cb6b Gerrit-Change-Number: 24415 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 13:24:55 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 13:24:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: f_ms_tx_data_ind(): indicate actual Timing Advance in DATA.ind References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24416 ) Change subject: f_ms_tx_data_ind(): indicate actual Timing Advance in DATA.ind ...................................................................... f_ms_tx_data_ind(): indicate actual Timing Advance in DATA.ind Change-Id: Id89a5ed1ea82a81f0ce4e75204117afb322f5264 --- M pcu/GPRS_Components.ttcn M pcu/PCU_selftest.ttcn 2 files changed, 5 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/16/24416/1 diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index 5cf9104..2297fb6 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -626,7 +626,7 @@ function f_ms_tx_data_ind(inout GprsMS ms, octetstring data, uint32_t fn := 0, template (value) TsTrxBtsNum nr := ts_TsTrxBtsNum) runs on MS_BTS_IFACE_CT { - f_pcuif_tx_data_ind(data, ms.lqual_cb, fn, nr := nr); + f_pcuif_tx_data_ind(data, fn, ms.ta, ms.lqual_cb, nr := nr); } function f_ms_tx_ul_block(inout GprsMS ms, template (value) RlcmacUlBlock ul_data, @@ -1070,14 +1070,15 @@ } /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ -function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0, +function f_pcuif_tx_data_ind(octetstring data, uint32_t fn := 0, + TimingAdvance ta := 0, int16_t lqual_cb := 0, template (value) TsTrxBtsNum nr := ts_TsTrxBtsNum) runs on MS_BTS_IFACE_CT { var template RAW_PCU_EventParam ev_param := {tdma_fn := ? }; BTS.send(ts_PCUIF_DATA_IND(nr.bts_nr, nr.trx_nr, nr.ts_nr, nr.blk_nr, sapi := PCU_IF_SAPI_PDTCH, data := data, fn := fn, arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), - lqual_cb := lqual_cb)); + ta_offs_qbits := ta * 4, lqual_cb := lqual_cb)); if (fn != 0) { ev_param := {tdma_fn := fn }; } diff --git a/pcu/PCU_selftest.ttcn b/pcu/PCU_selftest.ttcn index 70138bf..a8bcaee 100644 --- a/pcu/PCU_selftest.ttcn +++ b/pcu/PCU_selftest.ttcn @@ -291,7 +291,7 @@ data := f_pad_oct(data, f_rlcmac_cs_mcs2block_len(schemes[i]), '00'O); /* Send to PCU so that we get gsmtap traces to verify with wireshark */ - f_pcuif_tx_data_ind(data, 0, 0); + f_pcuif_tx_data_ind(data); log("Decoding ", schemes[i]); ul_data := dec_RlcmacUlBlock(data); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24416 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: Id89a5ed1ea82a81f0ce4e75204117afb322f5264 Gerrit-Change-Number: 24416 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 13:24:56 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 13:24:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU_Tests: new test case TC_ta_ul_ack_nack_first_block() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24417 ) Change subject: PCU_Tests: new test case TC_ta_ul_ack_nack_first_block() ...................................................................... PCU_Tests: new test case TC_ta_ul_ack_nack_first_block() In a busy network, there can be a significant delay between resource allocation (Packet Uplink Assignment above) and the actual time when the MS is allowed to transmit the first Uplink data block. Verify Timing Advance value indicated in Packet Uplink ACK/NACK message sent in response to the first Uplink block after resource allocation. Change-Id: I30f82c51b3e9a167af4dbce3e74697dd79ff15bf --- M pcu/PCU_Tests.ttcn 1 file changed, 54 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/17/24417/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 3d374d0..a8b809a 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -496,6 +496,59 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Verify Timing Advance value indicated in Packet Uplink ACK/NACK message + * sent in response to the first Uplink block after resource allocation. */ +testcase TC_ta_ul_ack_nack_first_block() runs on RAW_PCU_Test_CT { + var GprsMS ms := valueof(t_GprsMS_def); + var PacketUlAckNack ul_ack_nack; + var PacketTimingAdvance pkt_ta; + var RlcmacDlBlock dl_block; + var uint32_t sched_fn; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* Establish an Uplink TBF */ + f_ms_establish_ul_tbf(ms); + + /* In a busy network, there can be a significant delay between resource + * allocation (Packet Uplink Assignment above) and the actual time when + * the MS is allowed to transmit the first Uplink data block. */ + + /* Simulate a random TA in range 8..16 */ + ms.ta := 8 + f_rnd_int(9); + + /* We're in One-Phase Access contention resoultion, include TLLI */ + f_ms_tx_ul_data_block_multi(ms, 1, with_tlli := true, fn := ms.ul_tbf.start_time_fn); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + + ul_ack_nack := dl_block.ctrl.payload.u.ul_ack_nack; + if (ispresent(ul_ack_nack.gprs.pkt_ta)) { + pkt_ta := ul_ack_nack.gprs.pkt_ta; + } else if (ispresent(ul_ack_nack.egprs.pkt_ta)) { + pkt_ta := ul_ack_nack.egprs.pkt_ta; + } else { + setverdict(fail, "PacketTimingAdvance IE is not present"); + f_shutdown(__BFILE__, __LINE__); + } + + if (not ispresent(pkt_ta.val)) { + setverdict(fail, "Timing Advance value is not present"); + f_shutdown(__BFILE__, __LINE__); + } else if (pkt_ta.val != ms.ta) { + setverdict(fail, "Timing Advance mismatch: expected ", + ms.ta, ", but received ", pkt_ta.val); + f_shutdown(__BFILE__, __LINE__); + } +} + /* Verify Timing Advance value(s) indicated during the packet Downlink assignment * procedure as per 3GPP TS 44.018, section 3.5.3. There seems to be a bug in the * IUT that causes it to send an unreasonable Timing Advance value > 0 despite @@ -5850,6 +5903,7 @@ execute( TC_pcuif_suspend_active_tbf() ); execute( TC_ta_ptcch_idle() ); execute( TC_ta_rach_imm_ass() ); + execute( TC_ta_ul_ack_nack_first_block() ); execute( TC_ta_idle_dl_tbf_ass() ); execute( TC_ta_ptcch_ul_multi_tbf() ); execute( TC_cs_lqual_ul_tbf() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24417 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: I30f82c51b3e9a167af4dbce3e74697dd79ff15bf Gerrit-Change-Number: 24417 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 13:43:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 13:43:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU_Tests: new test case TC_ta_ul_ack_nack_first_block() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24417 ) Change subject: PCU_Tests: new test case TC_ta_ul_ack_nack_first_block() ...................................................................... Patch Set 1: It's been a long time since I worked on test cases for osmo-pcu :) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24417 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: I30f82c51b3e9a167af4dbce3e74697dd79ff15bf Gerrit-Change-Number: 24417 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 13:43:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 13:46:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 May 2021 13:46:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: f_ms_tx_data_ind(): indicate actual Timing Advance in DATA.ind In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24416 ) Change subject: f_ms_tx_data_ind(): indicate actual Timing Advance in DATA.ind ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24416 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: Id89a5ed1ea82a81f0ce4e75204117afb322f5264 Gerrit-Change-Number: 24416 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 13:46:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 13:47:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 May 2021 13:47:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: fix wrong parameter type in ts_PCUIF_DATA_IND In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24415 ) Change subject: library/PCUIF_Types: fix wrong parameter type in ts_PCUIF_DATA_IND ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24415 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: I038eec22928d831ddbc0a2704830d5e2eab2cb6b Gerrit-Change-Number: 24415 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 13:47:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 13:50:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 May 2021 13:50:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU_Tests: new test case TC_ta_ul_ack_nack_first_block() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24417 ) Change subject: PCU_Tests: new test case TC_ta_ul_ack_nack_first_block() ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24417/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24417/1/pcu/PCU_Tests.ttcn at 526 PS1, Line 526: ms.ta := 8 + f_rnd_int(9); I'm not sure what do we gain by using a random number here other than doing it non-deterministic. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24417 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: I30f82c51b3e9a167af4dbce3e74697dd79ff15bf Gerrit-Change-Number: 24417 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 13:50:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 13:53:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 13:53:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_reassignment_fr() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24408 ) Change subject: bsc: add TC_reassignment_fr() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24408 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: I05fecefb9d6f9f23a0362f133170bca4da92e308 Gerrit-Change-Number: 24408 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 13:53:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 13:55:54 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 13:55:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_establish_fully: verify lchan ESTABLISHED state In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24406 ) Change subject: bsc: f_establish_fully: verify lchan ESTABLISHED state ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24406 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: I341e2fa1e8946e7516705fa079e6e54fce9e58b0 Gerrit-Change-Number: 24406 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 13:55:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 14:03:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 14:03:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: refuse VAMOS mode without BTS_FEAT_VAMOS In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24407 ) Change subject: bsc: refuse VAMOS mode without BTS_FEAT_VAMOS ...................................................................... Patch Set 1: Code-Review+1 (1 comment) This looks more like something that should be tested using the unit tests or the VTY transcript tests, given that you're triggering assignment/mode-modify using osmo-bsc specific magic commands. I am not against having these tests here, but I still find them odd. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24407/1/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24407/1/bsc/BSC_Tests.ttcn at 8629 PS1, Line 8629: BSC BTS -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24407 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: I73b8eb5e6073ae46b83bed9fddd4762861029a84 Gerrit-Change-Number: 24407 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 14:03:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 14:12:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 14:12:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 ) Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... Patch Set 1: Code-Review-2 (2 comments) This change introduces a lot of duplicated records/functions. You can avoid this using the 'friend'-imports, see ETSI ES 201 873-1, section 8.2.4 "Definition of friend modules". We already use this feature a lot in BTS_Tests[SMSCB,OML,perf].ttcn. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/1/bsc/BSC_Tests_VAMOS.ttcn File bsc/BSC_Tests_VAMOS.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/1/bsc/BSC_Tests_VAMOS.ttcn at 94 PS1, Line 94: SystemInformationConfig This record can be imported from BSC_Tests (check 'friend' keyword), no need to duplicate it here. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/1/bsc/BSC_Tests_VAMOS.ttcn at 109 PS1, Line 109: SystemInformationConfig_omit Same here and down below. Maintaining copies of the same records/functions is going to be painful, so let's avoid it as much as possible. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 14:12:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 14:16:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 14:16:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: allow ASP_RSL_UD on MSC_ConnHdlr RSL In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24412 ) Change subject: allow ASP_RSL_UD on MSC_ConnHdlr RSL ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24412 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: Icd04184ed87c359349d86c5e0893c2ce9de2f7f1 Gerrit-Change-Number: 24412 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 14:16:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 14:32:18 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 14:32:18 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 2: filter modes also for VTY In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24357 ) Change subject: AMR config cleanup step 2: filter modes also for VTY ...................................................................... Patch Set 4: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia7519d2fa9e7f0b61b222d27d077bde4660c40b9 Gerrit-Change-Number: 24357 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 14:32:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 14:32:39 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 14:32:39 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 3: generate AMR LV on msg composition In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24358 ) Change subject: AMR config cleanup step 3: generate AMR LV on msg composition ...................................................................... Patch Set 4: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie57f9d0e3912632903d9740291225bfd1634ed47 Gerrit-Change-Number: 24358 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 14:32:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 14:33:11 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 14:33:11 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: allow assignment to a specific lchan In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24362 ) Change subject: assignment_fsm: allow assignment to a specific lchan ...................................................................... Patch Set 3: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71e0d4ff4746706e0be5266e4574d70ca432e3d7 Gerrit-Change-Number: 24362 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 26 May 2021 14:33:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 14:33:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 14:33:24 +0000 Subject: Change in osmo-bsc[master]: add secondary RSL link for VAMOS (shadow TEI) In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24366 ) Change subject: add secondary RSL link for VAMOS (shadow TEI) ...................................................................... Patch Set 6: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic304924b017f4588f749268e99ed1326db4c9f47 Gerrit-Change-Number: 24366 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 14:33:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 14:37:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 14:37:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: refuse VAMOS mode without BTS_FEAT_VAMOS In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24407 ) Change subject: bsc: refuse VAMOS mode without BTS_FEAT_VAMOS ...................................................................... Patch Set 1: > This looks more like something that should be tested using the unit tests or the VTY transcript tests the point here is testing the OML part: when the BTS send BTS_FEAT_VAMOS = 0, then this vty command should fail. The OML is done by osmo-bts-omldummy of course, so not that visible here. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24407 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: I73b8eb5e6073ae46b83bed9fddd4762861029a84 Gerrit-Change-Number: 24407 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 14:37:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 14:37:18 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 14:37:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: refuse VAMOS mode without BTS_FEAT_VAMOS In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24407 ) Change subject: bsc: refuse VAMOS mode without BTS_FEAT_VAMOS ...................................................................... Patch Set 1: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24407 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: I73b8eb5e6073ae46b83bed9fddd4762861029a84 Gerrit-Change-Number: 24407 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 14:37:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 14:39:31 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 14:39:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_establish_fully: verify lchan ESTABLISHED state In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24406 ) Change subject: bsc: f_establish_fully: verify lchan ESTABLISHED state ...................................................................... Patch Set 1: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24406 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: I341e2fa1e8946e7516705fa079e6e54fce9e58b0 Gerrit-Change-Number: 24406 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 14:39:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 14:39:43 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 26 May 2021 14:39:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392 to look at the new patch set (#2). Change subject: MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) ...................................................................... MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) The testcase TC_one_crcx_loopback_rtp_implicit triggers a bug in older osmo-mgw version that eventually leads into a crash of osmo-mgw. This also means that all tests after TC_one_crcx_loopback_rtp_implicit will also fail. Lets move TC_one_crcx_loopback_rtp_implicit to the end of the control section to postpone the crash to the very end of the testrun. Change-Id: I25abf30f8c49e580c46e7a61e887bd0add9a4cd4 Related: OS#5123 --- M mgw/MGCP_Test.ttcn 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/92/24392/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392 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: I25abf30f8c49e580c46e7a61e887bd0add9a4cd4 Gerrit-Change-Number: 24392 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 14:40:14 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 26 May 2021 14:40:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392 ) Change subject: MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392/1/mgw/MGCP_Test.ttcn File mgw/MGCP_Test.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392/1/mgw/MGCP_Test.ttcn at 2477 PS1, Line 2477: execute(TC_one_crcx_loopback_rtp_implicit()); > add* ;) Done -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392 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: I25abf30f8c49e580c46e7a61e887bd0add9a4cd4 Gerrit-Change-Number: 24392 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 14:40:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 14:42:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 May 2021 14:42:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392 ) Change subject: MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit) ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24392 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: I25abf30f8c49e580c46e7a61e887bd0add9a4cd4 Gerrit-Change-Number: 24392 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 14:42:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 14:48:42 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 14:48:42 +0000 Subject: Change in osmo-bts[master]: common/vty: facilitate finding duplicate PHY/TRX associations In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24289 ) Change subject: common/vty: facilitate finding duplicate PHY/TRX associations ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24289/1/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/24289/1/src/common/vty.c at 993 PS1, Line 993: /* Be tolerant in the interactive VTY mode */ > why do you want to be tolerant? this may break running process from working correctly. Because a VTY user may want to re-map trx/phy at run-time. I am not sure if this would work flawlessly as of the current state of code, but we may want to support this later. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I132e08fc496abef278b94254cebfac7a4285a7c2 Gerrit-Change-Number: 24289 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 14:48:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 14:56:26 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 26 May 2021 14:56:26 +0000 Subject: Change in osmo-bsc[master]: implement CHANnel ACTIVate to VAMOS mode In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24375 ) Change subject: implement CHANnel ACTIVate to VAMOS mode ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec Gerrit-Change-Number: 24375 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 14:56:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 14:57:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 May 2021 14:57:08 +0000 Subject: Change in osmo-bts[master]: common/vty: facilitate finding duplicate PHY/TRX associations In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24289 ) Change subject: common/vty: facilitate finding duplicate PHY/TRX associations ...................................................................... Patch Set 1: -Code-Review (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24289/1/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/24289/1/src/common/vty.c at 993 PS1, Line 993: /* Be tolerant in the interactive VTY mode */ > Because a VTY user may want to re-map trx/phy at run-time. [?] Do we really want to support this? Is it even going to work properly? Is there a real need for it? I have my doubts. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I132e08fc496abef278b94254cebfac7a4285a7c2 Gerrit-Change-Number: 24289 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 14:57:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 14:59:11 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 26 May 2021 14:59:11 +0000 Subject: Change in docker-playground[master]: add ttcn3-bsc-test-vamos In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24413 ) Change subject: add ttcn3-bsc-test-vamos ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2146388bf683cfba99cef5592b8b141c3a6eabb1 Gerrit-Change-Number: 24413 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 14:59:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 15:01:24 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 26 May 2021 15:01:24 +0000 Subject: Change in osmo-bsc[master]: VTY: add 'vamos-subslot' to activate a secondary lchan In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24380 ) Change subject: VTY: add 'vamos-subslot' to activate a secondary lchan ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If44b6bdb78046502eb0b66529ae190a955d9978c Gerrit-Change-Number: 24380 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 15:01:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 15:16:52 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 15:16:52 +0000 Subject: Change in osmo-bts[master]: common/vty: facilitate finding duplicate PHY/TRX associations In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24289 ) Change subject: common/vty: facilitate finding duplicate PHY/TRX associations ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24289/1/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/24289/1/src/common/vty.c at 993 PS1, Line 993: /* Be tolerant in the interactive VTY mode */ > Do we really want to support this? Is it even going to work properly? Is there a real need for it? I [?] I cannot guarantee without testing this, but in the code I often see we do check if the pointers are not NULL. Regarding the need, I guess it might be related to the new feature allowing to load and apply config snippets at run-time. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I132e08fc496abef278b94254cebfac7a4285a7c2 Gerrit-Change-Number: 24289 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 15:16:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 15:21:00 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 15:21:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 to look at the new patch set (#2). Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... add bsc/BSC_Tests_VAMOS.ttcn BSC_Tests_VAMOS.ttcn is separate from BSC_Tests.ttcn in order to instruct osmo-bts-omldummy to pass BTS_FEAT_VAMOS == true in the OML BTS attributes. Add tests: TC_mode_modify_to_vamos() TC_chan_act_to_vamos() TC_assign_to_secondary_lchan() TC_vamos_multiplex_tch_f_tch_f() Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 --- M bsc/BSC_Tests.ttcn A bsc/BSC_Tests_VAMOS.ttcn 2 files changed, 382 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/11/24411/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 15:21:10 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 15:21:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: neels has removed a vote from this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 ) Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... Removed Code-Review-2 by fixeria -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 15:21:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 15:21:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 ) Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... Patch Set 2: thanks for reducing this file -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 15:21:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 15:22:30 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 15:22:30 +0000 Subject: Change in docker-playground[master]: add ttcn3-bsc-test-vamos In-Reply-To: References: Message-ID: Hello laforge, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/24413 to look at the new patch set (#2). Change subject: add ttcn3-bsc-test-vamos ...................................................................... add ttcn3-bsc-test-vamos The purpose is to run osmo-ttcn3-hacks/bsc/BSC_Tests_VAMOS.ttcn with osmo-bts-omldummy -f VAMOS (send BTS_FEAT_VAMOS = true). Change-Id: I2146388bf683cfba99cef5592b8b141c3a6eabb1 --- A ttcn3-bsc-test-vamos/BSC_Tests.cfg A ttcn3-bsc-test-vamos/Dockerfile A ttcn3-bsc-test-vamos/Makefile A ttcn3-bsc-test-vamos/jenkins.sh A ttcn3-bsc-test-vamos/osmo-bsc.cfg A ttcn3-bsc-test-vamos/osmo-stp.cfg 6 files changed, 659 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/13/24413/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2146388bf683cfba99cef5592b8b141c3a6eabb1 Gerrit-Change-Number: 24413 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 15:22:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 May 2021 15:22:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 ) Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 15:22:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 15:24:54 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 15:24:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 to look at the new patch set (#3). Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... add bsc/BSC_Tests_VAMOS.ttcn BSC_Tests_VAMOS.ttcn is separate from BSC_Tests.ttcn in order to instruct osmo-bts-omldummy to pass BTS_FEAT_VAMOS == true in the OML BTS attributes. Add tests: TC_mode_modify_to_vamos() TC_chan_act_to_vamos() TC_assign_to_secondary_lchan() TC_vamos_multiplex_tch_f_tch_f() Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 --- M bsc/BSC_Tests.ttcn A bsc/BSC_Tests_VAMOS.ttcn 2 files changed, 382 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/11/24411/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 15:25:32 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 15:25:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 ) Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... Patch Set 3: Code-Review+1 re-add pau's +1 after whitespace fix -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 15:25:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 15:28:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 15:28:07 +0000 Subject: Change in docker-playground[master]: add ttcn3-bsc-test-vamos In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24413 ) Change subject: add ttcn3-bsc-test-vamos ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2146388bf683cfba99cef5592b8b141c3a6eabb1 Gerrit-Change-Number: 24413 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 May 2021 15:28:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 17:06:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 May 2021 17:06:12 +0000 Subject: Change in osmo-bts[master]: Fix regression in 'bts: Clean up TS selection in sign_link_up' References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24418 ) Change subject: Fix regression in 'bts: Clean up TS selection in sign_link_up' ...................................................................... Fix regression in 'bts: Clean up TS selection in sign_link_up' Fixes: 518ada9414755ab859e0139289090a1ef7ba9be3 Change-Id: I63af96235eb6e0a7334936f65e1f44d4422198a5 --- M src/common/abis.c 1 file changed, 2 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/18/24418/1 diff --git a/src/common/abis.c b/src/common/abis.c index 55962bd..ba3169a 100644 --- a/src/common/abis.c +++ b/src/common/abis.c @@ -118,6 +118,8 @@ return g_bts->oml_link; case E1INP_SIGN_RSL: + /* fall through to default to catch TRXn having type = E1INP_SIGN_RSL + n */ + default: trx_nr = type - E1INP_SIGN_RSL; sign_ts = e1inp_line_ipa_rsl_ts(line, trx_nr); LOGP(DABIS, LOGL_INFO, "RSL Signalling link for TRX%d up\n", @@ -133,10 +135,6 @@ trx, trx->rsl_tei, 0); trx_link_estab(trx); return trx->rsl_link; - - default: - LOGP(DABIS, LOGL_ERROR, "Unknwon Signalling link up %d\n", (int)type); - return NULL; } return NULL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I63af96235eb6e0a7334936f65e1f44d4422198a5 Gerrit-Change-Number: 24418 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 17:18:48 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 26 May 2021 17:18:48 +0000 Subject: Change in osmo-bts[master]: Fix regression in 'bts: Clean up TS selection in sign_link_up' In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24418 ) Change subject: Fix regression in 'bts: Clean up TS selection in sign_link_up' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I63af96235eb6e0a7334936f65e1f44d4422198a5 Gerrit-Change-Number: 24418 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 26 May 2021 17:18:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 18:15:04 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 18:15:04 +0000 Subject: Change in osmo-bts[master]: Fix regression in 'bts: Clean up TS selection in sign_link_up' In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24418 ) Change subject: Fix regression in 'bts: Clean up TS selection in sign_link_up' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I63af96235eb6e0a7334936f65e1f44d4422198a5 Gerrit-Change-Number: 24418 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 26 May 2021 18:15:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 18:15:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 18:15:08 +0000 Subject: Change in osmo-bts[master]: Fix regression in 'bts: Clean up TS selection in sign_link_up' In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24418 ) Change subject: Fix regression in 'bts: Clean up TS selection in sign_link_up' ...................................................................... Fix regression in 'bts: Clean up TS selection in sign_link_up' Fixes: 518ada9414755ab859e0139289090a1ef7ba9be3 Change-Id: I63af96235eb6e0a7334936f65e1f44d4422198a5 --- M src/common/abis.c 1 file changed, 2 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified Hoernchen: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/common/abis.c b/src/common/abis.c index 55962bd..ba3169a 100644 --- a/src/common/abis.c +++ b/src/common/abis.c @@ -118,6 +118,8 @@ return g_bts->oml_link; case E1INP_SIGN_RSL: + /* fall through to default to catch TRXn having type = E1INP_SIGN_RSL + n */ + default: trx_nr = type - E1INP_SIGN_RSL; sign_ts = e1inp_line_ipa_rsl_ts(line, trx_nr); LOGP(DABIS, LOGL_INFO, "RSL Signalling link for TRX%d up\n", @@ -133,10 +135,6 @@ trx, trx->rsl_tei, 0); trx_link_estab(trx); return trx->rsl_link; - - default: - LOGP(DABIS, LOGL_ERROR, "Unknwon Signalling link up %d\n", (int)type); - return NULL; } return NULL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I63af96235eb6e0a7334936f65e1f44d4422198a5 Gerrit-Change-Number: 24418 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 19:20:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 19:20:01 +0000 Subject: Change in libosmocore[master]: rsl: make rsl_dec_chan_nr() more readable, use RSL_CHAN_NR_MASK References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24419 ) Change subject: rsl: make rsl_dec_chan_nr() more readable, use RSL_CHAN_NR_MASK ...................................................................... rsl: make rsl_dec_chan_nr() more readable, use RSL_CHAN_NR_MASK Change-Id: I1650e3b02e79461e42499268fa8ed30bff667489 --- M src/gsm/rsl.c 1 file changed, 23 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/19/24419/1 diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c index 8d34543..706fb54 100644 --- a/src/gsm/rsl.c +++ b/src/gsm/rsl.c @@ -187,38 +187,30 @@ { *timeslot = chan_nr & 0x7; - if ((chan_nr & 0xf8) == RSL_CHAN_Bm_ACCHs) { - *type = RSL_CHAN_Bm_ACCHs; + switch (chan_nr & RSL_CHAN_NR_MASK) { + case RSL_CHAN_Bm_ACCHs: + case RSL_CHAN_BCCH: + case RSL_CHAN_RACH: + case RSL_CHAN_PCH_AGCH: + case RSL_CHAN_OSMO_PDCH: + case RSL_CHAN_OSMO_CBCH4: + case RSL_CHAN_OSMO_CBCH8: + *type = chan_nr & RSL_CHAN_NR_MASK; *subch = 0; - } else if ((chan_nr & 0xf0) == RSL_CHAN_Lm_ACCHs) { - *type = RSL_CHAN_Lm_ACCHs; - *subch = (chan_nr >> 3) & 0x1; - } else if ((chan_nr & 0xe0) == RSL_CHAN_SDCCH4_ACCH) { - *type = RSL_CHAN_SDCCH4_ACCH; - *subch = (chan_nr >> 3) & 0x3; - } else if ((chan_nr & 0xc0) == RSL_CHAN_SDCCH8_ACCH) { - *type = RSL_CHAN_SDCCH8_ACCH; - *subch = (chan_nr >> 3) & 0x7; - } else if ((chan_nr & 0xf8) == RSL_CHAN_BCCH) { - *type = RSL_CHAN_BCCH; - *subch = 0; - } else if ((chan_nr & 0xf8) == RSL_CHAN_RACH) { - *type = RSL_CHAN_RACH; - *subch = 0; - } else if ((chan_nr & 0xf8) == RSL_CHAN_PCH_AGCH) { - *type = RSL_CHAN_PCH_AGCH; - *subch = 0; - } else if ((chan_nr & 0xf8) == RSL_CHAN_OSMO_PDCH) { - *type = RSL_CHAN_OSMO_PDCH; - *subch = 0; - } else if ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH4) { - *type = RSL_CHAN_OSMO_CBCH4; - *subch = 0; - } else if ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH8) { - *type = RSL_CHAN_OSMO_CBCH8; - *subch = 0; - } else - return -EINVAL; + break; + default: + if ((chan_nr & 0xf0) == RSL_CHAN_Lm_ACCHs) { + *type = RSL_CHAN_Lm_ACCHs; + *subch = (chan_nr >> 3) & 0x1; + } else if ((chan_nr & 0xe0) == RSL_CHAN_SDCCH4_ACCH) { + *type = RSL_CHAN_SDCCH4_ACCH; + *subch = (chan_nr >> 3) & 0x3; + } else if ((chan_nr & 0xc0) == RSL_CHAN_SDCCH8_ACCH) { + *type = RSL_CHAN_SDCCH8_ACCH; + *subch = (chan_nr >> 3) & 0x7; + } else + return -EINVAL; + } return 0; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1650e3b02e79461e42499268fa8ed30bff667489 Gerrit-Change-Number: 24419 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 19:20:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 19:20:02 +0000 Subject: Change in libosmocore[master]: gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOS References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24420 ) Change subject: gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOS ...................................................................... gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOS Change-Id: If33c1695922d110c0d2c60d5c0136caf2587194e Related: SYS#4895, OS#4941, SYS#5315, OS#4940 --- M include/osmocom/gsm/protocol/gsm_08_58.h M src/gsm/rsl.c M src/gsmtap_util.c 3 files changed, 19 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/20/24420/1 diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index 97c02e8..9a6e761 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -53,6 +53,10 @@ #define ABIS_RSL_CHAN_NR_CBITS_OSMO_CBCH4 0x19 /*< non-standard, for CBCH/SDCCH4 */ #define ABIS_RSL_CHAN_NR_CBITS_OSMO_CBCH8 0x1a /*< non-standard, for CBCH/SDCCH8 */ +/* non-standard, Osmocom specific Bm/Lm equivalents for VAMOS */ +#define ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs 0x1d /*< VAMOS TCH/F */ +#define ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(ss) (0x1e + (ss)) /*< VAMOS TCH/H */ + /* Link Identifier 9.3.2 */ union abis_rsl_link_id { #if OSMO_IS_BIG_ENDIAN @@ -455,6 +459,10 @@ #define RSL_CHAN_OSMO_CBCH4 0xc8 /*< non-standard, for CBCH/SDCCH4 */ #define RSL_CHAN_OSMO_CBCH8 0xd0 /*< non-standard, for CBCH/SDCCH8 */ +/* non-standard, Osmocom specific Bm/Lm equivalents for VAMOS */ +#define RSL_CHAN_OSMO_VAMOS_Bm_ACCHs 0xe8 /* VAMOS TCH/F */ +#define RSL_CHAN_OSMO_VAMOS_Lm_ACCHs 0xf0 /* VAMOS TCH/H */ + /* Chapter 9.3.3 */ #define RSL_ACT_TYPE_INITIAL 0x00 #define RSL_ACT_TYPE_REACT 0x80 diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c index 706fb54..a7fa81d 100644 --- a/src/gsm/rsl.c +++ b/src/gsm/rsl.c @@ -159,6 +159,7 @@ switch (type) { case RSL_CHAN_Lm_ACCHs: + case RSL_CHAN_OSMO_VAMOS_Lm_ACCHs: subch &= 0x01; break; case RSL_CHAN_SDCCH4_ACCH: @@ -195,6 +196,7 @@ case RSL_CHAN_OSMO_PDCH: case RSL_CHAN_OSMO_CBCH4: case RSL_CHAN_OSMO_CBCH8: + case RSL_CHAN_OSMO_VAMOS_Bm_ACCHs: *type = chan_nr & RSL_CHAN_NR_MASK; *subch = 0; break; @@ -208,6 +210,9 @@ } else if ((chan_nr & 0xc0) == RSL_CHAN_SDCCH8_ACCH) { *type = RSL_CHAN_SDCCH8_ACCH; *subch = (chan_nr >> 3) & 0x7; + } else if ((chan_nr & 0xf0) == RSL_CHAN_OSMO_VAMOS_Lm_ACCHs) { + *type = RSL_CHAN_OSMO_VAMOS_Lm_ACCHs; + *subch = (chan_nr >> 3) & 0x1; } else return -EINVAL; } @@ -246,6 +251,10 @@ snprintf(buf, buf_len, "CBCH(SDCCH/4) on TS%d", ts); else if (cbits == ABIS_RSL_CHAN_NR_CBITS_OSMO_CBCH8) snprintf(buf, buf_len, "CBCH(SDCCH/8) on TS%d", ts); + else if (cbits == ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs) + snprintf(buf, buf_len, "VAMOS TCH/F on TS%d", ts); + else if ((cbits & 0x1e) == ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(0)) + snprintf(buf, buf_len, "VAMOS TCH/H(%u) on TS%d", cbits & 0x01, ts); else snprintf(buf, buf_len, "UNKNOWN on TS%d", ts); diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c index 336e1d0..9ae06d6 100644 --- a/src/gsmtap_util.c +++ b/src/gsmtap_util.c @@ -63,12 +63,14 @@ switch (rsl_chantype) { case RSL_CHAN_Bm_ACCHs: + case RSL_CHAN_OSMO_VAMOS_Bm_ACCHs: if (user_plane) ret = GSMTAP_CHANNEL_VOICE_F; else ret = GSMTAP_CHANNEL_FACCH_F; break; case RSL_CHAN_Lm_ACCHs: + case RSL_CHAN_OSMO_VAMOS_Lm_ACCHs: if (user_plane) ret = GSMTAP_CHANNEL_VOICE_H; else -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If33c1695922d110c0d2c60d5c0136caf2587194e Gerrit-Change-Number: 24420 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 19:54:55 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 19:54:55 +0000 Subject: Change in osmo-bsc[master]: add FIXME comments around bs_power References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24421 ) Change subject: add FIXME comments around bs_power ...................................................................... add FIXME comments around bs_power Change-Id: I229db1d6bcf532af95aff56b2ad18b5ed9d81616 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c 2 files changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/21/24421/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 5a202bf..91cb0e0 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -665,6 +665,8 @@ enum gsm48_chan_mode tch_mode; enum lchan_csd_mode csd_mode; /* Power levels for MS and BTS */ + /* FIXME: these are stored as dB/2 as encoded on the wire. For logging and VTY output as well as dB + * calculations, these values should probably be stored as plain dB values here. */ uint8_t bs_power; uint8_t ms_power; /* Encryption information */ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index eb30345..a01a78a 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -307,9 +307,14 @@ msg = rsl_msgb_alloc(); + /* FIXME: this function is weird in that it takes the db arg as an input to write to a msgb, but it also + * modifies lchan->bs_power. Probably the caller should first set lchan->bs_power and then this function should + * merely write lchan->bs_power to the msgb. + */ lchan->bs_power = db/2; if (fpc) lchan->bs_power |= 0x10; + /* FIXME: This is insane! the Fast Power Control bit should never be written to lchan->bs_power! */ dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, RSL_MT_BS_POWER_CONTROL); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I229db1d6bcf532af95aff56b2ad18b5ed9d81616 Gerrit-Change-Number: 24421 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 19:54:56 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 19:54:56 +0000 Subject: Change in osmo-bsc[master]: hodec2: remove code dup of rxlev averaging References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24422 ) Change subject: hodec2: remove code dup of rxlev averaging ...................................................................... hodec2: remove code dup of rxlev averaging Change-Id: Ic49b94ea243898535c82018c14df8a3ba216ea83 --- M src/osmo-bsc/handover_decision_2.c 1 file changed, 1 insertion(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/22/24422/1 diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index b397a9a..3326c0b 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -1439,10 +1439,7 @@ } /* get average levels. if not enough measurements yet, value is < 0 */ - av_rxlev = get_meas_rep_avg(lchan, - ho_get_hodec2_full_tdma(bts->ho) ? - MEAS_REP_DL_RXLEV_FULL : MEAS_REP_DL_RXLEV_SUB, - ho_get_hodec2_rxlev_avg_win(bts->ho)); + av_rxlev = current_rxlev(lchan); av_rxqual = get_meas_rep_avg(lchan, ho_get_hodec2_full_tdma(bts->ho) ? MEAS_REP_DL_RXQUAL_FULL : MEAS_REP_DL_RXQUAL_SUB, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic49b94ea243898535c82018c14df8a3ba216ea83 Gerrit-Change-Number: 24422 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 19:54:56 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 19:54:56 +0000 Subject: Change in osmo-bsc[master]: handover_test: add bspower to meas-rep cmd References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24423 ) Change subject: handover_test: add bspower to meas-rep cmd ...................................................................... handover_test: add bspower to meas-rep cmd Subsequent patch will add a test that uses this to show a handover oscillation problem in the presence of nonzero BS Power. Related: SYS#5339 Change-Id: I158d4b27370ab19318f83018803853f423c89b79 --- M tests/handover/handover_test.c 1 file changed, 28 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/23/24423/1 diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 8e23a4f..5f45865 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -82,7 +82,7 @@ uint8_t meas_rep_ba = 0, meas_rep_valid = 1, meas_valid = 1, meas_multi_rep = 0; uint8_t meas_ul_rxlev = 0, meas_ul_rxqual = 0; -uint8_t meas_tx_power_ms = 0, meas_tx_power_bs = 0; +uint8_t meas_tx_power_ms = 0; uint8_t meas_dtx_ms = 0, meas_dtx_bs = 0, meas_nr = 0; char *codec_tch_f = NULL; char *codec_tch_h = NULL; @@ -94,7 +94,7 @@ }; static void gen_meas_rep(struct gsm_lchan *lchan, - uint8_t rxlev, uint8_t rxqual, uint8_t ta, + uint8_t bs_power, uint8_t rxlev, uint8_t rxqual, uint8_t ta, int neighbors_count, struct neighbor_meas *neighbors) { struct msgb *msg = msgb_alloc_headroom(256, 64, "RSL"); @@ -117,7 +117,7 @@ ulm[2] = (meas_ul_rxqual << 3) | meas_ul_rxqual; msgb_tlv_put(msg, RSL_IE_UPLINK_MEAS, sizeof(ulm), ulm); - msgb_tv_put(msg, RSL_IE_BS_POWER, meas_tx_power_bs); + msgb_tv_put(msg, RSL_IE_BS_POWER, (bs_power / 2) & 0xf); l1i[0] = 0; l1i[1] = ta; @@ -865,6 +865,7 @@ struct meas_rep_data { int argc; const char **argv; + uint8_t bs_power; }; static void _meas_rep_cb(struct gsm_lchan *lc, void *data) @@ -916,14 +917,15 @@ fprintf(stderr, " * Neighbor cell #%d, actual BTS %d: rxlev=%d\n", i, neighbor_bts_nr, nm[i].rxlev); } - gen_meas_rep(lc, rxlev, rxqual, ta, argc, nm); + gen_meas_rep(lc, d->bs_power, rxlev, rxqual, ta, argc, nm); } -static int _meas_rep(struct vty *vty, int argc, const char **argv) +static int _meas_rep(struct vty *vty, uint8_t bs_power, int argc, const char **argv) { struct meas_rep_data d = { .argc = argc - 4, .argv = argv + 4, + .bs_power = bs_power, }; parse_lchan_wildcard_args(argv, _meas_rep_cb, &d); return CMD_SUCCESS; @@ -951,7 +953,7 @@ MEAS_REP_DOC MEAS_REP_ARGS_DOC) { VTY_ECHO(); - return _meas_rep(vty, argc, argv); + return _meas_rep(vty, 0, argc, argv); } DEFUN(meas_rep_repeat, meas_rep_repeat_cmd, @@ -966,7 +968,25 @@ argc -= 1; while (count--) - _meas_rep(vty, argc, argv); + _meas_rep(vty, 0, argc, argv); + return CMD_SUCCESS; +} + +DEFUN(meas_rep_repeat_bspower, meas_rep_repeat_bspower_cmd, + "meas-rep repeat <0-999> bspower <0-63> " MEAS_REP_ARGS, + MEAS_REP_DOC + "Resend the same measurement report N times\nN\n" + "Send a nonzero BS Power value in the measurement report (downlink power reduction)\nBS Power reduction in dB\n" + MEAS_REP_ARGS_DOC) +{ + int count = atoi(argv[0]); + uint8_t bs_power = atoi(argv[1]); + VTY_ECHO(); + argv += 2; + argc -= 2; + + while (count--) + _meas_rep(vty, bs_power, argc, argv); return CMD_SUCCESS; } @@ -1184,6 +1204,7 @@ install_element(CONFIG_NODE, &create_ms_cmd); install_element(CONFIG_NODE, &meas_rep_cmd); install_element(CONFIG_NODE, &meas_rep_repeat_cmd); + install_element(CONFIG_NODE, &meas_rep_repeat_bspower_cmd); install_element(CONFIG_NODE, &congestion_check_cmd); install_element(CONFIG_NODE, &expect_no_chan_cmd); install_element(CONFIG_NODE, &expect_chan_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I158d4b27370ab19318f83018803853f423c89b79 Gerrit-Change-Number: 24423 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 19:54:56 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 19:54:56 +0000 Subject: Change in osmo-bsc[master]: add test_bs_power.ho_vty to show BS Power HO oscillation References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24424 ) Change subject: add test_bs_power.ho_vty to show BS Power HO oscillation ...................................................................... add test_bs_power.ho_vty to show BS Power HO oscillation Shows a bug / missing feature, to be fixed in Ifcf59964b5e2d550d79e4ba14d90962808f79dae Related: SYS#5339 Change-Id: I1cc9bc39e8695faa983819b909e0ec76f0dbc296 --- M tests/handover/handover_tests.ok A tests/handover/test_bs_power.ho_vty 2 files changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/24/24424/1 diff --git a/tests/handover/handover_tests.ok b/tests/handover/handover_tests.ok index bd21d0e..4a4a924 100644 --- a/tests/handover/handover_tests.ok +++ b/tests/handover/handover_tests.ok @@ -10,6 +10,7 @@ pass test_balance_congestion_2.ho_vty pass test_balance_congestion_by_percentage.ho_vty pass test_balance_congestion_tchf_tchh.ho_vty +pass test_bs_power.ho_vty pass test_congestion.ho_vty pass test_congestion_favor_best_target_rxlev.ho_vty pass test_congestion_intra_vs_inter_cell.ho_vty diff --git a/tests/handover/test_bs_power.ho_vty b/tests/handover/test_bs_power.ho_vty new file mode 100644 index 0000000..11b2e9d --- /dev/null +++ b/tests/handover/test_bs_power.ho_vty @@ -0,0 +1,16 @@ +# Do not oscillate handover when the BTS applies BS power reduction + +create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F TCH/F TCH/F TCH/F PDCH +create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F TCH/F TCH/F TCH/F PDCH + +set-ts-use trx 0 0 states * TCH/F - - - - - * + +meas-rep repeat 10 bspower 20 lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30 +# FAIL: there should be no handover, because the bspower reduction of 20 with an rxlev of 20 (= 40) is stronger than the +# neighbor at 30. But since osmo-bsc fails to take the BS Power into account, it hands over to the neighbor. +#expect-no-chan +expect-ho from lchan 0 0 1 0 to lchan 1 0 1 0 + +# When the neighbor then reports the stronger original cell, we get handover oscillation +meas-rep repeat 10 lchan 1 0 1 0 bspower 0 rxlev 30 rxqual 0 ta 0 neighbors 40 +expect-ho from lchan 1 0 1 0 to lchan 0 0 1 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1cc9bc39e8695faa983819b909e0ec76f0dbc296 Gerrit-Change-Number: 24424 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 19:54:57 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 19:54:57 +0000 Subject: Change in osmo-bsc[master]: handover: apply meas report BS Power to RXLEV, fix ho oscillation References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24425 ) Change subject: handover: apply meas report BS Power to RXLEV, fix ho oscillation ...................................................................... handover: apply meas report BS Power to RXLEV, fix ho oscillation This fixes handover oscillation in the presence of power reduction on the downlink: apply the reduced power to the cell's RXLEV in order to not rate the current cell as weaker than it actually is. Related: SYS#5339 Change-Id: Ifcf59964b5e2d550d79e4ba14d90962808f79dae --- M src/osmo-bsc/meas_rep.c M tests/handover/test_bs_power.ho_vty 2 files changed, 7 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/25/24425/1 diff --git a/src/osmo-bsc/meas_rep.c b/src/osmo-bsc/meas_rep.c index 73d9a1f..9b2fca0 100644 --- a/src/osmo-bsc/meas_rep.c +++ b/src/osmo-bsc/meas_rep.c @@ -31,11 +31,15 @@ case MEAS_REP_DL_RXLEV_FULL: if (!(rep->flags & MEAS_REP_F_DL_VALID)) return -EINVAL; - return rep->dl.full.rx_lev; + /* Add BS Power value to rxlev: improve the RXLEV value by the amount of power that the BTS is reducing + * transmission. Note that bs_power is coded as dB/2, a positive value indicating the amount of power reduction + * on the downlink; rxlev is coded in dB, where a higher number means stronger signal. */ + return rep->dl.full.rx_lev + (rep->bs_power * 2); case MEAS_REP_DL_RXLEV_SUB: if (!(rep->flags & MEAS_REP_F_DL_VALID)) return -EINVAL; - return rep->dl.sub.rx_lev; + /* Apply BS Power as explained above */ + return rep->dl.sub.rx_lev + (rep->bs_power * 2); case MEAS_REP_DL_RXQUAL_FULL: if (!(rep->flags & MEAS_REP_F_DL_VALID)) return -EINVAL; diff --git a/tests/handover/test_bs_power.ho_vty b/tests/handover/test_bs_power.ho_vty index 11b2e9d..338c54b 100644 --- a/tests/handover/test_bs_power.ho_vty +++ b/tests/handover/test_bs_power.ho_vty @@ -8,9 +8,4 @@ meas-rep repeat 10 bspower 20 lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30 # FAIL: there should be no handover, because the bspower reduction of 20 with an rxlev of 20 (= 40) is stronger than the # neighbor at 30. But since osmo-bsc fails to take the BS Power into account, it hands over to the neighbor. -#expect-no-chan -expect-ho from lchan 0 0 1 0 to lchan 1 0 1 0 - -# When the neighbor then reports the stronger original cell, we get handover oscillation -meas-rep repeat 10 lchan 1 0 1 0 bspower 0 rxlev 30 rxqual 0 ta 0 neighbors 40 -expect-ho from lchan 1 0 1 0 to lchan 0 0 1 0 +expect-no-chan -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifcf59964b5e2d550d79e4ba14d90962808f79dae Gerrit-Change-Number: 24425 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 20:03:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 20:03:59 +0000 Subject: Change in osmo-bsc[master]: handover_test: add bspower to meas-rep cmd In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#3). ( https://gerrit.osmocom.org/c/osmo-bsc/+/24423 ) Change subject: handover_test: add bspower to meas-rep cmd ...................................................................... handover_test: add bspower to meas-rep cmd Subsequent patch will add a test that uses this to show a handover oscillation problem in the presence of nonzero BS Power. Related: SYS#5339 Change-Id: I158d4b27370ab19318f83018803853f423c89b79 --- M tests/handover/handover_test.c 1 file changed, 28 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/23/24423/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I158d4b27370ab19318f83018803853f423c89b79 Gerrit-Change-Number: 24423 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 20:33:36 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 20:33:36 +0000 Subject: Change in osmo-bsc[master]: handover_test: add bspower to meas-rep cmd In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24423 ) Change subject: handover_test: add bspower to meas-rep cmd ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24423/2/tests/handover/handover_test.c File tests/handover/handover_test.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24423/2/tests/handover/handover_test.c at 976 PS2, Line 976: <0-63> On the wire it's encoded in 2 dB steps and takes 4 bits (0..15), so here the range should be 0..31. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I158d4b27370ab19318f83018803853f423c89b79 Gerrit-Change-Number: 24423 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 26 May 2021 20:33:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 20:39:22 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 20:39:22 +0000 Subject: Change in osmo-bsc[master]: add test_bs_power.ho_vty to show BS Power HO oscillation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24424 ) Change subject: add test_bs_power.ho_vty to show BS Power HO oscillation ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1cc9bc39e8695faa983819b909e0ec76f0dbc296 Gerrit-Change-Number: 24424 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 26 May 2021 20:39:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 20:41:20 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 20:41:20 +0000 Subject: Change in osmo-bsc[master]: add test_bs_power.ho_vty to show BS Power HO oscillation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24424 ) Change subject: add test_bs_power.ho_vty to show BS Power HO oscillation ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1cc9bc39e8695faa983819b909e0ec76f0dbc296 Gerrit-Change-Number: 24424 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 26 May 2021 20:41:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 20:50:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 20:50:02 +0000 Subject: Change in osmo-bsc[master]: handover: apply meas report BS Power to RXLEV, fix ho oscillation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24425 ) Change subject: handover: apply meas report BS Power to RXLEV, fix ho oscillation ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24425/3/src/osmo-bsc/meas_rep.c File src/osmo-bsc/meas_rep.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24425/3/src/osmo-bsc/meas_rep.c at 36 PS3, Line 36: rxlev is coded in dB Strictly speaking, this is not correct: dBm = -110 + RxLev RxLev = dBm + 110 so you basically shift the range to the positive side. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifcf59964b5e2d550d79e4ba14d90962808f79dae Gerrit-Change-Number: 24425 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 26 May 2021 20:50:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 20:50:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 May 2021 20:50:32 +0000 Subject: Change in osmo-bsc[master]: hodec2: remove code dup of rxlev averaging In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24422 ) Change subject: hodec2: remove code dup of rxlev averaging ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic49b94ea243898535c82018c14df8a3ba216ea83 Gerrit-Change-Number: 24422 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 26 May 2021 20:50:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 20:59:19 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 20:59:19 +0000 Subject: Change in osmo-bsc[master]: change bs_power to bs_power_db In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24421 to look at the new patch set (#4). Change subject: change bs_power to bs_power_db ...................................................................... change bs_power to bs_power_db The RSL BS Power IE in measurement reports is encoded as dBm / 2. Instead of using this coding all over the code, converting to dBm and often printing confusing values in logging etc, store as plain dBm. Rename to bs_power_db to clarify the unit of the stored value. Change-Id: I229db1d6bcf532af95aff56b2ad18b5ed9d81616 --- M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/meas_rep.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/meas_rep.c M src/utils/meas_db.c M src/utils/meas_json.c 8 files changed, 21 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/21/24421/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I229db1d6bcf532af95aff56b2ad18b5ed9d81616 Gerrit-Change-Number: 24421 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 20:59:32 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 20:59:32 +0000 Subject: Change in osmo-bsc[master]: meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24426 ) Change subject: meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() ...................................................................... meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() Instead of calling DEBUGPC() over and over, compose a string using osmo_strbuf and then log it once. Rationale: a) DEBUGPC() is a bad idea for gsmtap_log, because each DEBUGPC() dispatches a separate gsmtap_log packet, fragmenting the actual log line in wireshark. b) DEBUGPC() is a bad idea because it checks the logging categories for every DEBUGPC() invocation. c) using a separate function with osmo_strbuf and OTC_SELECT, we can actually skip the entire string composition in case the DMEAS logging category is disabled, with a single logging category check. Change-Id: I4cb607ff43a1cb30408427d99d97c103776b6e69 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 46 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/26/24426/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 1fb167a..17e754d 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1006,65 +1006,86 @@ return 0; } -static void print_meas_rep_uni(struct gsm_meas_rep_unidir *mru, - const char *prefix) +static void print_meas_rep_uni(struct osmo_strbuf *sb, struct gsm_meas_rep_unidir *mru, const char *prefix) { - DEBUGPC(DMEAS, "RXL-FULL-%s=%3ddBm RXL-SUB-%s=%3ddBm ", - prefix, rxlev2dbm(mru->full.rx_lev), - prefix, rxlev2dbm(mru->sub.rx_lev)); - DEBUGPC(DMEAS, "RXQ-FULL-%s=%d RXQ-SUB-%s=%d ", - prefix, mru->full.rx_qual, prefix, mru->sub.rx_qual); + OSMO_STRBUF_PRINTF(*sb, "RXL-FULL-%s=%3ddBm RXL-SUB-%s=%3ddBm ", + prefix, rxlev2dbm(mru->full.rx_lev), + prefix, rxlev2dbm(mru->sub.rx_lev)); + OSMO_STRBUF_PRINTF(*sb, "RXQ-FULL-%s=%d RXQ-SUB-%s=%d ", + prefix, mru->full.rx_qual, prefix, mru->sub.rx_qual); } -static void print_meas_rep(struct gsm_lchan *lchan, struct gsm_meas_rep *mr) +static int print_meas_rep_buf(char *buf, size_t len, struct gsm_lchan *lchan, struct gsm_meas_rep *mr) { - int i; const char *name = ""; struct bsc_subscr *bsub = NULL; + struct osmo_strbuf sb = { .buf = buf, .len = len }; if (lchan && lchan->conn) { bsub = lchan->conn->bsub; if (bsub) { - log_set_context(LOG_CTX_BSC_SUBSCR, bsub); name = bsc_subscr_name(bsub); } else name = lchan->name; } - DEBUGP(DMEAS, "[%s] MEASUREMENT RESULT NR=%d ", name, mr->nr); + OSMO_STRBUF_PRINTF(sb, "[%s] MEASUREMENT RESULT NR=%d ", name, mr->nr); if (mr->flags & MEAS_REP_F_DL_DTX) - DEBUGPC(DMEAS, "DTXd "); + OSMO_STRBUF_PRINTF(sb, "DTXd "); - print_meas_rep_uni(&mr->ul, "ul"); - DEBUGPC(DMEAS, "BS_POWER=%ddBm ", mr->bs_power_db); + print_meas_rep_uni(&sb, &mr->ul, "ul"); + OSMO_STRBUF_PRINTF(sb, "BS_POWER=%ddBm ", mr->bs_power_db); if (mr->flags & MEAS_REP_F_MS_TO) - DEBUGPC(DMEAS, "MS_TO=%d ", mr->ms_timing_offset); + OSMO_STRBUF_PRINTF(sb, "MS_TO=%d ", mr->ms_timing_offset); if (mr->flags & MEAS_REP_F_MS_L1) { - DEBUGPC(DMEAS, "L1_MS_PWR=%3ddBm ", mr->ms_l1.pwr); - DEBUGPC(DMEAS, "L1_FPC=%u ", - mr->flags & MEAS_REP_F_FPC ? 1 : 0); - DEBUGPC(DMEAS, "L1_TA=%u ", mr->ms_l1.ta); + OSMO_STRBUF_PRINTF(sb, "L1_MS_PWR=%3ddBm ", mr->ms_l1.pwr); + OSMO_STRBUF_PRINTF(sb, "L1_FPC=%u ", mr->flags & MEAS_REP_F_FPC ? 1 : 0); + OSMO_STRBUF_PRINTF(sb, "L1_TA=%u ", mr->ms_l1.ta); } if (mr->flags & MEAS_REP_F_UL_DTX) - DEBUGPC(DMEAS, "DTXu "); + OSMO_STRBUF_PRINTF(sb, "DTXu "); if (mr->flags & MEAS_REP_F_BA1) - DEBUGPC(DMEAS, "BA1 "); + OSMO_STRBUF_PRINTF(sb, "BA1 "); if (!(mr->flags & MEAS_REP_F_DL_VALID)) - DEBUGPC(DMEAS, "NOT VALID "); + OSMO_STRBUF_PRINTF(sb, "NOT VALID "); else - print_meas_rep_uni(&mr->dl, "dl"); + print_meas_rep_uni(&sb, &mr->dl, "dl"); - DEBUGPC(DMEAS, "NUM_NEIGH=%u\n", mr->num_cell); + OSMO_STRBUF_PRINTF(sb, "NUM_NEIGH=%u", mr->num_cell); + + return sb.chars_needed; +} + +static char *print_meas_rep_c(void *ctx, struct gsm_lchan *lchan, struct gsm_meas_rep *mr) +{ + /* A naive count of required characters gets me to ~200, so 256 should be safe to get a large enough buffer on + * the first time. */ + OSMO_NAME_C_IMPL(ctx, 256, "ERROR", print_meas_rep_buf, lchan, mr) +} + +static void print_meas_rep(struct gsm_lchan *lchan, struct gsm_meas_rep *mr) +{ + int i; + struct bsc_subscr *bsub = NULL; + + if (lchan && lchan->conn) { + bsub = lchan->conn->bsub; + if (bsub) + log_set_context(LOG_CTX_BSC_SUBSCR, bsub); + } + + DEBUGP(DMEAS, "%s\n", print_meas_rep_c(OTC_SELECT, lchan, mr)); + if (mr->num_cell == 7) return; for (i = 0; i < mr->num_cell; i++) { struct gsm_meas_rep_cell *mrc = &mr->cell[i]; DEBUGP(DMEAS, "IDX=%u ARFCN=%u BSIC=%u => %d dBm\n", - mrc->neigh_idx, mrc->arfcn, mrc->bsic, rxlev2dbm(mrc->rxlev)); + mrc->neigh_idx, mrc->arfcn, mrc->bsic, rxlev2dbm(mrc->rxlev)); } if (bsub) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4cb607ff43a1cb30408427d99d97c103776b6e69 Gerrit-Change-Number: 24426 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 26 20:59:32 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 May 2021 20:59:32 +0000 Subject: Change in osmo-bsc[master]: meas rep logging: use log_check_level() to skip a logging loop References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24427 ) Change subject: meas rep logging: use log_check_level() to skip a logging loop ...................................................................... meas rep logging: use log_check_level() to skip a logging loop A side effect is that the final cleanup part of that function is now always called, also when num_cell == 7. (Whether we should really clear that logging context at that place is a different question, out of scope here.) Change-Id: I71a402a0940857bbedbaf25d293429934706a83c --- M src/osmo-bsc/abis_rsl.c 1 file changed, 7 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/27/24427/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 17e754d..6d9dfe1 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1080,12 +1080,13 @@ DEBUGP(DMEAS, "%s\n", print_meas_rep_c(OTC_SELECT, lchan, mr)); - if (mr->num_cell == 7) - return; - for (i = 0; i < mr->num_cell; i++) { - struct gsm_meas_rep_cell *mrc = &mr->cell[i]; - DEBUGP(DMEAS, "IDX=%u ARFCN=%u BSIC=%u => %d dBm\n", - mrc->neigh_idx, mrc->arfcn, mrc->bsic, rxlev2dbm(mrc->rxlev)); + if (mr->num_cell != 7 + && log_check_level(DMEAS, LOGL_DEBUG)) { + for (i = 0; i < mr->num_cell; i++) { + struct gsm_meas_rep_cell *mrc = &mr->cell[i]; + DEBUGP(DMEAS, "IDX=%u ARFCN=%u BSIC=%u => %d dBm\n", + mrc->neigh_idx, mrc->arfcn, mrc->bsic, rxlev2dbm(mrc->rxlev)); + } } if (bsub) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71a402a0940857bbedbaf25d293429934706a83c Gerrit-Change-Number: 24427 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:17:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:17:08 +0000 Subject: Change in osmo-bsc[master]: allow explixit TSC Set and TSC on chan activ / modif / assignment In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24369 to look at the new patch set (#7). Change subject: allow explixit TSC Set and TSC on chan activ / modif / assignment ...................................................................... allow explixit TSC Set and TSC on chan activ / modif / assignment Activating / modifying to a VAMOS mode will require picking specific TSC Set / TSC. It is a bad idea to pick the TSC in each message encoding function, rather make this choice centrally. So far we pick the training sequence code to use based on the timeslot configuration, and this TSC is determined only upon encoding the RSL messages. Instead, pick the TSC to use upon the initial lchan activation / modification request; store this in the request structs and pass through the activation / modification code paths. For VAMOS modes, we also need to pick a TSC Set. Do so also upon activ / modif request. Note that the TSC Set is not yet applied in this patch, it will be applied in upcoming VAMOS patches. The activ / modif request may pass -1 for tsc_set and/or tsc to indicate no specific choice of TSC Set and TSC, resulting in the same behavior as before this patch. For example, lchan->activate.info.tsc* may be passed as -1. The exact choice for tsc_set and tsc is then stored in lchan->activate.tsc*, i.e. one level up (the .info sub-struct is considered as immutable input args). The lchan->activate.tsc* are the values actually encoded in RSL messages. After the ACK, the lchan->activate.tsc* is stored in lchan->tsc* to indicate the TSC actually in use. Same for modif. Note that in 3GPP TS 45.002, the TSC Set are numbered 1 to 4, while the TSC are numbered 0 to 7. On the wire, though, TSC Set is sent as 0 to 3 value. This is a weird discrepancy, odd choice made by the spec authors. For conformance with the spec wording, I decided to pass the TSC Set number as a 1-4 ranged value, and only convert it to the 0-3 on-the-wire format upon message encoding. So log messages and VTY output will indicate the first TSC Set as "1", but the first TSC as "0", as defined in 3GPP TS 45.002, even if that is somewhat weird. Related: SYS#5315 OS#4940 Change-Id: Ic665125255d7354f5499d10dda1dd866ab243d24 --- M include/osmocom/bsc/assignment_fsm.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lcs_loc_req.c 8 files changed, 81 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/69/24369/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic665125255d7354f5499d10dda1dd866ab243d24 Gerrit-Change-Number: 24369 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:17:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:17:08 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 to look at the new patch set (#8). Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... implement Channel Mode Modify to VAMOS mode Related: SYS#5315 OS#4940 Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c M tests/osmo-bsc.vty 6 files changed, 193 insertions(+), 42 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/74/24374/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:17:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:17:08 +0000 Subject: Change in osmo-bsc[master]: RSL: set default TEI according to TRX number In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24395 to look at the new patch set (#4). Change subject: RSL: set default TEI according to TRX number ...................................................................... RSL: set default TEI according to TRX number Change-Id: I3c500f7a5afc9143d4ea7102ab96e52aeb67b4b6 --- M src/osmo-bsc/bts_trx.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/95/24395/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3c500f7a5afc9143d4ea7102ab96e52aeb67b4b6 Gerrit-Change-Number: 24395 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:17:10 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:17:10 +0000 Subject: Change in osmo-bsc[master]: rsl_lchan_lookup(): turn cbits if-cascade into a switch() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24428 ) Change subject: rsl_lchan_lookup(): turn cbits if-cascade into a switch() ...................................................................... rsl_lchan_lookup(): turn cbits if-cascade into a switch() There is some odd repetition of macros with all possible subslot indexes, but now we are using the defined macros instead of magic numbers, making it easier to see that it is correct. Also this allows trivially adding VAMOS cbits cases to the existing switch() in a subsequent patch. Change-Id: I4c6ce2f4ca999c19a58909b9adb849a3b8b6ffc8 --- M src/osmo-bsc/bts_trx.c 1 file changed, 28 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/28/24428/1 diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index 64c7985..81fd174 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -156,28 +156,49 @@ if (rc) *rc = -EINVAL; - if (cbits == 0x01) { + switch (cbits) { + case ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs: lch_idx = 0; /* TCH/F */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_TCH_F) || ts->pchan_on_init == GSM_PCHAN_PDCH; /* PDCH? really? */ - } else if ((cbits & 0x1e) == 0x02) { + break; + case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(0): + case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(1): lch_idx = cbits & 0x1; /* TCH/H */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_TCH_H); - } else if ((cbits & 0x1c) == 0x04) { + break; + case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(0): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(1): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(2): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(3): lch_idx = cbits & 0x3; /* SDCCH/4 */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_CCCH_SDCCH4); - } else if ((cbits & 0x18) == 0x08) { + break; + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(0): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(1): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(2): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(3): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(4): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(5): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(6): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(7): lch_idx = cbits & 0x7; /* SDCCH/8 */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_SDCCH8_SACCH8C); - } else if (cbits == 0x10 || cbits == 0x11 || cbits == 0x12) { + break; + case ABIS_RSL_CHAN_NR_CBITS_BCCH: + case ABIS_RSL_CHAN_NR_CBITS_RACH: + case ABIS_RSL_CHAN_NR_CBITS_PCH_AGCH: lch_idx = 0; /* CCCH? */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_CCCH); /* FIXME: we should not return first sdcch4 !!! */ - } else if ((chan_nr & RSL_CHAN_NR_MASK) == RSL_CHAN_OSMO_PDCH) { + break; + case ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH: lch_idx = 0; ok = (ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH); - } else + break; + default: return NULL; + } if (rc && ok) *rc = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c6ce2f4ca999c19a58909b9adb849a3b8b6ffc8 Gerrit-Change-Number: 24428 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:17:10 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:17:10 +0000 Subject: Change in osmo-bsc[master]: rsl_lchan_lookup(): add comment explaining ts_is_capable_of_pchan() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24429 ) Change subject: rsl_lchan_lookup(): add comment explaining ts_is_capable_of_pchan() ...................................................................... rsl_lchan_lookup(): add comment explaining ts_is_capable_of_pchan() Change-Id: Ie3699db496cfb690ac9302ccd177cdd77dc57ebb --- M src/osmo-bsc/bts_trx.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/29/24429/1 diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index 81fd174..57b6ccc 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -156,6 +156,10 @@ if (rc) *rc = -EINVAL; + /* Why call ts_is_capable_of_pchan() here? Dynamic timeslots may receive RSL Channel Activation ACK on a + * timeslot that is in transition between pchan modes. That ACK actually confirms the pchan switch, so instead + * of checking the current pchan mode, we must allow any pchans that a dyn TS is capable of. */ + switch (cbits) { case ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs: lch_idx = 0; /* TCH/F */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie3699db496cfb690ac9302ccd177cdd77dc57ebb Gerrit-Change-Number: 24429 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:17:11 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:17:11 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24430 ) Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans Add the Osmocom-specific extension to indicate VAMOS shadow lchans in RSL, in lchan lookup and RSL message transmission. Related: SYS#5315 OS#4940 Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/gsm_data.c 4 files changed, 26 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/30/24430/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index a781e6b..deadc4d 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1026,7 +1026,7 @@ const struct abis_om_obj_inst *obj_inst); uint8_t gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, - uint8_t ts_nr, uint8_t lchan_nr); + uint8_t ts_nr, uint8_t lchan_nr, bool vamos_is_secondary); uint8_t gsm_lchan2chan_nr(const struct gsm_lchan *lchan); uint8_t gsm_lchan_as_pchan2chan_nr(const struct gsm_lchan *lchan, enum gsm_phys_chan_config as_pchan); diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index b2fc573..dce93a6 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -2536,7 +2536,7 @@ dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); init_dchan_hdr(dh, activate ? RSL_MT_IPAC_PDCH_ACT : RSL_MT_IPAC_PDCH_DEACT); dh->c.msg_discr = ABIS_RSL_MDISC_DED_CHAN; - dh->chan_nr = gsm_pchan2chan_nr(GSM_PCHAN_TCH_F, ts->nr, 0); + dh->chan_nr = gsm_pchan2chan_nr(GSM_PCHAN_TCH_F, ts->nr, 0, false); msg->dst = ts->trx->rsl_link_primary; return abis_rsl_sendmsg(msg); diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index 57b6ccc..ecfde5d 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -151,6 +151,7 @@ uint8_t cbits = chan_nr >> 3; uint8_t lch_idx; struct gsm_bts_trx_ts *ts = &trx->ts[ts_nr]; + bool vamos = false; bool ok; if (rc) @@ -161,11 +162,18 @@ * of checking the current pchan mode, we must allow any pchans that a dyn TS is capable of. */ switch (cbits) { + case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs: + vamos = true; + /* fall thru */ case ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs: lch_idx = 0; /* TCH/F */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_TCH_F) || ts->pchan_on_init == GSM_PCHAN_PDCH; /* PDCH? really? */ break; + case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(0): + case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(1): + vamos = true; + /* fall thru */ case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(0): case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(1): lch_idx = cbits & 0x1; /* TCH/H */ @@ -207,6 +215,8 @@ if (rc && ok) *rc = 0; + if (vamos) + lch_idx += ts->max_primary_lchans; return &ts->lchan[lch_idx]; } diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 5f8b6da..29a1c42 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -493,7 +493,7 @@ /* See Table 10.5.25 of GSM04.08 */ uint8_t gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, - uint8_t ts_nr, uint8_t lchan_nr) + uint8_t ts_nr, uint8_t lchan_nr, bool vamos_is_secondary) { uint8_t cbits, chan_nr; @@ -501,7 +501,10 @@ case GSM_PCHAN_TCH_F: case GSM_PCHAN_TCH_F_PDCH: OSMO_ASSERT(lchan_nr == 0); - cbits = 0x01; + if (vamos_is_secondary) + cbits = ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs; + else + cbits = 0x01; break; case GSM_PCHAN_PDCH: OSMO_ASSERT(lchan_nr == 0); @@ -509,8 +512,12 @@ break; case GSM_PCHAN_TCH_H: OSMO_ASSERT(lchan_nr < 2); - cbits = 0x02; - cbits += lchan_nr; + if (vamos_is_secondary) + cbits = ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(lchan_nr); + else { + cbits = 0x02; + cbits += lchan_nr; + } break; case GSM_PCHAN_CCCH_SDCCH4: case GSM_PCHAN_CCCH_SDCCH4_CBCH: @@ -552,7 +559,7 @@ * a primary ts->lchan[0] and a VAMOS ts->lchan[1]. Still, the VAMOS lchan should send chan_nr = 0. */ if (lchan->vamos.is_secondary) lchan_nr -= lchan->ts->max_primary_lchans; - return gsm_pchan2chan_nr(lchan->ts->pchan_is, lchan->ts->nr, lchan_nr); + return gsm_pchan2chan_nr(lchan->ts->pchan_is, lchan->ts->nr, lchan_nr, lchan->vamos.is_secondary); } static const uint8_t subslots_per_pchan[] = { @@ -733,7 +740,8 @@ const struct gsm_lchan *lchan, uint8_t tsc) { - cd->chan_nr = gsm_pchan2chan_nr(lchan->ts->pchan_from_config, lchan->ts->nr, lchan->nr); + cd->chan_nr = gsm_pchan2chan_nr(lchan->ts->pchan_from_config, lchan->ts->nr, lchan->nr, + lchan->vamos.is_secondary); _chan_desc_fill_tail(cd, lchan, tsc); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:17:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:17:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 to look at the new patch set (#4). Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... add bsc/BSC_Tests_VAMOS.ttcn BSC_Tests_VAMOS.ttcn is separate from BSC_Tests.ttcn in order to instruct osmo-bts-omldummy to pass BTS_FEAT_VAMOS == true in the OML BTS attributes. Add tests: TC_mode_modify_to_vamos() TC_chan_act_to_vamos() TC_assign_to_secondary_lchan() TC_vamos_multiplex_tch_f_tch_f() Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 --- M bsc/BSC_Tests.ttcn A bsc/BSC_Tests_VAMOS.ttcn 2 files changed, 384 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/11/24411/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:17:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:17:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_Types, bsc: add VAMOS cbits References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24431 ) Change subject: GSM_Types, bsc: add VAMOS cbits ...................................................................... GSM_Types, bsc: add VAMOS cbits Change-Id: I2d98495b8c4c9a8466f2154af9bb29124c2cb0b5 --- M bsc/MSC_ConnectionHandler.ttcn M library/GSM_Types.ttcn 2 files changed, 33 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/31/24431/1 diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 8c44bf7..37adc18 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -754,9 +754,15 @@ if (match(inp, '00001'B)) { /* TCH/F */ chan_nr := valueof(t_RslChanNr_Bm(tn)); } + else if (match(inp, '11101'B)) { /* VAMOS TCH/F */ + chan_nr := valueof(t_RslChanNr_Osmo_VAMOS_Bm(tn)); + } else if (match(inp, '0001?'B)) { /* TCH/H */ chan_nr := valueof(t_RslChanNr_Lm(tn, bit2int(substr(inp, 4, 1)))); } + else if (match(inp, '1111?'B)) { /* VAMOS TCH/H */ + chan_nr := valueof(t_RslChanNr_Osmo_VAMOS_Lm(tn, bit2int(substr(inp, 4, 1)))); + } else if (match(inp, '001??'B)) { /* SDCCH/4 */ chan_nr := valueof(t_RslChanNr_SDCCH4(tn, bit2int(substr(inp, 3, 2)))); } diff --git a/library/GSM_Types.ttcn b/library/GSM_Types.ttcn index bcd0afb..4889a1e 100644 --- a/library/GSM_Types.ttcn +++ b/library/GSM_Types.ttcn @@ -124,7 +124,8 @@ RSL_CHAN_NR_PCH_AGCH ('10010'B), RSL_CHAN_NR_OSMO_PDCH ('11000'B), RSL_CHAN_NR_OSMO_CBCH4 ('11001'B), - RSL_CHAN_NR_OSMO_CBCH8 ('11010'B) + RSL_CHAN_NR_OSMO_CBCH8 ('11010'B), + RSL_CHAN_NR_OSMO_VAMOS_Bm_ACCH ('11101'B) } with { variant "FIELDLENGTH(5)" variant "FIELDORDER(msb)" }; type record RslChanNr2 { @@ -132,6 +133,11 @@ uint1_t sub_chan } with { variant "FIELDLENGTH(5)" variant "FIELDORDER(msb)" }; +type record RslChanNr2VAMOS { + BIT4 tag ('1111'B), + uint1_t sub_chan +} with { variant "FIELDLENGTH(5)" variant "FIELDORDER(msb)" }; + type record RslChanNr4 { BIT3 tag ('001'B), uint2_t sub_chan @@ -145,10 +151,12 @@ type union RslChanNrU { RslChanNr0 ch0, RslChanNr2 lm, + RslChanNr2VAMOS lm_vamos, RslChanNr4 sdcch4, RslChanNr8 sdcch8 } with { variant "TAG(lm, tag = '0001'B; + lm_vamos, tag = '1111'B; sdcch4, tag = '001'B; sdcch8, tag = '01'B; ch0, OTHERWISE)" @@ -185,6 +193,15 @@ u := { sdcch8 := { tag := '01'B, sub_chan := sub_slot } }, tn := tn } +template RslChannelNr t_RslChanNr_Osmo_VAMOS_Bm(template uint3_t tn) := { + u := { ch0 := RSL_CHAN_NR_OSMO_VAMOS_Bm_ACCH }, + tn := tn +} + +template RslChannelNr t_RslChanNr_Osmo_VAMOS_Lm(template uint3_t tn, template uint1_t sub_slot) := { + u := { lm_vamos := { tag := '1111'B, sub_chan := sub_slot } }, + tn := tn +} template (value) RslChannelNr ts_RslChanNr0(uint3_t tn, RslChanNr0 cht) := { u := { ch0 := cht }, @@ -209,6 +226,15 @@ u := { sdcch8 := { tag := '01'B, sub_chan := sub_slot } }, tn := tn } +template (value) RslChannelNr ts_RslChanNr_Osmo_VAMOS_Bm(uint3_t tn) := { + u := { ch0 := RSL_CHAN_NR_OSMO_VAMOS_Bm_ACCH }, + tn := tn +} +template (value) RslChannelNr ts_RslChanNr_Osmo_VAMOS_Lm(uint3_t tn, uint1_t sub_slot) := { + u := { lm_vamos := { tag := '1111'B, sub_chan := sub_slot } }, + tn := tn +} + /* TS 48.058 9.3.2 Link ID */ type enumerated RslLinkIdC { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24431 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: I2d98495b8c4c9a8466f2154af9bb29124c2cb0b5 Gerrit-Change-Number: 24431 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:19:46 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:19:46 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 to look at the new patch set (#2). Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans Add the Osmocom-specific extension to indicate VAMOS shadow lchans in RSL, in lchan lookup and RSL message transmission. Related: SYS#5315 OS#4940 Depends: If33c1695922d110c0d2c60d5c0136caf2587194e (libosmocore) Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/gsm_data.c 4 files changed, 26 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/30/24430/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:19:46 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:19:46 +0000 Subject: Change in osmo-bsc[master]: VTY: 'show lchan': show that lchan is in VAMOS mode In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24379 to look at the new patch set (#9). Change subject: VTY: 'show lchan': show that lchan is in VAMOS mode ...................................................................... VTY: 'show lchan': show that lchan is in VAMOS mode Related: SYS#5315 OS#4940 Change-Id: I9f38712f941d60531526cc3395875655455909d9 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/79/24379/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9f38712f941d60531526cc3395875655455909d9 Gerrit-Change-Number: 24379 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:19:46 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:19:46 +0000 Subject: Change in osmo-bsc[master]: VTY: add 'vamos-subslot' to activate a secondary lchan In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24380 to look at the new patch set (#9). Change subject: VTY: add 'vamos-subslot' to activate a secondary lchan ...................................................................... VTY: add 'vamos-subslot' to activate a secondary lchan Related: SYS#5315 OS#4940 Change-Id: If44b6bdb78046502eb0b66529ae190a955d9978c --- M src/osmo-bsc/bsc_vty.c M tests/osmo-bsc.vty 2 files changed, 27 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/80/24380/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If44b6bdb78046502eb0b66529ae190a955d9978c Gerrit-Change-Number: 24380 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:19:46 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:19:46 +0000 Subject: Change in osmo-bsc[master]: VTY: add lchan re-assignment command In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 to look at the new patch set (#9). Change subject: VTY: add lchan re-assignment command ...................................................................... VTY: add lchan re-assignment command Add VTY command to trigger an intra-cell re-assignment, also allowing to re-assign to a secondary VAMOS lchan. Related: SYS#5315 OS#4940 Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M tests/osmo-bsc.vty 4 files changed, 112 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/81/24381/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 Gerrit-Change-Number: 24381 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:19:46 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:19:46 +0000 Subject: Change in osmo-bsc[master]: log: assignment_fsm: drop newline from assignment_fail In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24382 to look at the new patch set (#9). Change subject: log: assignment_fsm: drop newline from assignment_fail ...................................................................... log: assignment_fsm: drop newline from assignment_fail Drop terminating newline from an assignment_fail() call which causes an erratic line feed in logging. Change-Id: Ib56e1f6a45c7e2c235f8ef0c8dea7151481677ab --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/82/24382/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib56e1f6a45c7e2c235f8ef0c8dea7151481677ab Gerrit-Change-Number: 24382 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:19:46 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:19:46 +0000 Subject: Change in osmo-bsc[master]: log: assignment_fsm: tweak err msg for incompatible chan In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24383 to look at the new patch set (#9). Change subject: log: assignment_fsm: tweak err msg for incompatible chan ...................................................................... log: assignment_fsm: tweak err msg for incompatible chan Related: SYS#5315 OS#4940 Change-Id: Ifd8790923d54a27061708ff8077d509238b9c7dd --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/83/24383/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifd8790923d54a27061708ff8077d509238b9c7dd Gerrit-Change-Number: 24383 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:19:46 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:19:46 +0000 Subject: Change in osmo-bsc[master]: clarify bts_chan_load In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24384 to look at the new patch set (#9). Change subject: clarify bts_chan_load ...................................................................... clarify bts_chan_load Change-Id: I9bd80a08472018e69360ac5739979c7056d4f063 --- M src/osmo-bsc/chan_alloc.c 1 file changed, 6 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/84/24384/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9bd80a08472018e69360ac5739979c7056d4f063 Gerrit-Change-Number: 24384 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:19:46 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:19:46 +0000 Subject: Change in osmo-bsc[master]: get_any_lchan(): reduce minor code dup In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24385 to look at the new patch set (#9). Change subject: get_any_lchan(): reduce minor code dup ...................................................................... get_any_lchan(): reduce minor code dup Change-Id: I304a7333adc265e156f04b42a10bac6912f58ad2 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 4 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/85/24385/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I304a7333adc265e156f04b42a10bac6912f58ad2 Gerrit-Change-Number: 24385 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:19:46 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:19:46 +0000 Subject: Change in osmo-bsc[master]: cosmetic loop simplification in gsm48_multirate_config() In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24394 to look at the new patch set (#5). Change subject: cosmetic loop simplification in gsm48_multirate_config() ...................................................................... cosmetic loop simplification in gsm48_multirate_config() Change-Id: I52424ad6a0bf499fe040cf0a1de00e636a0a40fe --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/94/24394/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I52424ad6a0bf499fe040cf0a1de00e636a0a40fe Gerrit-Change-Number: 24394 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:19:46 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:19:46 +0000 Subject: Change in osmo-bsc[master]: RSL: set default TEI according to TRX number In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24395 to look at the new patch set (#5). Change subject: RSL: set default TEI according to TRX number ...................................................................... RSL: set default TEI according to TRX number Change-Id: I3c500f7a5afc9143d4ea7102ab96e52aeb67b4b6 --- M src/osmo-bsc/bts_trx.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/95/24395/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3c500f7a5afc9143d4ea7102ab96e52aeb67b4b6 Gerrit-Change-Number: 24395 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:35:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:35:14 +0000 Subject: Change in osmo-bsc[master]: RSL link: explicitly select rsl_link based on lchan In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24365 ) Change subject: RSL link: explicitly select rsl_link based on lchan ...................................................................... Patch Set 5: oh wait, this one can actually stay here. It is not strictly necessary, but it is a nice abstraction if we should ever want to manipulate the rsl link in a central place. But the main reason to keep this patch for me now is that removing it causes merge conflicts in various subsequent patches on this branch... let me know of your opinions whether it is worth the effort to get rid of this change. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifbf16bb296e91f151d19e15e39f5c953ad77ff17 Gerrit-Change-Number: 24365 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 May 2021 00:35:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:38:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:38:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_establish_fully: verify lchan ESTABLISHED state In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24406 ) Change subject: bsc: f_establish_fully: verify lchan ESTABLISHED state ...................................................................... bsc: f_establish_fully: verify lchan ESTABLISHED state Change-Id: I341e2fa1e8946e7516705fa079e6e54fce9e58b0 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve neels: Looks good to me, approved diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 6b93ca5..8c44bf7 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -1307,6 +1307,13 @@ " released properly: saw an RLL Release on the old lchan, but expecting none."); } } + + var charstring lchan_info := f_vty_transceive_ret(BSCVTY, "show lchan 0 0 " & int2str(g_chan_nr.tn) & " 0"); + if (f_strstr(lchan_info, "State: ESTABLISHED") < 0) { + log("after f_establish_fully(), 'show lchan' replied: ", lchan_info); + setverdict(fail, "lchan is not in state ESTABLISHED"); + mtc.stop; + } } type record HandoverState { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24406 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: I341e2fa1e8946e7516705fa079e6e54fce9e58b0 Gerrit-Change-Number: 24406 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:38:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:38:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: refuse VAMOS mode without BTS_FEAT_VAMOS In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24407 ) Change subject: bsc: refuse VAMOS mode without BTS_FEAT_VAMOS ...................................................................... bsc: refuse VAMOS mode without BTS_FEAT_VAMOS Change-Id: I73b8eb5e6073ae46b83bed9fddd4762861029a84 --- M bsc/BSC_Tests.ttcn 1 file changed, 96 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve neels: Looks good to me, approved diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index b07e693..889a64d 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -8579,6 +8579,99 @@ * is the info correct on delayed PCU (re)connect? */ +private function f_TC_refuse_mode_modif_to_vamos(charstring id) runs on MSC_ConnHdlr { + var PDU_BSSAP ass_cmd := f_gen_ass_req(g_pars.use_osmux); + var template PDU_BSSAP exp_compl := f_gen_exp_compl(g_pars.use_osmux); + + /* puzzle together the ASSIGNMENT REQ for given codec[s] */ + if (mp_bssap_cfg[0].transport == BSSAP_TRANSPORT_AoIP) { + ass_cmd.pdu.bssmap.assignmentRequest.codecList := g_pars.ass_codec_list; + exp_compl.pdu.bssmap.assignmentComplete.speechCodec.codecElements[0] := + g_pars.ass_codec_list.codecElements[0]; + if (isvalue(g_pars.expect_mr_s0_s7)) { + exp_compl.pdu.bssmap.assignmentComplete.speechCodec.codecElements[0].s0_7 := + g_pars.expect_mr_s0_s7; + } + } + ass_cmd.pdu.bssmap.assignmentRequest.channelType := + f_BSSMAP_chtype_from_codec(g_pars.ass_codec_list.codecElements[0]); + log("expecting ASS COMPL like this: ", exp_compl); + + f_establish_fully(ass_cmd, exp_compl); + + f_vty_transceive(BSCVTY, "vamos modify first"); + + var RSL_Message rsl; + + timer T := 5.0; + T.start; + alt { + [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr)) -> value rsl { + var PDU_ML3_NW_MS l3 := dec_PDU_ML3_NW_MS(rsl.ies[2].body.l3_info.payload); + log("Rx L3 from net: ", l3); + if (ischosen(l3.msgs.rrm.channelModeModify)) { + setverdict(fail, "Mode Modify to VAMOS succeeded even though BTS does not support VAMOS"); + mtc.stop; + } + } + [] RSL.receive(tr_RSL_MODE_MODIFY_REQ(g_chan_nr, ?)) -> value rsl { + setverdict(fail, "Mode Modify to VAMOS succeeded even though BTS does not support VAMOS"); + mtc.stop; + } + [] T.timeout { + /* The BTS does not exhibit BTS_FEAT_VAMOS, so no VAMOS related Mode Modify should happen. */ + setverdict(pass); + } + } + T.stop; +} + +/* The BSC does *not* indicate BTS_FEAT_VAMOS; make sure that a channel Mode Modify to VAMOS mode is refused by + * osmo-bsc. */ +testcase TC_refuse_mode_modif_to_vamos() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + vc_conn := f_start_handler(refers(f_TC_refuse_mode_modif_to_vamos), pars); + vc_conn.done; + f_shutdown_helper(); +} + +/* The BSC does *not* indicate BTS_FEAT_VAMOS; make sure that a channel activation to VAMOS mode is refused by osmo-bsc. + */ +testcase TC_refuse_chan_act_to_vamos() runs on test_CT { + f_init_vty(); + + f_init(1, false); + f_sleep(1.0); + + f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 1 sub-slot 0 activate-vamos fr"); + + var ASP_RSL_Unitdata rx_rsl_ud; + timer T := 5.0; + + T.start; + alt { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(?, IPAC_PROTO_RSL_TRX0)) -> value rx_rsl_ud { + if (rx_rsl_ud.rsl.msg_type == RSL_MT_CHAN_ACTIV) { + T.stop; + setverdict(fail, "CHANnel ACTivate in VAMOS mode succeeded even though BTS does not support VAMOS"); + mtc.stop; + } + repeat; + } + [] T.timeout { + /* The BTS does not exhibit BTS_FEAT_VAMOS, so no VAMOS related CHANnel ACTivate should happen. */ + setverdict(pass); + } + } +} + + control { /* CTRL interface testing */ execute( TC_ctrl_msc_connection_status() ); @@ -8839,6 +8932,9 @@ } execute( TC_no_msc() ); + + execute( TC_refuse_chan_act_to_vamos() ); + execute( TC_refuse_mode_modif_to_vamos() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24407 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: I73b8eb5e6073ae46b83bed9fddd4762861029a84 Gerrit-Change-Number: 24407 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:38:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:38:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_reassignment_fr() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24408 ) Change subject: bsc: add TC_reassignment_fr() ...................................................................... bsc: add TC_reassignment_fr() osmo-bsc does now support intra-cell re-Assignment of lchans with active voice. Test re-Assignment of TCH/F, triggered by VTY command. Change-Id: I05fecefb9d6f9f23a0362f133170bca4da92e308 --- M bsc/BSC_Tests.ttcn 1 file changed, 89 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 889a64d..abcfece 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -8671,6 +8671,93 @@ } } +private function f_TC_reassignment_codec(charstring id) runs on MSC_ConnHdlr { + /* First fully set up a speech lchan */ + f_TC_assignment_codec(id); + + /* Trigger re-assignment to another lchan */ + var AssignmentState assignment_st := valueof(ts_AssignmentStateInit); + + /* Re-Assignment should tell the MGW endpoint the new lchan's RTP address and port, so expecting to see exactly + * one MDCX on MGCP. */ + g_media.mgcp_conn[0].mdcx_seen_exp := g_media.mgcp_conn[0].mdcx_seen_exp + 1; + + /* The new lchan will see all-new IPAC_CRCX and IPAC_MDCX messages telling the BTS the same RTP address and port + * as the old lchan used. */ + g_media.bts.ipa_crcx_seen := false; + g_media.bts.ipa_mdcx_seen := false; + + /* Send different BTS side RTP port number for the new lchan */ + g_media.bts.bts.port_nr := 4223; + + f_rslem_register(0, valueof(ts_RslChanNr_Bm(2))); /* <-- FIXME: can we somehow infer the timeslot that will be used? */ + + /* Trigger re-assignment. */ + f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot " & int2str(g_chan_nr.tn) & " sub-slot 0 assignment"); + + timer T := 5.0; + T.start; + alt { + [] as_assignment(assignment_st); + [] as_Media(); + [] T.timeout { + break; + } + } + + if (not assignment_st.assignment_done) { + setverdict(fail, "Assignment did not complete"); + mtc.stop; + } + + f_check_mgcp_expectations() + setverdict(pass); + + f_sleep(2.0); + log("show lchan summary: ", f_vty_transceive_ret(BSCVTY, "show lchan summary")); + + /* Instruct BSC to clear channel */ + var BssmapCause cause := 0; + BSSAP.send(ts_BSSMAP_ClearCommand(cause)); + interleave { + [] MGCP.receive(tr_DLCX) {} + [] MGCP.receive(tr_DLCX) {} + [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE)) {} + [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {} + [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + } + [] BSSAP.receive(tr_BSSMAP_ClearComplete) { + BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ); + } + } + + f_sleep(0.5); +} + +testcase TC_reassignment_fr() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + f_ctrs_bsc_and_bts_init(); + + pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + vc_conn := f_start_handler(refers(f_TC_reassignment_codec), pars); + vc_conn.done; + + /* from f_establish_fully() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + /* from re-assignment */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + f_ctrs_bsc_and_bts_verify(); + f_shutdown_helper(); +} + control { /* CTRL interface testing */ @@ -8935,6 +9022,8 @@ execute( TC_refuse_chan_act_to_vamos() ); execute( TC_refuse_mode_modif_to_vamos() ); + + execute( TC_reassignment_fr() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24408 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: I05fecefb9d6f9f23a0362f133170bca4da92e308 Gerrit-Change-Number: 24408 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:38:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:38:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RSL_Types: add VAMOS chan rates and OSMO_TRAINING_SEQUENCE IE In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24409 ) Change subject: RSL_Types: add VAMOS chan rates and OSMO_TRAINING_SEQUENCE IE ...................................................................... RSL_Types: add VAMOS chan rates and OSMO_TRAINING_SEQUENCE IE Prepare for upcoming VAMOS tests in BSC_Tests_VAMOS.ttcn. Change-Id: Idbe9014754eff9c8b2bff19828581bae5b36fadf --- M library/RSL_Types.ttcn 1 file changed, 15 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 6118dcf..2cbd668 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -220,6 +220,8 @@ RSL_IE_TFO_STATUS ('00111011'B), RSL_IE_LLP_APDU ('00111100'B), + RSL_IE_OSMO_TRAINING_SEQUENCE ('01100001'B), + /* ip.access */ RSL_IE_IPAC_SRTP_CONFIG ('11100000'B), RSL_IE_IPAC_PROXY_UDP ('11100001'B), @@ -376,7 +378,9 @@ RSL_CHRT_TCH_F_GROUP ('00011000'B), RSL_CHRT_TCH_H_GROUP ('00011001'B), RSL_CHRT_TCH_F_BCAST ('00101000'B), - RSL_CHRT_TCH_H_BCAST ('00101001'B) + RSL_CHRT_TCH_H_BCAST ('00101001'B), + RSL_CHRT_OSMO_TCH_F_VAMOS ('10001000'B), + RSL_CHRT_OSMO_TCH_H_VAMOS ('10001001'B) } with { variant "FIELDLENGTH(8)" }; type enumerated RSL_SpeechAlgo { RSL_CMOD_NO_RESOURCE ('00000000'B), @@ -826,6 +830,12 @@ REL_REL_MODE_LOCAL ('01'B) } + type record RSL_IE_OSMO_TrainingSequence { + uint8_t len, + uint8_t tsc_set, + uint8_t tsc + } with { variant (len) "LENGTHTO(tsc_set,tsc)" } + /* union of all IE bodies */ type union RSL_IE_Body { RslChannelNr chan_nr, @@ -878,6 +888,8 @@ RSL_IE_IPA_ConnectionStats ipa_stats, RSL_IE_IPA_SpeechMode ipa_speech_mode, + RSL_IE_OSMO_TrainingSequence osmo_training_sequence, + RSL_LV other } @@ -937,6 +949,8 @@ ipa_stats, iei = RSL_IE_IPAC_CONN_STAT; ipa_speech_mode, iei = RSL_IE_IPAC_SPEECH_MODE; + osmo_training_sequence, iei = RSL_IE_OSMO_TRAINING_SEQUENCE; + other, OTHERWISE; )" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24409 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: Idbe9014754eff9c8b2bff19828581bae5b36fadf Gerrit-Change-Number: 24409 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:40:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 00:40:01 +0000 Subject: Change in libosmocore[master]: gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOS In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24420 ) Change subject: gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOS ...................................................................... Patch Set 1: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If33c1695922d110c0d2c60d5c0136caf2587194e Gerrit-Change-Number: 24420 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 27 May 2021 00:40:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:45:19 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:45:19 +0000 Subject: Change in libosmocore[master]: rsl: make rsl_dec_chan_nr() more readable, use RSL_CHAN_NR_MASK In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24419 ) Change subject: rsl: make rsl_dec_chan_nr() more readable, use RSL_CHAN_NR_MASK ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1650e3b02e79461e42499268fa8ed30bff667489 Gerrit-Change-Number: 24419 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 27 May 2021 00:45:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 00:48:11 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 00:48:11 +0000 Subject: Change in libosmocore[master]: gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOS In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24420 ) Change subject: gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOS ...................................................................... Patch Set 1: I need this merged to libosmocore in order for the vamos2 branch on osmo-bsc to pass build verification. So it would be nice to soon get a verdict on whether the idea of using osmocom-specific cbits in the Channel Number IE for shadow lchans is acceptable. If it is, I'd just +2 and merge this patch now (and trigger a rebuild of patches on topic vamos2). Me personally, I prefer the simplicity of this approach to the shadow-TEI one. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If33c1695922d110c0d2c60d5c0136caf2587194e Gerrit-Change-Number: 24420 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 27 May 2021 00:48:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 01:26:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 01:26:29 +0000 Subject: Change in osmo-bsc[master]: add test_bs_power.ho_vty to show BS Power HO oscillation In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24424 to look at the new patch set (#4). Change subject: add test_bs_power.ho_vty to show BS Power HO oscillation ...................................................................... add test_bs_power.ho_vty to show BS Power HO oscillation Shows a bug / missing feature, to be fixed in Ifcf59964b5e2d550d79e4ba14d90962808f79dae Related: SYS#5339 Change-Id: I1cc9bc39e8695faa983819b909e0ec76f0dbc296 --- M tests/handover/handover_tests.ok A tests/handover/test_bs_power.ho_vty 2 files changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/24/24424/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1cc9bc39e8695faa983819b909e0ec76f0dbc296 Gerrit-Change-Number: 24424 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 01:26:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 01:26:29 +0000 Subject: Change in osmo-bsc[master]: handover: apply meas report BS Power to RXLEV, fix ho oscillation In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24425 to look at the new patch set (#4). Change subject: handover: apply meas report BS Power to RXLEV, fix ho oscillation ...................................................................... handover: apply meas report BS Power to RXLEV, fix ho oscillation This fixes handover oscillation in the presence of power reduction on the downlink: apply the reduced power to the cell's RXLEV in order to not rate the current cell as weaker than it actually is. Related: SYS#5339 Change-Id: Ifcf59964b5e2d550d79e4ba14d90962808f79dae --- M src/osmo-bsc/meas_rep.c M tests/handover/test_bs_power.ho_vty 2 files changed, 9 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/25/24425/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifcf59964b5e2d550d79e4ba14d90962808f79dae Gerrit-Change-Number: 24425 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 01:28:32 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 01:28:32 +0000 Subject: Change in osmo-bsc[master]: handover_test: add bspower to meas-rep cmd In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24423 to look at the new patch set (#4). Change subject: handover_test: add bspower to meas-rep cmd ...................................................................... handover_test: add bspower to meas-rep cmd Subsequent patch will add a test that uses this to show a handover oscillation problem in the presence of nonzero BS Power. Related: SYS#5339 Change-Id: I158d4b27370ab19318f83018803853f423c89b79 --- M tests/handover/handover_test.c 1 file changed, 28 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/23/24423/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I158d4b27370ab19318f83018803853f423c89b79 Gerrit-Change-Number: 24423 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 09:55:33 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 27 May 2021 09:55:33 +0000 Subject: Change in pysim[master]: filesystem: add unit tests for encoder/decoder methods In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24012 ) Change subject: filesystem: add unit tests for encoder/decoder methods ...................................................................... Patch Set 5: (7 comments) https://gerrit.osmocom.org/c/pysim/+/24012/4/pySim/ts_31_102.py File pySim/ts_31_102.py: https://gerrit.osmocom.org/c/pysim/+/24012/4/pySim/ts_31_102.py at 294 PS4, Line 294: _encode_decode_testvector = ['{"prot_scheme_id_list": [{"priority": 0, "identifier": 2, "key_index": 1}, {"priority": 1, "identifier": 1, "key_index": 2}, {"priority": 2, "identifier": 0, "key_index": 0}], "hnet_pubkey_list": [{"hnet_pubkey_identifier": 27, "hnet_pubkey": "0272da71976234ce833a6907425867b82e074d44ef907dfb4b3e21c1c2256ebcd1"}, {"hnet_pubkey_identifier": 30, "hnet_pubkey": "5a8d38864820197c3394b92613b20b91633cbd897119273bf8e4a6f4eec0a650"}]}'] > one could use a dict and then json-serialize that. [?] The json line is what would also work in the shell. I think it is important to use the same format that would also work in the shell. (I was starting with dict format as test vector but quickly noticed that the dict not always matched the json I had in mind) I agree that this line is not easy to read but you can copy+paste it into pySim-shell and it will work. I don't think there is much won when I now start to split up the strings to match any coding style cosmetics https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py File tests/test_files.py: https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 22 PS4, Line 22: def test_encode_decode(testcase, ef, verbose=False): > As I pointed out below, this function should become a method of DecTestCase. Done https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 49 PS4, Line 49: if not has_testvec: > This condition looks common for both branches, I would move it below. Done https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 57 PS4, Line 57: for testvec_json in ef.__class__._encode_decode_testvector: > Probably makes sense to wrap each vector into self.subTest too. I do not understand what you mean. Do you mean to define a testvector class which then contains the encode_decode_testvector[] list? https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 71 PS4, Line 71: testcase.assertEqual(testvec_json, decoded_json) > there's pros and cons. [?] In my opinion matching the strings is the best way possible. There should not be any difference between the original input and the output. https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 82 PS4, Line 82: DecTestCase > Is it only decoding or encoding and decoding together? The name looks confusing. Done https://gerrit.osmocom.org/c/pysim/+/24012/4/tests/test_files.py at 101 PS4, Line 101: test_encode_decode > So you have a function that accepts a reference to the test case instance, but for some reason it's [?] Done -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I02d884547f4982e0b8ed7ef21b8cda75237942e2 Gerrit-Change-Number: 24012 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: Falkenber9 Gerrit-Comment-Date: Thu, 27 May 2021 09:55:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 09:59:16 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 27 May 2021 09:59:16 +0000 Subject: Change in pysim[master]: cards: rename class "Card" to "SimCard" In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24142 to look at the new patch set (#4). Change subject: cards: rename class "Card" to "SimCard" ...................................................................... cards: rename class "Card" to "SimCard" There are the classes IsimCard and UsimCard, which inheret from Card, which is the base class for a normal non ISIM/USIM simcard. Card also has methods in it that are related to simcards, so it is not just any "Card", it is a SimCard and should be called that way. Change-Id: I2077ded44bc2297b8d478c5bd1895951b494efcc --- M pySim-read.py M pySim-shell.py M pySim/cards.py 3 files changed, 11 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/42/24142/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2077ded44bc2297b8d478c5bd1895951b494efcc Gerrit-Change-Number: 24142 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 10:29:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 10:29:13 +0000 Subject: Change in osmo-bsc[master]: hodec2: remove code dup of rxlev averaging In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24422 ) Change subject: hodec2: remove code dup of rxlev averaging ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic49b94ea243898535c82018c14df8a3ba216ea83 Gerrit-Change-Number: 24422 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 10:29:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 10:33:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 10:33:58 +0000 Subject: Change in osmo-bsc[master]: change bs_power to bs_power_db In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24421 ) Change subject: change bs_power to bs_power_db ...................................................................... Patch Set 6: (1 comment) I'm not really sure we really gain something with this patch, specially since ms_power is probably also stored the same way and you are then leaving each one with different metrics. https://gerrit.osmocom.org/c/osmo-bsc/+/24421/6/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24421/6/src/osmo-bsc/abis_rsl.c at 594 PS6, Line 594: msgb_tv_put(msg, RSL_IE_BS_POWER, lchan->bs_power_db / 2); aren't you missing here the 0x10 flag? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I229db1d6bcf532af95aff56b2ad18b5ed9d81616 Gerrit-Change-Number: 24421 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 27 May 2021 10:33:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 10:36:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 10:36:36 +0000 Subject: Change in osmo-bsc[master]: meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24426 ) Change subject: meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4cb607ff43a1cb30408427d99d97c103776b6e69 Gerrit-Change-Number: 24426 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 10:36:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 10:38:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 10:38:05 +0000 Subject: Change in osmo-bsc[master]: meas rep logging: use log_check_level() to skip a logging loop In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24427 ) Change subject: meas rep logging: use log_check_level() to skip a logging loop ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71a402a0940857bbedbaf25d293429934706a83c Gerrit-Change-Number: 24427 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 10:38:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 10:43:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 10:43:56 +0000 Subject: Change in osmo-bsc[master]: allow explixit TSC Set and TSC on chan activ / modif / assignment In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24369 ) Change subject: allow explixit TSC Set and TSC on chan activ / modif / assignment ...................................................................... Patch Set 7: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24369/7/src/osmo-bsc/gsm_04_08_rr.c File src/osmo-bsc/gsm_04_08_rr.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24369/7/src/osmo-bsc/gsm_04_08_rr.c at 694 PS7, Line 694: tsc = (lchan->modify.info.tsc >= 0) ? lchan->modify.info.tsc : gsm_ts_tsc(lchan->ts); /* FIXME */ why this FIXME here? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic665125255d7354f5499d10dda1dd866ab243d24 Gerrit-Change-Number: 24369 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 10:43:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 10:46:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 10:46:05 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 10:46:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 10:46:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 10:46:40 +0000 Subject: Change in osmo-bsc[master]: rsl_lchan_lookup(): turn cbits if-cascade into a switch() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24428 ) Change subject: rsl_lchan_lookup(): turn cbits if-cascade into a switch() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c6ce2f4ca999c19a58909b9adb849a3b8b6ffc8 Gerrit-Change-Number: 24428 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 10:46:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 10:47:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 10:47:15 +0000 Subject: Change in osmo-bsc[master]: rsl_lchan_lookup(): add comment explaining ts_is_capable_of_pchan() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24429 ) Change subject: rsl_lchan_lookup(): add comment explaining ts_is_capable_of_pchan() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie3699db496cfb690ac9302ccd177cdd77dc57ebb Gerrit-Change-Number: 24429 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 10:47:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 10:47:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 10:47:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 ) Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 10:47:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 10:48:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 10:48:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_Types, bsc: add VAMOS cbits In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24431 ) Change subject: GSM_Types, bsc: add VAMOS cbits ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24431 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: I2d98495b8c4c9a8466f2154af9bb29124c2cb0b5 Gerrit-Change-Number: 24431 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 10:48:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 10:49:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 10:49:29 +0000 Subject: Change in osmo-bsc[master]: cosmetic loop simplification in gsm48_multirate_config() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24394 ) Change subject: cosmetic loop simplification in gsm48_multirate_config() ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I52424ad6a0bf499fe040cf0a1de00e636a0a40fe Gerrit-Change-Number: 24394 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 10:49:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 10:49:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 10:49:42 +0000 Subject: Change in osmo-bsc[master]: RSL: set default TEI according to TRX number In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24395 ) Change subject: RSL: set default TEI according to TRX number ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3c500f7a5afc9143d4ea7102ab96e52aeb67b4b6 Gerrit-Change-Number: 24395 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 10:49:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 10:50:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 10:50:56 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24430 ) Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 10:50:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 10:52:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 10:52:55 +0000 Subject: Change in libosmocore[master]: rsl: make rsl_dec_chan_nr() more readable, use RSL_CHAN_NR_MASK In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24419 ) Change subject: rsl: make rsl_dec_chan_nr() more readable, use RSL_CHAN_NR_MASK ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1650e3b02e79461e42499268fa8ed30bff667489 Gerrit-Change-Number: 24419 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 10:52:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 10:53:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 10:53:47 +0000 Subject: Change in libosmocore[master]: gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24420 ) Change subject: gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOS ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If33c1695922d110c0d2c60d5c0136caf2587194e Gerrit-Change-Number: 24420 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 10:53:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 10:54:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 10:54:13 +0000 Subject: Change in osmo-bsc[master]: add test_bs_power.ho_vty to show BS Power HO oscillation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24424 ) Change subject: add test_bs_power.ho_vty to show BS Power HO oscillation ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1cc9bc39e8695faa983819b909e0ec76f0dbc296 Gerrit-Change-Number: 24424 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 10:54:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 10:57:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 10:57:30 +0000 Subject: Change in osmo-bsc[master]: handover: apply meas report BS Power to RXLEV, fix ho oscillation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24425 ) Change subject: handover: apply meas report BS Power to RXLEV, fix ho oscillation ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24425/5/src/osmo-bsc/meas_rep.c File src/osmo-bsc/meas_rep.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24425/5/src/osmo-bsc/meas_rep.c at 37 PS5, Line 37: return rep->dl.full.rx_lev + (rep->bs_power * 2); Shouldn't this be doe by the caller of get_field and not this getter itself? looks weird asking for MEAS_REP_DL_RXLEV_FULL and getting rx_lev + bs_power... -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifcf59964b5e2d550d79e4ba14d90962808f79dae Gerrit-Change-Number: 24425 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 27 May 2021 10:57:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 12:16:26 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 27 May 2021 12:16:26 +0000 Subject: Change in libosmocore[master]: gprs_ns2: implement local update weight procedure In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23187 ) Change subject: gprs_ns2: implement local update weight procedure ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 Gerrit-Change-Number: 23187 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 27 May 2021 12:16:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 13:11:29 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 27 May 2021 13:11:29 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: refactor MGCP_DUMMY_LOAD In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/24315 to look at the new patch set (#2). Change subject: mgcp_network: refactor MGCP_DUMMY_LOAD ...................................................................... mgcp_network: refactor MGCP_DUMMY_LOAD The constant MGCP_DUMMY_LOAD is used ambigously. Sometimes it is used as initalizer for an array, sometimes it is used as a single byte. Also the name is not very expressive. Lets refactor this. Change-Id: I21d96cefeeb647958bfa1e22a0ea030884746fad --- M include/osmocom/mgcp/mgcp_network.h M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_osmux.c M tests/mgcp/mgcp_test.c 4 files changed, 60 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/15/24315/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I21d96cefeeb647958bfa1e22a0ea030884746fad Gerrit-Change-Number: 24315 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 13:12:01 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 27 May 2021 13:12:01 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: refactor MGCP_DUMMY_LOAD In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24315 ) Change subject: mgcp_network: refactor MGCP_DUMMY_LOAD ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24315/1/include/osmocom/mgcp/mgcp_network.h File include/osmocom/mgcp/mgcp_network.h: https://gerrit.osmocom.org/c/osmo-mgw/+/24315/1/include/osmocom/mgcp/mgcp_network.h at 10 PS1, Line 10: a an > an Done https://gerrit.osmocom.org/c/osmo-mgw/+/24315/1/include/osmocom/mgcp/mgcp_network.h at 18 PS1, Line 18: memcmp > Ack The dummy payload may be one byte but technically it is an array with only one element. That is why memcmp() is used. I have now changed the macro a bit. If we only have one byte rtp_dummy_payload it will directly compare the first byte. (I also added a unit-test so that we can be sure the macro still works now) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I21d96cefeeb647958bfa1e22a0ea030884746fad Gerrit-Change-Number: 24315 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 27 May 2021 13:12:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 14:15:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 14:15:25 +0000 Subject: Change in osmo-bsc[master]: handover_test: add bspower to meas-rep cmd In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24423 ) Change subject: handover_test: add bspower to meas-rep cmd ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I158d4b27370ab19318f83018803853f423c89b79 Gerrit-Change-Number: 24423 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 27 May 2021 14:15:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 14:16:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 14:16:06 +0000 Subject: Change in osmo-bsc[master]: add test_bs_power.ho_vty to show BS Power HO oscillation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24424 ) Change subject: add test_bs_power.ho_vty to show BS Power HO oscillation ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1cc9bc39e8695faa983819b909e0ec76f0dbc296 Gerrit-Change-Number: 24424 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 14:16:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 14:24:40 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 14:24:40 +0000 Subject: Change in libosmocore[master]: rsl: make rsl_dec_chan_nr() more readable, use RSL_CHAN_NR_MASK In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24419 ) Change subject: rsl: make rsl_dec_chan_nr() more readable, use RSL_CHAN_NR_MASK ...................................................................... rsl: make rsl_dec_chan_nr() more readable, use RSL_CHAN_NR_MASK Change-Id: I1650e3b02e79461e42499268fa8ed30bff667489 --- M src/gsm/rsl.c 1 file changed, 23 insertions(+), 31 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c index 8d34543..706fb54 100644 --- a/src/gsm/rsl.c +++ b/src/gsm/rsl.c @@ -187,38 +187,30 @@ { *timeslot = chan_nr & 0x7; - if ((chan_nr & 0xf8) == RSL_CHAN_Bm_ACCHs) { - *type = RSL_CHAN_Bm_ACCHs; + switch (chan_nr & RSL_CHAN_NR_MASK) { + case RSL_CHAN_Bm_ACCHs: + case RSL_CHAN_BCCH: + case RSL_CHAN_RACH: + case RSL_CHAN_PCH_AGCH: + case RSL_CHAN_OSMO_PDCH: + case RSL_CHAN_OSMO_CBCH4: + case RSL_CHAN_OSMO_CBCH8: + *type = chan_nr & RSL_CHAN_NR_MASK; *subch = 0; - } else if ((chan_nr & 0xf0) == RSL_CHAN_Lm_ACCHs) { - *type = RSL_CHAN_Lm_ACCHs; - *subch = (chan_nr >> 3) & 0x1; - } else if ((chan_nr & 0xe0) == RSL_CHAN_SDCCH4_ACCH) { - *type = RSL_CHAN_SDCCH4_ACCH; - *subch = (chan_nr >> 3) & 0x3; - } else if ((chan_nr & 0xc0) == RSL_CHAN_SDCCH8_ACCH) { - *type = RSL_CHAN_SDCCH8_ACCH; - *subch = (chan_nr >> 3) & 0x7; - } else if ((chan_nr & 0xf8) == RSL_CHAN_BCCH) { - *type = RSL_CHAN_BCCH; - *subch = 0; - } else if ((chan_nr & 0xf8) == RSL_CHAN_RACH) { - *type = RSL_CHAN_RACH; - *subch = 0; - } else if ((chan_nr & 0xf8) == RSL_CHAN_PCH_AGCH) { - *type = RSL_CHAN_PCH_AGCH; - *subch = 0; - } else if ((chan_nr & 0xf8) == RSL_CHAN_OSMO_PDCH) { - *type = RSL_CHAN_OSMO_PDCH; - *subch = 0; - } else if ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH4) { - *type = RSL_CHAN_OSMO_CBCH4; - *subch = 0; - } else if ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH8) { - *type = RSL_CHAN_OSMO_CBCH8; - *subch = 0; - } else - return -EINVAL; + break; + default: + if ((chan_nr & 0xf0) == RSL_CHAN_Lm_ACCHs) { + *type = RSL_CHAN_Lm_ACCHs; + *subch = (chan_nr >> 3) & 0x1; + } else if ((chan_nr & 0xe0) == RSL_CHAN_SDCCH4_ACCH) { + *type = RSL_CHAN_SDCCH4_ACCH; + *subch = (chan_nr >> 3) & 0x3; + } else if ((chan_nr & 0xc0) == RSL_CHAN_SDCCH8_ACCH) { + *type = RSL_CHAN_SDCCH8_ACCH; + *subch = (chan_nr >> 3) & 0x7; + } else + return -EINVAL; + } return 0; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1650e3b02e79461e42499268fa8ed30bff667489 Gerrit-Change-Number: 24419 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 14:24:40 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 14:24:40 +0000 Subject: Change in libosmocore[master]: gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOS In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24420 ) Change subject: gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOS ...................................................................... gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOS Change-Id: If33c1695922d110c0d2c60d5c0136caf2587194e Related: SYS#4895, OS#4941, SYS#5315, OS#4940 --- M include/osmocom/gsm/protocol/gsm_08_58.h M src/gsm/rsl.c M src/gsmtap_util.c 3 files changed, 19 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index 97c02e8..9a6e761 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -53,6 +53,10 @@ #define ABIS_RSL_CHAN_NR_CBITS_OSMO_CBCH4 0x19 /*< non-standard, for CBCH/SDCCH4 */ #define ABIS_RSL_CHAN_NR_CBITS_OSMO_CBCH8 0x1a /*< non-standard, for CBCH/SDCCH8 */ +/* non-standard, Osmocom specific Bm/Lm equivalents for VAMOS */ +#define ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs 0x1d /*< VAMOS TCH/F */ +#define ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(ss) (0x1e + (ss)) /*< VAMOS TCH/H */ + /* Link Identifier 9.3.2 */ union abis_rsl_link_id { #if OSMO_IS_BIG_ENDIAN @@ -455,6 +459,10 @@ #define RSL_CHAN_OSMO_CBCH4 0xc8 /*< non-standard, for CBCH/SDCCH4 */ #define RSL_CHAN_OSMO_CBCH8 0xd0 /*< non-standard, for CBCH/SDCCH8 */ +/* non-standard, Osmocom specific Bm/Lm equivalents for VAMOS */ +#define RSL_CHAN_OSMO_VAMOS_Bm_ACCHs 0xe8 /* VAMOS TCH/F */ +#define RSL_CHAN_OSMO_VAMOS_Lm_ACCHs 0xf0 /* VAMOS TCH/H */ + /* Chapter 9.3.3 */ #define RSL_ACT_TYPE_INITIAL 0x00 #define RSL_ACT_TYPE_REACT 0x80 diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c index 706fb54..a7fa81d 100644 --- a/src/gsm/rsl.c +++ b/src/gsm/rsl.c @@ -159,6 +159,7 @@ switch (type) { case RSL_CHAN_Lm_ACCHs: + case RSL_CHAN_OSMO_VAMOS_Lm_ACCHs: subch &= 0x01; break; case RSL_CHAN_SDCCH4_ACCH: @@ -195,6 +196,7 @@ case RSL_CHAN_OSMO_PDCH: case RSL_CHAN_OSMO_CBCH4: case RSL_CHAN_OSMO_CBCH8: + case RSL_CHAN_OSMO_VAMOS_Bm_ACCHs: *type = chan_nr & RSL_CHAN_NR_MASK; *subch = 0; break; @@ -208,6 +210,9 @@ } else if ((chan_nr & 0xc0) == RSL_CHAN_SDCCH8_ACCH) { *type = RSL_CHAN_SDCCH8_ACCH; *subch = (chan_nr >> 3) & 0x7; + } else if ((chan_nr & 0xf0) == RSL_CHAN_OSMO_VAMOS_Lm_ACCHs) { + *type = RSL_CHAN_OSMO_VAMOS_Lm_ACCHs; + *subch = (chan_nr >> 3) & 0x1; } else return -EINVAL; } @@ -246,6 +251,10 @@ snprintf(buf, buf_len, "CBCH(SDCCH/4) on TS%d", ts); else if (cbits == ABIS_RSL_CHAN_NR_CBITS_OSMO_CBCH8) snprintf(buf, buf_len, "CBCH(SDCCH/8) on TS%d", ts); + else if (cbits == ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs) + snprintf(buf, buf_len, "VAMOS TCH/F on TS%d", ts); + else if ((cbits & 0x1e) == ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(0)) + snprintf(buf, buf_len, "VAMOS TCH/H(%u) on TS%d", cbits & 0x01, ts); else snprintf(buf, buf_len, "UNKNOWN on TS%d", ts); diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c index 336e1d0..9ae06d6 100644 --- a/src/gsmtap_util.c +++ b/src/gsmtap_util.c @@ -63,12 +63,14 @@ switch (rsl_chantype) { case RSL_CHAN_Bm_ACCHs: + case RSL_CHAN_OSMO_VAMOS_Bm_ACCHs: if (user_plane) ret = GSMTAP_CHANNEL_VOICE_F; else ret = GSMTAP_CHANNEL_FACCH_F; break; case RSL_CHAN_Lm_ACCHs: + case RSL_CHAN_OSMO_VAMOS_Lm_ACCHs: if (user_plane) ret = GSMTAP_CHANNEL_VOICE_H; else -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If33c1695922d110c0d2c60d5c0136caf2587194e Gerrit-Change-Number: 24420 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 14:27:03 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 14:27:03 +0000 Subject: Change in osmo-bsc[master]: handover: apply meas report BS Power to RXLEV, fix ho oscillation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24425 ) Change subject: handover: apply meas report BS Power to RXLEV, fix ho oscillation ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifcf59964b5e2d550d79e4ba14d90962808f79dae Gerrit-Change-Number: 24425 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 27 May 2021 14:27:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 14:27:31 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 14:27:31 +0000 Subject: Change in osmo-bsc[master]: hodec2: remove code dup of rxlev averaging In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24422 ) Change subject: hodec2: remove code dup of rxlev averaging ...................................................................... hodec2: remove code dup of rxlev averaging Change-Id: Ic49b94ea243898535c82018c14df8a3ba216ea83 --- M src/osmo-bsc/handover_decision_2.c 1 file changed, 1 insertion(+), 4 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index b397a9a..3326c0b 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -1439,10 +1439,7 @@ } /* get average levels. if not enough measurements yet, value is < 0 */ - av_rxlev = get_meas_rep_avg(lchan, - ho_get_hodec2_full_tdma(bts->ho) ? - MEAS_REP_DL_RXLEV_FULL : MEAS_REP_DL_RXLEV_SUB, - ho_get_hodec2_rxlev_avg_win(bts->ho)); + av_rxlev = current_rxlev(lchan); av_rxqual = get_meas_rep_avg(lchan, ho_get_hodec2_full_tdma(bts->ho) ? MEAS_REP_DL_RXQUAL_FULL : MEAS_REP_DL_RXQUAL_SUB, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic49b94ea243898535c82018c14df8a3ba216ea83 Gerrit-Change-Number: 24422 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 14:27:32 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 14:27:32 +0000 Subject: Change in osmo-bsc[master]: handover_test: add bspower to meas-rep cmd In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24423 ) Change subject: handover_test: add bspower to meas-rep cmd ...................................................................... handover_test: add bspower to meas-rep cmd Subsequent patch will add a test that uses this to show a handover oscillation problem in the presence of nonzero BS Power. Related: SYS#5339 Change-Id: I158d4b27370ab19318f83018803853f423c89b79 --- M tests/handover/handover_test.c 1 file changed, 28 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 8e23a4f..2b8e877 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -82,7 +82,7 @@ uint8_t meas_rep_ba = 0, meas_rep_valid = 1, meas_valid = 1, meas_multi_rep = 0; uint8_t meas_ul_rxlev = 0, meas_ul_rxqual = 0; -uint8_t meas_tx_power_ms = 0, meas_tx_power_bs = 0; +uint8_t meas_tx_power_ms = 0; uint8_t meas_dtx_ms = 0, meas_dtx_bs = 0, meas_nr = 0; char *codec_tch_f = NULL; char *codec_tch_h = NULL; @@ -94,7 +94,7 @@ }; static void gen_meas_rep(struct gsm_lchan *lchan, - uint8_t rxlev, uint8_t rxqual, uint8_t ta, + uint8_t bs_power_db, uint8_t rxlev, uint8_t rxqual, uint8_t ta, int neighbors_count, struct neighbor_meas *neighbors) { struct msgb *msg = msgb_alloc_headroom(256, 64, "RSL"); @@ -117,7 +117,7 @@ ulm[2] = (meas_ul_rxqual << 3) | meas_ul_rxqual; msgb_tlv_put(msg, RSL_IE_UPLINK_MEAS, sizeof(ulm), ulm); - msgb_tv_put(msg, RSL_IE_BS_POWER, meas_tx_power_bs); + msgb_tv_put(msg, RSL_IE_BS_POWER, (bs_power_db / 2) & 0xf); l1i[0] = 0; l1i[1] = ta; @@ -865,6 +865,7 @@ struct meas_rep_data { int argc; const char **argv; + uint8_t bs_power_db; }; static void _meas_rep_cb(struct gsm_lchan *lc, void *data) @@ -916,14 +917,15 @@ fprintf(stderr, " * Neighbor cell #%d, actual BTS %d: rxlev=%d\n", i, neighbor_bts_nr, nm[i].rxlev); } - gen_meas_rep(lc, rxlev, rxqual, ta, argc, nm); + gen_meas_rep(lc, d->bs_power_db, rxlev, rxqual, ta, argc, nm); } -static int _meas_rep(struct vty *vty, int argc, const char **argv) +static int _meas_rep(struct vty *vty, uint8_t bs_power_db, int argc, const char **argv) { struct meas_rep_data d = { .argc = argc - 4, .argv = argv + 4, + .bs_power_db = bs_power_db, }; parse_lchan_wildcard_args(argv, _meas_rep_cb, &d); return CMD_SUCCESS; @@ -951,7 +953,7 @@ MEAS_REP_DOC MEAS_REP_ARGS_DOC) { VTY_ECHO(); - return _meas_rep(vty, argc, argv); + return _meas_rep(vty, 0, argc, argv); } DEFUN(meas_rep_repeat, meas_rep_repeat_cmd, @@ -966,7 +968,25 @@ argc -= 1; while (count--) - _meas_rep(vty, argc, argv); + _meas_rep(vty, 0, argc, argv); + return CMD_SUCCESS; +} + +DEFUN(meas_rep_repeat_bspower, meas_rep_repeat_bspower_cmd, + "meas-rep repeat <0-999> bspower <0-31> " MEAS_REP_ARGS, + MEAS_REP_DOC + "Resend the same measurement report N times\nN\n" + "Send a nonzero BS Power value in the measurement report (downlink power reduction)\nBS Power reduction in dB\n" + MEAS_REP_ARGS_DOC) +{ + int count = atoi(argv[0]); + uint8_t bs_power_db = atoi(argv[1]); + VTY_ECHO(); + argv += 2; + argc -= 2; + + while (count--) + _meas_rep(vty, bs_power_db, argc, argv); return CMD_SUCCESS; } @@ -1184,6 +1204,7 @@ install_element(CONFIG_NODE, &create_ms_cmd); install_element(CONFIG_NODE, &meas_rep_cmd); install_element(CONFIG_NODE, &meas_rep_repeat_cmd); + install_element(CONFIG_NODE, &meas_rep_repeat_bspower_cmd); install_element(CONFIG_NODE, &congestion_check_cmd); install_element(CONFIG_NODE, &expect_no_chan_cmd); install_element(CONFIG_NODE, &expect_chan_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I158d4b27370ab19318f83018803853f423c89b79 Gerrit-Change-Number: 24423 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 14:27:32 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 14:27:32 +0000 Subject: Change in osmo-bsc[master]: add test_bs_power.ho_vty to show BS Power HO oscillation In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24424 ) Change subject: add test_bs_power.ho_vty to show BS Power HO oscillation ...................................................................... add test_bs_power.ho_vty to show BS Power HO oscillation Shows a bug / missing feature, to be fixed in Ifcf59964b5e2d550d79e4ba14d90962808f79dae Related: SYS#5339 Change-Id: I1cc9bc39e8695faa983819b909e0ec76f0dbc296 --- M tests/handover/handover_tests.ok A tests/handover/test_bs_power.ho_vty 2 files changed, 17 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/tests/handover/handover_tests.ok b/tests/handover/handover_tests.ok index bd21d0e..4a4a924 100644 --- a/tests/handover/handover_tests.ok +++ b/tests/handover/handover_tests.ok @@ -10,6 +10,7 @@ pass test_balance_congestion_2.ho_vty pass test_balance_congestion_by_percentage.ho_vty pass test_balance_congestion_tchf_tchh.ho_vty +pass test_bs_power.ho_vty pass test_congestion.ho_vty pass test_congestion_favor_best_target_rxlev.ho_vty pass test_congestion_intra_vs_inter_cell.ho_vty diff --git a/tests/handover/test_bs_power.ho_vty b/tests/handover/test_bs_power.ho_vty new file mode 100644 index 0000000..2c68d57 --- /dev/null +++ b/tests/handover/test_bs_power.ho_vty @@ -0,0 +1,16 @@ +# Do not oscillate handover when the BTS applies BS power reduction + +create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F TCH/F TCH/F TCH/F PDCH +create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F TCH/F TCH/F TCH/F PDCH + +set-ts-use trx 0 0 states * TCH/F - - - - - * + +meas-rep repeat 10 bspower 20 lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30 +# FAIL: there should be no handover, because the bspower reduction of 20 with an rxlev of 20 (= 40) is stronger than the +# neighbor at 30. But since osmo-bsc fails to take the BS Power into account, it hands over to the neighbor. +#expect-no-chan +expect-ho from lchan 0 0 1 0 to lchan 1 0 1 0 + +# When the neighbor then reports the stronger original cell, we get handover oscillation +meas-rep repeat 10 bspower 0 lchan 1 0 1 0 rxlev 30 rxqual 0 ta 0 neighbors 40 +expect-ho from lchan 1 0 1 0 to lchan 0 0 1 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1cc9bc39e8695faa983819b909e0ec76f0dbc296 Gerrit-Change-Number: 24424 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 14:35:32 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 14:35:32 +0000 Subject: Change in osmo-bsc[master]: handover: apply meas report BS Power to RXLEV, fix ho oscillation In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24425 ) Change subject: handover: apply meas report BS Power to RXLEV, fix ho oscillation ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24425/5/src/osmo-bsc/meas_rep.c File src/osmo-bsc/meas_rep.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24425/5/src/osmo-bsc/meas_rep.c at 37 PS5, Line 37: return rep->dl.full.rx_lev + (rep->bs_power * 2); > Shouldn't this be doe by the caller of get_field and not this getter itself? looks weird asking for [?] i specifically picked this place to apply the BS Power effect, because all of our code expects RXLEV to be the actual practical DL power; fixing the RXLEV value here makes sure that all of the handover and congestion resolution code everywhere uses the value adjusted for practical relevance. We could apply the BS Power to all of the callers separately, but IMHO that would be a bad choice. We could rename the enum values to MEAS_REP_DL_RXLEV_AND_BS_POWER_FULL and *_SUB? or introduce a separate MEAS_REP_DL_RXLEV_RAW (which then no code would use, ever). -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifcf59964b5e2d550d79e4ba14d90962808f79dae Gerrit-Change-Number: 24425 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 27 May 2021 14:35:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 14:38:44 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 14:38:44 +0000 Subject: Change in osmo-bsc[master]: change bs_power to bs_power_db In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24421 ) Change subject: change bs_power to bs_power_db ...................................................................... Patch Set 6: (5 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24421/6//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/24421/6//COMMIT_MSG at 9 PS6, Line 9: dBm Should be dB, because it's relative to the full power, not Milliwatt. https://gerrit.osmocom.org/c/osmo-bsc/+/24421/6//COMMIT_MSG at 10 PS6, Line 10: dBm Same here and below. https://gerrit.osmocom.org/c/osmo-bsc/+/24421/6/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24421/6/src/osmo-bsc/abis_rsl.c at 1040 PS6, Line 1040: ddBm dB https://gerrit.osmocom.org/c/osmo-bsc/+/24421/6/src/osmo-bsc/abis_rsl.c at 1129 PS6, Line 1129: bs_power_enc I would use: const uint8_t bs_power_enc = *TLVP_VAL(&tp, RSL_IE_BS_POWER); but this is not critical. https://gerrit.osmocom.org/c/osmo-bsc/+/24421/6/src/osmo-bsc/abis_rsl.c at 1130 PS6, Line 1130: bs_power_enc Ideally, we should apply a mask here: (bs_power_enc & 0x0f) * 2; because the 4 MSB bits may contain flags (FPC, EPC). -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I229db1d6bcf532af95aff56b2ad18b5ed9d81616 Gerrit-Change-Number: 24421 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 27 May 2021 14:38:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 14:40:33 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 14:40:33 +0000 Subject: Change in osmo-bsc[master]: change bs_power to bs_power_db In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24421 ) Change subject: change bs_power to bs_power_db ...................................................................... Patch Set 6: > I'm not really sure we really gain something with this patch, specially since ms_power is probably also stored the same way and you are then leaving each one with different metrics. In my opinion we should not store weird wire encoded formats, requiring code duplication of numeric conversion calculations all over the place. The conversions should be at those places that define that they require a weird format, as it is now: the RSL encoding needs divided-by-two, so apply it there. The meas_vis is (unfortunately) defined as div-two, so apply it there, and so on. But internally we now just store the plain dB value and calculate with it without duplicating the wire decoding step everywhere. Vadim tells me that ms_power is some magic weird value and I'm not going to take that one on now, because I am working on BS Power. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I229db1d6bcf532af95aff56b2ad18b5ed9d81616 Gerrit-Change-Number: 24421 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 27 May 2021 14:40:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 14:43:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 14:43:14 +0000 Subject: Change in osmo-bsc[master]: change bs_power to bs_power_db In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24421 ) Change subject: change bs_power to bs_power_db ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24421/6/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24421/6/src/osmo-bsc/abis_rsl.c at 594 PS6, Line 594: msgb_tv_put(msg, RSL_IE_BS_POWER, lchan->bs_power_db / 2); > aren't you missing here the 0x10 flag? I have no idea, would have to ask Vadim... This patch here should not do any functional change. Oh I see, because of that other function that accidentally put the FPC flag in lchan->bs_power. That other function is actually never called, so there would so far never be an FPC fag in lchan->bs_power. Whether the flag should be added here is a question of whether the code prior to this patch needs a fix. @fixeria? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I229db1d6bcf532af95aff56b2ad18b5ed9d81616 Gerrit-Change-Number: 24421 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 27 May 2021 14:43:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 14:46:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 14:46:27 +0000 Subject: Change in osmo-bsc[master]: change bs_power to bs_power_db In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24421 ) Change subject: change bs_power to bs_power_db ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24421/6/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24421/6/src/osmo-bsc/abis_rsl.c at 594 PS6, Line 594: msgb_tv_put(msg, RSL_IE_BS_POWER, lchan->bs_power_db / 2); This flag relates to the Fast Power Control, a CSD specific feature that we unlikely support in osmo-bsc. > This patch here should not do any functional change. ACK, FPC is not related to this change, let's leave it as it is. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I229db1d6bcf532af95aff56b2ad18b5ed9d81616 Gerrit-Change-Number: 24421 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 27 May 2021 14:46:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 14:57:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 14:57:07 +0000 Subject: Change in osmo-bsc[master]: meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24426 ) Change subject: meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24426/3/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24426/3/src/osmo-bsc/abis_rsl.c at 1088 PS3, Line 1088: mrc->neigh_idx, mrc->arfcn, mrc->bsic, rxlev2dbm(mrc->rxlev)); Unrelated. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4cb607ff43a1cb30408427d99d97c103776b6e69 Gerrit-Change-Number: 24426 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 14:57:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 14:58:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 14:58:10 +0000 Subject: Change in osmo-bsc[master]: meas rep logging: use log_check_level() to skip a logging loop In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24427 ) Change subject: meas rep logging: use log_check_level() to skip a logging loop ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71a402a0940857bbedbaf25d293429934706a83c Gerrit-Change-Number: 24427 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 14:58:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 15:00:54 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 15:00:54 +0000 Subject: Change in osmo-bsc[master]: change bs_power to bs_power_db In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24421 to look at the new patch set (#7). Change subject: change bs_power to bs_power_db ...................................................................... change bs_power to bs_power_db The RSL BS Power IE in measurement reports is encoded as dB / 2. Instead of using this coding all over the code, converting to dB and often printing confusing values in logging etc, store as plain dB. The conversions should be at the points where a "weird" format is defined: the RSL encoding needs divided-by-two, so apply it there. The meas_vis is (now unfortunately) defined as div-two, and so on. But internally we now just store the plain dB value and calculate with it without duplicating the wire decoding step everywhere. Rename to bs_power_db to clarify the unit of the stored value. Change-Id: I229db1d6bcf532af95aff56b2ad18b5ed9d81616 --- M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/meas_rep.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/meas_rep.c M src/utils/meas_db.c M src/utils/meas_json.c 8 files changed, 21 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/21/24421/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I229db1d6bcf532af95aff56b2ad18b5ed9d81616 Gerrit-Change-Number: 24421 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 15:00:54 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 15:00:54 +0000 Subject: Change in osmo-bsc[master]: meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24426 to look at the new patch set (#4). Change subject: meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() ...................................................................... meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() Instead of calling DEBUGPC() over and over, compose a string using osmo_strbuf and then log it once. Rationale: a) DEBUGPC() is a bad idea for gsmtap_log, because each DEBUGPC() dispatches a separate gsmtap_log packet, fragmenting the actual log line in wireshark. b) DEBUGPC() is a bad idea because it checks the logging categories for every DEBUGPC() invocation. c) using a separate function with osmo_strbuf and OTC_SELECT, we can actually skip the entire string composition in case the DMEAS logging category is disabled, with a single logging category check. Change-Id: I4cb607ff43a1cb30408427d99d97c103776b6e69 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 45 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/26/24426/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4cb607ff43a1cb30408427d99d97c103776b6e69 Gerrit-Change-Number: 24426 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 15:00:54 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 15:00:54 +0000 Subject: Change in osmo-bsc[master]: meas rep logging: use log_check_level() to skip a logging loop In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24427 to look at the new patch set (#4). Change subject: meas rep logging: use log_check_level() to skip a logging loop ...................................................................... meas rep logging: use log_check_level() to skip a logging loop A side effect is that the final cleanup part of that function is now always called, also when num_cell == 7. (Whether we should really clear that logging context at that place is a different question, out of scope here.) Change-Id: I71a402a0940857bbedbaf25d293429934706a83c --- M src/osmo-bsc/abis_rsl.c 1 file changed, 7 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/27/24427/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71a402a0940857bbedbaf25d293429934706a83c Gerrit-Change-Number: 24427 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 15:01:58 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 15:01:58 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: send BSSMAP response only after Assignment Request In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24350 ) Change subject: assignment_fsm: send BSSMAP response only after Assignment Request ...................................................................... assignment_fsm: send BSSMAP response only after Assignment Request So far, only the MSC asked for Assignment via Assignment Request, which we answer with a BSSMAP Assignment Complete or Assignment Failure when done. When Assignment is triggered for any other reason (congestion resolution, VAMOS, VTY), we will not send any such messages to the MSC. Additional enum values will be added in subsequent commits: Id56a890106b93fcee67ac9401b890e7b63bba421 ASSIGN_FOR_CONGESTION_RESOLUTION If006f5caaf83b07675f57e5665cfa79328da55e6 ASSIGN_FOR_VTY Related: SYS#5315 OS#4940 Change-Id: Ie0cddbdb00abcec78e153f4ae6d04ce75080a111 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/osmo_bsc_bssap.c 4 files changed, 42 insertions(+), 16 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 5a202bf..4b175a4 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -111,10 +111,21 @@ uint16_t s15_s0; }; +enum assign_for { + ASSIGN_FOR_NONE, + ASSIGN_FOR_BSSMAP_REQ, +}; + +extern const struct value_string assign_for_names[]; +static inline const char *assign_for_name(enum assign_for assign_for) +{ return get_value_string(assign_for_names, assign_for); } + /* Information retrieved during an Assignment Request from the MSC. This is storage of the Assignment instructions * parsed from the Assignment Request message, to pass on until the gscon and assignment FSMs have decided whether an * Assignment is actually going to be carried out. Should remain unchanged after initial decoding. */ struct assignment_request { + enum assign_for assign_for; + bool aoip; uint16_t msc_assigned_cic; diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index cf3c50e..bfb4043 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -134,13 +134,17 @@ static void on_assignment_failure(struct gsm_subscriber_connection *conn) { - struct msgb *resp = gsm0808_create_assignment_failure(conn->assignment.failure_cause, NULL); + /* Send Assignment Failure to MSC only when the assignment was requested via BSSAP. Do not send anything to the + * MSC if re-assignment was requested for congestion resolution, for VAMOS multiplexing, or by VTY. */ + if (conn->assignment.req.assign_for == ASSIGN_FOR_BSSMAP_REQ) { + struct msgb *resp = gsm0808_create_assignment_failure(conn->assignment.failure_cause, NULL); - if (!resp) { - LOG_ASSIGNMENT(conn, LOGL_ERROR, "Unable to compose BSSMAP Assignment Failure message\n"); - } else { - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE]); - gscon_sigtran_send(conn, resp); + if (!resp) { + LOG_ASSIGNMENT(conn, LOGL_ERROR, "Unable to compose BSSMAP Assignment Failure message\n"); + } else { + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE]); + gscon_sigtran_send(conn, resp); + } } /* If assignment failed as early as in assignment_fsm_start(), there may not be an fi yet. */ @@ -259,15 +263,17 @@ } conn->assignment.new_lchan = NULL; - send_assignment_complete(conn); - /* If something went wrong during send_assignment_complete(), the fi will be gone from - * error handling in there. Almost a success, but then again the whole thing failed. */ - if (!conn->assignment.fi) { - /* The lchan was ready, and we failed to tell the MSC about it. By releasing this lchan, - * the conn will notice that its primary lchan is gone and should clean itself up. */ - lchan_release(conn->lchan, true, true, RSL_ERR_EQUIPMENT_FAIL, - gscon_last_eutran_plmn(conn)); - return; + if (conn->assignment.req.assign_for == ASSIGN_FOR_BSSMAP_REQ) { + send_assignment_complete(conn); + /* If something went wrong during send_assignment_complete(), the fi will be gone from + * error handling in there. Almost a success, but then again the whole thing failed. */ + if (!conn->assignment.fi) { + /* The lchan was ready, and we failed to tell the MSC about it. By releasing this lchan, + * the conn will notice that its primary lchan is gone and should clean itself up. */ + lchan_release(conn->lchan, true, true, RSL_ERR_EQUIPMENT_FAIL, + gscon_last_eutran_plmn(conn)); + return; + } } if (lchan_changed) { @@ -486,7 +492,8 @@ gsm48_chan_mode_name(conn->lchan->ch_mode_rate.chan_mode), gsm_lchan_name(conn->lchan)); - send_assignment_complete(conn); + if (req->assign_for == ASSIGN_FOR_BSSMAP_REQ) + send_assignment_complete(conn); /* If something went wrong during send_assignment_complete(), * the fi will be gone from error handling in there. */ if (conn->assignment.fi) { diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 6c08229..781db7c 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -923,6 +923,12 @@ {} }; +const struct value_string assign_for_names[] = { + OSMO_VALUE_STRING(ASSIGN_FOR_NONE), + OSMO_VALUE_STRING(ASSIGN_FOR_BSSMAP_REQ), + {} +}; + /* This may be specific to RR Channel Release, and the mappings were chosen by pure naive guessing without a proper * specification available. */ enum gsm48_rr_cause bsc_gsm48_rr_cause_from_gsm0808_cause(enum gsm0808_cause c) diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 7a7579b..fff5fbb 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -923,6 +923,7 @@ } req = (struct assignment_request){ + .assign_for = ASSIGN_FOR_BSSMAP_REQ, .aoip = aoip, .msc_assigned_cic = cic, .use_osmux = use_osmux, @@ -951,6 +952,7 @@ break; case GSM0808_CHAN_SIGN: req = (struct assignment_request){ + .assign_for = ASSIGN_FOR_BSSMAP_REQ, .aoip = aoip, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0cddbdb00abcec78e153f4ae6d04ce75080a111 Gerrit-Change-Number: 24350 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 15:01:58 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 15:01:58 +0000 Subject: Change in osmo-bsc[master]: cosmetic scoping in reuse_existing_lchan() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24351 ) Change subject: cosmetic scoping in reuse_existing_lchan() ...................................................................... cosmetic scoping in reuse_existing_lchan() cosmetic prep for Ie0da36124d73efc28a8809b63d7c96e2167fc412 Related: SYS#5315 OS#4940 Change-Id: I0d1000cf108b0dfdc690f7a59d9bdf40de9043d2 --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 6 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index bfb4043..60e3342 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -430,11 +430,12 @@ /* Check if the currently existing lchan is compatible with the * preferred rate/codec. */ - for (i = 0; i < req->n_ch_mode_rate; i++) - if (lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate[i])) { - conn->lchan->ch_mode_rate = req->ch_mode_rate[i]; - return true; - } + for (i = 0; i < req->n_ch_mode_rate; i++) { + if (!lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate[i])) + continue; + conn->lchan->ch_mode_rate = req->ch_mode_rate[i]; + return true; + } return false; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0d1000cf108b0dfdc690f7a59d9bdf40de9043d2 Gerrit-Change-Number: 24351 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 15:15:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 15:15:37 +0000 Subject: Change in osmo-ci[master]: ttcn3: add ttcn3-bsc-test-vamos In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24414 ) Change subject: ttcn3: add ttcn3-bsc-test-vamos ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I9c4918c4f1da28b97db6386485e115f7e091a842 Gerrit-Change-Number: 24414 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 15:15:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 15:15:44 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 15:15:44 +0000 Subject: Change in osmo-ci[master]: ttcn3: add ttcn3-bsc-test-vamos In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24414 ) Change subject: ttcn3: add ttcn3-bsc-test-vamos ...................................................................... ttcn3: add ttcn3-bsc-test-vamos Change-Id: I9c4918c4f1da28b97db6386485e115f7e091a842 --- M jobs/ttcn3-testsuites.yml 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved neels: Verified diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 3b35ab9..1704327 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -129,6 +129,9 @@ - ttcn3-pcap-client-test: blocking: "^(ttcn3|TTCN3-.*)-pcap-client-test.*" timer: 40 11 * * * + - ttcn3-bsc-test-vamos: + blocking: "^(ttcn3|TTCN3-.*)-bsc-test.*" + timer: 00 12 * * * # debian-stretch latest stable - nplab-m3ua-test-latest: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I9c4918c4f1da28b97db6386485e115f7e091a842 Gerrit-Change-Number: 24414 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 15:29:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 15:29:25 +0000 Subject: Change in osmo-bsc[master]: change bs_power to bs_power_db In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24421 ) Change subject: change bs_power to bs_power_db ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I229db1d6bcf532af95aff56b2ad18b5ed9d81616 Gerrit-Change-Number: 24421 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 27 May 2021 15:29:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 15:42:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 15:42:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_Types, bsc: add VAMOS cbits In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24431 ) Change subject: GSM_Types, bsc: add VAMOS cbits ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24431/1/library/GSM_Types.ttcn File library/GSM_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24431/1/library/GSM_Types.ttcn at 136 PS1, Line 136: RslChanNr2VAMOS We can re-use RslChanNr2 here, please see: http://people.osmocom.org/fixeria/GSM_Types.patch NOTE: I did not test this patch, just checked if it compiles. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24431 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: I2d98495b8c4c9a8466f2154af9bb29124c2cb0b5 Gerrit-Change-Number: 24431 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 27 May 2021 15:42:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 15:49:56 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 15:49:56 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: refactor MGCP_DUMMY_LOAD In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24315 ) Change subject: mgcp_network: refactor MGCP_DUMMY_LOAD ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24315/1/include/osmocom/mgcp/mgcp_network.h File include/osmocom/mgcp/mgcp_network.h: https://gerrit.osmocom.org/c/osmo-mgw/+/24315/1/include/osmocom/mgcp/mgcp_network.h at 18 PS1, Line 18: memcmp > The dummy payload may be one byte but technically it is an array with only one element. [?] Yes, but now it's even more complicated... If anybody ever wants to have a payload of more than one octet, then we can start using memcmp(). But at the moment it should be optimal to compare a single byte and the length == 1. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I21d96cefeeb647958bfa1e22a0ea030884746fad Gerrit-Change-Number: 24315 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 27 May 2021 15:49:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 15:51:15 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 15:51:15 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: refactor MGCP_DUMMY_LOAD In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24315 ) Change subject: mgcp_network: refactor MGCP_DUMMY_LOAD ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24315/2/include/osmocom/mgcp/mgcp_network.h File include/osmocom/mgcp/mgcp_network.h: https://gerrit.osmocom.org/c/osmo-mgw/+/24315/2/include/osmocom/mgcp/mgcp_network.h at 19 PS2, Line 19: memcmp(msgb_data(msg), rtp_dummy_payload, sizeof(rtp_dummy_payload)) == 0)) this here is sufficient, no need to add a char array and redundant checks: #define mgcp_is_rtp_dummy_payload(msg) \ (msgb_length(msg) == 1 && msgb_data(msg)[0] == 0x23) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I21d96cefeeb647958bfa1e22a0ea030884746fad Gerrit-Change-Number: 24315 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: neels Gerrit-Comment-Date: Thu, 27 May 2021 15:51:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 15:51:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 15:51:57 +0000 Subject: Change in osmo-bsc[master]: meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24426 ) Change subject: meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4cb607ff43a1cb30408427d99d97c103776b6e69 Gerrit-Change-Number: 24426 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 15:51:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 15:52:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 15:52:17 +0000 Subject: Change in osmo-bsc[master]: meas rep logging: use log_check_level() to skip a logging loop In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24427 ) Change subject: meas rep logging: use log_check_level() to skip a logging loop ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71a402a0940857bbedbaf25d293429934706a83c Gerrit-Change-Number: 24427 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 15:52:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 15:58:41 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 May 2021 15:58:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 to look at the new patch set (#5). Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... add bsc/BSC_Tests_VAMOS.ttcn BSC_Tests_VAMOS.ttcn is separate from BSC_Tests.ttcn in order to instruct osmo-bts-omldummy to pass BTS_FEAT_VAMOS == true in the OML BTS attributes. Add tests: TC_mode_modify_to_vamos() TC_chan_act_to_vamos() TC_assign_to_secondary_lchan() TC_vamos_multiplex_tch_f_tch_f() Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 --- M bsc/BSC_Tests.ttcn A bsc/BSC_Tests_VAMOS.ttcn 2 files changed, 384 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/11/24411/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 16:13:55 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 16:13:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 ) Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... Patch Set 5: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/4/bsc/BSC_Tests_VAMOS.ttcn File bsc/BSC_Tests_VAMOS.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/4/bsc/BSC_Tests_VAMOS.ttcn at 116 PS4, Line 116: var RslChannelNr chan_nr := rsl.ies[0].body.chan_nr; With the recent RSL chan_nr changes, we should probably also do: if (not match(chan_nr, t_RslChanNr_Osmo_VAMOS_Bm(1)) { ... } https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/4/bsc/BSC_Tests_VAMOS.ttcn at 174 PS4, Line 174: RSL.receive(tr_RSL_MODE_MODIFY_REQ(g_chan_nr, ?)) -> value rsl; Would also be good to match chan_nr against t_RslChanNr_Osmo_VAMOS_Bm. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 16:13:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 16:14:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 16:14:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_Types, bsc: add VAMOS cbits In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24431 ) Change subject: GSM_Types, bsc: add VAMOS cbits ...................................................................... Patch Set 2: Code-Review-1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24431 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: I2d98495b8c4c9a8466f2154af9bb29124c2cb0b5 Gerrit-Change-Number: 24431 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 16:14:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 16:59:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 16:59:13 +0000 Subject: Change in osmo-bts[master]: Add missing value_string for NM_EV_* introduced recently References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24432 ) Change subject: Add missing value_string for NM_EV_* introduced recently ...................................................................... Add missing value_string for NM_EV_* introduced recently Fixes: 0277cddab2bb6b09f02e998c0aa9ff78d41c327c Change-Id: I70266767d4f85e8c14ecf477af7fab0706698067 --- M src/common/nm_common_fsm.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/32/24432/1 diff --git a/src/common/nm_common_fsm.c b/src/common/nm_common_fsm.c index b2fd451..7273e22 100644 --- a/src/common/nm_common_fsm.c +++ b/src/common/nm_common_fsm.c @@ -35,5 +35,7 @@ { NM_EV_BBTRANSC_INSTALLED, "BBTRANSC_INSTALLED" }, { NM_EV_BBTRANSC_ENABLED, "BBTRANSC_ENABLED" }, { NM_EV_BBTRANSC_DISABLED, "BBTRANSC_DISABLED" }, + { NM_EV_RCARRIER_ENABLED, "RCARRIER_ENABLED" }, + { NM_EV_RCARRIER_DISABLED, "RCARRIER_DISABLED" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I70266767d4f85e8c14ecf477af7fab0706698067 Gerrit-Change-Number: 24432 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 17:01:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 May 2021 17:01:43 +0000 Subject: Change in osmo-bts[master]: Add missing value_string for NM_EV_* introduced recently In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24432 ) Change subject: Add missing value_string for NM_EV_* introduced recently ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I70266767d4f85e8c14ecf477af7fab0706698067 Gerrit-Change-Number: 24432 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 27 May 2021 17:01:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 17:04:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 17:04:01 +0000 Subject: Change in osmo-bts[master]: Add missing value_string for NM_EV_* introduced recently In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24432 ) Change subject: Add missing value_string for NM_EV_* introduced recently ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I70266767d4f85e8c14ecf477af7fab0706698067 Gerrit-Change-Number: 24432 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 27 May 2021 17:04:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 17:14:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 17:14:35 +0000 Subject: Change in osmo-bts[master]: Add missing value_string for NM_EV_* introduced recently In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24432 ) Change subject: Add missing value_string for NM_EV_* introduced recently ...................................................................... Add missing value_string for NM_EV_* introduced recently Fixes: 0277cddab2bb6b09f02e998c0aa9ff78d41c327c Change-Id: I70266767d4f85e8c14ecf477af7fab0706698067 --- M src/common/nm_common_fsm.c 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/nm_common_fsm.c b/src/common/nm_common_fsm.c index b2fd451..7273e22 100644 --- a/src/common/nm_common_fsm.c +++ b/src/common/nm_common_fsm.c @@ -35,5 +35,7 @@ { NM_EV_BBTRANSC_INSTALLED, "BBTRANSC_INSTALLED" }, { NM_EV_BBTRANSC_ENABLED, "BBTRANSC_ENABLED" }, { NM_EV_BBTRANSC_DISABLED, "BBTRANSC_DISABLED" }, + { NM_EV_RCARRIER_ENABLED, "RCARRIER_ENABLED" }, + { NM_EV_RCARRIER_DISABLED, "RCARRIER_DISABLED" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I70266767d4f85e8c14ecf477af7fab0706698067 Gerrit-Change-Number: 24432 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 19:22:58 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Thu, 27 May 2021 19:22:58 +0000 Subject: Change in osmo-bts[master]: sysmobts-mgr: Fix path to hwmon in /sys References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24433 ) Change subject: sysmobts-mgr: Fix path to hwmon in /sys ...................................................................... sysmobts-mgr: Fix path to hwmon in /sys The path to the temperature sensor was wrong which results in the SysmoBTS manager always considering that the state is critical and hence powering OFF the PA on startup. (with the default config) As a further side-effect, the temperatures were not available in the vty 'show manager' command. Redacted log previous to this patch: sysmobts_misc.c:128 Error reading temperature sysmobts_mgr_2050.c:323 Going to enable the PA. sysmobts_mgr_temp.c:252 Failed to read the digital temperature. rc=-1 sysmobts_mgr_temp.c:267 Failed to read the RF temperature. rc=-1 sysmobts_mgr_temp.c:203 Moving from state NORMAL to CRITICAL. sysmobts_mgr_temp.c:185 System has reached critical warning. sysmobts_mgr_temp.c:236 OML alert sent: 0 and in the vty: Temperature control state: CRITICAL Current Temperatures Digital: -0.001000 Celsius RF: -0.001000 Celsius With this patch we correctly enable the PA and now can show in the vty: Temperature control state: NORMAL Current Temperatures Digital: 39.000000 Celsius RF: 35.125000 Celsius Change-Id: Iac8e9a866ad6326874af91bd12a981f39a9a24c7 --- M src/osmo-bts-sysmo/misc/sysmobts_misc.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/33/24433/1 diff --git a/src/osmo-bts-sysmo/misc/sysmobts_misc.c b/src/osmo-bts-sysmo/misc/sysmobts_misc.c index 8c93979..ae59d78 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts_misc.c +++ b/src/osmo-bts-sysmo/misc/sysmobts_misc.c @@ -46,7 +46,7 @@ * Temperature handling *********************************************************************/ -#define TEMP_PATH "/sys/class/hwmon/hwmon0/device/temp%u_%s" +#define TEMP_PATH "/sys/class/hwmon/hwmon0/device/hwmon/hwmon0/temp%u_%s" static const char *temp_type_str[_NUM_TEMP_TYPES] = { [SYSMOBTS_TEMP_INPUT] = "input", -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iac8e9a866ad6326874af91bd12a981f39a9a24c7 Gerrit-Change-Number: 24433 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 19:37:54 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 19:37:54 +0000 Subject: Change in osmo-bts[master]: Fix regression in 'osmo-bts-trx: rework and split up bts_sched_fn()' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24434 ) Change subject: Fix regression in 'osmo-bts-trx: rework and split up bts_sched_fn()' ...................................................................... Fix regression in 'osmo-bts-trx: rework and split up bts_sched_fn()' In [1] I forgot to update tx_fcch_fn(), where we assume that the burst buffer is already zero-initialized and do not call memset(). This results in sending dummy bursts on FCCH (instead of zeros). Change-Id: I491b3b5702b3cfca45c12c002b41e60c629b05b9 Fixes: [1] Iec78989517865b3275a9784d1042a5ebd1d2815f --- M src/osmo-bts-trx/sched_lchan_fcch_sch.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/34/24434/1 diff --git a/src/osmo-bts-trx/sched_lchan_fcch_sch.c b/src/osmo-bts-trx/sched_lchan_fcch_sch.c index eaf140f..44da04c 100644 --- a/src/osmo-bts-trx/sched_lchan_fcch_sch.c +++ b/src/osmo-bts-trx/sched_lchan_fcch_sch.c @@ -40,8 +40,8 @@ { LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting FCCH\n"); - /* A frequency correction burst is basically a sequence of zeros. - * Since br->burst is already zero-initialized, just set the length. */ + /* A frequency correction burst is basically a sequence of zeros */ + memset(br->burst, 0x00, GSM_BURST_LEN); br->burst_len = GSM_BURST_LEN; return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I491b3b5702b3cfca45c12c002b41e60c629b05b9 Gerrit-Change-Number: 24434 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 19:39:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 19:39:53 +0000 Subject: Change in osmo-bts[master]: Fix regression in 'osmo-bts-trx: rework and split up bts_sched_fn()' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24434 ) Change subject: Fix regression in 'osmo-bts-trx: rework and split up bts_sched_fn()' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I491b3b5702b3cfca45c12c002b41e60c629b05b9 Gerrit-Change-Number: 24434 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 27 May 2021 19:39:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 19:46:32 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 27 May 2021 19:46:32 +0000 Subject: Change in libosmocore[master]: socket: add function to wait until a socket becomes writeable References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24435 ) Change subject: socket: add function to wait until a socket becomes writeable ...................................................................... socket: add function to wait until a socket becomes writeable In cases where a socket is created using the option OSMO_SOCK_F_NONBLOCK it is not possible to detect a connection error because osmo_sock_init() will return early while the connection is still in progress. One way to make sure that the socket is connected is to use select to wait until the socket becomes writeable and to use getsockopt to check SO_ERROR. The function osmo_sock_wait() waits until the socket becomes writeable. From the error code the API user can determine whether the connection was successful or not. Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Related: SYS#4971 --- M include/osmocom/core/socket.h M src/socket.c 2 files changed, 53 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/35/24435/1 diff --git a/include/osmocom/core/socket.h b/include/osmocom/core/socket.h index a053391..ce6ee3c 100644 --- a/include/osmocom/core/socket.h +++ b/include/osmocom/core/socket.h @@ -113,7 +113,6 @@ int osmo_sock_get_remote_ip(int fd, char *host, size_t len); int osmo_sock_get_remote_ip_port(int fd, char *port, size_t len); - int osmo_sock_mcast_loop_set(int fd, bool enable); int osmo_sock_mcast_ttl_set(int fd, uint8_t ttl); int osmo_sock_mcast_all_set(int fd, bool enable); @@ -134,5 +133,7 @@ int osmo_sock_set_dscp(int fd, uint8_t dscp); int osmo_sock_set_priority(int fd, int prio); +int osmo_sock_wait(int fd, time_t timeout_sec, suseconds_t timeout_usec); + #endif /* (!EMBEDDED) */ /*! @} */ diff --git a/src/socket.c b/src/socket.c index 34972b8..810e39c 100644 --- a/src/socket.c +++ b/src/socket.c @@ -1868,6 +1868,57 @@ return setsockopt(fd, SOL_SOCKET, SO_PRIORITY, &prio, sizeof(prio)); } +/*! Wait until a socket becomes writeable. + * \param[in] fd file descriptor of related scoket. + * \param[in] timeout_sec timeout seconds. + * \param[in] timeout_usec timeout microseconds. + * \returns 0 on success; negative otherwise + * + * The function returns 0 when the socket becomes writeable and no errors are + * detected. The return code is -EIO if one of the syscalls (select, + * getsockopt) fails, -EINPROGRESS if the (select) timout expires while waiting + * for the socket to become writeable. If the error is socket specific then the + * SO_ERROR related return values from errno.h will be used. */ +int osmo_sock_wait(int fd, time_t timeout_sec, suseconds_t timeout_usec) +{ + int so_error; + socklen_t so_error_len = sizeof(so_error); + fd_set write_fds; + fd_set except_fds; + struct timeval timeout; + int rc; + + timeout.tv_sec = timeout_sec; + timeout.tv_usec = timeout_usec; + + /* We monitor the given file descriptor for writeability and + * exceptional conditions. */ + FD_ZERO(&write_fds); + FD_ZERO(&except_fds); + FD_SET(fd, &write_fds); + FD_SET(fd, &except_fds); + rc = select(fd + 1, NULL, &write_fds, &except_fds, &timeout); + if (rc < 0) + return -EIO; + + /* The socket did not become writeable, nor did it exhibit any + * exeptional behaviour (select timeout). */ + if (rc == 0) + return -EINPROGRESS; + + if (FD_ISSET(fd, &write_fds) || FD_ISSET(fd, &except_fds)) { + rc = getsockopt(fd, SOL_SOCKET, SO_ERROR, &so_error, + &so_error_len); + if (rc < 0) + return -EIO; + return so_error; /* 0 if no error occured */ + } + + /* Should not be reached as either select will return 0 on timeout + * or at least one of the fd sets will contain fd. */ + return -EINVAL; +} + #endif /* HAVE_SYS_SOCKET_H */ /*! @} */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Gerrit-Change-Number: 24435 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 19:47:58 2021 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 27 May 2021 19:47:58 +0000 Subject: Change in osmo-bts[master]: Fix regression in 'osmo-bts-trx: rework and split up bts_sched_fn()' In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24434 ) Change subject: Fix regression in 'osmo-bts-trx: rework and split up bts_sched_fn()' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I491b3b5702b3cfca45c12c002b41e60c629b05b9 Gerrit-Change-Number: 24434 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 27 May 2021 19:47:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 19:58:20 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 27 May 2021 19:58:20 +0000 Subject: Change in osmo-bts[master]: Fix regression in 'osmo-bts-trx: rework and split up bts_sched_fn()' In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24434 ) Change subject: Fix regression in 'osmo-bts-trx: rework and split up bts_sched_fn()' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I491b3b5702b3cfca45c12c002b41e60c629b05b9 Gerrit-Change-Number: 24434 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 27 May 2021 19:58:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 20:52:23 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 20:52:23 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: indicate BTS_FEAT_{MULTI_TSC, VAMOS} as supported In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24390 ) Change subject: [VAMOS] osmo-bts-trx: indicate BTS_FEAT_{MULTI_TSC,VAMOS} as supported ...................................................................... Abandoned Squashed into Idc5796151e3e83f42d60c2d4cb7c35890d76a7f5 and I3e0bdf8c03273f66991aa1764029ab1dd3528d7e. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iba3f9787c32c802cfab716176e6ada799f5f21df Gerrit-Change-Number: 24390 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 20:53:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 20:53:00 +0000 Subject: Change in osmo-bts[master]: Fix regression in 'osmo-bts-trx: rework and split up bts_sched_fn()' In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24434 ) Change subject: Fix regression in 'osmo-bts-trx: rework and split up bts_sched_fn()' ...................................................................... Patch Set 1: Verified+1 Code-Review+2 Confirmed to work. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I491b3b5702b3cfca45c12c002b41e60c629b05b9 Gerrit-Change-Number: 24434 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 27 May 2021 20:53:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 20:53:12 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 20:53:12 +0000 Subject: Change in osmo-bts[master]: Fix regression in 'osmo-bts-trx: rework and split up bts_sched_fn()' In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24434 ) Change subject: Fix regression in 'osmo-bts-trx: rework and split up bts_sched_fn()' ...................................................................... Fix regression in 'osmo-bts-trx: rework and split up bts_sched_fn()' In [1] I forgot to update tx_fcch_fn(), where we assume that the burst buffer is already zero-initialized and do not call memset(). This results in sending dummy bursts on FCCH (instead of zeros). Change-Id: I491b3b5702b3cfca45c12c002b41e60c629b05b9 Fixes: [1] Iec78989517865b3275a9784d1042a5ebd1d2815f --- M src/osmo-bts-trx/sched_lchan_fcch_sch.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve tnt: Looks good to me, but someone else must approve Hoernchen: Looks good to me, but someone else must approve fixeria: Looks good to me, approved; Verified Jenkins Builder: Verified diff --git a/src/osmo-bts-trx/sched_lchan_fcch_sch.c b/src/osmo-bts-trx/sched_lchan_fcch_sch.c index eaf140f..44da04c 100644 --- a/src/osmo-bts-trx/sched_lchan_fcch_sch.c +++ b/src/osmo-bts-trx/sched_lchan_fcch_sch.c @@ -40,8 +40,8 @@ { LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting FCCH\n"); - /* A frequency correction burst is basically a sequence of zeros. - * Since br->burst is already zero-initialized, just set the length. */ + /* A frequency correction burst is basically a sequence of zeros */ + memset(br->burst, 0x00, GSM_BURST_LEN); br->burst_len = GSM_BURST_LEN; return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I491b3b5702b3cfca45c12c002b41e60c629b05b9 Gerrit-Change-Number: 24434 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 21:21:09 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 21:21:09 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24388 to look at the new patch set (#4). Change subject: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values ...................................................................... [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values Each timeslot can have its own Training Sequence Code value, which may optionally be included in the NM_MT_SET_CHAN_ATTR message sent over the A-bis/OML. If it's not present, then the TSC value for a timeslot is derived from the BCC part of BSIC, which is always included in the NM_MT_SET_BTS_ATTR message. On the TRXC interface, the BTS global TSC value is indicated to the transceiver using either of the 'SETTSC' or 'SETBSIC' commands. The transceiver then applies this value for all timeslots by default, however it can be redefined for each timeslot individually using additional arguments of the 'SETSLOT' command (see section 25.2.4.1 in the user manual [1] for more details). Currently, trx_set_ts_as_pchan() sends TRX_PROV_EV_CFG_TSC to the transceiver provisioning FSM, together with the per-timeslot TSC value. This event causes the FSM to modify the global TSC value, that is going to be or has already been sent to the transceiver. This is wrong, the global TSC value shall not be overwritten. Remove the TRX_PROV_EV_CFG_TSC, and include per-timeslot Training Sequence Code and Set in the data structure that gets passed together with the TRX_PROV_EV_CFG_TS instead. Implement handling of the optional per-timeslot TSC in trx_if_cmd_setslot(). [1] https://downloads.osmocom.org/docs/latest/osmobts-usermanual.pdf Change-Id: Idc5796151e3e83f42d60c2d4cb7c35890d76a7f5 Related: SYS#4895, OS#4941 --- M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/main.c M src/osmo-bts-trx/trx_if.c M src/osmo-bts-trx/trx_if.h M src/osmo-bts-trx/trx_provision_fsm.c M src/osmo-bts-trx/trx_provision_fsm.h M src/osmo-bts-trx/trx_vty.c 8 files changed, 84 insertions(+), 58 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/88/24388/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idc5796151e3e83f42d60c2d4cb7c35890d76a7f5 Gerrit-Change-Number: 24388 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 21:21:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 21:21:10 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_pchan2chan_nr(): use ABIS_RSL_CHAN_NR_CBITS_* macros References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24436 ) Change subject: [VAMOS] gsm_pchan2chan_nr(): use ABIS_RSL_CHAN_NR_CBITS_* macros ...................................................................... [VAMOS] gsm_pchan2chan_nr(): use ABIS_RSL_CHAN_NR_CBITS_* macros Change-Id: I2b1480d3c330951cccc15333450cf7243b9505fc Related: SYS#4895, OS#4941 --- M src/common/gsm_data.c 1 file changed, 7 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/36/24436/1 diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index d0fe479..9a54912 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -187,16 +187,15 @@ switch (pchan) { case GSM_PCHAN_TCH_F: OSMO_ASSERT(lchan_nr == 0); - cbits = 0x01; + cbits = ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs; break; case GSM_PCHAN_PDCH: OSMO_ASSERT(lchan_nr == 0); - cbits = RSL_CHAN_OSMO_PDCH >> 3; + cbits = ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH; break; case GSM_PCHAN_TCH_H: OSMO_ASSERT(lchan_nr < 2); - cbits = 0x02; - cbits += lchan_nr; + cbits = ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(lchan_nr); break; case GSM_PCHAN_CCCH_SDCCH4: case GSM_PCHAN_CCCH_SDCCH4_CBCH: @@ -206,21 +205,19 @@ * See osmo-bts-xxx/oml.c:opstart_compl(). */ if (lchan_nr == CCCH_LCHAN) - cbits = 0x10; /* BCCH */ + cbits = ABIS_RSL_CHAN_NR_CBITS_BCCH; else { OSMO_ASSERT(lchan_nr < 4); - cbits = 0x04; - cbits += lchan_nr; + cbits = ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(lchan_nr); } break; case GSM_PCHAN_SDCCH8_SACCH8C: case GSM_PCHAN_SDCCH8_SACCH8C_CBCH: OSMO_ASSERT(lchan_nr < 8); - cbits = 0x08; - cbits += lchan_nr; + cbits = ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(lchan_nr); break; case GSM_PCHAN_CCCH: - cbits = 0x10; + cbits = ABIS_RSL_CHAN_NR_CBITS_BCCH; break; case GSM_PCHAN_NONE: LOGP(DRSL, LOGL_ERROR, "Physical channel %s not expected!\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2b1480d3c330951cccc15333450cf7243b9505fc Gerrit-Change-Number: 24436 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 21:21:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 21:21:10 +0000 Subject: Change in osmo-bts[master]: [VAMOS] rsl_lchan_lookup(): use ABIS_RSL_CHAN_NR_CBITS_* macros References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24437 ) Change subject: [VAMOS] rsl_lchan_lookup(): use ABIS_RSL_CHAN_NR_CBITS_* macros ...................................................................... [VAMOS] rsl_lchan_lookup(): use ABIS_RSL_CHAN_NR_CBITS_* macros Change-Id: Iec3250e3a59f8d428d7e7be2ceb71f7086a68e7b Related: SYS#4895, OS#4941 --- M src/common/gsm_data.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/37/24437/1 diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 9a54912..8425d1a 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -282,24 +282,24 @@ if (rc) *rc = -EINVAL; - if (cbits == 0x01) { + if (cbits == ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs) { lch_idx = 0; /* TCH/F */ if (ts->pchan != GSM_PCHAN_TCH_F && ts->pchan != GSM_PCHAN_PDCH && ts->pchan != GSM_PCHAN_TCH_F_PDCH && ts->pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH) ok = false; - } else if ((cbits & 0x1e) == 0x02) { + } else if ((cbits & 0x1e) == ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(0)) { lch_idx = cbits & 0x1; /* TCH/H */ if (ts->pchan != GSM_PCHAN_TCH_H && ts->pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH) ok = false; - } else if ((cbits & 0x1c) == 0x04) { + } else if ((cbits & 0x1c) == ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(0)) { lch_idx = cbits & 0x3; /* SDCCH/4 */ if (ts->pchan != GSM_PCHAN_CCCH_SDCCH4 && ts->pchan != GSM_PCHAN_CCCH_SDCCH4_CBCH) ok = false; - } else if ((cbits & 0x18) == 0x08) { + } else if ((cbits & 0x18) == ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(0)) { lch_idx = cbits & 0x7; /* SDCCH/8 */ if (ts->pchan != GSM_PCHAN_SDCCH8_SACCH8C && ts->pchan != GSM_PCHAN_SDCCH8_SACCH8C_CBCH) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iec3250e3a59f8d428d7e7be2ceb71f7086a68e7b Gerrit-Change-Number: 24437 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 21:21:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 21:21:10 +0000 Subject: Change in osmo-bts[master]: [VAMOS] rsl_lchan_lookup(): make it more readable References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24438 ) Change subject: [VAMOS] rsl_lchan_lookup(): make it more readable ...................................................................... [VAMOS] rsl_lchan_lookup(): make it more readable Change-Id: I3160929c739a521fe494716c3da3d3b72370a98a Related: SYS#4895, OS#4941 --- M src/common/gsm_data.c 1 file changed, 28 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/38/24438/1 diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 8425d1a..6b57851 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -282,41 +282,62 @@ if (rc) *rc = -EINVAL; - if (cbits == ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs) { + switch (cbits) { + case ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs: lch_idx = 0; /* TCH/F */ if (ts->pchan != GSM_PCHAN_TCH_F && ts->pchan != GSM_PCHAN_PDCH && ts->pchan != GSM_PCHAN_TCH_F_PDCH && ts->pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH) ok = false; - } else if ((cbits & 0x1e) == ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(0)) { + break; + case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(0): + case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(1): lch_idx = cbits & 0x1; /* TCH/H */ if (ts->pchan != GSM_PCHAN_TCH_H && ts->pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH) ok = false; - } else if ((cbits & 0x1c) == ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(0)) { + break; + case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(0): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(1): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(2): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(3): lch_idx = cbits & 0x3; /* SDCCH/4 */ if (ts->pchan != GSM_PCHAN_CCCH_SDCCH4 && ts->pchan != GSM_PCHAN_CCCH_SDCCH4_CBCH) ok = false; - } else if ((cbits & 0x18) == ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(0)) { + break; + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(0): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(1): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(2): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(3): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(4): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(5): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(6): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(7): lch_idx = cbits & 0x7; /* SDCCH/8 */ if (ts->pchan != GSM_PCHAN_SDCCH8_SACCH8C && ts->pchan != GSM_PCHAN_SDCCH8_SACCH8C_CBCH) ok = false; - } else if (cbits == 0x10 || cbits == 0x11 || cbits == 0x12) { + break; + case ABIS_RSL_CHAN_NR_CBITS_BCCH: + case ABIS_RSL_CHAN_NR_CBITS_RACH: + case ABIS_RSL_CHAN_NR_CBITS_PCH_AGCH: lch_idx = 0; if (ts->pchan != GSM_PCHAN_CCCH && ts->pchan != GSM_PCHAN_CCCH_SDCCH4 && ts->pchan != GSM_PCHAN_CCCH_SDCCH4_CBCH) ok = false; /* FIXME: we should not return first sdcch4 !!! */ - } else if ((chan_nr & RSL_CHAN_NR_MASK) == RSL_CHAN_OSMO_PDCH) { + break; + case ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH: lch_idx = 0; if (ts->pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH) ok = false; - } else + break; + default: return NULL; + } if (rc && ok) *rc = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3160929c739a521fe494716c3da3d3b72370a98a Gerrit-Change-Number: 24438 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 21:21:11 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 21:21:11 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_data: rework and rename gsm_lchan_name_compute() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24439 ) Change subject: [VAMOS] gsm_data: rework and rename gsm_lchan_name_compute() ...................................................................... [VAMOS] gsm_data: rework and rename gsm_lchan_name_compute() Change-Id: Id5cc40db04a654d94f5f75d4aad45439d66528cc Related: SYS#4895, OS#4941 --- M include/osmo-bts/gsm_data.h M src/common/bts_trx.c M src/common/gsm_data.c 3 files changed, 11 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/39/24439/1 diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index cd63f6f..93eb2f0 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -512,7 +512,7 @@ const char *gsm_lchant_name(enum gsm_chan_t c); char *gsm_ts_name(const struct gsm_bts_trx_ts *ts); char *gsm_ts_and_pchan_name(const struct gsm_bts_trx_ts *ts); -char *gsm_lchan_name_compute(const struct gsm_lchan *lchan); +void gsm_lchan_name_update(struct gsm_lchan *lchan); const char *gsm_lchans_name(enum gsm_lchan_state s); static inline char *gsm_lchan_name(const struct gsm_lchan *lchan) diff --git a/src/common/bts_trx.c b/src/common/bts_trx.c index ee03b9a..3d295e5 100644 --- a/src/common/bts_trx.c +++ b/src/common/bts_trx.c @@ -96,15 +96,13 @@ for (l = 0; l < TS_MAX_LCHAN; l++) { struct gsm_lchan *lchan; - char *name; lchan = &ts->lchan[l]; lchan->ts = ts; lchan->nr = l; lchan->type = GSM_LCHAN_NONE; + gsm_lchan_name_update(lchan); - name = gsm_lchan_name_compute(lchan); - lchan->name = talloc_strdup(trx, name); INIT_LLIST_HEAD(&lchan->sapi_cmds); INIT_LLIST_HEAD(&lchan->dl_tch_queue); } diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 6b57851..6328783 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -165,14 +165,17 @@ return ts2str; } -char *gsm_lchan_name_compute(const struct gsm_lchan *lchan) +void gsm_lchan_name_update(struct gsm_lchan *lchan) { - struct gsm_bts_trx_ts *ts = lchan->ts; + const struct gsm_bts_trx_ts *ts = lchan->ts; + const struct gsm_bts_trx *trx = ts->trx; + char *name; - snprintf(ts2str, sizeof(ts2str), "(bts=%d,trx=%d,ts=%d,ss=%d)", - ts->trx->bts->nr, ts->trx->nr, ts->nr, lchan->nr); - - return ts2str; + name = talloc_asprintf(trx, "(bts=%u,trx=%u,ts=%u,ss=%u)", + trx->bts->nr, trx->nr, ts->nr, lchan->nr); + if (lchan->name != NULL) + talloc_free(lchan->name); + lchan->name = name; } /* See Table 10.5.25 of GSM04.08 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id5cc40db04a654d94f5f75d4aad45439d66528cc Gerrit-Change-Number: 24439 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 21:21:11 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 21:21:11 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: schedule bursts on 'shadow' timeslots References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24440 ) Change subject: [VAMOS] osmo-bts-trx: schedule bursts on 'shadow' timeslots ...................................................................... [VAMOS] osmo-bts-trx: schedule bursts on 'shadow' timeslots Change-Id: I3e0bdf8c03273f66991aa1764029ab1dd3528d7e Related: SYS#4895, OS#4941 --- M include/osmo-bts/scheduler.h M src/common/scheduler.c M src/osmo-bts-trx/main.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-trx/trx_if.c 5 files changed, 67 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/40/24440/1 diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 9093229..e7d27ac 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -71,6 +71,7 @@ enum trx_mod_type { TRX_MOD_T_GMSK, TRX_MOD_T_8PSK, + TRX_MOD_T_AQPSK, }; /* A set of measurements belonging to one Uplink burst */ diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 75cf6bd..91e5067 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -606,32 +606,49 @@ * init / exit */ +static void trx_sched_init_ts(struct gsm_bts_trx_ts *ts, + const unsigned int rate_ctr_idx) +{ + struct l1sched_ts *l1ts; + unsigned int i; + + l1ts = talloc_zero(ts->trx, struct l1sched_ts); + OSMO_ASSERT(l1ts != NULL); + + /* Link both structures */ + ts->priv = l1ts; + l1ts->ts = ts; + + l1ts->ctrs = rate_ctr_group_alloc(ts->trx, + &l1sched_ts_ctrg_desc, + rate_ctr_idx); + INIT_LLIST_HEAD(&l1ts->dl_prims); + + for (i = 0; i < ARRAY_SIZE(l1ts->chan_state); i++) { + struct l1sched_chan_state *chan_state; + chan_state = &l1ts->chan_state[i]; + chan_state->active = false; + } +} + void trx_sched_init(struct gsm_bts_trx *trx) { - unsigned int tn, i; + unsigned int tn; OSMO_ASSERT(trx != NULL); LOGPTRX(trx, DL1C, LOGL_DEBUG, "Init scheduler structures\n"); + /* Allocate shadow timeslots */ + gsm_bts_trx_init_shadow_ts(trx); + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { - struct l1sched_ts *l1ts; + unsigned int rate_ctr_idx = trx->nr * 100 + tn; + struct gsm_bts_trx_ts *ts = &trx->ts[tn]; - l1ts = talloc_zero(trx, struct l1sched_ts); - OSMO_ASSERT(l1ts != NULL); - - trx->ts[tn].priv = l1ts; - l1ts->ts = &trx->ts[tn]; - - l1ts->mf_index = 0; - l1ts->ctrs = rate_ctr_group_alloc(trx, &l1sched_ts_ctrg_desc, (trx->nr + 1) * 10 + tn); - INIT_LLIST_HEAD(&l1ts->dl_prims); - - for (i = 0; i < ARRAY_SIZE(l1ts->chan_state); i++) { - struct l1sched_chan_state *chan_state; - chan_state = &l1ts->chan_state[i]; - chan_state->active = false; - } + /* Init primary and shadow timeslots */ + trx_sched_init_ts(ts, rate_ctr_idx); + trx_sched_init_ts(ts->vamos.peer, rate_ctr_idx + 10); } } diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index 6ec8dfc..7134939 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -146,6 +146,7 @@ osmo_bts_set_feature(bts->features, BTS_FEAT_HOPPING); osmo_bts_set_feature(bts->features, BTS_FEAT_ACCH_REP); osmo_bts_set_feature(bts->features, BTS_FEAT_MULTI_TSC); + osmo_bts_set_feature(bts->features, BTS_FEAT_VAMOS); bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_MEAS_PAYLOAD_COMB); diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index fa5c719..1e099c0 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -149,6 +149,33 @@ } } +/* schedule one frame for a shadow TRX/TS */ +static void trx_sched_shadow_ts(const struct gsm_bts_trx_ts *ts, + struct trx_dl_burst_req *br) +{ + struct l1sched_ts *l1ts = ts->priv; + struct trx_dl_burst_req sbr = { + .trx_num = br->trx_num, + .fn = br->fn, + .tn = br->tn, + }; + + _sched_dl_burst(l1ts, &sbr); + + if (br->burst_len != 0 && sbr.burst_len != 0) /* both present */ + memcpy(br->burst + GSM_BURST_LEN, sbr.burst, GSM_BURST_LEN); + else if (br->burst_len == 0) /* V0 burst is missing, use dummy bits */ + memcpy(br->burst, _sched_dummy_burst, GSM_BURST_LEN); + else if (sbr.burst_len == 0) /* V1 burst is missing, use dummy bits */ + memcpy(br->burst + GSM_BURST_LEN, _sched_dummy_burst, GSM_BURST_LEN); + else /* nothing to send at all */ + return; + + /* FIXME: SCPIR is hard-coded to 0 */ + br->burst_len = 2 * GSM_BURST_LEN; + br->mod = TRX_MOD_T_AQPSK; +} + /* schedule all frames of all TRX for given FN */ static void bts_sched_fn(struct gsm_bts *bts, const uint32_t fn) { @@ -195,6 +222,9 @@ /* get burst for FN */ _sched_dl_burst(l1ts, br); + + if (ts->vamos.peer != NULL) + trx_sched_shadow_ts(ts->vamos.peer, br); } } diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index c10a15f..bcca807 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -755,6 +755,7 @@ static const uint8_t trx_data_mod_val[] = { [TRX_MOD_T_GMSK] = 0x00, /* .00xx... */ [TRX_MOD_T_8PSK] = 0x20, /* .010x... */ + [TRX_MOD_T_AQPSK] = 0x60, /* .11xx... */ }; /* Header dissector for TRXDv0 (and part of TRXDv1) */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3e0bdf8c03273f66991aa1764029ab1dd3528d7e Gerrit-Change-Number: 24440 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 21:24:14 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 21:24:14 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Implement the concept of 'shadow' timeslots In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24153 ) Change subject: [VAMOS] Implement the concept of 'shadow' timeslots ...................................................................... Patch Set 10: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I48b44b4df9ffb1cca105aebbd868c29b21f3b1d6 Gerrit-Change-Number: 24153 Gerrit-PatchSet: 10 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 27 May 2021 21:24:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 21:34:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 21:34:59 +0000 Subject: Change in osmo-bts[master]: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24388 ) Change subject: [VAMOS] osmo-bts-trx: properly handle per-timeslot TSC values ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idc5796151e3e83f42d60c2d4cb7c35890d76a7f5 Gerrit-Change-Number: 24388 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 21:34:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 21:35:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 21:35:50 +0000 Subject: Change in osmo-bts[master]: sysmobts-mgr: Fix path to hwmon in /sys In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24433 ) Change subject: sysmobts-mgr: Fix path to hwmon in /sys ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iac8e9a866ad6326874af91bd12a981f39a9a24c7 Gerrit-Change-Number: 24433 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 27 May 2021 21:35:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 21:36:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 21:36:53 +0000 Subject: Change in osmo-bts[master]: sysmobts-mgr: Fix path to hwmon in /sys In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24433 ) Change subject: sysmobts-mgr: Fix path to hwmon in /sys ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iac8e9a866ad6326874af91bd12a981f39a9a24c7 Gerrit-Change-Number: 24433 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 21:36:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 21:37:22 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 21:37:22 +0000 Subject: Change in osmo-bts[master]: sysmobts-mgr: Fix path to hwmon in /sys In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24433 ) Change subject: sysmobts-mgr: Fix path to hwmon in /sys ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24433/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/24433/1//COMMIT_MSG at 9 PS1, Line 9: The path to the temperature sensor Which one? Please add a reference (e.g. Change-Id). The usual way is: Change-Id: Fixes: -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iac8e9a866ad6326874af91bd12a981f39a9a24c7 Gerrit-Change-Number: 24433 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 21:37:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 21:39:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 21:39:48 +0000 Subject: Change in osmo-trx[master]: ctrl_sock_handle_rx(): fix missing space in LOGCHAN() statement References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/24441 ) Change subject: ctrl_sock_handle_rx(): fix missing space in LOGCHAN() statement ...................................................................... ctrl_sock_handle_rx(): fix missing space in LOGCHAN() statement Change-Id: I3c69d64dfe79dcc815e1d412569ed4e9ed428c52 --- M Transceiver52M/Transceiver.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/41/24441/1 diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index c0db343..20eaeb6 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -1009,7 +1009,7 @@ LOGCHAN(chan, DTRXCTRL, INFO) << "BTS requests TRXD version switch: " << version_recv; if (version_recv > TRX_DATA_FORMAT_VER) { LOGCHAN(chan, DTRXCTRL, INFO) << "rejecting TRXD version " << version_recv - << "in favor of " << TRX_DATA_FORMAT_VER; + << " in favor of " << TRX_DATA_FORMAT_VER; sprintf(response, "RSP SETFORMAT %u %u", TRX_DATA_FORMAT_VER, version_recv); } else { LOGCHAN(chan, DTRXCTRL, NOTICE) << "switching to TRXD version " << version_recv; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I3c69d64dfe79dcc815e1d412569ed4e9ed428c52 Gerrit-Change-Number: 24441 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 21:49:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 21:49:40 +0000 Subject: Change in libosmocore[master]: socket: add function to wait until a socket becomes writeable In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24435 ) Change subject: socket: add function to wait until a socket becomes writeable ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24435/1/include/osmocom/core/socket.h File include/osmocom/core/socket.h: https://gerrit.osmocom.org/c/libosmocore/+/24435/1/include/osmocom/core/socket.h at a116 PS1, Line 116: ws -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Gerrit-Change-Number: 24435 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 27 May 2021 21:49:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 21:56:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 21:56:03 +0000 Subject: Change in osmo-trx[master]: ctrl_sock_handle_rx(): fix missing space in LOGCHAN() statement In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24441 ) Change subject: ctrl_sock_handle_rx(): fix missing space in LOGCHAN() statement ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I3c69d64dfe79dcc815e1d412569ed4e9ed428c52 Gerrit-Change-Number: 24441 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 27 May 2021 21:56:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 21:57:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 21:57:47 +0000 Subject: Change in libosmocore[master]: socket: add function to wait until a socket becomes writeable In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24435 ) Change subject: socket: add function to wait until a socket becomes writeable ...................................................................... Patch Set 1: Code-Review-2 This still makes no sense in the context of osmocom apps with a mainloop. While waiting in that select loop you are basically blocking any other events to be parsed by the main loop. You need to integrate this in the osmocom mainloop. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Gerrit-Change-Number: 24435 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 21:57:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 22:04:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 22:04:45 +0000 Subject: Change in osmo-bts[master]: [VAMOS] Implement the concept of 'shadow' timeslots In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24153 ) Change subject: [VAMOS] Implement the concept of 'shadow' timeslots ...................................................................... Patch Set 10: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24153/10/include/osmo-bts/gsm_data.h File include/osmo-bts/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bts/+/24153/10/include/osmo-bts/gsm_data.h at 469 PS10, Line 469: struct gsm_bts_trx_ts *peer; ts_peer/peer_ts would be far more explanatory when looking at code. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I48b44b4df9ffb1cca105aebbd868c29b21f3b1d6 Gerrit-Change-Number: 24153 Gerrit-PatchSet: 10 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 22:04:45 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 22:05:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 22:05:06 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_pchan2chan_nr(): use ABIS_RSL_CHAN_NR_CBITS_* macros In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24436 ) Change subject: [VAMOS] gsm_pchan2chan_nr(): use ABIS_RSL_CHAN_NR_CBITS_* macros ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2b1480d3c330951cccc15333450cf7243b9505fc Gerrit-Change-Number: 24436 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 22:05:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 22:06:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 22:06:10 +0000 Subject: Change in osmo-bts[master]: [VAMOS] rsl_lchan_lookup(): make it more readable In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24438 ) Change subject: [VAMOS] rsl_lchan_lookup(): make it more readable ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3160929c739a521fe494716c3da3d3b72370a98a Gerrit-Change-Number: 24438 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 22:06:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 22:06:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 22:06:26 +0000 Subject: Change in osmo-bts[master]: [VAMOS] rsl_lchan_lookup(): use ABIS_RSL_CHAN_NR_CBITS_* macros In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24437 ) Change subject: [VAMOS] rsl_lchan_lookup(): use ABIS_RSL_CHAN_NR_CBITS_* macros ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iec3250e3a59f8d428d7e7be2ceb71f7086a68e7b Gerrit-Change-Number: 24437 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 22:06:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 22:07:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 May 2021 22:07:08 +0000 Subject: Change in osmo-bts[master]: [VAMOS] gsm_data: rework and rename gsm_lchan_name_compute() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24439 ) Change subject: [VAMOS] gsm_data: rework and rename gsm_lchan_name_compute() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id5cc40db04a654d94f5f75d4aad45439d66528cc Gerrit-Change-Number: 24439 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 22:07:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 22:07:57 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 22:07:57 +0000 Subject: Change in osmo-trx[master]: ctrl_sock_handle_rx(): fix missing space in LOGCHAN() statement In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24441 ) Change subject: ctrl_sock_handle_rx(): fix missing space in LOGCHAN() statement ...................................................................... ctrl_sock_handle_rx(): fix missing space in LOGCHAN() statement Change-Id: I3c69d64dfe79dcc815e1d412569ed4e9ed428c52 --- M Transceiver52M/Transceiver.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 9e7bd5a..42aa93e 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -1003,7 +1003,7 @@ LOGCHAN(chan, DTRXCTRL, INFO) << "BTS requests TRXD version switch: " << version_recv; if (version_recv > TRX_DATA_FORMAT_VER) { LOGCHAN(chan, DTRXCTRL, INFO) << "rejecting TRXD version " << version_recv - << "in favor of " << TRX_DATA_FORMAT_VER; + << " in favor of " << TRX_DATA_FORMAT_VER; sprintf(response, "RSP SETFORMAT %u %u", TRX_DATA_FORMAT_VER, version_recv); } else { LOGCHAN(chan, DTRXCTRL, NOTICE) << "switching to TRXD version " << version_recv; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I3c69d64dfe79dcc815e1d412569ed4e9ed428c52 Gerrit-Change-Number: 24441 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 27 22:32:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 May 2021 22:32:27 +0000 Subject: Change in osmo-bts[master]: sysmobts-mgr: Fix path to hwmon in /sys In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24433 ) Change subject: sysmobts-mgr: Fix path to hwmon in /sys ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24433/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/24433/1//COMMIT_MSG at 9 PS1, Line 9: The path to the temperature sensor > Which one? Please add a reference (e.g. Change-Id). The usual way is: [?] Nevermind, I somehow read it as 'patch'. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iac8e9a866ad6326874af91bd12a981f39a9a24c7 Gerrit-Change-Number: 24433 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 May 2021 22:32:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 09:14:36 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 28 May 2021 09:14:36 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: refactor MGCP_DUMMY_LOAD In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24315 ) Change subject: mgcp_network: refactor MGCP_DUMMY_LOAD ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24315/2/include/osmocom/mgcp/mgcp_network.h File include/osmocom/mgcp/mgcp_network.h: https://gerrit.osmocom.org/c/osmo-mgw/+/24315/2/include/osmocom/mgcp/mgcp_network.h at 19 PS2, Line 19: memcmp(msgb_data(msg), rtp_dummy_payload, sizeof(rtp_dummy_payload)) == 0)) > this here is sufficient, no need to add a char array and redundant checks: [?] when rtp_dummy_load is only one byte the compiler should optimize out the memcmp(). If it is more then one byte the left expression of the || should be optimized out. (I would have used a sizeof() comparison with an #if and made it two differen macros, but sizeof is not possible on preprocessor level) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I21d96cefeeb647958bfa1e22a0ea030884746fad Gerrit-Change-Number: 24315 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: neels Gerrit-Comment-Date: Fri, 28 May 2021 09:14:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 12:40:09 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 May 2021 12:40:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_Types, bsc: add VAMOS cbits In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24431 to look at the new patch set (#3). Change subject: GSM_Types, bsc: add VAMOS cbits ...................................................................... GSM_Types, bsc: add VAMOS cbits Change-Id: I2d98495b8c4c9a8466f2154af9bb29124c2cb0b5 --- M bsc/MSC_ConnectionHandler.ttcn M library/GSM_Types.ttcn 2 files changed, 28 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/31/24431/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24431 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: I2d98495b8c4c9a8466f2154af9bb29124c2cb0b5 Gerrit-Change-Number: 24431 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 12:40:09 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 May 2021 12:40:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 to look at the new patch set (#6). Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... add bsc/BSC_Tests_VAMOS.ttcn BSC_Tests_VAMOS.ttcn is separate from BSC_Tests.ttcn in order to instruct osmo-bts-omldummy to pass BTS_FEAT_VAMOS == true in the OML BTS attributes. Add tests: TC_mode_modify_to_vamos() TC_chan_act_to_vamos() TC_assign_to_secondary_lchan() TC_vamos_multiplex_tch_f_tch_f() Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 --- M bsc/BSC_Tests.ttcn A bsc/BSC_Tests_VAMOS.ttcn 2 files changed, 384 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/11/24411/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 12:41:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 May 2021 12:41:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_Types, bsc: add VAMOS cbits In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24431 ) Change subject: GSM_Types, bsc: add VAMOS cbits ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24431 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: I2d98495b8c4c9a8466f2154af9bb29124c2cb0b5 Gerrit-Change-Number: 24431 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 12:41:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 12:54:13 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 May 2021 12:54:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 ) Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... Patch Set 6: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/4/bsc/BSC_Tests_VAMOS.ttcn File bsc/BSC_Tests_VAMOS.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/4/bsc/BSC_Tests_VAMOS.ttcn at 116 PS4, Line 116: var RslChannelNr chan_nr := rsl.ies[0].body.chan_nr; > With the recent RSL chan_nr changes, we should probably also do: [?] misunderstanding, this simply activates a primary lchan in VAMOS speech mode https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411/4/bsc/BSC_Tests_VAMOS.ttcn at 174 PS4, Line 174: RSL.receive(tr_RSL_MODE_MODIFY_REQ(g_chan_nr, ?)) -> value rsl; > Would also be good to match chan_nr against t_RslChanNr_Osmo_VAMOS_Bm. same here, this modifies a primary lchan into VAMOS speech mode -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 12:54:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 13:16:49 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 28 May 2021 13:16:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gbproxy: Test routing if an SGSN in a pool is down References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24442 ) Change subject: gbproxy: Test routing if an SGSN in a pool is down ...................................................................... gbproxy: Test routing if an SGSN in a pool is down If an SGSN in a pool is down we expect the messages to instead be sent to a different SGSN in the pool. That SGSN will not necessarily know what to do with those messages, but it should )implicitly) detach that UE so that it can reattach at the new SGSN. Otherwise UEs on a failed SGSN would simply stop working as the messages would never be forwarded anywhere. This test also adjusts the NS timers so the failed NSVCs are detected faster. Change-Id: I46a6b8082441843f428a7681566228e5de375bcb Related: OS#4952 --- M gbproxy/GBProxy_Tests.ttcn M gbproxy/osmo-gbproxy.cfg 2 files changed, 53 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/42/24442/1 diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn index c496ca8..dd33106 100644 --- a/gbproxy/GBProxy_Tests.ttcn +++ b/gbproxy/GBProxy_Tests.ttcn @@ -337,6 +337,8 @@ var GbInstances g_pcu; var GbInstances g_sgsn; + port NS_CTRL_PT NS_CTRL; + port BSSGP_CT_PROC_PT PROC; port BSSGP_BVC_MGMT_PT SGSN_MGMT; @@ -1130,6 +1132,53 @@ f_cleanup(); } + +/* send uplink-unitdata of a variety of different sizes; expect it to show up on the only connected SGSN */ +private function f_TC_ul_unitdata_pool_failure(charstring id) runs on BSSGP_ConnHdlr { + var integer ran_idx := 0; + var BssgpBvcConfig bvcc := g_pars.pcu[ran_idx].cfg.bvc[0]; + var integer i; + + /* All data should arrive at the one SGSN that is still up */ + g_pars.sgsn_idx := 0; + + for (i := 0; i < max_fr_info_size-4; i := i+4) { + var octetstring payload := f_rnd_octstring(i); + var template (value) PDU_BSSGP pdu_tx := ts_BSSGP_UL_UD(g_pars.tlli, bvcc.cell_id, payload); + /* we cannot use pdu_tx as there are some subtle differences in the length field :/ */ + var template (present) PDU_BSSGP pdu_rx := tr_BSSGP_UL_UD(g_pars.tlli, bvcc.cell_id, payload); + + log("UL-UNITDATA(payload_size=", i); + f_pcu2sgsn(pdu_tx, pdu_rx); + } + setverdict(pass); +} + +testcase TC_ul_unitdata_pool_failure() runs on test_CT +{ + var integer i; + var integer j; + + f_init(60.0); + + for (i := 1; i < lengthof(mp_nsconfig_sgsn); i := i+1) { + connect(self:NS_CTRL, g_sgsn[i].vc_NS:NS_CTRL); + for (j := 0; j < lengthof(mp_nsconfig_sgsn[i].nsvc); j := j+1) { + var uint16_t nsvci := mp_nsconfig_sgsn[i].nsvc[j].nsvci; + var NsDisableVcRequest tx_disar; + tx_disar.nsvci := nsvci; + NS_CTRL.send(tx_disar); + } + disconnect(self:NS_CTRL, g_sgsn[i].vc_NS:NS_CTRL); + } + /* Wait until gbproxy notices that the NSVCs are down */ + f_sleep(15.0); + + f_start_handlers(refers(f_TC_ul_unitdata_pool_failure), testcasename(), 1); + /* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */ + f_cleanup(); +} + /* send downlink-unitdata of a variety of different sizes; expect it to show up on PCU */ private function f_TC_dl_unitdata(charstring id) runs on BSSGP_ConnHdlr { var integer i; @@ -3461,6 +3510,7 @@ control { execute( TC_BVC_bringup() ); execute( TC_ul_unitdata() ); + execute( TC_ul_unitdata_pool_failure() ); execute( TC_dl_unitdata() ); execute( TC_ra_capability() ); execute( TC_ra_capability_upd() ); diff --git a/gbproxy/osmo-gbproxy.cfg b/gbproxy/osmo-gbproxy.cfg index dab4ef3..d269567 100644 --- a/gbproxy/osmo-gbproxy.cfg +++ b/gbproxy/osmo-gbproxy.cfg @@ -42,6 +42,6 @@ timer tns-block-retries 3 timer tns-reset 3 timer tns-reset-retries 3 - timer tns-test 30 - timer tns-alive 3 - timer tns-alive-retries 10 + timer tns-test 5 + timer tns-alive 2 + timer tns-alive-retries 3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24442 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: I46a6b8082441843f428a7681566228e5de375bcb Gerrit-Change-Number: 24442 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 13:22:20 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 28 May 2021 13:22:20 +0000 Subject: Change in osmo-gbproxy[master]: Don't route messages to an SGSN if it is down References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24443 ) Change subject: Don't route messages to an SGSN if it is down ...................................................................... Don't route messages to an SGSN if it is down If an SGSN in a pool is down we expect the messages to instead be sent to a different SGSN in the pool. That SGSN will not necessarily know what to do with those messages, but it should (implicitly) detach that UE so that it can reattach at the new SGSN. Otherwise UEs on a failed SGSN would simply stop working as the messages would never be forwarded anywhere. Fixes: OS#4952 Change-Id: I3f794659866e1f31496a39ca631b3b042a60aa27 --- M include/osmocom/gbproxy/gb_proxy.h M src/gb_proxy.c M src/gb_proxy_peer.c 3 files changed, 34 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/43/24443/1 diff --git a/include/osmocom/gbproxy/gb_proxy.h b/include/osmocom/gbproxy/gb_proxy.h index d6bf340..6ce5556 100644 --- a/include/osmocom/gbproxy/gb_proxy.h +++ b/include/osmocom/gbproxy/gb_proxy.h @@ -168,6 +168,7 @@ /* Are we facing towards a SGSN (true) or BSS (false) */ bool sgsn_facing; + bool alive; /* List of all BVCs in this NSE */ DECLARE_HASHTABLE(bvcs, 10); @@ -306,3 +307,4 @@ struct gbproxy_sgsn *gbproxy_sgsn_by_nri(struct gbproxy_config *cfg, uint16_t nri, bool *null_nri); struct gbproxy_sgsn *gbproxy_sgsn_by_tlli(struct gbproxy_config *cfg, struct gbproxy_sgsn *sgsn_avoid, uint32_t tlli); +struct gbproxy_sgsn *gbproxy_sgsn_by_avaliable(struct gbproxy_config *cfg); \ No newline at end of file diff --git a/src/gb_proxy.c b/src/gb_proxy.c index 31c5a6b..1ae226e 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -265,22 +265,24 @@ bool null_nri = false; if (!tlli) { - sgsn = llist_first_entry(&cfg->sgsns, struct gbproxy_sgsn, list); + sgsn = gbproxy_sgsn_by_avaliable(cfg); if (!sgsn) { + LOGP(DGPRS, LOGL_ERROR, "Could not find any available SGSN\n"); return NULL; } - LOGPSGSN(sgsn, LOGL_INFO, "Could not get TLLI, using first SGSN\n"); + LOGPSGSN(sgsn, LOGL_INFO, "Could not get TLLI, using first available SGSN\n"); return sgsn; } if (cfg->pool.nri_bitlen == 0) { /* Pooling is disabled */ - sgsn = llist_first_entry(&cfg->sgsns, struct gbproxy_sgsn, list); + sgsn = gbproxy_sgsn_by_avaliable(cfg); if (!sgsn) { + LOGP(DGPRS, LOGL_ERROR, "Could not find any available SGSN\n"); return NULL; } - LOGPSGSN(sgsn, LOGL_INFO, "Pooling disabled, using first configured SGSN\n"); + LOGPSGSN(sgsn, LOGL_INFO, "Pooling disabled, using first available SGSN\n"); } else { /* Pooling is enabled, try to use the NRI for routing to an SGSN * See 3GPP TS 23.236 Ch. 5.3.2 */ @@ -1527,9 +1529,6 @@ void gprs_ns_prim_status_cb(struct gbproxy_config *cfg, struct osmo_gprs_ns2_prim *nsp) { - /* TODO: bss nsei available/unavailable bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_BLOCK, nsvc->nsei, bvc->bvci, 0); - */ - int i; struct gbproxy_bvc *bvc; struct gbproxy_nse *nse; @@ -1543,6 +1542,7 @@ LOGP(DGPRS, LOGL_NOTICE, "NS-NSE %d became available\n", nsp->nsei); nse = gbproxy_nse_by_nsei(cfg, nsp->nsei, NSE_F_SGSN); if (nse) { + nse->alive = true; // Update the NSE max SDU len nse->max_sdu_len = nsp->u.status.mtu; @@ -1560,6 +1560,8 @@ LOGP(DGPRS, LOGL_ERROR, "Unknown NSE(%05d) became unavailable\n", nsp->nsei); break; } + + nse->alive = false; if (nse->sgsn_facing) { struct hlist_node *ntmp; /* SGSN */ diff --git a/src/gb_proxy_peer.c b/src/gb_proxy_peer.c index fa99832..8a186d3 100644 --- a/src/gb_proxy_peer.c +++ b/src/gb_proxy_peer.c @@ -625,7 +625,7 @@ if (!sgsn) return; - OSMO_ASSERT(sgsn->nse) + OSMO_ASSERT(sgsn->nse); _nse_free(sgsn->nse); _sgsn_free(sgsn); @@ -696,6 +696,9 @@ OSMO_ASSERT(cfg); llist_for_each_entry(sgsn, &cfg->sgsns, list) { + if (!sgsn->nse->alive) + continue; + if (osmo_nri_v_matches_ranges(nri, sgsn->pool.nri_ranges)) { /* Also check if the NRI we're looking for is a NULL NRI */ if (null_nri) { @@ -711,7 +714,7 @@ return NULL; } -/*! Select a pseudo-random SGSN for a given TLLI, ignoring any SGSN that is not accepting connections +/*! Select a pseudo-random SGSN for a given TLLI, ignoring any SGSN that is not accepting connections or down * \param[in] cfg The gbproxy configuration * \param[in] sgsn_avoid If not NULL then avoid this SGSN when selecting a new one. Use for load redistribution * \param[in] tlli The tlli to choose an SGSN for. The same tlli will map to the same SGSN as long as no SGSN is @@ -743,7 +746,7 @@ /* Get the first enabled SGSN after index */ llist_for_each_entry(sgsn, &cfg->sgsns, list) { - if (i >= index && sgsn->pool.allow_attach) { + if (i >= index && sgsn->pool.allow_attach && sgsn->nse->alive) { return sgsn; } i++; @@ -753,7 +756,7 @@ llist_for_each_entry(sgsn, &cfg->sgsns, list) { if (i >= index) { break; - } else if (sgsn->pool.allow_attach) { + } else if (sgsn->pool.allow_attach && sgsn->nse->alive) { return sgsn; } i++; @@ -761,3 +764,19 @@ return NULL; } + +/*! Return the first available gbproxy_sgsn + * \param[in] cfg proxy in which we operate + * \return The SGSN, NULL if no matching SGSN could be found + */ +struct gbproxy_sgsn *gbproxy_sgsn_by_avaliable(struct gbproxy_config *cfg) +{ + struct gbproxy_sgsn *sgsn; + OSMO_ASSERT(cfg); + + llist_for_each_entry(sgsn, &cfg->sgsns, list) + if (sgsn->nse->alive &&sgsn->pool.allow_attach) + return sgsn; + + return NULL; +} \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I3f794659866e1f31496a39ca631b3b042a60aa27 Gerrit-Change-Number: 24443 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 15:00:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 May 2021 15:00:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gbproxy: Test routing if an SGSN in a pool is down In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24442 ) Change subject: gbproxy: Test routing if an SGSN in a pool is down ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24442 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: I46a6b8082441843f428a7681566228e5de375bcb Gerrit-Change-Number: 24442 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 15:00:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 15:01:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 May 2021 15:01:46 +0000 Subject: Change in osmo-gbproxy[master]: Don't route messages to an SGSN if it is down In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24443 ) Change subject: Don't route messages to an SGSN if it is down ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-gbproxy/+/24443/1/include/osmocom/gbproxy/gb_proxy.h File include/osmocom/gbproxy/gb_proxy.h: https://gerrit.osmocom.org/c/osmo-gbproxy/+/24443/1/include/osmocom/gbproxy/gb_proxy.h at 310 PS1, Line 310: struct gbproxy_sgsn *gbproxy_sgsn_by_avaliable(struct gbproxy_config *cfg); typo available -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I3f794659866e1f31496a39ca631b3b042a60aa27 Gerrit-Change-Number: 24443 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 15:01:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 15:20:58 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 28 May 2021 15:20:58 +0000 Subject: Change in osmo-gbproxy[master]: Don't route messages to an SGSN if it is down In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24443 to look at the new patch set (#2). Change subject: Don't route messages to an SGSN if it is down ...................................................................... Don't route messages to an SGSN if it is down If an SGSN in a pool is down we expect the messages to instead be sent to a different SGSN in the pool. That SGSN will not necessarily know what to do with those messages, but it should (implicitly) detach that UE so that it can reattach at the new SGSN. Otherwise UEs on a failed SGSN would simply stop working as the messages would never be forwarded anywhere. Fixes: OS#4952 Change-Id: I3f794659866e1f31496a39ca631b3b042a60aa27 --- M include/osmocom/gbproxy/gb_proxy.h M src/gb_proxy.c M src/gb_proxy_peer.c 3 files changed, 34 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/43/24443/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I3f794659866e1f31496a39ca631b3b042a60aa27 Gerrit-Change-Number: 24443 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 15:21:31 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 28 May 2021 15:21:31 +0000 Subject: Change in osmo-gbproxy[master]: Don't route messages to an SGSN if it is down In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24443 ) Change subject: Don't route messages to an SGSN if it is down ...................................................................... Patch Set 2: (1 comment) Fixed, thanks! https://gerrit.osmocom.org/c/osmo-gbproxy/+/24443/1/include/osmocom/gbproxy/gb_proxy.h File include/osmocom/gbproxy/gb_proxy.h: https://gerrit.osmocom.org/c/osmo-gbproxy/+/24443/1/include/osmocom/gbproxy/gb_proxy.h at 310 PS1, Line 310: struct gbproxy_sgsn *gbproxy_sgsn_by_avaliable(struct gbproxy_config *cfg); > typo available Done -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I3f794659866e1f31496a39ca631b3b042a60aa27 Gerrit-Change-Number: 24443 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 15:21:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 15:30:55 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 28 May 2021 15:30:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gbproxy: Test routing if an SGSN in a pool is down In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24442 ) Change subject: gbproxy: Test routing if an SGSN in a pool is down ...................................................................... Patch Set 1: Code-Review+2 +1 +1 = 2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24442 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: I46a6b8082441843f428a7681566228e5de375bcb Gerrit-Change-Number: 24442 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 15:30:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 15:31:17 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 28 May 2021 15:31:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gbproxy: Test routing if an SGSN in a pool is down In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24442 ) Change subject: gbproxy: Test routing if an SGSN in a pool is down ...................................................................... gbproxy: Test routing if an SGSN in a pool is down If an SGSN in a pool is down we expect the messages to instead be sent to a different SGSN in the pool. That SGSN will not necessarily know what to do with those messages, but it should )implicitly) detach that UE so that it can reattach at the new SGSN. Otherwise UEs on a failed SGSN would simply stop working as the messages would never be forwarded anywhere. This test also adjusts the NS timers so the failed NSVCs are detected faster. Change-Id: I46a6b8082441843f428a7681566228e5de375bcb Related: OS#4952 --- M gbproxy/GBProxy_Tests.ttcn M gbproxy/osmo-gbproxy.cfg 2 files changed, 53 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve lynxis lazus: Looks good to me, approved diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn index c496ca8..dd33106 100644 --- a/gbproxy/GBProxy_Tests.ttcn +++ b/gbproxy/GBProxy_Tests.ttcn @@ -337,6 +337,8 @@ var GbInstances g_pcu; var GbInstances g_sgsn; + port NS_CTRL_PT NS_CTRL; + port BSSGP_CT_PROC_PT PROC; port BSSGP_BVC_MGMT_PT SGSN_MGMT; @@ -1130,6 +1132,53 @@ f_cleanup(); } + +/* send uplink-unitdata of a variety of different sizes; expect it to show up on the only connected SGSN */ +private function f_TC_ul_unitdata_pool_failure(charstring id) runs on BSSGP_ConnHdlr { + var integer ran_idx := 0; + var BssgpBvcConfig bvcc := g_pars.pcu[ran_idx].cfg.bvc[0]; + var integer i; + + /* All data should arrive at the one SGSN that is still up */ + g_pars.sgsn_idx := 0; + + for (i := 0; i < max_fr_info_size-4; i := i+4) { + var octetstring payload := f_rnd_octstring(i); + var template (value) PDU_BSSGP pdu_tx := ts_BSSGP_UL_UD(g_pars.tlli, bvcc.cell_id, payload); + /* we cannot use pdu_tx as there are some subtle differences in the length field :/ */ + var template (present) PDU_BSSGP pdu_rx := tr_BSSGP_UL_UD(g_pars.tlli, bvcc.cell_id, payload); + + log("UL-UNITDATA(payload_size=", i); + f_pcu2sgsn(pdu_tx, pdu_rx); + } + setverdict(pass); +} + +testcase TC_ul_unitdata_pool_failure() runs on test_CT +{ + var integer i; + var integer j; + + f_init(60.0); + + for (i := 1; i < lengthof(mp_nsconfig_sgsn); i := i+1) { + connect(self:NS_CTRL, g_sgsn[i].vc_NS:NS_CTRL); + for (j := 0; j < lengthof(mp_nsconfig_sgsn[i].nsvc); j := j+1) { + var uint16_t nsvci := mp_nsconfig_sgsn[i].nsvc[j].nsvci; + var NsDisableVcRequest tx_disar; + tx_disar.nsvci := nsvci; + NS_CTRL.send(tx_disar); + } + disconnect(self:NS_CTRL, g_sgsn[i].vc_NS:NS_CTRL); + } + /* Wait until gbproxy notices that the NSVCs are down */ + f_sleep(15.0); + + f_start_handlers(refers(f_TC_ul_unitdata_pool_failure), testcasename(), 1); + /* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */ + f_cleanup(); +} + /* send downlink-unitdata of a variety of different sizes; expect it to show up on PCU */ private function f_TC_dl_unitdata(charstring id) runs on BSSGP_ConnHdlr { var integer i; @@ -3461,6 +3510,7 @@ control { execute( TC_BVC_bringup() ); execute( TC_ul_unitdata() ); + execute( TC_ul_unitdata_pool_failure() ); execute( TC_dl_unitdata() ); execute( TC_ra_capability() ); execute( TC_ra_capability_upd() ); diff --git a/gbproxy/osmo-gbproxy.cfg b/gbproxy/osmo-gbproxy.cfg index dab4ef3..d269567 100644 --- a/gbproxy/osmo-gbproxy.cfg +++ b/gbproxy/osmo-gbproxy.cfg @@ -42,6 +42,6 @@ timer tns-block-retries 3 timer tns-reset 3 timer tns-reset-retries 3 - timer tns-test 30 - timer tns-alive 3 - timer tns-alive-retries 10 + timer tns-test 5 + timer tns-alive 2 + timer tns-alive-retries 3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24442 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: I46a6b8082441843f428a7681566228e5de375bcb Gerrit-Change-Number: 24442 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 15:36:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 May 2021 15:36:09 +0000 Subject: Change in osmo-gbproxy[master]: Don't route messages to an SGSN if it is down In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24443 ) Change subject: Don't route messages to an SGSN if it is down ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I3f794659866e1f31496a39ca631b3b042a60aa27 Gerrit-Change-Number: 24443 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 15:36:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 15:51:19 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 28 May 2021 15:51:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 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: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Comment-Date: Fri, 28 May 2021 15:51:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 15:58:30 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 28 May 2021 15:58:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: Hello Jenkins Builder, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 to look at the new patch set (#2). Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface RAW_NS used previous a single TTCN3 port for a single UDP port (source/listen side). This has the limitation that only a single NSVC could be tested for a local UDP port. However SNS tests require multiple NSVCs over a single UDP port. NS_Provider_IPL4 already supports multiple NSVCs for the NS_Emulation. Extend the support in NS_Provider_IPL4 to also allow RAW_NS to use multiple NSVCs. Change-Id: Iafd9310e04066958914201da0cbdcd563bd5c976 --- M fr-net/gen_links.sh M fr/gen_links.sh M gbproxy/gen_links.sh M library/NS_Provider_IPL4.ttcn M library/RAW_NS.ttcnpp M ns/gen_links.sh M pcu/gen_links.sh M sgsn/gen_links.sh 8 files changed, 98 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/01/24401/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 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: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 16:03:53 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 28 May 2021 16:03:53 +0000 Subject: Change in osmo-gbproxy[master]: Don't route messages to an SGSN if it is down In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24443 ) Change subject: Don't route messages to an SGSN if it is down ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I3f794659866e1f31496a39ca631b3b042a60aa27 Gerrit-Change-Number: 24443 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 16:03:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 16:04:07 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 28 May 2021 16:04:07 +0000 Subject: Change in osmo-gbproxy[master]: Don't route messages to an SGSN if it is down In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24443 ) Change subject: Don't route messages to an SGSN if it is down ...................................................................... Don't route messages to an SGSN if it is down If an SGSN in a pool is down we expect the messages to instead be sent to a different SGSN in the pool. That SGSN will not necessarily know what to do with those messages, but it should (implicitly) detach that UE so that it can reattach at the new SGSN. Otherwise UEs on a failed SGSN would simply stop working as the messages would never be forwarded anywhere. Fixes: OS#4952 Change-Id: I3f794659866e1f31496a39ca631b3b042a60aa27 --- M include/osmocom/gbproxy/gb_proxy.h M src/gb_proxy.c M src/gb_proxy_peer.c 3 files changed, 34 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve lynxis lazus: Looks good to me, approved diff --git a/include/osmocom/gbproxy/gb_proxy.h b/include/osmocom/gbproxy/gb_proxy.h index d6bf340..afd4b5f 100644 --- a/include/osmocom/gbproxy/gb_proxy.h +++ b/include/osmocom/gbproxy/gb_proxy.h @@ -168,6 +168,7 @@ /* Are we facing towards a SGSN (true) or BSS (false) */ bool sgsn_facing; + bool alive; /* List of all BVCs in this NSE */ DECLARE_HASHTABLE(bvcs, 10); @@ -306,3 +307,4 @@ struct gbproxy_sgsn *gbproxy_sgsn_by_nri(struct gbproxy_config *cfg, uint16_t nri, bool *null_nri); struct gbproxy_sgsn *gbproxy_sgsn_by_tlli(struct gbproxy_config *cfg, struct gbproxy_sgsn *sgsn_avoid, uint32_t tlli); +struct gbproxy_sgsn *gbproxy_sgsn_by_available(struct gbproxy_config *cfg); \ No newline at end of file diff --git a/src/gb_proxy.c b/src/gb_proxy.c index 31c5a6b..b8bbc9a 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -265,22 +265,24 @@ bool null_nri = false; if (!tlli) { - sgsn = llist_first_entry(&cfg->sgsns, struct gbproxy_sgsn, list); + sgsn = gbproxy_sgsn_by_available(cfg); if (!sgsn) { + LOGP(DGPRS, LOGL_ERROR, "Could not find any available SGSN\n"); return NULL; } - LOGPSGSN(sgsn, LOGL_INFO, "Could not get TLLI, using first SGSN\n"); + LOGPSGSN(sgsn, LOGL_INFO, "Could not get TLLI, using first available SGSN\n"); return sgsn; } if (cfg->pool.nri_bitlen == 0) { /* Pooling is disabled */ - sgsn = llist_first_entry(&cfg->sgsns, struct gbproxy_sgsn, list); + sgsn = gbproxy_sgsn_by_available(cfg); if (!sgsn) { + LOGP(DGPRS, LOGL_ERROR, "Could not find any available SGSN\n"); return NULL; } - LOGPSGSN(sgsn, LOGL_INFO, "Pooling disabled, using first configured SGSN\n"); + LOGPSGSN(sgsn, LOGL_INFO, "Pooling disabled, using first available SGSN\n"); } else { /* Pooling is enabled, try to use the NRI for routing to an SGSN * See 3GPP TS 23.236 Ch. 5.3.2 */ @@ -1527,9 +1529,6 @@ void gprs_ns_prim_status_cb(struct gbproxy_config *cfg, struct osmo_gprs_ns2_prim *nsp) { - /* TODO: bss nsei available/unavailable bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_BLOCK, nsvc->nsei, bvc->bvci, 0); - */ - int i; struct gbproxy_bvc *bvc; struct gbproxy_nse *nse; @@ -1543,6 +1542,7 @@ LOGP(DGPRS, LOGL_NOTICE, "NS-NSE %d became available\n", nsp->nsei); nse = gbproxy_nse_by_nsei(cfg, nsp->nsei, NSE_F_SGSN); if (nse) { + nse->alive = true; // Update the NSE max SDU len nse->max_sdu_len = nsp->u.status.mtu; @@ -1560,6 +1560,8 @@ LOGP(DGPRS, LOGL_ERROR, "Unknown NSE(%05d) became unavailable\n", nsp->nsei); break; } + + nse->alive = false; if (nse->sgsn_facing) { struct hlist_node *ntmp; /* SGSN */ diff --git a/src/gb_proxy_peer.c b/src/gb_proxy_peer.c index fa99832..0f15e9d 100644 --- a/src/gb_proxy_peer.c +++ b/src/gb_proxy_peer.c @@ -625,7 +625,7 @@ if (!sgsn) return; - OSMO_ASSERT(sgsn->nse) + OSMO_ASSERT(sgsn->nse); _nse_free(sgsn->nse); _sgsn_free(sgsn); @@ -696,6 +696,9 @@ OSMO_ASSERT(cfg); llist_for_each_entry(sgsn, &cfg->sgsns, list) { + if (!sgsn->nse->alive) + continue; + if (osmo_nri_v_matches_ranges(nri, sgsn->pool.nri_ranges)) { /* Also check if the NRI we're looking for is a NULL NRI */ if (null_nri) { @@ -711,7 +714,7 @@ return NULL; } -/*! Select a pseudo-random SGSN for a given TLLI, ignoring any SGSN that is not accepting connections +/*! Select a pseudo-random SGSN for a given TLLI, ignoring any SGSN that is not accepting connections or down * \param[in] cfg The gbproxy configuration * \param[in] sgsn_avoid If not NULL then avoid this SGSN when selecting a new one. Use for load redistribution * \param[in] tlli The tlli to choose an SGSN for. The same tlli will map to the same SGSN as long as no SGSN is @@ -743,7 +746,7 @@ /* Get the first enabled SGSN after index */ llist_for_each_entry(sgsn, &cfg->sgsns, list) { - if (i >= index && sgsn->pool.allow_attach) { + if (i >= index && sgsn->pool.allow_attach && sgsn->nse->alive) { return sgsn; } i++; @@ -753,7 +756,7 @@ llist_for_each_entry(sgsn, &cfg->sgsns, list) { if (i >= index) { break; - } else if (sgsn->pool.allow_attach) { + } else if (sgsn->pool.allow_attach && sgsn->nse->alive) { return sgsn; } i++; @@ -761,3 +764,19 @@ return NULL; } + +/*! Return the first available gbproxy_sgsn + * \param[in] cfg proxy in which we operate + * \return The SGSN, NULL if no matching SGSN could be found + */ +struct gbproxy_sgsn *gbproxy_sgsn_by_available(struct gbproxy_config *cfg) +{ + struct gbproxy_sgsn *sgsn; + OSMO_ASSERT(cfg); + + llist_for_each_entry(sgsn, &cfg->sgsns, list) + if (sgsn->nse->alive &&sgsn->pool.allow_attach) + return sgsn; + + return NULL; +} \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I3f794659866e1f31496a39ca631b3b042a60aa27 Gerrit-Change-Number: 24443 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 16:04:56 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 28 May 2021 16:04:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 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: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Comment-Date: Fri, 28 May 2021 16:04:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 16:14:28 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 28 May 2021 16:14:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Provider_IPL4: fix typos in comments In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24396 ) Change subject: NS_Provider_IPL4: fix typos in comments ...................................................................... NS_Provider_IPL4: fix typos in comments Change-Id: I05ccbf2eb7387bc8c1277a53591efbf503d46051 --- M library/NS_Provider_IPL4.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/NS_Provider_IPL4.ttcn b/library/NS_Provider_IPL4.ttcn index 8145c13..774c08a 100644 --- a/library/NS_Provider_IPL4.ttcn +++ b/library/NS_Provider_IPL4.ttcn @@ -16,10 +16,10 @@ * exchange data with the next higher level component, such as a NSVC_CT * or a RAW_NS_CT. * - * 2) the enew "endpoint" mode, where one provider can host a number of different + * 2) the new "endpoint" mode, where one provider can host a number of different * NSVCs. This is needed in most non-trivial IP-SNS scenarios. The 'NSE' * port of this component is no longer used. Instead, there is a NSVC port - * array, one of which will be used for each NSVC. The NSVCs are dynamically + * array, one of which will be used for each NSVC. The NSVCs are dynamically * added and removed via the PROC procedure port, controlled by NS_CT. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24396 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: I05ccbf2eb7387bc8c1277a53591efbf503d46051 Gerrit-Change-Number: 24396 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 16:15:28 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 28 May 2021 16:15:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: add test configuration for SNS In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24397 ) Change subject: ns: add test configuration for SNS ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24397/1/ns/NS_Tests.sns.cfg File ns/NS_Tests.sns.cfg: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24397/1/ns/NS_Tests.sns.cfg at 14 PS1, Line 14: provider := { > one level of indentation too much? No I think it's right. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24397 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: Idda139c7adda3fb1fec0643a98cd6cf8b436a89e Gerrit-Change-Number: 24397 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 16:15:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 16:23:23 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 28 May 2021 16:23:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: add test configuration for SNS In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24397 ) Change subject: ns: add test configuration for SNS ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24397 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: Idda139c7adda3fb1fec0643a98cd6cf8b436a89e Gerrit-Change-Number: 24397 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 16:23:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 16:24:45 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 28 May 2021 16:24:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: add missing idx to as_rx_alive_tx_ack In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24398 ) Change subject: RAW_NS: add missing idx to as_rx_alive_tx_ack ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24398 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: Ic5d1f4aa5e8a2373a4f46feef44e71b9688035c9 Gerrit-Change-Number: 24398 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 16:24:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 16:26:04 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 28 May 2021 16:26:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: add support for an incoming SNS ADD procedure In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24399 ) Change subject: RAW_NS: add support for an incoming SNS ADD procedure ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24399 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: I937b654d377e189ee811145474683b638153179e Gerrit-Change-Number: 24399 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 16:26:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 16:26:36 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 28 May 2021 16:26:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: add support for an incoming SNS DELETE procedure In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24400 ) Change subject: RAW_NS: add support for an incoming SNS DELETE procedure ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24400 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: Ia682522fe583a82e16a9c8008972f660f03243f7 Gerrit-Change-Number: 24400 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 16:26:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 16:29:30 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 28 May 2021 16:29:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Tests: add testcases for incoming SNS_ADD/DEL procedures In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24402 ) Change subject: NS_Tests: add testcases for incoming SNS_ADD/DEL procedures ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24402 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: I98c04c083521ab38b58e8df9f1aee89445ab536d Gerrit-Change-Number: 24402 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Comment-Date: Fri, 28 May 2021 16:29:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 16:42:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 May 2021 16:42:49 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac.c: Fix arg list of 2 callbacks References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24444 ) Change subject: gsm_rlcmac.c: Fix arg list of 2 callbacks ...................................................................... gsm_rlcmac.c: Fix arg list of 2 callbacks Other callback functions are properly specified as per what's in "typedef CSN_CallBackStatus_t". However, these two were wrong. Change-Id: I280b51d4c8c38c76cc1ccd49656b6b7bbe769760 --- M src/gsm_rlcmac.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/44/24444/1 diff --git a/src/gsm_rlcmac.c b/src/gsm_rlcmac.c index c56526e..a3342cb 100644 --- a/src/gsm_rlcmac.c +++ b/src/gsm_rlcmac.c @@ -2638,7 +2638,7 @@ M_TYPE (Cell_Selection_Params_With_FreqDiff_t, Cell_SelectionParams, Cell_Selection_t), CSN_DESCR_END (Cell_Selection_Params_With_FreqDiff_t) -CSN_CallBackStatus_t callback_init_Cell_Selection_Params_FREQUENCY_DIFF(struct bitvec *vector, void* param1, void* param2, int bit_offset) +CSN_CallBackStatus_t callback_init_Cell_Selection_Params_FREQUENCY_DIFF(struct bitvec *vector, unsigned *readIndex, void* param1, void* param2) { guint i; guint8 freq_diff_len = *(guint8*)param1; @@ -2757,7 +2757,7 @@ M_TYPE (CellSelectionParamsWithFreqDiff_t, CellSelectionParams, Cell_Selection_2_t), CSN_DESCR_END (CellSelectionParamsWithFreqDiff_t) -CSN_CallBackStatus_t callback_init_Cell_Sel_Param_2_FREQUENCY_DIFF(struct bitvec *vector, void* param1, void* param2, int bit_offset) +CSN_CallBackStatus_t callback_init_Cell_Sel_Param_2_FREQUENCY_DIFF(struct bitvec *vector, unsigned *readIndex, void* param1, void* param2) { guint i; guint8 freq_diff_len = *(guint8*)param1; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I280b51d4c8c38c76cc1ccd49656b6b7bbe769760 Gerrit-Change-Number: 24444 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 16:42:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 May 2021 16:42:50 +0000 Subject: Change in osmo-pcu[master]: csn1: Implement CSN_CALLBACK type in encoder References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24445 ) Change subject: csn1: Implement CSN_CALLBACK type in encoder ...................................................................... csn1: Implement CSN_CALLBACK type in encoder Picked code from the Decoder function. I gave it a try callback_init_Cell_Selection_Params_FREQUENCY_DIFF and looks like working fine. Change-Id: Iac962ae3e9f52f417f394060b64fc4d0ebf3d0bf --- M src/csn1.c 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/45/24445/1 diff --git a/src/csn1.c b/src/csn1.c index 0a3c88c..2be0392 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -2694,7 +2694,13 @@ case CSN_CALLBACK: { - return ProcessError(writeIndex,"csnStreamEncoder Callback not implemented", -1, pDescr); + guint16 no_of_bits; + DissectorCallbackFcn_t callback = (DissectorCallbackFcn_t)pDescr->aux_fn; + LOGPC(DCSN1, LOGL_DEBUG, "CSN_CALLBACK(%s) | ", pDescr->sz); + no_of_bits = callback(vector, writeIndex, pvDATA(data, pDescr->i), pvDATA(data, pDescr->offset)); + remaining_bits_len -= no_of_bits; + bit_offset += no_of_bits; + pDescr++; break; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iac962ae3e9f52f417f394060b64fc4d0ebf3d0bf Gerrit-Change-Number: 24445 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 16:49:02 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 28 May 2021 16:49:02 +0000 Subject: Change in docker-playground[master]: ttcn3-gbproxy-test*: Update gbproxy NS timers References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24446 ) Change subject: ttcn3-gbproxy-test*: Update gbproxy NS timers ...................................................................... ttcn3-gbproxy-test*: Update gbproxy NS timers Change-Id: I7d436327bb57a3f6c6b071c28308c8a74561d93c Related: OS#4952 --- M ttcn3-gbproxy-test-fr/osmo-gbproxy.cfg M ttcn3-gbproxy-test/osmo-gbproxy.cfg 2 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/46/24446/1 diff --git a/ttcn3-gbproxy-test-fr/osmo-gbproxy.cfg b/ttcn3-gbproxy-test-fr/osmo-gbproxy.cfg index 9b53db5..80f8007 100644 --- a/ttcn3-gbproxy-test-fr/osmo-gbproxy.cfg +++ b/ttcn3-gbproxy-test-fr/osmo-gbproxy.cfg @@ -70,6 +70,6 @@ timer tns-block-retries 3 timer tns-reset 3 timer tns-reset-retries 3 - timer tns-test 30 - timer tns-alive 3 - timer tns-alive-retries 10 + timer tns-test 5 + timer tns-alive 2 + timer tns-alive-retries 3 diff --git a/ttcn3-gbproxy-test/osmo-gbproxy.cfg b/ttcn3-gbproxy-test/osmo-gbproxy.cfg index c98980b..1b50302 100644 --- a/ttcn3-gbproxy-test/osmo-gbproxy.cfg +++ b/ttcn3-gbproxy-test/osmo-gbproxy.cfg @@ -47,6 +47,6 @@ timer tns-block-retries 3 timer tns-reset 3 timer tns-reset-retries 3 - timer tns-test 30 - timer tns-alive 3 - timer tns-alive-retries 10 + timer tns-test 5 + timer tns-alive 2 + timer tns-alive-retries 3 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7d436327bb57a3f6c6b071c28308c8a74561d93c Gerrit-Change-Number: 24446 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 16:49:34 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 28 May 2021 16:49:34 +0000 Subject: Change in docker-playground[master]: ttcn3-gbproxy-test*: Update gbproxy NS timers In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24446 ) Change subject: ttcn3-gbproxy-test*: Update gbproxy NS timers ...................................................................... Patch Set 1: Verified+1 Works for me -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7d436327bb57a3f6c6b071c28308c8a74561d93c Gerrit-Change-Number: 24446 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Comment-Date: Fri, 28 May 2021 16:49:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 16:49:50 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 28 May 2021 16:49:50 +0000 Subject: Change in docker-playground[master]: ttcn3-gbproxy-test*: Update gbproxy NS timers In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24446 ) Change subject: ttcn3-gbproxy-test*: Update gbproxy NS timers ...................................................................... Patch Set 1: Code-Review+2 As long other tests doesn't expect those specific values. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7d436327bb57a3f6c6b071c28308c8a74561d93c Gerrit-Change-Number: 24446 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Fri, 28 May 2021 16:49:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 16:51:08 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 28 May 2021 16:51:08 +0000 Subject: Change in docker-playground[master]: ttcn3-gbproxy-test*: Update gbproxy NS timers In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24446 ) Change subject: ttcn3-gbproxy-test*: Update gbproxy NS timers ...................................................................... ttcn3-gbproxy-test*: Update gbproxy NS timers Change-Id: I7d436327bb57a3f6c6b071c28308c8a74561d93c Related: OS#4952 --- M ttcn3-gbproxy-test-fr/osmo-gbproxy.cfg M ttcn3-gbproxy-test/osmo-gbproxy.cfg 2 files changed, 6 insertions(+), 6 deletions(-) Approvals: daniel: Verified lynxis lazus: Looks good to me, approved diff --git a/ttcn3-gbproxy-test-fr/osmo-gbproxy.cfg b/ttcn3-gbproxy-test-fr/osmo-gbproxy.cfg index 9b53db5..80f8007 100644 --- a/ttcn3-gbproxy-test-fr/osmo-gbproxy.cfg +++ b/ttcn3-gbproxy-test-fr/osmo-gbproxy.cfg @@ -70,6 +70,6 @@ timer tns-block-retries 3 timer tns-reset 3 timer tns-reset-retries 3 - timer tns-test 30 - timer tns-alive 3 - timer tns-alive-retries 10 + timer tns-test 5 + timer tns-alive 2 + timer tns-alive-retries 3 diff --git a/ttcn3-gbproxy-test/osmo-gbproxy.cfg b/ttcn3-gbproxy-test/osmo-gbproxy.cfg index c98980b..1b50302 100644 --- a/ttcn3-gbproxy-test/osmo-gbproxy.cfg +++ b/ttcn3-gbproxy-test/osmo-gbproxy.cfg @@ -47,6 +47,6 @@ timer tns-block-retries 3 timer tns-reset 3 timer tns-reset-retries 3 - timer tns-test 30 - timer tns-alive 3 - timer tns-alive-retries 10 + timer tns-test 5 + timer tns-alive 2 + timer tns-alive-retries 3 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7d436327bb57a3f6c6b071c28308c8a74561d93c Gerrit-Change-Number: 24446 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 17:54:02 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 28 May 2021 17:54:02 +0000 Subject: Change in osmo-bts[master]: sysmobts-mgr: Fix path to hwmon in /sys In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24433 ) Change subject: sysmobts-mgr: Fix path to hwmon in /sys ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iac8e9a866ad6326874af91bd12a981f39a9a24c7 Gerrit-Change-Number: 24433 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 17:54:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 17:54:21 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 28 May 2021 17:54:21 +0000 Subject: Change in osmo-bts[master]: sysmobts-mgr: Fix path to hwmon in /sys In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24433 ) Change subject: sysmobts-mgr: Fix path to hwmon in /sys ...................................................................... Patch Set 1: 1+1=2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iac8e9a866ad6326874af91bd12a981f39a9a24c7 Gerrit-Change-Number: 24433 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 17:54:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 17:54:26 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 28 May 2021 17:54:26 +0000 Subject: Change in osmo-bts[master]: sysmobts-mgr: Fix path to hwmon in /sys In-Reply-To: References: Message-ID: keith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24433 ) Change subject: sysmobts-mgr: Fix path to hwmon in /sys ...................................................................... sysmobts-mgr: Fix path to hwmon in /sys The path to the temperature sensor was wrong which results in the SysmoBTS manager always considering that the state is critical and hence powering OFF the PA on startup. (with the default config) As a further side-effect, the temperatures were not available in the vty 'show manager' command. Redacted log previous to this patch: sysmobts_misc.c:128 Error reading temperature sysmobts_mgr_2050.c:323 Going to enable the PA. sysmobts_mgr_temp.c:252 Failed to read the digital temperature. rc=-1 sysmobts_mgr_temp.c:267 Failed to read the RF temperature. rc=-1 sysmobts_mgr_temp.c:203 Moving from state NORMAL to CRITICAL. sysmobts_mgr_temp.c:185 System has reached critical warning. sysmobts_mgr_temp.c:236 OML alert sent: 0 and in the vty: Temperature control state: CRITICAL Current Temperatures Digital: -0.001000 Celsius RF: -0.001000 Celsius With this patch we correctly enable the PA and now can show in the vty: Temperature control state: NORMAL Current Temperatures Digital: 39.000000 Celsius RF: 35.125000 Celsius Change-Id: Iac8e9a866ad6326874af91bd12a981f39a9a24c7 --- M src/osmo-bts-sysmo/misc/sysmobts_misc.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: fixeria: Looks good to me, but someone else must approve keith: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bts-sysmo/misc/sysmobts_misc.c b/src/osmo-bts-sysmo/misc/sysmobts_misc.c index 8c93979..ae59d78 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts_misc.c +++ b/src/osmo-bts-sysmo/misc/sysmobts_misc.c @@ -46,7 +46,7 @@ * Temperature handling *********************************************************************/ -#define TEMP_PATH "/sys/class/hwmon/hwmon0/device/temp%u_%s" +#define TEMP_PATH "/sys/class/hwmon/hwmon0/device/hwmon/hwmon0/temp%u_%s" static const char *temp_type_str[_NUM_TEMP_TYPES] = { [SYSMOBTS_TEMP_INPUT] = "input", -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iac8e9a866ad6326874af91bd12a981f39a9a24c7 Gerrit-Change-Number: 24433 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 17:59:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 May 2021 17:59:39 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac.c: Fix arg list of 2 callbacks In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24444 ) Change subject: gsm_rlcmac.c: Fix arg list of 2 callbacks ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I280b51d4c8c38c76cc1ccd49656b6b7bbe769760 Gerrit-Change-Number: 24444 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 May 2021 17:59:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 18:00:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 May 2021 18:00:01 +0000 Subject: Change in osmo-pcu[master]: csn1: Implement CSN_CALLBACK type in encoder In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24445 ) Change subject: csn1: Implement CSN_CALLBACK type in encoder ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iac962ae3e9f52f417f394060b64fc4d0ebf3d0bf Gerrit-Change-Number: 24445 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 May 2021 18:00:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 19:20:34 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 28 May 2021 19:20:34 +0000 Subject: Change in osmo-trx[master]: uhd: ensure configured clock source is actually used References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/24447 ) Change subject: uhd: ensure configured clock source is actually used ...................................................................... uhd: ensure configured clock source is actually used We wouldn't want to get caught running with unlocked external clock sources, right?! Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf --- M Transceiver52M/device/uhd/UHDDevice.cpp 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/47/24447/1 diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index 010fa8c..cb69a50 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -620,6 +620,20 @@ usrp_dev->set_clock_source(refstr); + std::vector sensor_names = usrp_dev->get_mboard_sensor_names(); + if (std::find(sensor_names.begin(), sensor_names.end(), "ref_locked") != sensor_names.end()) { + LOGC(DDEV, INFO) << "Waiting for clock reference lock (max 5s)..." << std::flush; + int counter = 5; + while (!usrp_dev->get_mboard_sensor("ref_locked", 0).to_bool() && counter-- > 0) + std::this_thread::sleep_for(std::chrono::seconds(1)); + + if (counter < 0) { + LOGC(DDEV, ALERT) << "Locking to external 10Mhz failed!"; + return -1; + } + } + LOGC(DDEV, INFO) << "Selected clock source is " << usrp_dev->get_clock_source(0); + try { set_rates(); } catch (const std::exception &e) { -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf Gerrit-Change-Number: 24447 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 19:23:29 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 28 May 2021 19:23:29 +0000 Subject: Change in osmo-trx[master]: uhd: ensure configured clock source is actually used In-Reply-To: References: Message-ID: Hello fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/24447 to look at the new patch set (#2). Change subject: uhd: ensure configured clock source is actually used ...................................................................... uhd: ensure configured clock source is actually used We wouldn't want to get caught running with unlocked external clock sources, right?! Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf --- M Transceiver52M/device/uhd/UHDDevice.cpp 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/47/24447/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf Gerrit-Change-Number: 24447 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 19:27:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 May 2021 19:27:14 +0000 Subject: Change in osmo-trx[master]: uhd: ensure configured clock source is actually used In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24447 ) Change subject: uhd: ensure configured clock source is actually used ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf Gerrit-Change-Number: 24447 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 28 May 2021 19:27:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 19:38:00 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 28 May 2021 19:38:00 +0000 Subject: Change in osmo-trx[master]: uhd: ensure configured clock source is actually used In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/24447 to look at the new patch set (#3). Change subject: uhd: ensure configured clock source is actually used ...................................................................... uhd: ensure configured clock source is actually used We wouldn't want to get caught running with unlocked external clock sources, right?! Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf --- M Transceiver52M/device/uhd/UHDDevice.cpp 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/47/24447/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf Gerrit-Change-Number: 24447 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 19:41:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 May 2021 19:41:47 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac.c: Fix arg list of 2 callbacks In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24444 ) Change subject: gsm_rlcmac.c: Fix arg list of 2 callbacks ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I280b51d4c8c38c76cc1ccd49656b6b7bbe769760 Gerrit-Change-Number: 24444 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 May 2021 19:41:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 19:41:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 May 2021 19:41:47 +0000 Subject: Change in osmo-trx[master]: uhd: ensure configured clock source is actually used In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24447 ) Change subject: uhd: ensure configured clock source is actually used ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf Gerrit-Change-Number: 24447 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 19:41:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 19:42:15 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 28 May 2021 19:42:15 +0000 Subject: Change in osmo-trx[master]: uhd: ensure configured clock source is actually used In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/24447 to look at the new patch set (#4). Change subject: uhd: ensure configured clock source is actually used ...................................................................... uhd: ensure configured clock source is actually used We wouldn't want to get caught running with unlocked external clock sources, right?! Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf --- M Transceiver52M/device/uhd/UHDDevice.cpp 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/47/24447/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf Gerrit-Change-Number: 24447 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 19:42:42 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 May 2021 19:42:42 +0000 Subject: Change in osmo-pcu[master]: csn1: Implement CSN_CALLBACK type in encoder In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24445 ) Change subject: csn1: Implement CSN_CALLBACK type in encoder ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iac962ae3e9f52f417f394060b64fc4d0ebf3d0bf Gerrit-Change-Number: 24445 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 May 2021 19:42:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 19:42:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 May 2021 19:42:50 +0000 Subject: Change in osmo-trx[master]: uhd: ensure configured clock source is actually used In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24447 ) Change subject: uhd: ensure configured clock source is actually used ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf Gerrit-Change-Number: 24447 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 19:42:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 19:43:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 May 2021 19:43:07 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac.c: Fix arg list of 2 callbacks In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24444 ) Change subject: gsm_rlcmac.c: Fix arg list of 2 callbacks ...................................................................... gsm_rlcmac.c: Fix arg list of 2 callbacks Other callback functions are properly specified as per what's in "typedef CSN_CallBackStatus_t". However, these two were wrong. Change-Id: I280b51d4c8c38c76cc1ccd49656b6b7bbe769760 --- M src/gsm_rlcmac.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/gsm_rlcmac.c b/src/gsm_rlcmac.c index c56526e..a3342cb 100644 --- a/src/gsm_rlcmac.c +++ b/src/gsm_rlcmac.c @@ -2638,7 +2638,7 @@ M_TYPE (Cell_Selection_Params_With_FreqDiff_t, Cell_SelectionParams, Cell_Selection_t), CSN_DESCR_END (Cell_Selection_Params_With_FreqDiff_t) -CSN_CallBackStatus_t callback_init_Cell_Selection_Params_FREQUENCY_DIFF(struct bitvec *vector, void* param1, void* param2, int bit_offset) +CSN_CallBackStatus_t callback_init_Cell_Selection_Params_FREQUENCY_DIFF(struct bitvec *vector, unsigned *readIndex, void* param1, void* param2) { guint i; guint8 freq_diff_len = *(guint8*)param1; @@ -2757,7 +2757,7 @@ M_TYPE (CellSelectionParamsWithFreqDiff_t, CellSelectionParams, Cell_Selection_2_t), CSN_DESCR_END (CellSelectionParamsWithFreqDiff_t) -CSN_CallBackStatus_t callback_init_Cell_Sel_Param_2_FREQUENCY_DIFF(struct bitvec *vector, void* param1, void* param2, int bit_offset) +CSN_CallBackStatus_t callback_init_Cell_Sel_Param_2_FREQUENCY_DIFF(struct bitvec *vector, unsigned *readIndex, void* param1, void* param2) { guint i; guint8 freq_diff_len = *(guint8*)param1; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I280b51d4c8c38c76cc1ccd49656b6b7bbe769760 Gerrit-Change-Number: 24444 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 19:43:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 May 2021 19:43:08 +0000 Subject: Change in osmo-pcu[master]: csn1: Implement CSN_CALLBACK type in encoder In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24445 ) Change subject: csn1: Implement CSN_CALLBACK type in encoder ...................................................................... csn1: Implement CSN_CALLBACK type in encoder Picked code from the Decoder function. I gave it a try callback_init_Cell_Selection_Params_FREQUENCY_DIFF and looks like working fine. Change-Id: Iac962ae3e9f52f417f394060b64fc4d0ebf3d0bf --- M src/csn1.c 1 file changed, 7 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/csn1.c b/src/csn1.c index 0a3c88c..2be0392 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -2694,7 +2694,13 @@ case CSN_CALLBACK: { - return ProcessError(writeIndex,"csnStreamEncoder Callback not implemented", -1, pDescr); + guint16 no_of_bits; + DissectorCallbackFcn_t callback = (DissectorCallbackFcn_t)pDescr->aux_fn; + LOGPC(DCSN1, LOGL_DEBUG, "CSN_CALLBACK(%s) | ", pDescr->sz); + no_of_bits = callback(vector, writeIndex, pvDATA(data, pDescr->i), pvDATA(data, pDescr->offset)); + remaining_bits_len -= no_of_bits; + bit_offset += no_of_bits; + pDescr++; break; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iac962ae3e9f52f417f394060b64fc4d0ebf3d0bf Gerrit-Change-Number: 24445 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 19:51:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 May 2021 19:51:10 +0000 Subject: Change in osmo-trx[master]: uhd: ensure configured clock source is actually used In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24447 ) Change subject: uhd: ensure configured clock source is actually used ...................................................................... Patch Set 4: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/24447/4/Transceiver52M/device/uhd/UHDDevice.cpp File Transceiver52M/device/uhd/UHDDevice.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/24447/4/Transceiver52M/device/uhd/UHDDevice.cpp at 633 PS4, Line 633: } Something is definitely wrong with formatting here. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf Gerrit-Change-Number: 24447 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 19:51:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 19:58:11 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 28 May 2021 19:58:11 +0000 Subject: Change in osmo-trx[master]: uhd: ensure configured clock source is actually used In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/24447 to look at the new patch set (#5). Change subject: uhd: ensure configured clock source is actually used ...................................................................... uhd: ensure configured clock source is actually used We wouldn't want to get caught running with unlocked external clock sources, right?! Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf --- M Transceiver52M/device/uhd/UHDDevice.cpp 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/47/24447/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf Gerrit-Change-Number: 24447 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 20:00:49 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 28 May 2021 20:00:49 +0000 Subject: Change in osmo-trx[master]: uhd: ensure configured clock source is actually used In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24447 ) Change subject: uhd: ensure configured clock source is actually used ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/24447/4/Transceiver52M/device/uhd/UHDDevice.cpp File Transceiver52M/device/uhd/UHDDevice.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/24447/4/Transceiver52M/device/uhd/UHDDevice.cpp at 633 PS4, Line 633: } > Something is definitely wrong with formatting here. Done -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf Gerrit-Change-Number: 24447 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 20:00:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 28 21:57:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 May 2021 21:57:34 +0000 Subject: Change in osmo-trx[master]: uhd: ensure configured clock source is actually used In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24447 ) Change subject: uhd: ensure configured clock source is actually used ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf Gerrit-Change-Number: 24447 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 May 2021 21:57:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 15:28:15 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 29 May 2021 15:28:15 +0000 Subject: Change in osmo-trx[master]: uhd: ensure configured clock source is actually used In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24447 ) Change subject: uhd: ensure configured clock source is actually used ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf Gerrit-Change-Number: 24447 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 29 May 2021 15:28:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 15:40:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 29 May 2021 15:40:41 +0000 Subject: Change in libosmocore[master]: socket: add function to wait until a socket becomes writeable In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24435 ) Change subject: socket: add function to wait until a socket becomes writeable ...................................................................... Patch Set 1: In some cases a blocking API would work fine I think. RSL connection establishment comes to my mind first: we check the result of e1inp_ipa_bts_rsl_connect_n() and immediately send ACK or NACK. And then it turns out that this function actually failed, but you've already sent ACK... See BTS_Tests_OML.TC_ipa_rsl_connect_nack. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Gerrit-Change-Number: 24435 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 29 May 2021 15:40:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 15:55:24 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 29 May 2021 15:55:24 +0000 Subject: Change in osmo-trx[master]: uhd: ensure configured clock source is actually used In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24447 ) Change subject: uhd: ensure configured clock source is actually used ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf Gerrit-Change-Number: 24447 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 29 May 2021 15:55:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 15:55:28 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 29 May 2021 15:55:28 +0000 Subject: Change in osmo-trx[master]: uhd: ensure configured clock source is actually used In-Reply-To: References: Message-ID: Hoernchen has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24447 ) Change subject: uhd: ensure configured clock source is actually used ...................................................................... uhd: ensure configured clock source is actually used We wouldn't want to get caught running with unlocked external clock sources, right?! Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf --- M Transceiver52M/device/uhd/UHDDevice.cpp 1 file changed, 14 insertions(+), 0 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Hoernchen: Looks good to me, approved Jenkins Builder: Verified diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index 010fa8c..5486822 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -548,6 +548,7 @@ int uhd_device::open(const std::string &args, int ref, bool swap_channels) { const char *refstr; + int clock_lock_attempts = 15; /* Register msg handler. Different APIs depending on UHD version */ #ifdef USE_UHD_3_11 @@ -620,6 +621,19 @@ usrp_dev->set_clock_source(refstr); + std::vector sensor_names = usrp_dev->get_mboard_sensor_names(); + if (std::find(sensor_names.begin(), sensor_names.end(), "ref_locked") != sensor_names.end()) { + LOGC(DDEV, INFO) << "Waiting for clock reference lock (max " << clock_lock_attempts << "s)..." << std::flush; + while (!usrp_dev->get_mboard_sensor("ref_locked", 0).to_bool() && clock_lock_attempts--) + sleep(1); + + if (!clock_lock_attempts) { + LOGC(DDEV, ALERT) << "Locking to external 10Mhz failed!"; + return -1; + } + } + LOGC(DDEV, INFO) << "Selected clock source is " << usrp_dev->get_clock_source(0); + try { set_rates(); } catch (const std::exception &e) { -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf Gerrit-Change-Number: 24447 Gerrit-PatchSet: 6 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 20:42:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 May 2021 20:42:25 +0000 Subject: Change in pysim[master]: utils: COMPREHENSION-TLV support References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24448 ) Change subject: utils: COMPREHENSION-TLV support ...................................................................... utils: COMPREHENSION-TLV support Change-Id: I8d969382b73fa152ee09c456fa4aee428fb36285 --- M pySim/utils.py M tests/test_utils.py 2 files changed, 66 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/48/24448/1 diff --git a/pySim/utils.py b/pySim/utils.py index 3d96580..d96d05a 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -90,6 +90,50 @@ return (n + 1)//2 ######################################################################### +# poor man's COMPREHENSION-TLV decoder. +######################################################################### + +def comprehensiontlv_parse_tag(binary:bytes) -> Tuple[dict, bytes]: + """Parse a single Tag according to ETSI TS 101 220 Section 7.1.1""" + if binary[0] in [0x00, 0x80, 0xff]: + raise ValueError("Found illegal value 0x%02x in %s" % (binary[0], binary)) + if binary[0] == 0x7f: + # three-byte tag + tag = (binary[1] & 0x7f) << 8 + tag |= binary[2] + compr = True if binary[1] & 0x80 else False + return ({'comprehension': compr, 'tag': tag}, binary[3:]) + else: + # single byte tag + tag = binary[0] & 0x7f + compr = True if binary[0] & 0x80 else False + return ({'comprehension': compr, 'tag': tag}, binary[1:]) + +def comprehensiontlv_encode_tag(tag) -> bytes: + """Encode a single Tag according to ETSI TS 101 220 Section 7.1.1""" + # permit caller to specify tag also as integer value + if isinstance(tag, int): + compr = True if tag < 0xff and tag & 0x80 else False + tag = {'tag': tag, 'comprehension': compr} + compr = tag.get('comprehension', False) + if tag['tag'] in [0x00, 0x80, 0xff] or tag['tag'] > 0xff: + # 3-byte format + byte3 = tag['tag'] & 0xff; + byte2 = (tag['tag'] >> 8) & 0x7f + if compr: + byte2 |= 0x80 + return b'\x7f' + byte2.to_bytes(1, 'big') + byte3.to_bytes(1, 'big') + else: + # 1-byte format + ret = tag['tag'] + if compr: + ret |= 0x80 + return ret.to_bytes(1, 'big') + +# length value coding is equal to BER-TLV + + +######################################################################### # poor man's BER-TLV decoder. To be a more sophisticated OO library later ######################################################################### diff --git a/tests/test_utils.py b/tests/test_utils.py index 17a9300..ed22eff 100755 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -179,6 +179,28 @@ res = utils.bertlv_parse_one(b'\x81\x01\x01'); self.assertEqual(res, ({'tag':1, 'constructed':False, 'class':2}, 1, b'\x01', b'')) +class TestComprTlv(unittest.TestCase): + def test_ComprTlvTagDec(self): + res = utils.comprehensiontlv_parse_tag(b'\x12\x23') + self.assertEqual(res, ({'tag': 0x12, 'comprehension': False}, b'\x23')) + res = utils.comprehensiontlv_parse_tag(b'\x92') + self.assertEqual(res, ({'tag': 0x12, 'comprehension': True}, b'')) + res = utils.comprehensiontlv_parse_tag(b'\x7f\x12\x34') + self.assertEqual(res, ({'tag': 0x1234, 'comprehension': False}, b'')) + res = utils.comprehensiontlv_parse_tag(b'\x7f\x82\x34\x56') + self.assertEqual(res, ({'tag': 0x234, 'comprehension': True}, b'\x56')) + + def test_ComprTlvTagEnc(self): + res = utils.comprehensiontlv_encode_tag(0x12) + self.assertEqual(res, b'\x12') + res = utils.comprehensiontlv_encode_tag({'tag': 0x12}) + self.assertEqual(res, b'\x12') + res = utils.comprehensiontlv_encode_tag({'tag': 0x12, 'comprehension':True}) + self.assertEqual(res, b'\x92') + res = utils.comprehensiontlv_encode_tag(0x1234) + self.assertEqual(res, b'\x7f\x12\x34') + res = utils.comprehensiontlv_encode_tag({'tag': 0x1234, 'comprehension':True}) + self.assertEqual(res, b'\x7f\x92\x34') if __name__ == "__main__": unittest.main() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8d969382b73fa152ee09c456fa4aee428fb36285 Gerrit-Change-Number: 24448 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 20:42:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 May 2021 20:42:26 +0000 Subject: Change in pysim[master]: utils: Add 'raw' version of TLV tag decoders References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24449 ) Change subject: utils: Add 'raw' version of TLV tag decoders ...................................................................... utils: Add 'raw' version of TLV tag decoders The existing {comprehension,ber}tlv_parse_tag() functions are decoding the tag to a high level of detail. However, all the 3GPP specs seem to deal with the 'raw' version, i.e something like 0xD1 as a single-byte tag with the class + constructed fields already shifted next to the actual tag value. Let's accommodate that with new *_parse_tag_raw() functions. Change-Id: Ib50946bfb3b3ecd7942c423ac0f98b6c07649224 --- M pySim/utils.py 1 file changed, 52 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/49/24449/1 diff --git a/pySim/utils.py b/pySim/utils.py index d96d05a..74655d4 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -93,6 +93,21 @@ # poor man's COMPREHENSION-TLV decoder. ######################################################################### +def comprehensiontlv_parse_tag_raw(binary:bytes) -> Tuple[int, bytes]: + """Parse a single Tag according to ETSI TS 101 220 Section 7.1.1""" + if binary[0] in [0x00, 0x80, 0xff]: + raise ValueError("Found illegal value 0x%02x in %s" % (binary[0], binary)) + if binary[0] == 0x7f: + # three-byte tag + tag = binary[0] << 16 | binary[1] << 8 | binary[2] + return (tag, binary[3:]) + elif binary[0] == 0xff: + return None, binary + else: + # single byte tag + tag = binary[0] + return (tag, binary[1:]) + def comprehensiontlv_parse_tag(binary:bytes) -> Tuple[dict, bytes]: """Parse a single Tag according to ETSI TS 101 220 Section 7.1.1""" if binary[0] in [0x00, 0x80, 0xff]: @@ -132,11 +147,48 @@ # length value coding is equal to BER-TLV +def comprehensiontlv_parse_one(binary:bytes) -> (dict, int, bytes, bytes): + """Parse a single TLV IE at the start of the given binary data. + Args: + binary : binary input data of BER-TLV length field + Returns: + Tuple of (tag:dict, len:int, remainder:bytes) + """ + (tagdict, remainder) = comprehensiontlv_parse_tag(binary) + (length, remainder) = bertlv_parse_len(remainder) + value = remainder[:length] + remainder = remainder[length:] + return (tagdict, length, value, remainder) + + ######################################################################### # poor man's BER-TLV decoder. To be a more sophisticated OO library later ######################################################################### +def bertlv_parse_tag_raw(binary:bytes) -> Tuple[int, bytes]: + """Get a single raw Tag from start of input according to ITU-T X.690 8.1.2 + Args: + binary : binary input data of BER-TLV length field + Returns: + Tuple of (tag:int, remainder:bytes) + """ + if binary[0] == 0xff: + return None, binary + tag = binary[0] & 0x1f + if tag <= 30: + return binary[0], binary[1:] + else: # multi-byte tag + tag = binary[0] + i = 1 + last = False + while not last: + last = False if binary[i] & 0x80 else True + tag <<= 8 + tag |= binary[i] + i += 1 + return tag, binary[i:] + def bertlv_parse_tag(binary:bytes) -> Tuple[dict, bytes]: """Parse a single Tag value according to ITU-T X.690 8.1.2 Args: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib50946bfb3b3ecd7942c423ac0f98b6c07649224 Gerrit-Change-Number: 24449 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 20:42:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 May 2021 20:42:26 +0000 Subject: Change in pysim[master]: utils: Add bertlv_encode_tag() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24450 ) Change subject: utils: Add bertlv_encode_tag() ...................................................................... utils: Add bertlv_encode_tag() We so far had decoders for BER-TLV tags, but no encoder yet. Change-Id: I4183546bed9d6232ddcefad764f4e67afcf8b2ed --- M pySim/utils.py 1 file changed, 45 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/50/24450/1 diff --git a/pySim/utils.py b/pySim/utils.py index 74655d4..e4caadf 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -212,6 +212,51 @@ i += 1 return ({'class':cls, 'constructed':constructed, 'tag':tag}, binary[i:]) +def bertlv_encode_tag(t) -> bytes: + """Encode a single Tag value according to ITU-T X.690 8.1.2 + """ + def get_top7_bits(inp:int) -> Tuple[int, int]: + """Get top 7 bits of integer. Returns those 7 bits as integer and the remaining LSBs.""" + remain_bits = inp.bit_length() + if remain_bits >= 7: + bitcnt = 7 + else: + bitcnt = remain_bits + outp = inp >> (remain_bits - bitcnt) + remainder = inp & ~ (inp << (remain_bits - bitcnt)) + return outp, remainder + + if isinstance(t, int): + # FIXME: multiple byte tags + tag = t & 0x1f + constructed = True if t & 0x20 else False + cls = t >> 6 + else: + tag = tdict['tag'] + constructed = tdict['constructed'] + cls = tdict['class'] + if tag <= 30: + t = tag & 0x1f + if constructed: + t |= 0x20 + t |= (cls & 3) << 6 + return bytes([t]) + else: # multi-byte tag + t = 0x1f; + if constructed: + t |= 0x20 + t |= (cls & 3) << 6 + tag_bytes = bytes([t]) + remain = tag + while True: + t, remain = get_top7_bits(remain) + if remain: + t |= 0x80 + tag_bytes.append(bytes[t]) + if not remain: + break + return tag_bytes + def bertlv_parse_len(binary:bytes) -> Tuple[int, bytes]: """Parse a single Length value according to ITU-T X.690 8.1.3; only the definite form is supported here. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4183546bed9d6232ddcefad764f4e67afcf8b2ed Gerrit-Change-Number: 24450 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 20:42:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 May 2021 20:42:26 +0000 Subject: Change in pysim[master]: Introduce new object-oriented TLV parser/decoder/encoder References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24451 ) Change subject: Introduce new object-oriented TLV parser/decoder/encoder ...................................................................... Introduce new object-oriented TLV parser/decoder/encoder This introduces a new TLV library that heavily builds upon python object oriented concepts. Contrary to classic TLV parsers it doesn't focus on the structure of Tag, Length and binary Value only, but it supports actual decoding/interpretation of the value part into some kind of JSON serializable dict. The latter can be achieved by imperative encode/decode methods, or by using our existing declarative 'construct' based approach. The TLV library supports both BER-TLV and COMPREHENSION-TLV for both nested and non-nested TLV definitions. As an example we include TLV definitions for a number of CAT (Card Application Toolkit) IEs. Change-Id: I7fc1699443bc9d8a4e7cdd2687af9af7cc03c30e --- M docs/library.rst A pySim/cat.py A pySim/tlv.py 3 files changed, 617 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/51/24451/1 diff --git a/docs/library.rst b/docs/library.rst index f531ec5..6ecd55a 100644 --- a/docs/library.rst +++ b/docs/library.rst @@ -80,6 +80,11 @@ .. automodule:: pySim.construct :members: +pySim TLV utilities +------------------- + +.. automodule:: pySim.tlv + :members: pySim utility functions ----------------------- diff --git a/pySim/cat.py b/pySim/cat.py new file mode 100644 index 0000000..cd98a81 --- /dev/null +++ b/pySim/cat.py @@ -0,0 +1,222 @@ +"""Code related to the Card Application Toolkit (CAT) as described in +mainly) ETSI TS 102 223, ETSI TS 101 220 and 3GPP TS 31.111.""" + +# (C) 2021 by Harald Welte +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +from pySim.tlv import * +from pySim.construct import * +from construct import * + +# Tag values as per TS 101 220 Table 7.23 + +# TS 102 223 Section 8.1 +class Address(COMPR_TLV_IE, tag=0x06): + _construct = Struct('ton_npi'/Int8ub, + 'call_number'/BcdAdapter(Bytes(this._.total_len-1))) + +# TS 102 223 Section 8.2 +class AlphaIdentifier(COMPR_TLV_IE, tag=0x05): + # FIXME: like EF.ADN + pass + +# TS 102 223 Section 8.3 +class Subaddress(COMPR_TLV_IE, tag=0x08): + pass + +# TS 102 223 Section 8.4 +class CapabilityConfigParams(COMPR_TLV_IE, tag=0x07): + pass + +# TS 31.111 Section 8.5 +class CBSPage(COMPR_TLV_IE, tag=0x0C): + pass + +# TS 102 223 Section 8.6 +class CommandDetails(COMPR_TLV_IE, tag=0x01): + _construct = Struct('command_number'/Int8ub, + 'type_of_command'/Int8ub, + 'command_qualifier'/Int8ub) + +# TS 102 223 Section 8.7 +class DeviceIdentities(COMPR_TLV_IE, tag=0x02): + DEV_IDS = bidict({ + 0x01: 'keypad', + 0x02: 'display', + 0x03: 'earpiece', + 0x10: 'addl_card_reader_0', + 0x11: 'addl_card_reader_1', + 0x12: 'addl_card_reader_2', + 0x13: 'addl_card_reader_3', + 0x14: 'addl_card_reader_4', + 0x15: 'addl_card_reader_5', + 0x16: 'addl_card_reader_6', + 0x17: 'addl_card_reader_7', + 0x21: 'channel_1', + 0x22: 'channel_2', + 0x23: 'channel_3', + 0x24: 'channel_4', + 0x25: 'channel_5', + 0x26: 'channel_6', + 0x27: 'channel_7', + 0x31: 'ecat_client_1', + 0x32: 'ecat_client_2', + 0x33: 'ecat_client_3', + 0x34: 'ecat_client_4', + 0x35: 'ecat_client_5', + 0x36: 'ecat_client_6', + 0x37: 'ecat_client_7', + 0x38: 'ecat_client_8', + 0x39: 'ecat_client_9', + 0x3a: 'ecat_client_a', + 0x3b: 'ecat_client_b', + 0x3c: 'ecat_client_c', + 0x3d: 'ecat_client_d', + 0x3e: 'ecat_client_e', + 0x3f: 'ecat_client_f', + 0x81: 'uicc', + 0x82: 'terminal', + 0x83: 'network', + }) + def _from_bytes(self, do:bytes): + return {'source_dev_id': self.DEV_IDS[do[0]], 'dest_dev_id': self.DEV_IDS[do[1]]} + + def _to_bytes(self): + src = self.DEV_IDS.inverse[self.decoded['source_dev_id']] + dst = self.DEV_IDS.inverse[self.decoded['dest_dev_id']] + return bytes([src, dst]) + +# TS 102 223 Section 8.8 +class Duration(COMPR_TLV_IE, tag=0x04): + _construct = Struct('time_unit'/Int8ub, + 'time_interval'/Int8ub) + +# TS 102 223 Section 8.9 +class Item(COMPR_TLV_IE, tag=0x0f): + _construct = Struct('identifier'/Int8ub, + 'text_string'/GsmStringAdapter(GreedyBytes)) + +# TS 102 223 Section 8.10 +class ItemIdentifier(COMPR_TLV_IE, tag=0x10): + _construct = Struct('identifier'/Int8ub) + +# TS 102 223 Section 8.11 +class ResponseLength(COMPR_TLV_IE, tag=0x11): + _construct = Struct('minimum_length'/Int8ub, + 'maximum_length'/Int8ub) + +# TS 102 223 Section 8.12 +class Result(COMPR_TLV_IE, tag=0x03): + _construct = Struct('general_result'/Int8ub, + 'additional_information'/HexAdapter(GreedyBytes)) + + + +# TS 102 223 Section 8.13 + TS 31.111 Section 8.13 +class SMS_TPDU(COMPR_TLV_IE, tag=0x0B): + pass + +# TS 102 223 Section 8.15 +class TextString(COMPR_TLV_IE, tag=0x0d): + _construct = Struct('dcs'/Int8ub, + 'text_string'/HexAdapter(GreedyBytes)) + +# TS 102 223 Section 8.16 +class Tone(COMPR_TLV_IE, tag=0x0e): + _construct = Struct('tone'/Int8ub) + +# TS 31 111 Section 8.17 +class USSDString(COMPR_TLV_IE, tag=0x0a): + _construct = Struct('dcs'/Int8ub, + 'ussd_string'/HexAdapter(GreedyBytes)) + + + +# TS 101 220 Table 7.17 +class ProactiveCommand(BER_TLV_IE, tag=0xD0): + pass + +# TS 101 220 Table 7.17 + 31.111 7.1.1.2 +class SMSPPDownload(BER_TLV_IE, tag=0xD1, + nested=[DeviceIdentities, Address, SMS_TPDU]): + pass + +# TS 101 220 Table 7.17 + 31.111 7.1.1.3 +class SMSCBDownload(BER_TLV_IE, tag=0xD2, + nested=[DeviceIdentities, CBSPage]): + pass + +class USSDDownload(BER_TLV_IE, tag=0xD9, + nested=[DeviceIdentities, USSDString]): + pass + +term_prof_bits = { + 1: 'Profile download', + 2: 'SMS-PP data doanload', + 3: 'Cell Broadcast data download', + 4: 'Menu selection', + 5: 'SMS-PP data download', + 6: 'Timer expiration', + 7: 'USSD string DO support in CC by USIM', + 8: 'Call Control by NAA', + + 9: 'Command result', + 10: 'Call Controll by NAA', + 11: 'Call Control by NAA', + 12: 'MO short message control support', + 13: 'Call Control by NAA', + 14: 'UCS2 Entry supported', + 15: 'UCS2 Display supported', + 16: 'Display Text', + + 17: 'Proactive UICC: DISPLAY TEXT', + 18: 'Proactive UICC: GET INKEY', + 19: 'Proactive UICC: GET INPUT', + 20: 'Proactive UICC: MORE TIME', + 21: 'Proactive UICC: PLAY TONE', + 22: 'Proactive UICC: POLL INTERVAL', + 23: 'Proactive UICC: POLLING OFF', + 24: 'Proactive UICC: REFRESH', + + 25: 'Proactive UICC: SELECT ITEM', + 26: 'Proactive UICC: SEND SHORT MESSAGE with 3GPP-SMS-TPDU', + 27: 'Proactive UICC: SEND SS', + 28: 'Proactive UICC: SEND USSD', + 29: 'Proactive UICC: SET UP CALL', + 30: 'Proactive UICC: SET UP MENU', + 31: 'Proactive UICC: PROVIDE LOCAL INFORMATION (MCC, MNC, LAC, Cell ID & IMEI)', + 32: 'Proactive UICC: PROVIDE LOCAL INFORMATION (NMR)', + + 33: 'Proactive UICC: SET UP EVENT LIST', + 34: 'Event: MT call', + 35: 'Event: Call connected', + 36: 'Event: Call disconnected', + 37: 'Event: Location status', + 38: 'Event: User activity', + 39: 'Event: Idle screen available', + 40: 'Event: Card reader status', + + 41: 'Event: Language selection', + 42: 'Event: Browser Termination', + 43: 'Event: Data aailable', + 44: 'Event: Channel status', + 45: 'Event: Access Technology Change', + 46: 'Event: Display parameters changed', + 47: 'Event: Local Connection', + 48: 'Event: Network Search Mode Change', + + # FIXME: remainder +} diff --git a/pySim/tlv.py b/pySim/tlv.py new file mode 100644 index 0000000..3bb1828 --- /dev/null +++ b/pySim/tlv.py @@ -0,0 +1,390 @@ +"""object-oriented TLV parser/encoder library.""" + +# (C) 2021 by Harald Welte +# All Rights Reserved +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +from typing import Optional, List, Dict, Any, Tuple +from bidict import bidict +from construct import * + +from pySim.utils import bertlv_encode_len, bertlv_parse_len, bertlv_encode_tag, bertlv_parse_tag +from pySim.utils import comprehensiontlv_encode_tag, comprehensiontlv_parse_tag +from pySim.utils import bertlv_parse_one, comprehensiontlv_parse_one +from pySim.utils import bertlv_parse_tag_raw, comprehensiontlv_parse_tag_raw + +from pySim.construct import parse_construct, LV, HexAdapter, BcdAdapter, BitsRFU, GsmStringAdapter +from pySim.exceptions import * + +import inspect +import abc + +class TlvMeta(abc.ABCMeta): + """Metaclass which we use to set some class variables at the time of defining a subclass. + This allows us to create subclasses for each TLV/IE type, where the class represents fixed + parameters like the tag/type and instances of it represent the actual TLV data.""" + def __new__(metacls, name, bases, namespace, **kwargs): + #print("TlvMeta_new_(metacls=%s, name=%s, bases=%s, namespace=%s, kwargs=%s)" % (metacls, name, bases, namespace, kwargs)) + x = super().__new__(metacls, name, bases, namespace) + # this becomes a _class_ variable, not an instance variable + x.tag = namespace.get('tag', kwargs.get('tag', None)) + x.desc = namespace.get('desc', kwargs.get('desc', None)) + nested = namespace.get('nested', kwargs.get('nested', None)) + if nested is None or inspect.isclass(nested) and issubclass(nested, TLV_IE_Collection): + # caller has specified TLV_IE_Collection sub-class, we can directly reference it + x.nested_collection_cls = nested + else: + # caller passed list of other TLV classes that might possibly appear within us, + # build a dynamically-created TLV_IE_Collection sub-class and reference it + name = 'auto_collection_%s' % (name) + cls = type(name, (TLV_IE_Collection,), {'nested': nested}) + x.nested_collection_cls = cls + return x + +class TlvCollectionMeta(abc.ABCMeta): + """Metaclass which we use to set some class variables at the time of defining a subclass. + This allows us to create subclasses for each Collection type, where the class represents fixed + parameters like the nested IE classes and instances of it represent the actual TLV data.""" + def __new__(metacls, name, bases, namespace, **kwargs): + #print("TlvCollectionMeta_new_(metacls=%s, name=%s, bases=%s, namespace=%s, kwargs=%s)" % (metacls, name, bases, namespace, kwargs)) + x = super().__new__(metacls, name, bases, namespace) + # this becomes a _class_ variable, not an instance variable + x.possible_nested = namespace.get('nested', kwargs.get('nested', None)) + return x + + +class Transcodable(abc.ABC): + _construct = None + """Base class for something that can be encoded + encoded. Decoding and Encoding happens either + * via a 'construct' object stored in a derived class' _construct variable, or + * via a 'construct' object stored in an instance _construct variable, or + * via a derived class' _{to,from}_bytes() methods.""" + def __init__(self): + self.encoded = None + self.decoded = None + self._construct = None + + def to_bytes(self) -> bytes: + """Convert from internal representation to binary bytes. Store the binary result + in the internal state and return it.""" + if self._construct: + do = self._construct.build(self.decoded, total_len=None) + elif self.__class__._construct: + do = self.__class__._construct.build(self.decoded, total_len=None) + else: + do = self._to_bytes() + self.encoded = do + return do + + # not an abstractmethod, as it is only required if no _construct exists + def _to_bytes(self): + raise NotImplementedError + + def from_bytes(self, do:bytes): + """Convert from binary bytes to internal representation. Store the decoded result + in the internal state and return it.""" + self.encoded = do + if self._construct: + self.decoded = parse_construct(self._construct, do) + elif self.__class__._construct: + self.decoded = parse_construct(self.__class__._construct, do) + else: + self.decoded = self._from_bytes(do) + return self.decoded + + # not an abstractmethod, as it is only required if no _construct exists + def _from_bytes(self, do:bytes): + raise NotImplementedError + +class IE(Transcodable, metaclass=TlvMeta): + # we specify the metaclass so any downstream subclasses will automatically use it + """Base class for various Information Elements. We understand the notion of a hierarchy + of IEs on top of the Transcodable class.""" + # this is overridden by the TlvMeta metaclass, if it is used to create subclasses + nested_collection_cls = None + + def __init__(self, **kwargs): + super().__init__() + self.nested_collection = None + if self.nested_collection_cls: + self.nested_collection = self.nested_collection_cls() + # if we are a constructed IE, [ordered] list of actual child-IE instances + self.children = kwargs.get('children', []) + self.decoded = kwargs.get('decoded', None) + + def __repr__(self): + """Return a string representing the [nested] IE data (for print).""" + if len(self.children): + member_strs = [repr(x) for x in self.children] + return '%s(%s)' % (type(self).__name__, ','.join(member_strs)) + else: + return '%s(%s)' % (type(self).__name__, self.decoded) + + def to_dict(self): + """Return a JSON-serializable dict representing the [nested] IE data.""" + if len(self.children): + v = [x.to_dict() for x in self.children] + else: + v = self.decoded + return {type(self).__name__: v} + + def from_dict(self, decoded:dict): + """Set the IE internal decoded representation to data from the argument. + If this is a nested IE, the child IE instance list is re-created.""" + if self.nested_collection: + self.children = self.nested_collection.from_dict(decoded) + else: + self.children = [] + self.decoded = decoded + + def is_constructed(self): + """Is this IE constructed by further nested IEs?""" + if len(self.children): + return True + else: + return False + + @abc.abstractmethod + def to_ie(self) -> bytes: + """Convert the internal representation to entire IE including IE header.""" + + def to_bytes(self) -> bytes: + """Convert the internal representation _of the value part_ to binary bytes.""" + if self.is_constructed(): + # concatenate the encoded IE of all children to form the value part + out = b'' + for c in self.children: + out += c.to_ie() + return out + else: + return super().to_bytes() + + def from_bytes(self, do:bytes): + """Parse _the value part_ from binary bytes to internal representation.""" + if self.nested_collection: + self.children = self.nested_collection.from_bytes(do) + else: + self.children = [] + return super().from_bytes(do) + + +class TLV_IE(IE): + """Abstract base class for various TLV type Information Elements.""" + def __init__(self, **kwargs): + super().__init__(**kwargs) + + def _compute_tag(self) -> int: + """Compute the tag (sometimes the tag encodes part of the value).""" + return self.tag + + @classmethod + @abc.abstractmethod + def _parse_tag_raw(cls, do:bytes) -> Tuple[int, bytes]: + """Obtain the raw TAG at the start of the bytes provided by the user.""" + + @classmethod + @abc.abstractmethod + def _parse_len(cls, do:bytes) -> Tuple[int, bytes]: + """Obtain the length encoded at the start of the bytes provided by the user.""" + + @abc.abstractmethod + def _encode_tag(self) -> bytes: + """Encode the tag part. Must be provided by derived (TLV format specific) class.""" + + @abc.abstractmethod + def _encode_len(self, val:bytes) -> bytes: + """Encode the length part assuming a certain binary value. Must be provided by + derived (TLV format specific) class.""" + + def to_ie(self): + return self.to_tlv() + + def to_tlv(self): + """Convert the internal representation to binary TLV bytes.""" + val = self.to_bytes() + return self._encode_tag() + self._encode_len(val) + val + + def from_tlv(self, do:bytes): + (rawtag, remainder) = self.__class__._parse_tag_raw(do) + if rawtag: + if rawtag != self.tag: + raise ValueError("%s: Encountered tag %s doesn't match our supported tag %s" % + (self, rawtag, self.tag)) + (length, remainder) = self.__class__._parse_len(remainder) + value = remainder[:length] + remainder = remainder[length:] + else: + value = do + remainder = b'' + dec = self.from_bytes(value) + return dec, remainder + + +class BER_TLV_IE(TLV_IE): + """TLV_IE formatted as ASN.1 BER described in ITU-T X.690 8.1.2.""" + def __init__(self, **kwargs): + super().__init__(**kwargs) + + @classmethod + def _decode_tag(cls, do:bytes) -> Tuple[dict, bytes]: + return bertlv_parse_tag(do) + + @classmethod + def _parse_tag_raw(cls, do:bytes) -> Tuple[int, bytes]: + return bertlv_parse_tag_raw(do) + + @classmethod + def _parse_len(cls, do:bytes) -> Tuple[int, bytes]: + return bertlv_parse_len(do) + + def _encode_tag(self) -> bytes: + return bertlv_encode_tag(self._compute_tag()) + + def _encode_len(self, val:bytes) -> bytes: + return bertlv_encode_len(len(val)) + + +class COMPR_TLV_IE(TLV_IE): + """TLV_IE formated as COMPREHENSION-TLV as described in ETSI TS 101 220.""" + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.comprehension = False + + @classmethod + def _decode_tag(cls, do:bytes) -> Tuple[dict, bytes]: + return comprehensiontlv_parse_tag(do) + + @classmethod + def _parse_tag_raw(cls, do:bytes) -> Tuple[int, bytes]: + return comprehensiontlv_parse_tag_raw(do) + + @classmethod + def _parse_len(cls, do:bytes) -> Tuple[int, bytes]: + return bertlv_parse_len(do) + + def _encode_tag(self) -> bytes: + return comprehensiontlv_encode_tag(self._compute_tag()) + + def _encode_len(self, val:bytes) -> bytes: + return bertlv_encode_len(len(val)) + + +class TLV_IE_Collection(metaclass=TlvCollectionMeta): + # we specify the metaclass so any downstream subclasses will automatically use it + """A TLV_IE_Collection consists of multiple TLV_IE classes identified by their tags. + A given encoded DO may contain any of them in any order, and may contain multiple instances + of each DO.""" + # this is overridden by the TlvCollectionMeta metaclass, if it is used to create subclasses + possible_nested = [] + def __init__(self, desc=None, **kwargs): + self.desc = desc + #print("possible_nested: ", self.possible_nested) + self.members = kwargs.get('nested', self.possible_nested) + self.members_by_tag = {} + self.members_by_name = {} + self.members_by_tag = { m.tag:m for m in self.members } + self.members_by_name = { m.__name__:m for m in self.members } + # if we are a constructed IE, [ordered] list of actual child-IE instances + self.children = kwargs.get('children', []) + self.encoded = None + + def __str__(self): + member_strs = [str(x) for x in self.members] + return '%s(%s)' % (type(self).__name__, ','.join(member_strs)) + + def __repr__(self): + member_strs = [repr(x) for x in self.members] + return '%s(%s)' % (self.__class__, ','.join(member_strs)) + + def __add__(self, other): + """Extending TLV_IE_Collections with other TLV_IE_Collections or TLV_IEs.""" + if isinstance(other, DataObjectCollection): + # adding one collection to another + members = self.members + other.members + return DataObjectCollection(self.name, self.desc, members) + elif inspect.isclass(other) and issubclass(other, TLV_IE): + # adding a member to a collection + return TLV_IE_Collection(self.desc, self.members + [other]) + else: + raise TypeError + + def from_bytes(self, binary:bytes) -> List[TLV_IE]: + """Create a list of TLV_IEs from the collection based on binary input data. + Args: + binary : binary bytes of encoded data + Returns: + list of instances of TLV_IE sub-classes containing parsed data + """ + self.encoded = binary + # list of instances of TLV_IE collection member classes appearing in the data + res = [] + remainder = binary + first = next(iter(self.members_by_tag.values())) + # iterate until no binary trailer is left + while len(remainder): + # obtain the tag at the start of the remainder + tag, r = first._parse_tag_raw(remainder) + if tag in self.members_by_tag: + cls = self.members_by_tag[tag] + # create an instance and parse accordingly + inst = cls() + dec, remainder = inst.from_tlv(remainder) + res.append(inst) + else: + # unknown tag; create the related class on-the-fly using the same base class + name = 'unknown_%s_%X' % (first.__base__.__name__, tag) + cls = type(name, (first.__base__,), {'tag':tag, 'possible_nested':[], + 'nested_collection_cls':None}) + cls._from_bytes = lambda s, a : {'raw': a.hex()} + cls._to_bytes = lambda s: bytes.fromhex(s.decoded['raw']) + # create an instance and parse accordingly + inst = cls() + dec, remainder = inst.from_tlv(remainder) + res.append(inst) + self.children = res + return res + + def from_dict(self, decoded:List[dict]) -> List[TLV_IE]: + """Create a list of TLV_IE instances from the collection based on an array + of dicts, where they key indicates the name of the TLV_IE subclass to use.""" + # list of instances of TLV_IE collection member classes appearing in the data + res = [] + for i in decoded: + for k in i.keys(): + if k in self.members_by_name: + cls = self.members_by_name[k] + inst = cls(decoded=i[k]) + res.append(inst) + else: + raise ValueErorr('%s: Unknown TLV Class %s in %s; expected %s' % + (self, i[0], decoded, self.members_by_name.keys())) + self.children = res + return res + + def to_dict(self): + return [x.to_dict() for x in self.children] + + def to_bytes(self): + out = b'' + for c in self.children: + out += c.to_tlv() + return out + + def from_tlv(self, do): + return self.from_bytes(do) + + def to_tlv(self): + return self.to_bytes() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7fc1699443bc9d8a4e7cdd2687af9af7cc03c30e Gerrit-Change-Number: 24451 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 20:42:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 May 2021 20:42:27 +0000 Subject: Change in pysim[master]: construct: Recursive normailzation of construct parse result References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24452 ) Change subject: construct: Recursive normailzation of construct parse result ...................................................................... construct: Recursive normailzation of construct parse result If we want to use construct parse results to generate JSON serializable dicts, we need to * apply the filter_dict() operation recursively, and * simplify the construct Container and ListContainer classes to a simple dict and/or list. We introduce a pySim.construct.parse_construct() helper which is subsequently used from all pySim.filesystem caller sites. Change-Id: I319414eb69808ef65895293832bb30519f45949d --- M pySim/construct.py M pySim/filesystem.py 2 files changed, 36 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/52/24452/1 diff --git a/pySim/construct.py b/pySim/construct.py index a903305..1527291 100644 --- a/pySim/construct.py +++ b/pySim/construct.py @@ -1,3 +1,4 @@ +import typing from construct import * from pySim.utils import b2h, h2b, swap_nibbles import gsm0338 @@ -82,6 +83,34 @@ res[key] = value return res +from construct.lib.containers import Container, ListContainer +from construct.core import EnumIntegerString + +def normalize_construct(c): + """Convert a construct specific type to a related base type, mostly useful + so we can serialize it.""" + # we need to include the filter_dict as we otherwise get elements like this + # in the dict: '_io': <_io.BytesIO object at 0x7fdb64e05860> which we cannot json-serialize + if isinstance(c, Container): + return {k : normalize_construct(filter_dict(v)) for (k, v) in c.items()} + if isinstance(c, dict): + return {k : normalize_construct(filter_dict(v)) for (k, v) in c.items()} + if isinstance(c, ListContainer): + return [normalize_construct(filter_dict(x)) for x in c] + if isinstance(c, list): + return [normalize_construct(filter_dict(x)) for x in c] + if isinstance(c, EnumIntegerString): + return str(c) + else: + return c + +def parse_construct(c, raw_bin_data:bytes, length:typing.Optional[int]=None, exclude_prefix:str='_'): + """Helper function to wrap around normalize_construct() and filter_dict().""" + if not length: + length = len(raw_bin_data) + parsed = c.parse(raw_bin_data, total_len=length) + return normalize_construct(parsed) + # here we collect some shared / common definitions of data types LV = Prefixed(Int8ub, HexAdapter(GreedyBytes)) diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 8c45ba1..657a1f2 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -35,7 +35,7 @@ from typing import cast, Optional, Iterable, List, Any, Dict, Tuple from pySim.utils import sw_match, h2b, b2h, i2h, is_hex, auto_int, bertlv_parse_one, Hexstr -from pySim.construct import filter_dict +from pySim.construct import parse_construct from pySim.exceptions import * from pySim.jsonpath import js_path_find, js_path_modify @@ -490,7 +490,7 @@ if callable(method): return method(b2h(raw_bin_data)) if self._construct: - return filter_dict(self._construct.parse(raw_bin_data, total_len=len(raw_bin_data))) + return parse_construct(self._construct, raw_bin_data) return {'raw': raw_bin_data.hex()} def decode_hex(self, raw_hex_data:str) -> dict: @@ -513,7 +513,7 @@ if callable(method): return method(raw_bin_data) if self._construct: - return filter_dict(self._construct.parse(raw_bin_data, total_len=len(raw_bin_data))) + return parse_construct(self._construct, raw_bin_data) return {'raw': raw_bin_data.hex()} def encode_bin(self, abstract_data:dict) -> bytearray: @@ -712,7 +712,7 @@ if callable(method): return method(raw_bin_data) if self._construct: - return filter_dict(self._construct.parse(raw_bin_data, total_len=len(raw_bin_data))) + return parse_construct(self._construct, raw_bin_data) return {'raw': raw_bin_data.hex()} def decode_record_bin(self, raw_bin_data:bytearray) -> dict: @@ -735,7 +735,7 @@ if callable(method): return method(raw_hex_data) if self._construct: - return filter_dict(self._construct.parse(raw_bin_data, total_len=len(raw_bin_data))) + return parse_construct(self._construct, raw_bin_data) return {'raw': raw_hex_data} def encode_record_hex(self, abstract_data:dict) -> str: @@ -834,7 +834,7 @@ if callable(method): return method(raw_bin_data) if self._construct: - return filter_dict(self._construct.parse(raw_bin_data, total_len=len(raw_bin_data))) + return parse_construct(self._construct, raw_bin_data) return {'raw': raw_hex_data} def decode_record_bin(self, raw_bin_data:bytearray) -> dict: @@ -857,7 +857,7 @@ if callable(method): return method(raw_hex_data) if self._construct: - return filter_dict(self._construct.parse(raw_bin_data, total_len=len(raw_bin_data))) + return parse_construct(self._construct, raw_bin_data) return {'raw': raw_hex_data} def encode_record_hex(self, abstract_data:dict) -> str: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I319414eb69808ef65895293832bb30519f45949d Gerrit-Change-Number: 24452 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 20:42:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 May 2021 20:42:27 +0000 Subject: Change in pysim[master]: utils: Make filter_dict() transparently pass non-dict References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24453 ) Change subject: utils: Make filter_dict() transparently pass non-dict ...................................................................... utils: Make filter_dict() transparently pass non-dict Change-Id: Ia1802101a62e21f1ce894d80728f939bf3da5a39 --- M pySim/construct.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/53/24453/1 diff --git a/pySim/construct.py b/pySim/construct.py index 1527291..98c8c77 100644 --- a/pySim/construct.py +++ b/pySim/construct.py @@ -73,6 +73,8 @@ def filter_dict(d, exclude_prefix='_'): """filter the input dict to ensure no keys starting with 'exclude_prefix' remain.""" + if not isinstance(d, dict): + return d res = {} for (key, value) in d.items(): if key.startswith(exclude_prefix): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia1802101a62e21f1ce894d80728f939bf3da5a39 Gerrit-Change-Number: 24453 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 20:42:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 May 2021 20:42:28 +0000 Subject: Change in pysim[master]: filesystem: Introduce support for TLV parser References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24454 ) Change subject: filesystem: Introduce support for TLV parser ...................................................................... filesystem: Introduce support for TLV parser This adds an easy way for files to make use of the pySim.tlv parser. All a file has to do is to specify a _tlv member which points to either a TLV_IE or a TLV_IE_Collection instance. Change-Id: I59f456b4223ec88081e91cee168b654c69bcb5f4 --- M pySim/filesystem.py M pySim/tlv.py 2 files changed, 40 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/54/24454/1 diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 657a1f2..e7aac5d 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -468,6 +468,7 @@ """ super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, parent=parent) self._construct = None + self._tlv = None self.size = size self.shell_commands = [self.ShellCommands()] @@ -491,6 +492,9 @@ return method(b2h(raw_bin_data)) if self._construct: return parse_construct(self._construct, raw_bin_data) + elif self._tlv: + self._tlv.from_tlv(raw_bin_data) + return self._tlv.to_dict() return {'raw': raw_bin_data.hex()} def decode_hex(self, raw_hex_data:str) -> dict: @@ -514,6 +518,9 @@ return method(raw_bin_data) if self._construct: return parse_construct(self._construct, raw_bin_data) + elif self._tlv: + self._tlv.from_tlv(raw_bin_data) + return self._tlv.to_dict() return {'raw': raw_bin_data.hex()} def encode_bin(self, abstract_data:dict) -> bytearray: @@ -536,6 +543,9 @@ return h2b(method(abstract_data)) if self._construct: return self._construct.build(abstract_data) + elif self._tlv: + self._tlv.from_dict(abstract_data) + return self._tlv.to_tlv() raise NotImplementedError def encode_hex(self, abstract_data:dict) -> str: @@ -559,6 +569,9 @@ return b2h(raw_bin_data) if self._construct: return b2h(self._construct.build(abstract_data)) + elif self._tlv: + self._tlv.from_dict(abstract_data) + return b2h(self._tlv.to_tlv()) raise NotImplementedError @@ -691,6 +704,7 @@ self.rec_len = rec_len self.shell_commands = [self.ShellCommands()] self._construct = None + self._tlv = None def decode_record_hex(self, raw_hex_data:str) -> dict: """Decode raw (hex string) data into abstract representation. @@ -713,6 +727,9 @@ return method(raw_bin_data) if self._construct: return parse_construct(self._construct, raw_bin_data) + elif self._tlv: + self._tlv.from_tlv(raw_bin_data) + return self._tlv.to_dict() return {'raw': raw_bin_data.hex()} def decode_record_bin(self, raw_bin_data:bytearray) -> dict: @@ -736,6 +753,9 @@ return method(raw_hex_data) if self._construct: return parse_construct(self._construct, raw_bin_data) + elif self._tlv: + self._tlv.from_tlv(raw_bin_data) + return self._tlv.to_dict() return {'raw': raw_hex_data} def encode_record_hex(self, abstract_data:dict) -> str: @@ -759,6 +779,9 @@ return b2h(raw_bin_data) if self._construct: return b2h(self._construct.build(abstract_data)) + elif self._tlv: + self._tlv.from_dict(abstract_data) + return b2h(self._tlv.to_tlv()) raise NotImplementedError def encode_record_bin(self, abstract_data:dict) -> bytearray: @@ -781,6 +804,9 @@ return h2b(method(abstract_data)) if self._construct: return self._construct.build(abstract_data) + elif self._tlv: + self._tlv.from_dict(abstract_data) + return self._tlv.to_tlv() raise NotImplementedError class CyclicEF(LinFixedEF): @@ -835,6 +861,9 @@ return method(raw_bin_data) if self._construct: return parse_construct(self._construct, raw_bin_data) + elif self._tlv: + self._tlv.from_tlv(raw_bin_data) + return self._tlv.to_dict() return {'raw': raw_hex_data} def decode_record_bin(self, raw_bin_data:bytearray) -> dict: @@ -858,6 +887,9 @@ return method(raw_hex_data) if self._construct: return parse_construct(self._construct, raw_bin_data) + elif self._tlv: + self._tlv.from_tlv(raw_bin_data) + return self._tlv.to_dict() return {'raw': raw_hex_data} def encode_record_hex(self, abstract_data:dict) -> str: @@ -880,6 +912,9 @@ return b2h(method(abstract_data)) if self._construct: return b2h(filter_dict(self._construct.build(abstract_data))) + elif self._tlv: + self._tlv.from_dict(abstract_data) + return b2h(self._tlv.to_tlv()) raise NotImplementedError def encode_record_bin(self, abstract_data:dict) -> bytearray: @@ -902,6 +937,9 @@ return h2b(method(abstract_data)) if self._construct: return filter_dict(self._construct.build(abstract_data)) + elif self._tlv: + self._tlv.from_dict(abstract_data) + return self._tlv.to_tlv() raise NotImplementedError def _decode_bin(self, raw_bin_data:bytearray): diff --git a/pySim/tlv.py b/pySim/tlv.py index 3bb1828..f22e155 100644 --- a/pySim/tlv.py +++ b/pySim/tlv.py @@ -337,6 +337,8 @@ while len(remainder): # obtain the tag at the start of the remainder tag, r = first._parse_tag_raw(remainder) + if tag == None: + return res if tag in self.members_by_tag: cls = self.members_by_tag[tag] # create an instance and parse accordingly -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I59f456b4223ec88081e91cee168b654c69bcb5f4 Gerrit-Change-Number: 24454 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 20:42:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 May 2021 20:42:29 +0000 Subject: Change in pysim[master]: ts_31_102: Start using pySim.tlv to implement more DF.5GS files References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24455 ) Change subject: ts_31_102: Start using pySim.tlv to implement more DF.5GS files ...................................................................... ts_31_102: Start using pySim.tlv to implement more DF.5GS files Change-Id: I8ef2d8c24530d13929282e1a1d2138d319b894c6 --- M pySim/ts_31_102.py 1 file changed, 76 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/55/24455/1 diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py index ae255f1..6d30f23 100644 --- a/pySim/ts_31_102.py +++ b/pySim/ts_31_102.py @@ -278,8 +278,9 @@ from struct import unpack, pack from construct import * -from pySim.construct import LV, HexAdapter, BcdAdapter, BitsRFU +from pySim.construct import * from pySim.filesystem import * +from pySim.tlv import * from pySim.ts_102_221 import EF_ARR from pySim.ts_51_011 import EF_IMSI, EF_xPLMNwAcT, EF_SPN, EF_CBMI, EF_ACC, EF_PLMNsel, EF_AD from pySim.ts_51_011 import EF_CBMID, EF_CBMIR, EF_ADN, EF_SMS, EF_MSISDN, EF_SMSP, EF_SMSS @@ -289,6 +290,77 @@ import pySim.ts_102_221 +# 3GPP TS 31.102 Section 4.4.11.4 (EF_5GS3GPPNSC) +class EF_5GS3GPPNSC(LinFixedEF): + class NgKSI(BER_TLV_IE, tag=0x80): + _construct = Int8ub + + class K_AMF(BER_TLV_IE, tag=0x81): + _construct = HexAdapter(Bytes(32)) + + class UplinkNASCount(BER_TLV_IE, tag=0x82): + _construct = Int32ub + + class DownlinkNASCount(BER_TLV_IE, tag=0x83): + _construct = Int32ub + + class IdsOfSelectedNasAlgos(BER_TLV_IE, tag=0x84): + # 3GPP TS 24.501 Section 9.11.3.34 + _construct = BitStruct('ciphering'/Nibble, 'integrity'/Nibble) + + class IdsOfSelectedEpsAlgos(BER_TLV_IE, tag=0x85): + # 3GPP TS 24.301 Section 9.9.3.23 + _construct = BitStruct('ciphering'/Nibble, 'integrity'/Nibble) + + class FiveGSNasSecurityContext(BER_TLV_IE, tag=0xA0, + nested=[NgKSI, K_AMF, UplinkNASCount, DownlinkNASCount, IdsOfSelectedNasAlgos, + IdsOfSelectedEpsAlgos]): + pass + + def __init__(self, fid="4f03", sfid=0x03, name='EF.5GS3GPPNSC', rec_len={57, None}, + desc='5GS 3GPP Access NAS Security Context'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, rec_len=rec_len) + self._tlv = EF_5GS3GPPNSC.FiveGSNasSecurityContext() + +# 3GPP TS 31.102 Section 4.4.11.6 +class EF_5GAUTHKEYS(TransparentEF): + class K_AUSF(BER_TLV_IE, tag=0x80): + _construct = HexAdapter(GreedyBytes) + + class K_SEAF(BER_TLV_IE, tag=0x81): + _construct = HexAdapter(GreedyBytes) + + class FiveGAuthKeys(TLV_IE_Collection, nested=[K_AUSF, K_SEAF]): + pass + + def __init__(self, fid='4f05', sfid=0x05, name='EF.5GAUTHKEYS', size={68, None}, + desc='5G authentication keys'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + self._tlv = EF_5GAUTHKEYS.FiveGAuthKeys() + +# 3GPP TS 31.102 Section 4.4.11.8 +class ProtSchemeIdList(BER_TLV_IE, tag=0xa0): + # FIXME: 3GPP TS 24.501 Protection Scheme Identifier + # repeated sequence of (id, index) tuples + _construct = GreedyRange(Struct('id'/Enum(Byte, null=0, A=1, B=2), 'index'/Int8ub)) + +class HomeNetPubKeyId(BER_TLV_IE, tag=0x80): + # 3GPP TS 24.501 / 3GPP TS 23.003 + _construct = Int8ub + +class HomeNetPubKey(BER_TLV_IE, tag=0x81): + # FIXME: RFC 5480 + _construct = HexAdapter(GreedyBytes) + +class HomeNetPubKeyList(BER_TLV_IE, tag=0xa1, + nested=[HomeNetPubKeyId, HomeNetPubKey]): + pass + +# 3GPP TS 31.102 Section 4.4.11.6 +class SUCI_CalcInfo(TLV_IE_Collection, nested=[ProtSchemeIdList,HomeNetPubKeyList]): + pass + + # TS 31.102 4.4.11.8 class EF_SUCI_Calc_Info(TransparentEF): def __init__(self, fid="4f07", sfid=0x07, name='EF.SUCI_Calc_Info', size={2, None}, @@ -705,9 +777,9 @@ # I'm looking at 31.102 R16.6 EF_5GS3GPPLOCI(), EF_5GS3GPPLOCI('4f02', 0x02, 'EF.5GSN3GPPLOCI', '5GS non-3GPP location information'), - LinFixedEF('4F03', 0x03, 'EF.5GS3GPPNSC', '5GS 3GPP Access NAS Security Context', rec_len={57,None}), - LinFixedEF('4F04', 0x04, 'EF.5GSN3GPPNSC', '5GS non-3GPP Access NAS Security Context', rec_len={57,None}), - TransparentEF('4F05', 0x05, 'EF.5GAUTHKEYS', '5G authentication keys', size={68, None}), + EF_5GS3GPPNSC(), + EF_5GS3GPPNSC('4f04', 0x04, 'EF.5GSN3GPPNSC', '5GS non-3GPP Access NAS Security Context'), + EF_5GAUTHKEYS(), EF_UAC_AIC(), EF_SUCI_Calc_Info(), EF_OPL5G(), -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8ef2d8c24530d13929282e1a1d2138d319b894c6 Gerrit-Change-Number: 24455 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 21:39:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 29 May 2021 21:39:05 +0000 Subject: Change in libosmocore[master]: fixup for gsm48_chan_mode_to_non_vamos() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24456 ) Change subject: fixup for gsm48_chan_mode_to_non_vamos() ...................................................................... fixup for gsm48_chan_mode_to_non_vamos() When modifying chan modes, I first thought rather always fail if there is no equivalent mode. That is true for gsm48_chan_mode_to_vamos(), but for a change to non-VAMOS, rather return the unchanged mode for non-VAMOS modes, so that gsm48_chan_mode_to_non_vamos(GSM_CMODE_SIGN) works without failure. This makes more convenient checking, e.g. in osmo-bsc's lchan_fsm.c making sure that a non-VAMOS lchan has a non-VAMOS chan_mode, for all types of lchans. Change-Id: Ibf20f04d167e0e0599012ff530bc17ba8c8ab562 --- M src/gsm/gsm48.c 1 file changed, 2 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/56/24456/1 diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c index 02489c9..425cc8e 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -463,22 +463,19 @@ } /*! Translate GSM48_CMODE_SPEECH_*_VAMOS to its corresponding GSM48_CMODE_SPEECH_* non-vamos mode. - * If the mode has no equivalent non-VAMOS mode, return a negative value. + * If the mode has no equivalent non-VAMOS mode, return the unchanged mode. */ enum gsm48_chan_mode gsm48_chan_mode_to_non_vamos(enum gsm48_chan_mode mode) { switch (mode) { case GSM48_CMODE_SPEECH_V1_VAMOS: - case GSM48_CMODE_SPEECH_V1: return GSM48_CMODE_SPEECH_V1; case GSM48_CMODE_SPEECH_V2_VAMOS: - case GSM48_CMODE_SPEECH_EFR: return GSM48_CMODE_SPEECH_EFR; case GSM48_CMODE_SPEECH_V3_VAMOS: - case GSM48_CMODE_SPEECH_AMR: return GSM48_CMODE_SPEECH_AMR; default: - return -1; + return mode; } } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf20f04d167e0e0599012ff530bc17ba8c8ab562 Gerrit-Change-Number: 24456 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 22:31:32 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 29 May 2021 22:31:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 to look at the new patch set (#7). Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... add bsc/BSC_Tests_VAMOS.ttcn BSC_Tests_VAMOS.ttcn is separate from BSC_Tests.ttcn in order to instruct osmo-bts-omldummy to pass BTS_FEAT_VAMOS == true in the OML BTS attributes. Add tests: TC_mode_modify_to_vamos() TC_chan_act_to_vamos() TC_assign_to_secondary_lchan() TC_vamos_multiplex_tch_f_tch_f() Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 --- M bsc/BSC_Tests.ttcn A bsc/BSC_Tests_VAMOS.ttcn M library/L3_Templates.ttcn M library/RSL_Types.ttcn 4 files changed, 625 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/11/24411/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 22:37:11 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 29 May 2021 22:37:11 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: allow assignment to a specific lchan In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24362 to look at the new patch set (#5). Change subject: assignment_fsm: allow assignment to a specific lchan ...................................................................... assignment_fsm: allow assignment to a specific lchan So far the assignment FSM always tried to satisfy the channel mode and rate by either re-using the current lchan or finding a new, unused lchan. For VAMOS however, we want to pick one specific lchan. Add target_lchan to struct assignment_request and skip all mode matching and lchan selection when a specific target_lchan is set. Related: SYS#5315 OS#4940 Change-Id: I71e0d4ff4746706e0be5266e4574d70ca432e3d7 --- M include/osmocom/bsc/assignment_fsm.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/assignment_fsm.c 3 files changed, 97 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/62/24362/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71e0d4ff4746706e0be5266e4574d70ca432e3d7 Gerrit-Change-Number: 24362 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 22:37:11 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 29 May 2021 22:37:11 +0000 Subject: Change in osmo-bsc[master]: implement CHANnel ACTIVate to VAMOS mode In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 to look at the new patch set (#10). Change subject: implement CHANnel ACTIVate to VAMOS mode ...................................................................... implement CHANnel ACTIVate to VAMOS mode Related: SYS#5315 OS#4940 Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/lchan_fsm.c M tests/osmo-bsc.vty 5 files changed, 52 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/75/24375/10 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec Gerrit-Change-Number: 24375 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 22:37:11 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 29 May 2021 22:37:11 +0000 Subject: Change in osmo-bsc[master]: add VAMOS secondary lchans to timeslot struct In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24377 to look at the new patch set (#10). Change subject: add VAMOS secondary lchans to timeslot struct ...................................................................... add VAMOS secondary lchans to timeslot struct So far there is a bunch of code setting a primary lchan in VAMOS mode. This patch now adds the actual secondary "shadow" lchans that may be combined with a primary lchan in VAMOS mode to form a multiplex. VAMOS lchans are put in the same ts->lchan[] array that keeps the primary lchans. They are at most two additional usable lchans (for a TCH/H shadow) added to either TCH/F or TCH/H. Keeping these in the same array allows looping over all lchans easily. The ts->max_primary_lchans indicates the index of the first VAMOS shadow lchan. Related: SYS#5315 OS#4940 Change-Id: I928af99498bba488d317693f3144d4fccbbe9af3 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/timeslot_fsm.c 5 files changed, 153 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/77/24377/10 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I928af99498bba488d317693f3144d4fccbbe9af3 Gerrit-Change-Number: 24377 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 22:37:11 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 29 May 2021 22:37:11 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 to look at the new patch set (#4). Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans Add the Osmocom-specific extension to indicate VAMOS shadow lchans in RSL, in lchan lookup and RSL message transmission. Note that RR messages containing cbits (Assignment Command, Handover Command, ...) must *not* send Osmocom specific cbits to the MS. Only the RSL messages directed to the BTS send Osmocom specific bits. Related: SYS#5315 OS#4940 Depends: If33c1695922d110c0d2c60d5c0136caf2587194e (libosmocore) Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lcs_loc_req.c M tests/handover/handover_test.c 7 files changed, 61 insertions(+), 41 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/30/24430/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 22:37:13 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 29 May 2021 22:37:13 +0000 Subject: Change in osmo-bsc[master]: add VAMOS cmodes to chan_mode_to_chan_type() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24457 ) Change subject: add VAMOS cmodes to chan_mode_to_chan_type() ...................................................................... add VAMOS cmodes to chan_mode_to_chan_type() Change-Id: I00cfda71cf731e06c258d8dc0e3f53bb51fb9deb --- M src/osmo-bsc/lchan_select.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/57/24457/1 diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index dba3c3a..13ba289 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -159,12 +159,15 @@ return GSM_LCHAN_NONE; } case GSM48_CMODE_SPEECH_EFR: + case GSM48_CMODE_SPEECH_V2_VAMOS: /* EFR works over FR channels only */ if (chan_rate != CH_RATE_FULL) return GSM_LCHAN_NONE; /* fall through */ case GSM48_CMODE_SPEECH_V1: case GSM48_CMODE_SPEECH_AMR: + case GSM48_CMODE_SPEECH_V1_VAMOS: + case GSM48_CMODE_SPEECH_V3_VAMOS: switch (chan_rate) { case CH_RATE_HALF: return GSM_LCHAN_TCH_H; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I00cfda71cf731e06c258d8dc0e3f53bb51fb9deb Gerrit-Change-Number: 24457 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 22:37:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 29 May 2021 22:37:14 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24458 ) Change subject: lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking ...................................................................... lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking lchan->activate.info.ch_mode_rate should remain unchanged, it is the immutable request data. However, for VAMOS, we will want to automatically see that the chan_mode is chosen correctly. As a first step, place a mutable ch_mode_rate copy at lchan->activate.ch_mode_rate, i.e. not in .activate.info, but in .activate. Use that everywhere. This is a non-functional change, preparing for a subsequent patch that adds handling of VAMOS shadow lchans. Change-Id: Icc9cc7481b3984fdca34eef49ea91ad3388c06fe --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c 5 files changed, 17 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/58/24458/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 012b523..da5bd7c 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -645,6 +645,7 @@ struct { struct lchan_activate_info info; + struct channel_mode_and_rate ch_mode_rate; struct gsm48_multi_rate_conf mr_conf_filtered; bool activ_ack; /*< true as soon as RSL Chan Activ Ack is received */ bool immediate_assignment_sent; diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 7591ecc..02f1109 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -528,7 +528,7 @@ /* PDCH activation is a job for rsl_tx_dyn_ts_pdch_act_deact(); */ OSMO_ASSERT(act_type != RSL_ACT_OSMO_PDCH); - rc = channel_mode_from_lchan(&cm, lchan, &lchan->activate.info.ch_mode_rate, false); + rc = channel_mode_from_lchan(&cm, lchan, &lchan->activate.ch_mode_rate, false); if (rc < 0) { LOGP(DRSL, LOGL_ERROR, "%s Cannot find channel mode from lchan type\n", @@ -602,7 +602,7 @@ add_power_control_params(msg, RSL_IE_BS_POWER_PARAM, lchan); add_power_control_params(msg, RSL_IE_MS_POWER_PARAM, lchan); - if (lchan->activate.info.ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (lchan->activate.ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { rc = put_mr_config_for_bts(msg, &lchan->activate.mr_conf_filtered, (lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); if (rc) { diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 81de958..61bb73b 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -210,7 +210,7 @@ if (gscon_is_aoip(conn)) { /* Extrapolate speech codec from speech mode */ gsm0808_speech_codec_from_chan_type(&sc, perm_spch); - sc.cfg = conn->lchan->activate.info.ch_mode_rate.s15_s0; + sc.cfg = conn->lchan->activate.ch_mode_rate.s15_s0; sc_ptr = ≻ } } diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 3de4e23..4b0b31f 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -639,8 +639,11 @@ lchan->bs_power = bts->bs_power_ctrl.bs_power_val_db / 2; } - if (info->ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { - if (lchan_mr_config(&lchan->activate.mr_conf_filtered, lchan, info->ch_mode_rate.s15_s0) < 0) { + lchan->activate.ch_mode_rate = lchan->activate.info.ch_mode_rate; + /* future: automatically adjust chan_mode in lchan->activate.ch_mode_rate */ + + if (lchan->activate.ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (lchan_mr_config(&lchan->activate.mr_conf_filtered, lchan, lchan->activate.ch_mode_rate.s15_s0) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; } @@ -656,7 +659,7 @@ (use_mgwep_ci ? osmo_mgcpc_ep_ci_name(use_mgwep_ci) : "new") : "none", gsm_lchant_name(lchan->type), - gsm48_chan_mode_name(lchan->activate.info.ch_mode_rate.chan_mode), + gsm48_chan_mode_name(lchan->activate.ch_mode_rate.chan_mode), (lchan->activate.info.encr.alg_id ? : 1)-1, lchan->activate.info.encr.key_len ? osmo_hexdump_nospc(lchan->activate.info.encr.key, lchan->activate.info.encr.key_len) : "none"); @@ -806,7 +809,7 @@ int rc; struct gsm_lchan *lchan = lchan_fi_lchan(fi); - lchan->current_ch_mode_rate = lchan->activate.info.ch_mode_rate; + lchan->current_ch_mode_rate = lchan->activate.ch_mode_rate; lchan->current_mr_conf = lchan->activate.mr_conf_filtered; lchan->tsc_set = lchan->activate.tsc_set; lchan->tsc = lchan->activate.tsc; diff --git a/src/osmo-bsc/lchan_rtp_fsm.c b/src/osmo-bsc/lchan_rtp_fsm.c index 366bd1b..0b1d4c5 100644 --- a/src/osmo-bsc/lchan_rtp_fsm.c +++ b/src/osmo-bsc/lchan_rtp_fsm.c @@ -268,19 +268,19 @@ return; } - val = ipacc_speech_mode(lchan->activate.info.ch_mode_rate.chan_mode, lchan->type); + val = ipacc_speech_mode(lchan->activate.ch_mode_rate.chan_mode, lchan->type); if (val < 0) { lchan_rtp_fail("Cannot determine Abis/IP speech mode for tch_mode=%s type=%s\n", - get_value_string(gsm48_chan_mode_names, lchan->activate.info.ch_mode_rate.chan_mode), + get_value_string(gsm48_chan_mode_names, lchan->activate.ch_mode_rate.chan_mode), gsm_lchant_name(lchan->type)); return; } lchan->abis_ip.speech_mode = val; - val = ipacc_payload_type(lchan->activate.info.ch_mode_rate.chan_mode, lchan->type); + val = ipacc_payload_type(lchan->activate.ch_mode_rate.chan_mode, lchan->type); if (val < 0) { lchan_rtp_fail("Cannot determine Abis/IP payload type for tch_mode=%s type=%s\n", - get_value_string(gsm48_chan_mode_names, lchan->activate.info.ch_mode_rate.chan_mode), + get_value_string(gsm48_chan_mode_names, lchan->activate.ch_mode_rate.chan_mode), gsm_lchant_name(lchan->type)); return; } @@ -834,14 +834,14 @@ void mgcp_pick_codec(struct mgcp_conn_peer *verb_info, const struct gsm_lchan *lchan, bool bss_side) { - enum mgcp_codecs codec = chan_mode_to_mgcp_codec(lchan->activate.info.ch_mode_rate.chan_mode, + enum mgcp_codecs codec = chan_mode_to_mgcp_codec(lchan->activate.ch_mode_rate.chan_mode, lchan->type == GSM_LCHAN_TCH_H? false : true); int custom_pt; if (codec < 0) { LOG_LCHAN(lchan, LOGL_ERROR, "Unable to determine MGCP codec type for %s in chan-mode %s\n", - gsm_lchant_name(lchan->type), gsm48_chan_mode_name(lchan->activate.info.ch_mode_rate.chan_mode)); + gsm_lchant_name(lchan->type), gsm48_chan_mode_name(lchan->activate.ch_mode_rate.chan_mode)); verb_info->codecs_len = 0; return; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icc9cc7481b3984fdca34eef49ea91ad3388c06fe Gerrit-Change-Number: 24458 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 22:37:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 29 May 2021 22:37:14 +0000 Subject: Change in osmo-bsc[master]: ensure chan_mode comparisons in non-VAMOS mode References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24459 ) Change subject: ensure chan_mode comparisons in non-VAMOS mode ...................................................................... ensure chan_mode comparisons in non-VAMOS mode When checking a chan_mode for AMR, both lchans in VAMOS and non-VAMOS mode should match. So make sure that all chan_modes are converted to non-vamos before comparing. Change-Id: I791e7966b1f8eaa3299a8a46abeb313cf5136e0b --- M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c 3 files changed, 8 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/59/24459/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 02f1109..aec6bf5 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -70,7 +70,7 @@ OSMO_ASSERT(bts); if (lchan->type == GSM_LCHAN_TCH_H) { - switch (lchan->current_ch_mode_rate.chan_mode) { + switch (gsm48_chan_mode_to_non_vamos(lchan->current_ch_mode_rate.chan_mode)) { case GSM48_CMODE_SPEECH_AMR: rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CODEC_AMR_H]); break; @@ -81,7 +81,7 @@ break; } } else if (lchan->type == GSM_LCHAN_TCH_F) { - switch (lchan->current_ch_mode_rate.chan_mode) { + switch (gsm48_chan_mode_to_non_vamos(lchan->current_ch_mode_rate.chan_mode)) { case GSM48_CMODE_SPEECH_AMR: rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CODEC_AMR_F]); break; @@ -390,20 +390,17 @@ return -EINVAL; } - switch (ch_mode_rate->chan_mode) { + switch (gsm48_chan_mode_to_non_vamos(ch_mode_rate->chan_mode)) { case GSM48_CMODE_SIGN: cm->chan_rate = 0; break; case GSM48_CMODE_SPEECH_V1: - case GSM48_CMODE_SPEECH_V1_VAMOS: cm->chan_rate = RSL_CMOD_SP_GSM1; break; case GSM48_CMODE_SPEECH_EFR: - case GSM48_CMODE_SPEECH_V2_VAMOS: cm->chan_rate = RSL_CMOD_SP_GSM2; break; case GSM48_CMODE_SPEECH_AMR: - case GSM48_CMODE_SPEECH_V3_VAMOS: cm->chan_rate = RSL_CMOD_SP_GSM3; break; case GSM48_CMODE_DATA_14k5: @@ -602,7 +599,7 @@ add_power_control_params(msg, RSL_IE_BS_POWER_PARAM, lchan); add_power_control_params(msg, RSL_IE_MS_POWER_PARAM, lchan); - if (lchan->activate.ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (gsm48_chan_mode_to_non_vamos(lchan->activate.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { rc = put_mr_config_for_bts(msg, &lchan->activate.mr_conf_filtered, (lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); if (rc) { @@ -2114,7 +2111,7 @@ /* Return an ip.access BTS speech mode value (uint8_t) or negative on error. */ int ipacc_speech_mode(enum gsm48_chan_mode tch_mode, enum gsm_chan_t type) { - switch (tch_mode) { + switch (gsm48_chan_mode_to_non_vamos(tch_mode)) { case GSM48_CMODE_SPEECH_V1: switch (type) { case GSM_LCHAN_TCH_F: @@ -2162,7 +2159,7 @@ /* Return an ip.access BTS payload type value (uint8_t) or negative on error. */ int ipacc_payload_type(enum gsm48_chan_mode tch_mode, enum gsm_chan_t type) { - switch (tch_mode) { + switch (gsm48_chan_mode_to_non_vamos(tch_mode)) { case GSM48_CMODE_SPEECH_V1: switch (type) { case GSM_LCHAN_TCH_F: diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 6e55947..bfc5bd0 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -638,7 +638,7 @@ } /* in case of multi rate we need to attach a config */ - if (new_lchan->current_ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (gsm48_chan_mode_to_non_vamos(new_lchan->current_ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { int rc = put_mr_config_for_ms(msg, &new_lchan->current_mr_conf, (new_lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); if (rc) { diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 4b0b31f..0708292 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -642,7 +642,7 @@ lchan->activate.ch_mode_rate = lchan->activate.info.ch_mode_rate; /* future: automatically adjust chan_mode in lchan->activate.ch_mode_rate */ - if (lchan->activate.ch_mode_rate.chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (gsm48_chan_mode_to_non_vamos(lchan->activate.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { if (lchan_mr_config(&lchan->activate.mr_conf_filtered, lchan, lchan->activate.ch_mode_rate.s15_s0) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I791e7966b1f8eaa3299a8a46abeb313cf5136e0b Gerrit-Change-Number: 24459 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 22:37:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 29 May 2021 22:37:14 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: lchan_fail() strings should not have a terminating newline References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24460 ) Change subject: lchan_fsm: lchan_fail() strings should not have a terminating newline ...................................................................... lchan_fsm: lchan_fail() strings should not have a terminating newline Change-Id: I063fd5598add75c39338d90798189c10a0714094 --- M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c 2 files changed, 11 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/60/24460/1 diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 1b8812a..0b9cc84 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -660,7 +660,7 @@ if (gsm48_chan_mode_to_non_vamos(lchan->activate.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { if (lchan_mr_config(&lchan->activate.mr_conf_filtered, lchan, lchan->activate.ch_mode_rate.s15_s0) < 0) { - lchan_fail("Can not generate multirate configuration IE\n"); + lchan_fail("Can not generate multirate configuration IE"); return; } } @@ -707,7 +707,7 @@ return; } - lchan_fail("Failed to setup RTP stream: %s in state %s\n", + lchan_fail("Failed to setup RTP stream: %s in state %s", osmo_fsm_event_name(fi->fsm, event), osmo_fsm_inst_state_name(fi)); return; @@ -845,7 +845,7 @@ case ACTIVATE_FOR_MS_CHANNEL_REQUEST: rc = rsl_tx_imm_assignment(lchan); if (rc) { - lchan_fail("Failed to Tx RR Immediate Assignment message (rc=%d %s)\n", + lchan_fail("Failed to Tx RR Immediate Assignment message (rc=%d %s)", rc, strerror(-rc)); return; } @@ -948,7 +948,7 @@ return; } - lchan_fail("Failed to setup RTP stream: %s in state %s\n", + lchan_fail("Failed to setup RTP stream: %s in state %s", osmo_fsm_event_name(fi->fsm, event), osmo_fsm_inst_state_name(fi)); return; @@ -973,7 +973,7 @@ return; case LCHAN_EV_RR_CHAN_MODE_MODIFY_ERROR: - lchan_fail("Failed to change channel mode on the MS side: %s in state %s\n", + lchan_fail("Failed to change channel mode on the MS side: %s in state %s", osmo_fsm_event_name(fi->fsm, event), osmo_fsm_inst_state_name(fi)); return; @@ -990,7 +990,7 @@ rc = rsl_chan_mode_modify_req(lchan); if (rc < 0) { - lchan_fail("Failed to send rsl message to change the channel mode on the BTS side: state %s\n", + lchan_fail("Failed to send rsl message to change the channel mode on the BTS side: state %s", osmo_fsm_inst_state_name(fi)); } } @@ -1028,7 +1028,7 @@ return; case LCHAN_EV_RSL_CHAN_MODE_MODIFY_NACK: - lchan_fail("Failed to change channel mode on the BTS side: %s in state %s\n", + lchan_fail("Failed to change channel mode on the BTS side: %s in state %s", osmo_fsm_event_name(fi->fsm, event), osmo_fsm_inst_state_name(fi)); return; @@ -1137,7 +1137,7 @@ return; } - lchan_fail("RTP stream closed unexpectedly: %s in state %s\n", + lchan_fail("RTP stream closed unexpectedly: %s in state %s", osmo_fsm_event_name(fi->fsm, event), osmo_fsm_inst_state_name(fi)); return; @@ -1156,7 +1156,7 @@ if (gsm48_chan_mode_to_non_vamos(modif_info->ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { if (lchan_mr_config(&lchan->modify.mr_conf_filtered, lchan, modif_info->ch_mode_rate.s15_s0) < 0) { - lchan_fail("Can not generate multirate configuration IE\n"); + lchan_fail("Can not generate multirate configuration IE"); return; } } diff --git a/src/osmo-bsc/lchan_rtp_fsm.c b/src/osmo-bsc/lchan_rtp_fsm.c index 0b1d4c5..58963e0 100644 --- a/src/osmo-bsc/lchan_rtp_fsm.c +++ b/src/osmo-bsc/lchan_rtp_fsm.c @@ -270,7 +270,7 @@ val = ipacc_speech_mode(lchan->activate.ch_mode_rate.chan_mode, lchan->type); if (val < 0) { - lchan_rtp_fail("Cannot determine Abis/IP speech mode for tch_mode=%s type=%s\n", + lchan_rtp_fail("Cannot determine Abis/IP speech mode for tch_mode=%s type=%s", get_value_string(gsm48_chan_mode_names, lchan->activate.ch_mode_rate.chan_mode), gsm_lchant_name(lchan->type)); return; @@ -279,7 +279,7 @@ val = ipacc_payload_type(lchan->activate.ch_mode_rate.chan_mode, lchan->type); if (val < 0) { - lchan_rtp_fail("Cannot determine Abis/IP payload type for tch_mode=%s type=%s\n", + lchan_rtp_fail("Cannot determine Abis/IP payload type for tch_mode=%s type=%s", get_value_string(gsm48_chan_mode_names, lchan->activate.ch_mode_rate.chan_mode), gsm_lchant_name(lchan->type)); return; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I063fd5598add75c39338d90798189c10a0714094 Gerrit-Change-Number: 24460 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 22:38:23 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 29 May 2021 22:38:23 +0000 Subject: Change in osmo-bsc[master]: potential segfault: vty chan act: do not set AMR bits for EFR In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24393 ) Change subject: potential segfault: vty chan act: do not set AMR bits for EFR ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9bae5b4fb8ab8c2002fe785e130dc9faeeda892c Gerrit-Change-Number: 24393 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 29 May 2021 22:38:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 22:46:02 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 29 May 2021 22:46:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 to look at the new patch set (#8). Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... add bsc/BSC_Tests_VAMOS.ttcn BSC_Tests_VAMOS.ttcn is separate from BSC_Tests.ttcn in order to instruct osmo-bts-omldummy to pass BTS_FEAT_VAMOS == true in the OML BTS attributes. Add tests: TC_mode_modify_to_vamos() TC_chan_act_to_vamos() TC_assign_to_secondary_lchan() TC_vamos_multiplex_tch_f_tch_f() Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 --- M bsc/BSC_Tests.ttcn A bsc/BSC_Tests_VAMOS.ttcn M library/L3_Templates.ttcn M library/RSL_Types.ttcn 4 files changed, 627 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/11/24411/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 22:46:02 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 29 May 2021 22:46:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: allow ASP_RSL_UD on MSC_ConnHdlr RSL In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24412 to look at the new patch set (#8). Change subject: allow ASP_RSL_UD on MSC_ConnHdlr RSL ...................................................................... allow ASP_RSL_UD on MSC_ConnHdlr RSL In BSC_Tests_VAMOS.ttcn, in f_est_and_reassign_to_secondary_lchan() there is a missing channel release ack. By allowing ASP_RSL_UD, this rel ack can be sent trivially. Change-Id: Icd04184ed87c359349d86c5e0893c2ce9de2f7f1 --- M bsc/BSC_Tests_VAMOS.ttcn M library/RSL_Emulation.ttcn 2 files changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/12/24412/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24412 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: Icd04184ed87c359349d86c5e0893c2ce9de2f7f1 Gerrit-Change-Number: 24412 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 23:43:19 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 29 May 2021 23:43:19 +0000 Subject: Change in osmo-bsc[master]: update the lchan name to always reflect VAMOS shadowness References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24461 ) Change subject: update the lchan name to always reflect VAMOS shadowness ...................................................................... update the lchan name to always reflect VAMOS shadowness Change gsm_lchan_name_compute() to a function that in-place updates the lchan->name. That allows calling it numerous times with the talloc handled internally. Rename it to lchan_update_name(). Add 'shadow' to lchan_update_name() and lchan_fsm_update_id() for VAMOS shadow lchans, and also print the lchan index that it is a shadow for, instead of the index in the lchan array. When set_pchan_is() updates the VAMOSness of the lchans, call lchan_fsm_update_id(). From lchan_fsm_update_id() also call lchan_update_name(). This is a bit convoluted for legacy reasons. There are utility programs and C tests using bts_trx.c but not lchan_fsm.c. lchan_update_name() lives in gsm_data.c for that reason. This patch calls lchan_update_name() from lchan_fsm_update_id() and not vice versa to avoid having to add stubbed lchan_fsm_update_id() functions to all utility programs and C tests. We can't easily unify the lchan->name and lchan->fi->id without lots of refactoring rippling through all those little utility programs and C tests. Change-Id: I7c2bae3b895a91f1b99b4147ecc0e3009cb7439a --- M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/lchan_fsm.h M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/timeslot_fsm.c 7 files changed, 25 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/61/24461/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 80fdaac..5d37013 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1007,7 +1007,7 @@ const char *gsm_chreq_name(enum gsm_chreq_reason_t c); char *gsm_ts_name(const struct gsm_bts_trx_ts *ts); char *gsm_ts_and_pchan_name(const struct gsm_bts_trx_ts *ts); -char *gsm_lchan_name_compute(void *ctx, const struct gsm_lchan *lchan); +void lchan_update_name(struct gsm_lchan *lchan); static inline char *gsm_lchan_name(const struct gsm_lchan *lchan) { diff --git a/include/osmocom/bsc/lchan_fsm.h b/include/osmocom/bsc/lchan_fsm.h index 74e2a96..e7a06d5 100644 --- a/include/osmocom/bsc/lchan_fsm.h +++ b/include/osmocom/bsc/lchan_fsm.h @@ -83,3 +83,4 @@ void lchan_forget_conn(struct gsm_lchan *lchan); void lchan_fsm_skip_error(struct gsm_lchan *lchan); +void lchan_fsm_update_id(struct gsm_lchan *lchan); diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 14df76b..3f74add 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -302,14 +302,15 @@ return; } - osmo_fsm_inst_update_id_f(conn->assignment.fi, "%s_%u-%u-%u-%s%s%s-%u", + osmo_fsm_inst_update_id_f(conn->assignment.fi, "%s_%u-%u-%u-%s%s%s-%s%u", conn->fi->id, new_lchan->ts->trx->bts->nr, new_lchan->ts->trx->nr, new_lchan->ts->nr, gsm_pchan_id(new_lchan->ts->pchan_on_init), (new_lchan->ts->pchan_on_init == new_lchan->ts->pchan_is)? "" : "as", (new_lchan->ts->pchan_on_init == new_lchan->ts->pchan_is)? "" : gsm_pchan_id(new_lchan->ts->pchan_is), - new_lchan->nr); + new_lchan->vamos.is_secondary ? "shadow" : "", + new_lchan->nr - (new_lchan->vamos.is_secondary ? new_lchan->ts->max_primary_lchans : 0)); } static bool lchan_type_compat_with_mode(enum gsm_chan_t type, const struct channel_mode_and_rate *ch_mode_rate) diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index 64c7985..1f3cb0a 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -111,7 +111,7 @@ lchan->nr = l; lchan->type = GSM_LCHAN_NONE; - lchan->name = gsm_lchan_name_compute(trx, lchan); + lchan_update_name(lchan); } } diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 5f8b6da..dc490a5 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -334,12 +334,15 @@ return ts2str; } -char *gsm_lchan_name_compute(void *ctx, const struct gsm_lchan *lchan) +void lchan_update_name(struct gsm_lchan *lchan) { struct gsm_bts_trx_ts *ts = lchan->ts; - return talloc_asprintf(ctx, "(bts=%d,trx=%d,ts=%d,ss=%d%s)", - ts->trx->bts->nr, ts->trx->nr, ts->nr, lchan->nr, - lchan->vamos.is_secondary ? "-VAMOS" : ""); + if (lchan->name) + talloc_free(lchan->name); + lchan->name = talloc_asprintf(ts->trx, "(bts=%d,trx=%d,ts=%d,ss=%s%d)", + ts->trx->bts->nr, ts->trx->nr, ts->nr, + lchan->vamos.is_secondary ? "shadow" : "", + lchan->nr - (lchan->vamos.is_secondary ? ts->max_primary_lchans : 0)); } /* obtain the MO structure for a given object instance */ diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 1b8812a..06bf661 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -411,11 +411,16 @@ } } -static void lchan_fsm_update_id(struct gsm_lchan *lchan) +void lchan_fsm_update_id(struct gsm_lchan *lchan) { - osmo_fsm_inst_update_id_f(lchan->fi, "%u-%u-%u-%s-%u", + lchan_update_name(lchan); + if (!lchan->fi) + return; + osmo_fsm_inst_update_id_f(lchan->fi, "%u-%u-%u-%s-%s%u", lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, - gsm_pchan_id(lchan->ts->pchan_on_init), lchan->nr); + gsm_pchan_id(lchan->ts->pchan_on_init), + lchan->vamos.is_secondary ? "shadow" : "", + lchan->nr - (lchan->vamos.is_secondary ? lchan->ts->max_primary_lchans : 0)); if (lchan->fi_rtp) osmo_fsm_inst_update_id_f(lchan->fi_rtp, lchan->fi->id); } diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index d1f49a3..e4e9d48 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -204,11 +204,14 @@ lchan->vamos.is_secondary = false; else lchan->vamos.is_secondary = true; + lchan_fsm_update_id(lchan); } break; default: - ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { lchan->vamos.is_secondary = false; + lchan_fsm_update_id(lchan); + } break; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c2bae3b895a91f1b99b4147ecc0e3009cb7439a Gerrit-Change-Number: 24461 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 23:45:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 29 May 2021 23:45:29 +0000 Subject: Change in libosmocore[master]: fixup for gsm48_chan_mode_to_non_vamos() In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24456 to look at the new patch set (#2). Change subject: fixup for gsm48_chan_mode_to_non_vamos() ...................................................................... fixup for gsm48_chan_mode_to_non_vamos() When modifying chan modes, I first thought rather always fail if there is no equivalent mode. That is true for gsm48_chan_mode_to_vamos(), but for a change to non-VAMOS, rather return the unchanged mode for non-VAMOS modes, so that gsm48_chan_mode_to_non_vamos(GSM_CMODE_SIGN) works without failure. This makes more convenient checking, e.g. in osmo-bsc's lchan_fsm.c making sure that a non-VAMOS lchan has a non-VAMOS chan_mode, for all types of lchans. Change-Id: Ibf20f04d167e0e0599012ff530bc17ba8c8ab562 --- M src/gsm/gsm48.c 1 file changed, 2 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/56/24456/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf20f04d167e0e0599012ff530bc17ba8c8ab562 Gerrit-Change-Number: 24456 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 23:46:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 29 May 2021 23:46:22 +0000 Subject: Change in libosmocore[master]: fixup for gsm48_chan_mode_to_non_vamos() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24456 ) Change subject: fixup for gsm48_chan_mode_to_non_vamos() ...................................................................... Patch Set 2: Code-Review+2 let me quickly submit the fixup -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf20f04d167e0e0599012ff530bc17ba8c8ab562 Gerrit-Change-Number: 24456 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Sat, 29 May 2021 23:46:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 29 23:49:19 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 29 May 2021 23:49:19 +0000 Subject: Change in libosmocore[master]: fixup for gsm48_chan_mode_to_non_vamos() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24456 ) Change subject: fixup for gsm48_chan_mode_to_non_vamos() ...................................................................... fixup for gsm48_chan_mode_to_non_vamos() When modifying chan modes, I first thought rather always fail if there is no equivalent mode. That is true for gsm48_chan_mode_to_vamos(), but for a change to non-VAMOS, rather return the unchanged mode for non-VAMOS modes, so that gsm48_chan_mode_to_non_vamos(GSM_CMODE_SIGN) works without failure. This makes more convenient checking, e.g. in osmo-bsc's lchan_fsm.c making sure that a non-VAMOS lchan has a non-VAMOS chan_mode, for all types of lchans. Change-Id: Ibf20f04d167e0e0599012ff530bc17ba8c8ab562 --- M src/gsm/gsm48.c 1 file changed, 2 insertions(+), 5 deletions(-) Approvals: neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c index 02489c9..ae1a21b 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -463,22 +463,19 @@ } /*! Translate GSM48_CMODE_SPEECH_*_VAMOS to its corresponding GSM48_CMODE_SPEECH_* non-vamos mode. - * If the mode has no equivalent non-VAMOS mode, return a negative value. + * If the mode is not a VAMOS mode, return the unchanged mode. */ enum gsm48_chan_mode gsm48_chan_mode_to_non_vamos(enum gsm48_chan_mode mode) { switch (mode) { case GSM48_CMODE_SPEECH_V1_VAMOS: - case GSM48_CMODE_SPEECH_V1: return GSM48_CMODE_SPEECH_V1; case GSM48_CMODE_SPEECH_V2_VAMOS: - case GSM48_CMODE_SPEECH_EFR: return GSM48_CMODE_SPEECH_EFR; case GSM48_CMODE_SPEECH_V3_VAMOS: - case GSM48_CMODE_SPEECH_AMR: return GSM48_CMODE_SPEECH_AMR; default: - return -1; + return mode; } } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibf20f04d167e0e0599012ff530bc17ba8c8ab562 Gerrit-Change-Number: 24456 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 00:46:56 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 May 2021 00:46:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 to look at the new patch set (#9). Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... add bsc/BSC_Tests_VAMOS.ttcn BSC_Tests_VAMOS.ttcn is separate from BSC_Tests.ttcn in order to instruct osmo-bts-omldummy to pass BTS_FEAT_VAMOS == true in the OML BTS attributes. Add tests: TC_mode_modify_to_vamos() TC_chan_act_to_vamos() TC_assign_to_secondary_lchan() TC_vamos_multiplex_tch_f_tch_f() Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 --- M bsc/BSC_Tests.ttcn A bsc/BSC_Tests_VAMOS.ttcn M library/L3_Templates.ttcn M library/RSL_Types.ttcn 4 files changed, 627 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/11/24411/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 00:53:46 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 May 2021 00:53:46 +0000 Subject: Change in osmo-bsc[master]: VTY: add lchan re-assignment command In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 to look at the new patch set (#13). Change subject: VTY: add lchan re-assignment command ...................................................................... VTY: add lchan re-assignment command Add VTY command to trigger an intra-cell re-assignment, also allowing to re-assign to a secondary VAMOS lchan. Related: SYS#5315 OS#4940 Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M tests/osmo-bsc.vty 4 files changed, 110 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/81/24381/13 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 Gerrit-Change-Number: 24381 Gerrit-PatchSet: 13 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 03:26:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 May 2021 03:26:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 to look at the new patch set (#10). Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... add bsc/BSC_Tests_VAMOS.ttcn BSC_Tests_VAMOS.ttcn is separate from BSC_Tests.ttcn in order to instruct osmo-bts-omldummy to pass BTS_FEAT_VAMOS == true in the OML BTS attributes. Add tests: TC_chan_act_to_vamos() TC_mode_modify_to_vamos_fr() TC_mode_modify_to_vamos_hr() TC_assign_to_secondary_lchan_fr() TC_assign_to_secondary_lchan_hr() TC_vamos_multiplex_tch_f_tch_f() TC_vamos_multiplex_tch_h_tch_h_tch_h_tch_h() Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 --- M bsc/BSC_Tests.ttcn A bsc/BSC_Tests_VAMOS.ttcn M library/L3_Templates.ttcn M library/RSL_Types.ttcn 4 files changed, 836 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/11/24411/10 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 03:26:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 May 2021 03:26:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: allow ASP_RSL_UD on MSC_ConnHdlr RSL In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24412 to look at the new patch set (#10). Change subject: allow ASP_RSL_UD on MSC_ConnHdlr RSL ...................................................................... allow ASP_RSL_UD on MSC_ConnHdlr RSL In BSC_Tests_VAMOS.ttcn, in f_est_and_reassign_to_secondary_lchan() there is a missing channel release ack. By allowing ASP_RSL_UD, this rel ack can be sent trivially. Change-Id: Icd04184ed87c359349d86c5e0893c2ce9de2f7f1 --- M bsc/BSC_Tests_VAMOS.ttcn M library/RSL_Emulation.ttcn 2 files changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/12/24412/10 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24412 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: Icd04184ed87c359349d86c5e0893c2ce9de2f7f1 Gerrit-Change-Number: 24412 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 03:27:01 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 May 2021 03:27:01 +0000 Subject: Change in osmo-bsc[master]: VTY: add lchan re-assignment command In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 to look at the new patch set (#14). Change subject: VTY: add lchan re-assignment command ...................................................................... VTY: add lchan re-assignment command Add VTY command to trigger an intra-cell re-assignment, also allowing to re-assign to a secondary VAMOS lchan. Related: SYS#5315 OS#4940 Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M tests/osmo-bsc.vty 4 files changed, 116 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/81/24381/14 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 Gerrit-Change-Number: 24381 Gerrit-PatchSet: 14 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 03:44:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 May 2021 03:44:38 +0000 Subject: Change in osmo-bsc[master]: add VAMOS secondary lchans to timeslot struct In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24377 to look at the new patch set (#11). Change subject: add VAMOS secondary lchans to timeslot struct ...................................................................... add VAMOS secondary lchans to timeslot struct So far there is a bunch of code setting a primary lchan in VAMOS mode. This patch now adds the actual secondary "shadow" lchans that may be combined with a primary lchan in VAMOS mode to form a multiplex. VAMOS lchans are put in the same ts->lchan[] array that keeps the primary lchans. They are at most two additional usable lchans (for a TCH/H shadow) added to either TCH/F or TCH/H. Keeping these in the same array allows looping over all lchans easily. The ts->max_primary_lchans indicates the index of the first VAMOS shadow lchan. Related: SYS#5315 OS#4940 Change-Id: I928af99498bba488d317693f3144d4fccbbe9af3 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/timeslot_fsm.c 5 files changed, 105 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/77/24377/11 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I928af99498bba488d317693f3144d4fccbbe9af3 Gerrit-Change-Number: 24377 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 07:05:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 07:05:06 +0000 Subject: Change in osmo-bsc[master]: make sure channel mode and s15_s0 are updated only after an ACK In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24352 ) Change subject: make sure channel mode and s15_s0 are updated only after an ACK ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie0da36124d73efc28a8809b63d7c96e2167fc412 Gerrit-Change-Number: 24352 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 30 May 2021 07:05:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 07:06:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 07:06:26 +0000 Subject: Change in osmo-bsc[master]: eliminate lchan->rsl_cmode In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24354 ) Change subject: eliminate lchan->rsl_cmode ...................................................................... Patch Set 5: what about the %x vs %d comment? do we already print the mode in hex in other places? then certainly we should also print it in hex here... -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1c167b22bb6638a929488d093bde0f1a5fb227ad Gerrit-Change-Number: 24354 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 30 May 2021 07:06:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 07:07:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 07:07:03 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 1: split lchan_mr_config() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24356 ) Change subject: AMR config cleanup step 1: split lchan_mr_config() ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iebac2dc26412d877e5364f90d6f2ed7a7952351e Gerrit-Change-Number: 24356 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 07:07:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 07:07:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 07:07:57 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: allow assignment to a specific lchan In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24362 ) Change subject: assignment_fsm: allow assignment to a specific lchan ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I71e0d4ff4746706e0be5266e4574d70ca432e3d7 Gerrit-Change-Number: 24362 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sun, 30 May 2021 07:07:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 07:09:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 07:09:00 +0000 Subject: Change in osmo-bsc[master]: allow explixit TSC Set and TSC on chan activ / modif / assignment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24369 ) Change subject: allow explixit TSC Set and TSC on chan activ / modif / assignment ...................................................................... Patch Set 9: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24369/7/src/osmo-bsc/gsm_04_08_rr.c File src/osmo-bsc/gsm_04_08_rr.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24369/7/src/osmo-bsc/gsm_04_08_rr.c at 694 PS7, Line 694: tsc = (lchan->modify.info.tsc >= 0) ? lchan->modify.info.tsc : gsm_ts_tsc(lchan->ts); /* FIXME */ > why this FIXME here? no response yet? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic665125255d7354f5499d10dda1dd866ab243d24 Gerrit-Change-Number: 24369 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 07:09:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 07:10:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 07:10:39 +0000 Subject: Change in osmo-bsc[master]: VTY: dump TSC Set and TSC for each timeslot In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24370 ) Change subject: VTY: dump TSC Set and TSC for each timeslot ...................................................................... Patch Set 9: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24370/9/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24370/9/src/osmo-bsc/bsc_vty.c at 1631 PS9, Line 1631: vty_out(vty, " Training Sequence: Set %d Code %u%s", (lchan->tsc_set > 0 ? lchan->tsc_set : 1), lchan->tsc, VTY_NEWLINE); the above lines use comma between parameters (connection/state, bs power/ms power). I see teat below for thge IP addresses this is not respected, so I will not hold it against this patch. However, we definitely should submit a clean-up p atch to unify the formatting after we ahve the series merged. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7842ff89bece6d88387dae056e350529bae6fc38 Gerrit-Change-Number: 24370 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 07:10:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 07:11:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 07:11:21 +0000 Subject: Change in osmo-bsc[master]: add fields to reflect nr of lchans in ts struct In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24371 ) Change subject: add fields to reflect nr of lchans in ts struct ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I08027d79db71a23e874b729c4e6173b0f269ee4f Gerrit-Change-Number: 24371 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 07:11:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 07:11:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 07:11:47 +0000 Subject: Change in osmo-bsc[master]: replace ts_*_for_each_lchan() with ts_for_n_lchans() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24372 ) Change subject: replace ts_*_for_each_lchan() with ts_for_n_lchans() ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib2c6baf73a81ba371143ba5adc912aef6f79238d Gerrit-Change-Number: 24372 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 07:11:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 07:11:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 07:11:59 +0000 Subject: Change in osmo-bsc[master]: add VAMOS cmodes to chan_mode_to_rsl_cmod_spd() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24373 ) Change subject: add VAMOS cmodes to chan_mode_to_rsl_cmod_spd() ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89c929e936151b4ed010114197cf8e6ea85193ff Gerrit-Change-Number: 24373 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 07:11:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 07:12:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 07:12:09 +0000 Subject: Change in osmo-bsc[master]: add VAMOS cmodes to chan_mode_to_chan_type() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24457 ) Change subject: add VAMOS cmodes to chan_mode_to_chan_type() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I00cfda71cf731e06c258d8dc0e3f53bb51fb9deb Gerrit-Change-Number: 24457 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 30 May 2021 07:12:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 07:14:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 07:14:20 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 10: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24374/10/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24374/10/src/osmo-bsc/bsc_vty.c at 2174 PS10, Line 2174: modify lchan I would use modify-lchan as one word/token here, unless you are plannning to add other alternatiuves to lchan here. I.e. "vamos modify ts" or the like. Using extra words/tokens in the VTY language really only makes sense whenever there are multiple alternatives/choices to proceed. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 30 May 2021 07:14:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 07:14:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 07:14:35 +0000 Subject: Change in osmo-bsc[master]: vty-test: osmo-bsc.vty: test doc of lchan activate cmd In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24387 ) Change subject: vty-test: osmo-bsc.vty: test doc of lchan activate cmd ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6379e306fb8fa6ec227125c6cf14893d674e7596 Gerrit-Change-Number: 24387 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 07:14:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 07:15:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 07:15:05 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24458 ) Change subject: lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icc9cc7481b3984fdca34eef49ea91ad3388c06fe Gerrit-Change-Number: 24458 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 30 May 2021 07:15:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 07:15:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 07:15:20 +0000 Subject: Change in osmo-bsc[master]: ensure chan_mode comparisons in non-VAMOS mode In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24459 ) Change subject: ensure chan_mode comparisons in non-VAMOS mode ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I791e7966b1f8eaa3299a8a46abeb313cf5136e0b Gerrit-Change-Number: 24459 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 30 May 2021 07:15:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 07:15:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 07:15:58 +0000 Subject: Change in osmo-bsc[master]: implement CHANnel ACTIVate to VAMOS mode In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24375 ) Change subject: implement CHANnel ACTIVate to VAMOS mode ...................................................................... Patch Set 10: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec Gerrit-Change-Number: 24375 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 07:15:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 07:16:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 07:16:22 +0000 Subject: Change in osmo-bsc[master]: RR Assignment for VAMOS: send TSC Set In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24376 ) Change subject: RR Assignment for VAMOS: send TSC Set ...................................................................... Patch Set 10: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf3b6d276fadf724c16a5225c03e96a27a056153 Gerrit-Change-Number: 24376 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 07:16:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 07:16:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 07:16:48 +0000 Subject: Change in osmo-bsc[master]: add VAMOS secondary lchans to timeslot struct In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24377 ) Change subject: add VAMOS secondary lchans to timeslot struct ...................................................................... Patch Set 11: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I928af99498bba488d317693f3144d4fccbbe9af3 Gerrit-Change-Number: 24377 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 07:16:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 08:08:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 08:08:11 +0000 Subject: Change in osmo-bsc[master]: update the lchan name to always reflect VAMOS shadowness In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24461 ) Change subject: update the lchan name to always reflect VAMOS shadowness ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c2bae3b895a91f1b99b4147ecc0e3009cb7439a Gerrit-Change-Number: 24461 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 30 May 2021 08:08:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 08:08:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 08:08:58 +0000 Subject: Change in osmo-bsc[master]: rsl_lchan_lookup(): turn cbits if-cascade into a switch() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24428 ) Change subject: rsl_lchan_lookup(): turn cbits if-cascade into a switch() ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c6ce2f4ca999c19a58909b9adb849a3b8b6ffc8 Gerrit-Change-Number: 24428 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 08:08:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 08:09:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 08:09:42 +0000 Subject: Change in osmo-bsc[master]: rsl_lchan_lookup(): add comment explaining ts_is_capable_of_pchan() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24429 ) Change subject: rsl_lchan_lookup(): add comment explaining ts_is_capable_of_pchan() ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie3699db496cfb690ac9302ccd177cdd77dc57ebb Gerrit-Change-Number: 24429 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 08:09:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 08:14:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 08:14:33 +0000 Subject: Change in libosmocore[master]: gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24420 ) Change subject: gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOS ...................................................................... Patch Set 1: When Vadim mentioned it during the last weekly review call, I was quite surprised this was merged quickly, without a more comprehensive discussion around it. Have you done a careful review that those bit combinations really are not used anywhere else yet? Are we seure they don't clash e.g. with how Ericsson uses the Cbits? So on the BSC side there must not be any common code that makes assumptions that those osmocom-specific cbits are unversally applicable over all BTS types. Furthermore, even if the above is all fine, at the same time of merging this patch I would have expected a comprehensive related update to our Abis manual where all osmocom extensions to RSL and OML are documented (https://ftp.osmocom.org/docs/latest/osmobts-abis.pdf) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If33c1695922d110c0d2c60d5c0136caf2587194e Gerrit-Change-Number: 24420 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 08:14:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 08:21:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 08:21:40 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24430 ) Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... Patch Set 6: this is introducing the osmo-bts specific cbits in a lot of common/shared code of osmo-bsc, not just to the osmo-bts backend. By doing this without knowing if other BTS models (e.g. Ericsson) use the same approach for their VAMOS channel numbers, we risk that we are closing the door of ever supporting VAMOS on those. If the related use of c-bits was only in osmo-bts specific code, or if we knew Ericsson uses the same cbits assignment, then we would at least keep that door open. I'm not saying it's super critical, but with Rhizomatica deploying Ericsson gear, and us knowing it's VAMOS capable, I would like to make sure you are keeping in mind the potential consequences. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 30 May 2021 08:21:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 08:21:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 08:21:52 +0000 Subject: Change in osmo-bsc[master]: VTY: 'show lchan': show that lchan is in VAMOS mode In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24379 ) Change subject: VTY: 'show lchan': show that lchan is in VAMOS mode ...................................................................... Patch Set 13: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9f38712f941d60531526cc3395875655455909d9 Gerrit-Change-Number: 24379 Gerrit-PatchSet: 13 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 08:21:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 09:09:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 09:09:12 +0000 Subject: Change in osmo-bsc[master]: VTY: add 'vamos-subslot' to activate a secondary lchan In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24380 ) Change subject: VTY: add 'vamos-subslot' to activate a secondary lchan ...................................................................... Patch Set 13: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24380/13/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24380/13/src/osmo-bsc/bsc_vty.c at 6276 PS13, Line 6276: AMOS secondary shadow subslot, range <0-1> I don't see this 0-1 range being enforced in the code below? Shouldn't there be something to make sure that only <0-1> are valid values if vamos-sub-slot is used? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If44b6bdb78046502eb0b66529ae190a955d9978c Gerrit-Change-Number: 24380 Gerrit-PatchSet: 13 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 30 May 2021 09:09:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 09:10:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 09:10:49 +0000 Subject: Change in osmo-bsc[master]: VTY: add lchan re-assignment command In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24381 ) Change subject: VTY: add lchan re-assignment command ...................................................................... Patch Set 15: like the previous patch: I'm not seeing where there is code to prevent something like "vamos-sub-slot 3" being used by the user. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 Gerrit-Change-Number: 24381 Gerrit-PatchSet: 15 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 30 May 2021 09:10:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 09:11:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 09:11:11 +0000 Subject: Change in osmo-bsc[master]: log: assignment_fsm: drop newline from assignment_fail In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24382 ) Change subject: log: assignment_fsm: drop newline from assignment_fail ...................................................................... Patch Set 15: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib56e1f6a45c7e2c235f8ef0c8dea7151481677ab Gerrit-Change-Number: 24382 Gerrit-PatchSet: 15 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 09:11:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 09:11:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 09:11:29 +0000 Subject: Change in osmo-bsc[master]: log: assignment_fsm: tweak err msg for incompatible chan In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24383 ) Change subject: log: assignment_fsm: tweak err msg for incompatible chan ...................................................................... Patch Set 15: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifd8790923d54a27061708ff8077d509238b9c7dd Gerrit-Change-Number: 24383 Gerrit-PatchSet: 15 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 09:11:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 09:11:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 09:11:45 +0000 Subject: Change in osmo-bsc[master]: clarify bts_chan_load In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24384 ) Change subject: clarify bts_chan_load ...................................................................... Patch Set 15: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9bd80a08472018e69360ac5739979c7056d4f063 Gerrit-Change-Number: 24384 Gerrit-PatchSet: 15 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 09:11:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 09:12:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 09:12:47 +0000 Subject: Change in osmo-bsc[master]: get_any_lchan(): reduce minor code dup In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24385 ) Change subject: get_any_lchan(): reduce minor code dup ...................................................................... Patch Set 15: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I304a7333adc265e156f04b42a10bac6912f58ad2 Gerrit-Change-Number: 24385 Gerrit-PatchSet: 15 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 09:12:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 09:13:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 09:13:16 +0000 Subject: Change in osmo-bsc[master]: cosmetic loop simplification in gsm48_multirate_config() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24394 ) Change subject: cosmetic loop simplification in gsm48_multirate_config() ...................................................................... Patch Set 11: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I52424ad6a0bf499fe040cf0a1de00e636a0a40fe Gerrit-Change-Number: 24394 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 09:13:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 09:13:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 09:13:25 +0000 Subject: Change in osmo-bsc[master]: RSL: set default TEI according to TRX number In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24395 ) Change subject: RSL: set default TEI according to TRX number ...................................................................... Patch Set 11: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3c500f7a5afc9143d4ea7102ab96e52aeb67b4b6 Gerrit-Change-Number: 24395 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 09:13:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 09:13:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 09:13:36 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: lchan_fail() strings should not have a terminating newline In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24460 ) Change subject: lchan_fsm: lchan_fail() strings should not have a terminating newline ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I063fd5598add75c39338d90798189c10a0714094 Gerrit-Change-Number: 24460 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 30 May 2021 09:13:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 09:14:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 09:14:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 ) Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... Patch Set 10: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 09:14:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 09:15:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 09:15:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: allow ASP_RSL_UD on MSC_ConnHdlr RSL In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24412 ) Change subject: allow ASP_RSL_UD on MSC_ConnHdlr RSL ...................................................................... Patch Set 10: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24412 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: Icd04184ed87c359349d86c5e0893c2ce9de2f7f1 Gerrit-Change-Number: 24412 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 09:15:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 09:18:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 09:18:05 +0000 Subject: Change in libosmocore[master]: socket: add function to wait until a socket becomes writeable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24435 ) Change subject: socket: add function to wait until a socket becomes writeable ...................................................................... Patch Set 1: we have moved from select() to poll() some time ago for a reason: The file descriptor numbers could be > 1024, and that is not possible to express in select(). You are now re-introducing the use of select() without explaining why poll() cannot be used in this case, too. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1c68185120fa2a6c9b6cb8aa2a25232a44ff5508 Gerrit-Change-Number: 24435 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 09:18:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 09:20:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 09:20:23 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: refactor MGCP_DUMMY_LOAD In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24315 ) Change subject: mgcp_network: refactor MGCP_DUMMY_LOAD ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24315/2/include/osmocom/mgcp/mgcp_network.h File include/osmocom/mgcp/mgcp_network.h: https://gerrit.osmocom.org/c/osmo-mgw/+/24315/2/include/osmocom/mgcp/mgcp_network.h at 19 PS2, Line 19: memcmp(msgb_data(msg), rtp_dummy_payload, sizeof(rtp_dummy_payload)) == 0)) > when rtp_dummy_load is only one byte the compiler should optimize out the memcmp(). [?] how many hundreds of thousands of time are we executing this per second to care about optimizing away a memcmp? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I21d96cefeeb647958bfa1e22a0ea030884746fad Gerrit-Change-Number: 24315 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: neels Gerrit-Comment-Date: Sun, 30 May 2021 09:20:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 09:31:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 09:31:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... Patch Set 2: (3 comments) to be honest, I'm overall not very convinced by this patch. It looks more like a kludge/hack than a proper solution. In general, we should try to keep code as generic as possible and not include too many special use cases. If there is a common way to interface the NS_Provider with its consumer, then we should go for that rather than supporting two different ways. Ideally we also wouldn't have a new un-conditional dependency to NS_RAW from the NS_Provider_IPL4. If it's absolutely neccessary, one c ould think of #ifdef'ing it out and using ttcnpp, like we e.g. do in IPA_Emulation to avoid extra dependencies that otherwise are not there. Without spending more time on thinking about this in detail, I don't immediately have a better solution, but I think there should be some way to have a general interface betwene the provider and the consumer, without special-casing between the two existing consumers. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401/2/library/NS_Provider_IPL4.ttcn File library/NS_Provider_IPL4.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401/2/library/NS_Provider_IPL4.ttcn at 57 PS2, Line 57: integer vc_raw_idx as those two are mutually exclusive, one could introduce a union here to show those are two mutually excluded alternatives code can then use ischosen() to determine if either of the union alternatives has been selected or not (rather than checking for a component reference being null). https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401/2/library/NS_Provider_IPL4.ttcn at 60 PS2, Line 60: sig AFAICT, adding the raw NSVC is really different from the "normal" one, so it might make sense to keep the old signature as-is and add a second NSPIP_add_nsvc_raw() https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401/2/library/NS_Provider_IPL4.ttcn at 76 PS2, Line 76: connect(self:NSVC[i], nsvc.vc_raw:NSCP[nsvc.vc_raw_idx]); so the only difference between those two is that one has an array, and the other has not? this needs more thought. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 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: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 30 May 2021 09:31:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 09:33:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 09:33:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... Patch Set 2: isn't it possible to pass a port reference (rather than a component reference) around? if that is possible, the consumer could pass a port reference to the provider, and the provider wouldn't have to know anything about the type of the consumer component type and whether it uses a port array, an index, etc. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 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: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 30 May 2021 09:33:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 16:28:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 May 2021 16:28:48 +0000 Subject: Change in pysim[master]: utils: COMPREHENSION-TLV support In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24448 ) Change subject: utils: COMPREHENSION-TLV support ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8d969382b73fa152ee09c456fa4aee428fb36285 Gerrit-Change-Number: 24448 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 16:28:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 17:37:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 17:37:46 +0000 Subject: Change in pysim[master]: utils: Add bertlv_encode_tag() In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24450 to look at the new patch set (#2). Change subject: utils: Add bertlv_encode_tag() ...................................................................... utils: Add bertlv_encode_tag() We so far had decoders for BER-TLV tags, but no encoder yet. Change-Id: I4183546bed9d6232ddcefad764f4e67afcf8b2ed --- M pySim/utils.py 1 file changed, 45 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/50/24450/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4183546bed9d6232ddcefad764f4e67afcf8b2ed Gerrit-Change-Number: 24450 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 17:37:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 17:37:46 +0000 Subject: Change in pysim[master]: construct: Recursive normailzation of construct parse result In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24452 to look at the new patch set (#2). Change subject: construct: Recursive normailzation of construct parse result ...................................................................... construct: Recursive normailzation of construct parse result If we want to use construct parse results to generate JSON serializable dicts, we need to * apply the filter_dict() operation recursively, and * simplify the construct Container and ListContainer classes to a simple dict and/or list. We introduce a pySim.construct.parse_construct() helper which is subsequently used from all pySim.filesystem caller sites. Change-Id: I319414eb69808ef65895293832bb30519f45949d --- M pySim/construct.py M pySim/filesystem.py M pySim/tlv.py 3 files changed, 40 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/52/24452/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I319414eb69808ef65895293832bb30519f45949d Gerrit-Change-Number: 24452 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 17:37:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 17:37:48 +0000 Subject: Change in pysim[master]: fixup tlv References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24462 ) Change subject: fixup tlv ...................................................................... fixup tlv Change-Id: I48be0101b542f9c53e1c4858b9ab153ab60aa22d --- M pySim/tlv.py 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/62/24462/1 diff --git a/pySim/tlv.py b/pySim/tlv.py index 773e761..3b27b5e 100644 --- a/pySim/tlv.py +++ b/pySim/tlv.py @@ -315,10 +315,10 @@ if isinstance(other, TLV_IE_Collection): # adding one collection to another members = self.members + other.members - return TLV_IE_Collection(self.desc, members) + return TLV_IE_Collection(self.desc, nested=members) elif inspect.isclass(other) and issubclass(other, TLV_IE): # adding a member to a collection - return TLV_IE_Collection(self.desc, self.members + [other]) + return TLV_IE_Collection(self.desc, nested = self.members + [other]) else: raise TypeError -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I48be0101b542f9c53e1c4858b9ab153ab60aa22d Gerrit-Change-Number: 24462 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 17:37:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 17:37:48 +0000 Subject: Change in pysim[master]: pySim/commands: Add envelope() method for ENVELOPE command References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/24463 ) Change subject: pySim/commands: Add envelope() method for ENVELOPE command ...................................................................... pySim/commands: Add envelope() method for ENVELOPE command Change-Id: I2b5b6585ecbe00b54919b197428fe09a220757c6 --- M pySim/commands.py 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/63/24463/1 diff --git a/pySim/commands.py b/pySim/commands.py index 1fbea16..76b7cd5 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -425,3 +425,7 @@ data, sw = self._tp.send_apdu(self.cla_byte + '2800' + ('%02X' % chv_no) + '08' + fc) self._chv_process_sw('enable', chv_no, pin_code, sw) return (data, sw) + + def envelope(self, payload:str): + """Send one ENVELOPE command to the SIM""" + return self._tp.send_apdu_checksw('80c20000%02x%s' % (len(payload)//2, payload)) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2b5b6585ecbe00b54919b197428fe09a220757c6 Gerrit-Change-Number: 24463 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 17:40:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 17:40:03 +0000 Subject: Change in pysim[master]: Introduce new object-oriented TLV parser/decoder/encoder In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, fixeria, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24451 to look at the new patch set (#3). Change subject: Introduce new object-oriented TLV parser/decoder/encoder ...................................................................... Introduce new object-oriented TLV parser/decoder/encoder This introduces a new TLV library that heavily builds upon python object oriented concepts. Contrary to classic TLV parsers it doesn't focus on the structure of Tag, Length and binary Value only, but it supports actual decoding/interpretation of the value part into some kind of JSON serializable dict. The latter can be achieved by imperative encode/decode methods, or by using our existing declarative 'construct' based approach. The TLV library supports both BER-TLV and COMPREHENSION-TLV for both nested and non-nested TLV definitions. As an example we include TLV definitions for a number of CAT (Card Application Toolkit) IEs. Change-Id: I7fc1699443bc9d8a4e7cdd2687af9af7cc03c30e --- M docs/library.rst A pySim/cat.py A pySim/tlv.py 3 files changed, 618 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/51/24451/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7fc1699443bc9d8a4e7cdd2687af9af7cc03c30e Gerrit-Change-Number: 24451 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 17:40:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 17:40:03 +0000 Subject: Change in pysim[master]: construct: Recursive normailzation of construct parse result In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24452 to look at the new patch set (#3). Change subject: construct: Recursive normailzation of construct parse result ...................................................................... construct: Recursive normailzation of construct parse result If we want to use construct parse results to generate JSON serializable dicts, we need to * apply the filter_dict() operation recursively, and * simplify the construct Container and ListContainer classes to a simple dict and/or list. We introduce a pySim.construct.parse_construct() helper which is subsequently used from all pySim.filesystem caller sites. Change-Id: I319414eb69808ef65895293832bb30519f45949d --- M pySim/construct.py M pySim/filesystem.py 2 files changed, 36 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/52/24452/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I319414eb69808ef65895293832bb30519f45949d Gerrit-Change-Number: 24452 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 17:40:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 17:40:03 +0000 Subject: Change in pysim[master]: utils: Make filter_dict() transparently pass non-dict In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24453 to look at the new patch set (#3). Change subject: utils: Make filter_dict() transparently pass non-dict ...................................................................... utils: Make filter_dict() transparently pass non-dict Change-Id: Ia1802101a62e21f1ce894d80728f939bf3da5a39 --- M pySim/construct.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/53/24453/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia1802101a62e21f1ce894d80728f939bf3da5a39 Gerrit-Change-Number: 24453 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 17:40:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 17:40:03 +0000 Subject: Change in pysim[master]: filesystem: Introduce support for TLV parser In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24454 to look at the new patch set (#3). Change subject: filesystem: Introduce support for TLV parser ...................................................................... filesystem: Introduce support for TLV parser This adds an easy way for files to make use of the pySim.tlv parser. All a file has to do is to specify a _tlv member which points to either a TLV_IE or a TLV_IE_Collection instance. Change-Id: I59f456b4223ec88081e91cee168b654c69bcb5f4 --- M pySim/filesystem.py M pySim/tlv.py 2 files changed, 40 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/54/24454/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I59f456b4223ec88081e91cee168b654c69bcb5f4 Gerrit-Change-Number: 24454 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 17:40:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 17:40:03 +0000 Subject: Change in pysim[master]: ts_31_102: Start using pySim.tlv to implement more DF.5GS files In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24455 to look at the new patch set (#3). Change subject: ts_31_102: Start using pySim.tlv to implement more DF.5GS files ...................................................................... ts_31_102: Start using pySim.tlv to implement more DF.5GS files Change-Id: I8ef2d8c24530d13929282e1a1d2138d319b894c6 --- M pySim/ts_31_102.py 1 file changed, 76 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/55/24455/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8ef2d8c24530d13929282e1a1d2138d319b894c6 Gerrit-Change-Number: 24455 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 17:40:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 May 2021 17:40:03 +0000 Subject: Change in pysim[master]: pySim/commands: Add envelope() method for ENVELOPE command In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/pysim/+/24463 ) Change subject: pySim/commands: Add envelope() method for ENVELOPE command ...................................................................... pySim/commands: Add envelope() method for ENVELOPE command Change-Id: I2b5b6585ecbe00b54919b197428fe09a220757c6 --- M pySim/commands.py 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/63/24463/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2b5b6585ecbe00b54919b197428fe09a220757c6 Gerrit-Change-Number: 24463 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 18:35:13 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 30 May 2021 18:35:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... Patch Set 2: > Patch Set 2: > > (3 comments) > > to be honest, I'm overall not very convinced by this patch. It looks more like a kludge/hack than a proper solution. > > In general, we should try to keep code as generic as possible and not include too many special use cases. If there is a common way to interface the NS_Provider with its consumer, then we should go for that rather than supporting two different ways. > > Ideally we also wouldn't have a new un-conditional dependency to NS_RAW from the NS_Provider_IPL4. If it's absolutely neccessary, one c ould think of #ifdef'ing it out and using ttcnpp, like we e.g. do in IPA_Emulation to avoid extra dependencies that otherwise are not there. > > Without spending more time on thinking about this in detail, I don't immediately have a better solution, but I think there should be some way to have a general interface betwene the provider and the consumer, without special-casing between the two existing consumers. I agree this is very dirty. Ack on using a union, but maybe there is a better solution. Having a reference would be much better. I'm not sure about port references. I tried a little bit using that way but didn't worked out. Not sure if it's possible, but create a new component and derive RAW_NS/Emulation from it? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 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: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 30 May 2021 18:35:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 21:39:18 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 May 2021 21:39:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... Patch Set 2: > Patch Set 2: > > isn't it possible to pass a port reference (rather than a component reference) around? if that is possible, the consumer could pass a port reference to the provider, and the provider wouldn't have to know anything about the type of the consumer component type and whether it uses a port array, an index, etc. We do pass a port reference in BSC_Tests.ttcn, check f_logp() or f_vty_msc_allow_attach(). -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 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: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 30 May 2021 21:39:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 23:26:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 May 2021 23:26:23 +0000 Subject: Change in osmo-bsc[master]: eliminate lchan->rsl_cmode In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24354 ) Change subject: eliminate lchan->rsl_cmode ...................................................................... Patch Set 5: > Patch Set 5: > > what about the %x vs %d comment? do we already print the mode in hex in other places? then certainly we should also print it in hex here... normally the mode is valid and printed as a human readable string. printing in hex makes sense for an invalid / unknown mode value. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1c167b22bb6638a929488d093bde0f1a5fb227ad Gerrit-Change-Number: 24354 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 30 May 2021 23:26:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 23:30:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 May 2021 23:30:07 +0000 Subject: Change in osmo-bsc[master]: AMR config cleanup step 3: generate AMR LV on msg composition In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24358 ) Change subject: AMR config cleanup step 3: generate AMR LV on msg composition ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24358/2/src/osmo-bsc/gsm_04_08_rr.c File src/osmo-bsc/gsm_04_08_rr.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24358/2/src/osmo-bsc/gsm_04_08_rr.c at 514 PS2, Line 514: data[0] |= (modes_selected[1]->hysteresis & 0x0f) << 2; > You know you can do "data[0] = x | y;" right? ;) trying to keep as much similarity to the previous code as makes sense -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie57f9d0e3912632903d9740291225bfd1634ed47 Gerrit-Change-Number: 24358 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 23:30:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 23:37:47 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 May 2021 23:37:47 +0000 Subject: Change in osmo-bsc[master]: allow explixit TSC Set and TSC on chan activ / modif / assignment In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24369 ) Change subject: allow explixit TSC Set and TSC on chan activ / modif / assignment ...................................................................... Patch Set 9: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24369/7/src/osmo-bsc/gsm_04_08_rr.c File src/osmo-bsc/gsm_04_08_rr.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24369/7/src/osmo-bsc/gsm_04_08_rr.c at 694 PS7, Line 694: tsc = (lchan->modify.info.tsc >= 0) ? lchan->modify.info.tsc : gsm_ts_tsc(lchan->ts); /* FIXME */ > no response yet? ah damn, thanks for spotting this! why no response yet: it is quite hard work to click through gerrit to find actual comments. (you could say just read the gerrit mails but that is also a lot of noise, switched them off years ago) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic665125255d7354f5499d10dda1dd866ab243d24 Gerrit-Change-Number: 24369 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 May 2021 23:37:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 30 23:58:57 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 May 2021 23:58:57 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 10: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24374/10/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24374/10/src/osmo-bsc/bsc_vty.c at 2174 PS10, Line 2174: modify lchan > I would use modify-lchan as one word/token here, unless you are plannning to add other alternatiuves [?] multiple words: then what about "handover1 power budget interval <1-99>"? ;) (only adopted that from earlier ho config code, i did not invent this cmd myself) i have the pattern ".* lchan 0 0 1 0 .*" consistently re-appearing across VTY commands that I'm adding. (I found the "bts 0 trx 0 ts 1 ss 0" too long and less readable, but at least i'm using my own favorite vty cmd style *consistently*) i think it's nicer to use space, because there is no drawback of having separate words, and indeed it opens the option of introducing other keywords at any place in future. wouldn't be a big thing to add the dash there if you insist. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 30 May 2021 23:58:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 00:22:57 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 00:22:57 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24430 ) Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... Patch Set 6: > If the related use of c-bits was only in osmo-bts specific code, or if we knew Ericsson uses the same cbits assignment, then we would at least keep that door open. We use Osmocom specific VAMOS cbits only to talk to secondary VAMOS lchans. We only activate VAMOS shadow lchans for BTS that sent BTS_FEAT_VAMOS == 1. So far only osmo-bts gets this flag set to 1. So the Osmocom specific VAMOS cbits *are* only sent to osmo type BTS. It would indeed be nice to see how other vendors implement addressing VAMOS shadows... So far I don't know where to find such info. I don't really see a door closing for other vendors. If some other BTS model would also get the BTS_FEAT_VAMOS set to 1 in the future, we likely need to anyway special-case VAMOS indication for shadow lchans for each BTS model; then based on the actual BTS model value. At the moment, basing this alone on BTS_FEAT_VAMOS suffices (because that so far implies it being an osmo-bts). -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 31 May 2021 00:22:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 00:28:40 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 00:28:40 +0000 Subject: Change in osmo-bsc[master]: VTY: add 'vamos-subslot' to activate a secondary lchan In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24380 ) Change subject: VTY: add 'vamos-subslot' to activate a secondary lchan ...................................................................... Patch Set 13: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24380/13/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24380/13/src/osmo-bsc/bsc_vty.c at 6276 PS13, Line 6276: AMOS secondary shadow subslot, range <0-1> > I don't see this 0-1 range being enforced in the code below? Shouldn't there be something to make s [?] the enforcing of this range is done ... https://gerrit.osmocom.org/c/osmo-bsc/+/24380/13/src/osmo-bsc/bsc_vty.c at 6299 PS13, Line 6299: if (ss_nr >= ts->max_primary_lchans) { ...over here. For TCH/F max_primary_lchans == 1, and for TCH/H it is 2. If the number is above 0 for TCH/F or above 1 for TCH/H we get below err msg. When we should one day also add mixed-pchan VAMOS shadows (TCH/F + 2x VAMOS TCH/H), then a TCH/F could also allow vamos-sub-slot up to 1. So far we only support non-mixed pchan, so limiting by max_primary_lchans is what we currently want. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If44b6bdb78046502eb0b66529ae190a955d9978c Gerrit-Change-Number: 24380 Gerrit-PatchSet: 13 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 31 May 2021 00:28:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 00:29:06 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 00:29:06 +0000 Subject: Change in osmo-bsc[master]: VTY: add 'vamos-subslot' to activate a secondary lchan In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24380 ) Change subject: VTY: add 'vamos-subslot' to activate a secondary lchan ...................................................................... Patch Set 13: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If44b6bdb78046502eb0b66529ae190a955d9978c Gerrit-Change-Number: 24380 Gerrit-PatchSet: 13 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 31 May 2021 00:29:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 00:43:33 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 00:43:33 +0000 Subject: Change in osmo-bsc[master]: VTY: add lchan re-assignment command In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24381 ) Change subject: VTY: add lchan re-assignment command ...................................................................... Patch Set 15: > I'm not seeing where there is code to prevent something like "vamos-sub-slot 3" being used by the user. ack, here it is indeed missing -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 Gerrit-Change-Number: 24381 Gerrit-PatchSet: 15 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 31 May 2021 00:43:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 00:44:19 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 00:44:19 +0000 Subject: Change in osmo-bsc[master]: cosmetic loop simplification in gsm48_multirate_config() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24394 ) Change subject: cosmetic loop simplification in gsm48_multirate_config() ...................................................................... Patch Set 11: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I52424ad6a0bf499fe040cf0a1de00e636a0a40fe Gerrit-Change-Number: 24394 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 00:44:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 00:44:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 00:44:59 +0000 Subject: Change in osmo-bsc[master]: allow explixit TSC Set and TSC on chan activ / modif / assignment In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24369 to look at the new patch set (#10). Change subject: allow explixit TSC Set and TSC on chan activ / modif / assignment ...................................................................... allow explixit TSC Set and TSC on chan activ / modif / assignment Activating / modifying to a VAMOS mode will require picking specific TSC Set / TSC. It is a bad idea to pick the TSC in each message encoding function, rather make this choice centrally. So far we pick the training sequence code to use based on the timeslot configuration, and this TSC is determined only upon encoding the RSL messages. Instead, pick the TSC to use upon the initial lchan activation / modification request; store this in the request structs and pass through the activation / modification code paths. For VAMOS modes, we also need to pick a TSC Set. Do so also upon activ / modif request. Note that the TSC Set is not yet applied in this patch, it will be applied in upcoming VAMOS patches. The activ / modif request may pass -1 for tsc_set and/or tsc to indicate no specific choice of TSC Set and TSC, resulting in the same behavior as before this patch. For example, lchan->activate.info.tsc* may be passed as -1. The exact choice for tsc_set and tsc is then stored in lchan->activate.tsc*, i.e. one level up (the .info sub-struct is considered as immutable input args). The lchan->activate.tsc* are the values actually encoded in RSL messages. After the ACK, the lchan->activate.tsc* is stored in lchan->tsc* to indicate the TSC actually in use. Same for modif. Note that in 3GPP TS 45.002, the TSC Set are numbered 1 to 4, while the TSC are numbered 0 to 7. On the wire, though, TSC Set is sent as 0 to 3 value. This is a weird discrepancy, odd choice made by the spec authors. For conformance with the spec wording, I decided to pass the TSC Set number as a 1-4 ranged value, and only convert it to the 0-3 on-the-wire format upon message encoding. So log messages and VTY output will indicate the first TSC Set as "1", but the first TSC as "0", as defined in 3GPP TS 45.002, even if that is somewhat weird. Related: SYS#5315 OS#4940 Change-Id: Ic665125255d7354f5499d10dda1dd866ab243d24 --- M include/osmocom/bsc/assignment_fsm.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lcs_loc_req.c 8 files changed, 81 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/69/24369/10 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic665125255d7354f5499d10dda1dd866ab243d24 Gerrit-Change-Number: 24369 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 00:44:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 00:44:59 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 to look at the new patch set (#7). Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans Add the Osmocom-specific extension to indicate VAMOS shadow lchans in RSL, in lchan lookup and RSL message transmission. Note that RR messages containing cbits (Assignment Command, Handover Command, ...) must *not* send Osmocom specific cbits to the MS. Only the RSL messages directed to the BTS send Osmocom specific bits. Related: SYS#5315 OS#4940 Depends: If33c1695922d110c0d2c60d5c0136caf2587194e (libosmocore) Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lcs_loc_req.c M tests/handover/handover_test.c 7 files changed, 61 insertions(+), 39 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/30/24430/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 00:44:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 00:44:59 +0000 Subject: Change in osmo-bsc[master]: VTY: add lchan re-assignment command In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 to look at the new patch set (#16). Change subject: VTY: add lchan re-assignment command ...................................................................... VTY: add lchan re-assignment command Add VTY command to trigger an intra-cell re-assignment, also allowing to re-assign to a secondary VAMOS lchan. Related: SYS#5315 OS#4940 Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M tests/osmo-bsc.vty 4 files changed, 128 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/81/24381/16 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 Gerrit-Change-Number: 24381 Gerrit-PatchSet: 16 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 00:45:02 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 00:45:02 +0000 Subject: Change in osmo-bsc[master]: drop unused func decl gsm_lchan_as_pchan2chan_nr() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24464 ) Change subject: drop unused func decl gsm_lchan_as_pchan2chan_nr() ...................................................................... drop unused func decl gsm_lchan_as_pchan2chan_nr() Change-Id: I1c14e72d4387767349723ec8948149841b45d85a --- M include/osmocom/bsc/gsm_data.h 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/64/24464/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 18d259a..c0d94a5 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1029,8 +1029,6 @@ uint8_t gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, uint8_t ts_nr, uint8_t lchan_nr); uint8_t gsm_lchan2chan_nr(const struct gsm_lchan *lchan); -uint8_t gsm_lchan_as_pchan2chan_nr(const struct gsm_lchan *lchan, - enum gsm_phys_chan_config as_pchan); void gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1c14e72d4387767349723ec8948149841b45d85a Gerrit-Change-Number: 24464 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 00:46:04 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 00:46:04 +0000 Subject: Change in docker-playground[master]: add ttcn3-bsc-test-vamos In-Reply-To: References: Message-ID: Hello laforge, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/24413 to look at the new patch set (#3). Change subject: add ttcn3-bsc-test-vamos ...................................................................... add ttcn3-bsc-test-vamos The purpose is to run osmo-ttcn3-hacks/bsc/BSC_Tests_VAMOS.ttcn with osmo-bts-omldummy -f VAMOS (send BTS_FEAT_VAMOS = true). Change-Id: I2146388bf683cfba99cef5592b8b141c3a6eabb1 --- A ttcn3-bsc-test-vamos/BSC_Tests.cfg A ttcn3-bsc-test-vamos/Dockerfile A ttcn3-bsc-test-vamos/Makefile A ttcn3-bsc-test-vamos/jenkins.sh A ttcn3-bsc-test-vamos/osmo-bsc.cfg A ttcn3-bsc-test-vamos/osmo-stp.cfg 6 files changed, 659 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/13/24413/3 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2146388bf683cfba99cef5592b8b141c3a6eabb1 Gerrit-Change-Number: 24413 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 00:47:26 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 00:47:26 +0000 Subject: Change in osmo-bsc[master]: potential segfault: vty chan act: do not set AMR bits for EFR In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24393 ) Change subject: potential segfault: vty chan act: do not set AMR bits for EFR ...................................................................... potential segfault: vty chan act: do not set AMR bits for EFR The amr_mode parameter may be passed as -1 and is directly used as an array index in amr_modes[]. The AMR related switch case properly checks against a -1 index, but the EFR does not -- and should not use s15_s0. Change-Id: I9bae5b4fb8ab8c2002fe785e130dc9faeeda892c --- M src/osmo-bsc/bsc_vty.c 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index c482fb9..b964dbc 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6078,7 +6078,6 @@ info = (struct lchan_activate_info) { .activ_for = ACTIVATE_FOR_VTY, .chan_mode = GSM48_CMODE_SPEECH_EFR, - .s15_s0 = amr_modes[amr_mode], .requires_voice_stream = false, }; } else if (!strcmp(codec_str, "amr")) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9bae5b4fb8ab8c2002fe785e130dc9faeeda892c Gerrit-Change-Number: 24393 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:37:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:37:34 +0000 Subject: Change in osmo-bsc[master]: allow explixit TSC Set and TSC on chan activ / modif / assignment In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24369 to look at the new patch set (#11). Change subject: allow explixit TSC Set and TSC on chan activ / modif / assignment ...................................................................... allow explixit TSC Set and TSC on chan activ / modif / assignment Activating / modifying to a VAMOS mode will require picking specific TSC Set / TSC. It is a bad idea to pick the TSC in each message encoding function, rather make this choice centrally. So far we pick the training sequence code to use based on the timeslot configuration, and this TSC is determined only upon encoding the RSL messages. Instead, pick the TSC to use upon the initial lchan activation / modification request; store this in the request structs and pass through the activation / modification code paths. For VAMOS modes, we also need to pick a TSC Set. Do so also upon activ / modif request. Note that the TSC Set is not yet applied in this patch, it will be applied in upcoming VAMOS patches. The activ / modif request may pass -1 for tsc_set and/or tsc to indicate no specific choice of TSC Set and TSC, resulting in the same behavior as before this patch. For example, lchan->activate.info.tsc* may be passed as -1. The exact choice for tsc_set and tsc is then stored in lchan->activate.tsc*, i.e. one level up (the .info sub-struct is considered as immutable input args). The lchan->activate.tsc* are the values actually encoded in RSL messages. After the ACK, the lchan->activate.tsc* is stored in lchan->tsc* to indicate the TSC actually in use. Same for modif. Note that in 3GPP TS 45.002, the TSC Set are numbered 1 to 4, while the TSC are numbered 0 to 7. On the wire, though, TSC Set is sent as 0 to 3 value. This is a weird discrepancy, odd choice made by the spec authors. For conformance with the spec wording, I decided to pass the TSC Set number as a 1-4 ranged value, and only convert it to the 0-3 on-the-wire format upon message encoding. So log messages and VTY output will indicate the first TSC Set as "1", but the first TSC as "0", as defined in 3GPP TS 45.002, even if that is somewhat weird. Related: SYS#5315 OS#4940 Change-Id: Ic665125255d7354f5499d10dda1dd866ab243d24 --- M include/osmocom/bsc/assignment_fsm.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lcs_loc_req.c 8 files changed, 81 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/69/24369/11 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic665125255d7354f5499d10dda1dd866ab243d24 Gerrit-Change-Number: 24369 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:37:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:37:34 +0000 Subject: Change in osmo-bsc[master]: VTY: dump TSC Set and TSC for each timeslot In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24370 to look at the new patch set (#11). Change subject: VTY: dump TSC Set and TSC for each timeslot ...................................................................... VTY: dump TSC Set and TSC for each timeslot This is particularly interesting for VAMOS multiplexes, but also gives more prominence to this rather central aspect of GSM RF. Related: SYS#5315 OS#4940 Change-Id: I7842ff89bece6d88387dae056e350529bae6fc38 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/70/24370/11 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7842ff89bece6d88387dae056e350529bae6fc38 Gerrit-Change-Number: 24370 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:37:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:37:34 +0000 Subject: Change in osmo-bsc[master]: add fields to reflect nr of lchans in ts struct In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24371 to look at the new patch set (#11). Change subject: add fields to reflect nr of lchans in ts struct ...................................................................... add fields to reflect nr of lchans in ts struct So far the number of usable lchans is determined on-the-fly by the physical channel config. With VAMOS, this becomes more complex, namely determining whether the BTS is vamos capable. Instead of calling a function to determine the number of lchans for every use, rather place the number of valid lchans in int members of the timeslot struct, and initialize those during timeslot setup. Actual use of these new fields will follow in a subsequent patch, which introduces the ts_for_n_lchans() macro to replace current lchan iteration macros. Related: SYS#5315 OS#4940 Change-Id: I08027d79db71a23e874b729c4e6173b0f269ee4f --- M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/timeslot_fsm.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/timeslot_fsm.c M tests/handover/handover_test.c 5 files changed, 35 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/71/24371/11 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I08027d79db71a23e874b729c4e6173b0f269ee4f Gerrit-Change-Number: 24371 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:37:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:37:34 +0000 Subject: Change in osmo-bsc[master]: replace ts_*_for_each_lchan() with ts_for_n_lchans() In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24372 to look at the new patch set (#11). Change subject: replace ts_*_for_each_lchan() with ts_for_n_lchans() ...................................................................... replace ts_*_for_each_lchan() with ts_for_n_lchans() So far we have a couple of macros iterating a specific number of lchans, depending on dynamic timeslot state etc. With addition of VAMOS lchans, this would become more complex and bloated. Instead of separate iteration macros for each situation, only have one that takes a number of lchans as argument. That allows to more clearly pick the number of lchans, especially for non-trivial VAMOS scenarios. Related: SYS#5315 OS#4940 Change-Id: Ib2c6baf73a81ba371143ba5adc912aef6f79238d --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/chan_alloc.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_logic.c M src/osmo-bsc/lchan_select.c M src/osmo-bsc/timeslot_fsm.c M tests/handover/handover_test.c 10 files changed, 28 insertions(+), 54 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/72/24372/11 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib2c6baf73a81ba371143ba5adc912aef6f79238d Gerrit-Change-Number: 24372 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:37:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:37:34 +0000 Subject: Change in osmo-bsc[master]: ensure chan_mode comparisons in non-VAMOS mode In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24459 to look at the new patch set (#3). Change subject: ensure chan_mode comparisons in non-VAMOS mode ...................................................................... ensure chan_mode comparisons in non-VAMOS mode Both VAMOS- and non-VAMOS speech modes should result in indentical voice handling. So make sure that all chan_modes are converted to non-vamos before comparing / evaluating in switch statements. Change-Id: I791e7966b1f8eaa3299a8a46abeb313cf5136e0b --- M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c M src/osmo-bsc/lchan_select.c 9 files changed, 25 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/59/24459/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I791e7966b1f8eaa3299a8a46abeb313cf5136e0b Gerrit-Change-Number: 24459 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:37:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:37:34 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 to look at the new patch set (#12). Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... implement Channel Mode Modify to VAMOS mode Related: SYS#5315 OS#4940 Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c M tests/osmo-bsc.vty 6 files changed, 186 insertions(+), 40 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/74/24374/12 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 12 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:37:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:37:34 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24458 to look at the new patch set (#3). Change subject: lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking ...................................................................... lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking lchan->activate.info.ch_mode_rate should remain unchanged, it is the immutable request data. However, for VAMOS, we will want to automatically see that the chan_mode is chosen correctly. As a first step, place a mutable ch_mode_rate copy at lchan->activate.ch_mode_rate, i.e. not in .activate.info, but in .activate. Use that everywhere. This is mostly a non-functional change, preparing for a subsequent patch that adds handling of VAMOS shadow lchans. As side effect of adding lchan_activate_set_ch_mode_rate_and_mr_config() after MODE_MODIF_ACK (enabling the voice stream after a channel mode modify), fix AMR config: the call to lchan_mr_config() was missing. Change-Id: Icc9cc7481b3984fdca34eef49ea91ad3388c06fe --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c 5 files changed, 20 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/58/24458/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icc9cc7481b3984fdca34eef49ea91ad3388c06fe Gerrit-Change-Number: 24458 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:37:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:37:34 +0000 Subject: Change in osmo-bsc[master]: implement CHANnel ACTIVate to VAMOS mode In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 to look at the new patch set (#12). Change subject: implement CHANnel ACTIVate to VAMOS mode ...................................................................... implement CHANnel ACTIVate to VAMOS mode Related: SYS#5315 OS#4940 Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/lchan_fsm.c M tests/osmo-bsc.vty 5 files changed, 52 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/75/24375/12 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec Gerrit-Change-Number: 24375 Gerrit-PatchSet: 12 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:37:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:37:34 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 to look at the new patch set (#8). Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans Add the Osmocom-specific extension to indicate VAMOS shadow lchans in RSL, in lchan lookup and RSL message transmission. Note that RR messages containing cbits (Assignment Command, Handover Command, ...) must *not* send Osmocom specific cbits to the MS. Only the RSL messages directed to the BTS send Osmocom specific bits. Related: SYS#5315 OS#4940 Depends: If33c1695922d110c0d2c60d5c0136caf2587194e (libosmocore) Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lcs_loc_req.c M tests/handover/handover_test.c 7 files changed, 61 insertions(+), 41 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/30/24430/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:37:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:37:34 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: lchan_fail() strings should not have a terminating newline In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24460 to look at the new patch set (#7). Change subject: lchan_fsm: lchan_fail() strings should not have a terminating newline ...................................................................... lchan_fsm: lchan_fail() strings should not have a terminating newline Change-Id: I063fd5598add75c39338d90798189c10a0714094 --- M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c 2 files changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/60/24460/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I063fd5598add75c39338d90798189c10a0714094 Gerrit-Change-Number: 24460 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:37:42 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:37:42 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: introduce lchan.modify.ch_mode_rate to allow tweaking References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24465 ) Change subject: lchan_fsm: introduce lchan.modify.ch_mode_rate to allow tweaking ...................................................................... lchan_fsm: introduce lchan.modify.ch_mode_rate to allow tweaking lchan->modify.info.ch_mode_rate should remain unchanged, it is the immutable request data. However, for VAMOS, we will want to automatically see that the chan_mode is chosen correctly. As a first step, place a mutable ch_mode_rate copy at lchan->modify.ch_mode_rate, i.e. not in .modify.info, but in .modify. Use that everywhere. This is a non-functional change, preparing for a subsequent patch that adds handling of VAMOS shadow lchans. Change-Id: I8a3daac0287f15a59d3688388bb13e55facb2cea --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c 4 files changed, 13 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/65/24465/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index d128db7..831463a 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -657,6 +657,7 @@ struct { struct lchan_modify_info info; + struct channel_mode_and_rate ch_mode_rate; struct gsm48_multi_rate_conf mr_conf_filtered; int tsc_set; uint8_t tsc; diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 7fe961e..9378ecb 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -634,7 +634,7 @@ struct rsl_ie_chan_mode cm; struct gsm_bts *bts = lchan->ts->trx->bts; - rc = channel_mode_from_lchan(&cm, lchan, &lchan->modify.info.ch_mode_rate); + rc = channel_mode_from_lchan(&cm, lchan, &lchan->modify.ch_mode_rate); if (rc < 0) return rc; @@ -653,7 +653,7 @@ msgb_tlv_put(msg, RSL_IE_ENCR_INFO, rc, encr_info); } - if (gsm48_chan_mode_to_non_vamos(lchan->modify.info.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { + if (gsm48_chan_mode_to_non_vamos(lchan->modify.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { rc = put_mr_config_for_bts(msg, &lchan->modify.mr_conf_filtered, (lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); if (rc) { diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 6e86c9e..058a107 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -696,7 +696,7 @@ cmm->mode = mode; /* in case of multi rate we need to attach a config */ - if (gsm48_chan_mode_to_non_vamos(lchan->modify.info.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { + if (gsm48_chan_mode_to_non_vamos(lchan->modify.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { int rc = put_mr_config_for_ms(msg, &lchan->modify.mr_conf_filtered, (lchan->type == GSM_LCHAN_TCH_F) ? &bts->mr_full : &bts->mr_half); if (rc) { @@ -718,10 +718,10 @@ LOG_LCHAN(msg->lchan, LOGL_DEBUG, "CHANNEL MODE MODIFY ACK for %s\n", gsm48_chan_mode_name(mod->mode)); - if (mod->mode != msg->lchan->modify.info.ch_mode_rate.chan_mode) { + if (mod->mode != msg->lchan->modify.ch_mode_rate.chan_mode) { LOG_LCHAN(msg->lchan, LOGL_ERROR, "CHANNEL MODE MODIFY ACK has wrong mode: Wanted: %s Got: %s\n", - gsm48_chan_mode_name(msg->lchan->modify.info.ch_mode_rate.chan_mode), + gsm48_chan_mode_name(msg->lchan->modify.ch_mode_rate.chan_mode), gsm48_chan_mode_name(mod->mode)); return -1; } diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index a28f58d..a29ddae 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -928,7 +928,7 @@ static void lchan_fsm_wait_rr_chan_mode_modify_ack_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); - gsm48_lchan_modify(lchan, lchan->modify.info.ch_mode_rate.chan_mode); + gsm48_lchan_modify(lchan, lchan->modify.ch_mode_rate.chan_mode); } static void lchan_fsm_wait_rr_chan_mode_modify_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -969,7 +969,7 @@ case LCHAN_EV_RSL_CHAN_MODE_MODIFY_ACK: /* The Channel Mode Modify was ACKed, now the requested values become the accepted and used values. */ - lchan->current_ch_mode_rate = lchan->modify.info.ch_mode_rate; + lchan->current_ch_mode_rate = lchan->modify.ch_mode_rate; lchan->current_mr_conf = lchan->modify.mr_conf_filtered; lchan->tsc_set = lchan->modify.tsc_set; lchan->tsc = lchan->modify.tsc; @@ -981,7 +981,7 @@ lchan->activate.info = (struct lchan_activate_info){ .activ_for = ACTIVATE_FOR_MODE_MODIFY_RTP, .for_conn = lchan->conn, - .ch_mode_rate = lchan->modify.info.ch_mode_rate, + .ch_mode_rate = lchan->modify.ch_mode_rate, .requires_voice_stream = true, .msc_assigned_cic = lchan->modify.info.msc_assigned_cic, }; @@ -1124,6 +1124,9 @@ use_mgwep_ci = lchan_use_mgw_endpoint_ci_bts(lchan); + lchan->modify.ch_mode_rate = lchan->modify.info.ch_mode_rate; + /* future: automatically adjust chan_mode in lchan->modify.ch_mode_rate */ + if (gsm48_chan_mode_to_non_vamos(modif_info->ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { if (lchan_mr_config(&lchan->modify.mr_conf_filtered, lchan, modif_info->ch_mode_rate.s15_s0) < 0) { @@ -1149,7 +1152,7 @@ (use_mgwep_ci ? osmo_mgcpc_ep_ci_name(use_mgwep_ci) : "new") : "none", gsm_lchant_name(lchan->type), - gsm48_chan_mode_name(lchan->modify.info.ch_mode_rate.chan_mode), + gsm48_chan_mode_name(lchan->modify.ch_mode_rate.chan_mode), lchan->modify.tsc_set, lchan->modify.tsc); lchan_fsm_state_chg(LCHAN_ST_WAIT_RR_CHAN_MODE_MODIFY_ACK); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8a3daac0287f15a59d3688388bb13e55facb2cea Gerrit-Change-Number: 24465 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:37:43 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:37:43 +0000 Subject: Change in osmo-bsc[master]: add missing AMR config for RTP activation after mode modify References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24466 ) Change subject: add missing AMR config for RTP activation after mode modify ...................................................................... add missing AMR config for RTP activation after mode modify Add function lchan_activate_set_ch_mode_rate_and_mr_config() and call it for both plain channel activation and after a mode modify that needs RTP activation. The AMR config was missing after Mode Modify. Change-Id: I842fe7a14a91d1ec123cb4a3f52afe34456c03e3 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 19 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/66/24466/1 diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index c667e92..f423bf5 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -604,6 +604,21 @@ } } +static int lchan_activate_set_ch_mode_rate_and_mr_config(struct gsm_lchan *lchan) +{ + struct osmo_fsm_inst *fi = lchan->fi; + lchan->activate.ch_mode_rate = lchan->activate.info.ch_mode_rate; + /* future: automatically adjust chan_mode in lchan->activate.ch_mode_rate */ + + if (gsm48_chan_mode_to_non_vamos(lchan->activate.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { + if (lchan_mr_config(&lchan->activate.mr_conf_filtered, lchan, lchan->activate.ch_mode_rate.s15_s0) < 0) { + lchan_fail("Can not generate multirate configuration IE"); + return -EINVAL; + } + } + return 0; +} + static void lchan_fsm_wait_ts_ready_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); @@ -639,15 +654,8 @@ lchan->bs_power = bts->bs_power_ctrl.bs_power_val_db / 2; } - lchan->activate.ch_mode_rate = lchan->activate.info.ch_mode_rate; - /* future: automatically adjust chan_mode in lchan->activate.ch_mode_rate */ - - if (gsm48_chan_mode_to_non_vamos(lchan->activate.ch_mode_rate.chan_mode) == GSM48_CMODE_SPEECH_AMR) { - if (lchan_mr_config(&lchan->activate.mr_conf_filtered, lchan, lchan->activate.ch_mode_rate.s15_s0) < 0) { - lchan_fail("Can not generate multirate configuration IE\n"); - return; - } - } + if (lchan_activate_set_ch_mode_rate_and_mr_config(lchan)) + return; use_mgwep_ci = lchan_use_mgw_endpoint_ci_bts(lchan); @@ -1000,8 +1008,8 @@ .requires_voice_stream = true, .msc_assigned_cic = lchan->modify.info.msc_assigned_cic, }; - lchan->activate.ch_mode_rate = lchan->activate.info.ch_mode_rate; - /* future: automatically adjust chan_mode in lchan->activate.ch_mode_rate */ + if (lchan_activate_set_ch_mode_rate_and_mr_config(lchan)) + return; lchan->activate.concluded = false; lchan_fsm_state_chg(LCHAN_ST_WAIT_RLL_RTP_ESTABLISH); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I842fe7a14a91d1ec123cb4a3f52afe34456c03e3 Gerrit-Change-Number: 24466 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:15 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:15 +0000 Subject: Change in osmo-bsc[master]: add VAMOS cmodes to chan_mode_to_chan_type() In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24457 ) Change subject: add VAMOS cmodes to chan_mode_to_chan_type() ...................................................................... Abandoned obsoleted by https://gerrit.osmocom.org/c/osmo-bsc/+/24459 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I00cfda71cf731e06c258d8dc0e3f53bb51fb9deb Gerrit-Change-Number: 24457 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:28 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:28 +0000 Subject: Change in osmo-bsc[master]: add VAMOS cmodes to chan_mode_to_rsl_cmod_spd() In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24373 ) Change subject: add VAMOS cmodes to chan_mode_to_rsl_cmod_spd() ...................................................................... Abandoned obsoleted by https://gerrit.osmocom.org/c/osmo-bsc/+/24459 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89c929e936151b4ed010114197cf8e6ea85193ff Gerrit-Change-Number: 24373 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:59 +0000 Subject: Change in osmo-bsc[master]: add missing AMR config for RTP activation after mode modify In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc/+/24466 ) Change subject: add missing AMR config for RTP activation after mode modify ...................................................................... add missing AMR config for RTP activation after mode modify Add function lchan_activate_set_ch_mode_rate_and_mr_config() and call it for both plain channel activation and after a mode modify that needs RTP activation. The AMR config was missing after Mode Modify. Related: SYS#5315 OS#4940 Change-Id: I842fe7a14a91d1ec123cb4a3f52afe34456c03e3 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 19 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/66/24466/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I842fe7a14a91d1ec123cb4a3f52afe34456c03e3 Gerrit-Change-Number: 24466 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:59 +0000 Subject: Change in osmo-bsc[master]: implement CHANnel ACTIVate to VAMOS mode In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 to look at the new patch set (#13). Change subject: implement CHANnel ACTIVate to VAMOS mode ...................................................................... implement CHANnel ACTIVate to VAMOS mode Related: SYS#5315 OS#4940 Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/lchan_fsm.c M tests/osmo-bsc.vty 5 files changed, 52 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/75/24375/13 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec Gerrit-Change-Number: 24375 Gerrit-PatchSet: 13 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:59 +0000 Subject: Change in osmo-bsc[master]: RR Assignment for VAMOS: send TSC Set In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24376 to look at the new patch set (#13). Change subject: RR Assignment for VAMOS: send TSC Set ...................................................................... RR Assignment for VAMOS: send TSC Set We already send the TSC Set in the RSL Channel Activation, telling the BTS about the TSC Set. The MS needs to be instructed of the TSC Set in the RR Assignment Command. The first code to actually do an Assignment to a VAMOS activated lchan will follow in If006f5caaf83b07675f57e5665cfa79328da55e6. Change-Id: Ibf3b6d276fadf724c16a5225c03e96a27a056153 --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/76/24376/13 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf3b6d276fadf724c16a5225c03e96a27a056153 Gerrit-Change-Number: 24376 Gerrit-PatchSet: 13 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:59 +0000 Subject: Change in osmo-bsc[master]: add VAMOS secondary lchans to timeslot struct In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24377 to look at the new patch set (#14). Change subject: add VAMOS secondary lchans to timeslot struct ...................................................................... add VAMOS secondary lchans to timeslot struct So far there is a bunch of code setting a primary lchan in VAMOS mode. This patch now adds the actual secondary "shadow" lchans that may be combined with a primary lchan in VAMOS mode to form a multiplex. VAMOS lchans are put in the same ts->lchan[] array that keeps the primary lchans. They are at most two additional usable lchans (for a TCH/H shadow) added to either TCH/F or TCH/H. Keeping these in the same array allows looping over all lchans easily. The ts->max_primary_lchans indicates the index of the first VAMOS shadow lchan. Related: SYS#5315 OS#4940 Change-Id: I928af99498bba488d317693f3144d4fccbbe9af3 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/timeslot_fsm.c 5 files changed, 105 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/77/24377/14 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I928af99498bba488d317693f3144d4fccbbe9af3 Gerrit-Change-Number: 24377 Gerrit-PatchSet: 14 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:59 +0000 Subject: Change in osmo-bsc[master]: update the lchan name to always reflect VAMOS shadowness In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24461 to look at the new patch set (#5). Change subject: update the lchan name to always reflect VAMOS shadowness ...................................................................... update the lchan name to always reflect VAMOS shadowness Change gsm_lchan_name_compute() to a function that in-place updates the lchan->name. That allows calling it numerous times with the talloc handled internally. Rename it to lchan_update_name(). Add 'shadow' to lchan_update_name() and lchan_fsm_update_id() for VAMOS shadow lchans, and also print the lchan index that it is a shadow for, instead of the index in the lchan array. When set_pchan_is() updates the VAMOSness of the lchans, call lchan_fsm_update_id(). From lchan_fsm_update_id() also call lchan_update_name(). This is a bit convoluted for legacy reasons. There are utility programs and C tests using bts_trx.c but not lchan_fsm.c. lchan_update_name() lives in gsm_data.c for that reason. This patch calls lchan_update_name() from lchan_fsm_update_id() and not vice versa to avoid having to add stubbed lchan_fsm_update_id() functions to all utility programs and C tests. We can't easily unify the lchan->name and lchan->fi->id without lots of refactoring rippling through all those little utility programs and C tests. Change-Id: I7c2bae3b895a91f1b99b4147ecc0e3009cb7439a --- M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/lchan_fsm.h M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/timeslot_fsm.c 7 files changed, 25 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/61/24461/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c2bae3b895a91f1b99b4147ecc0e3009cb7439a Gerrit-Change-Number: 24461 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:59 +0000 Subject: Change in osmo-bsc[master]: rsl_lchan_lookup(): turn cbits if-cascade into a switch() In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24428 to look at the new patch set (#8). Change subject: rsl_lchan_lookup(): turn cbits if-cascade into a switch() ...................................................................... rsl_lchan_lookup(): turn cbits if-cascade into a switch() There is some odd repetition of macros with all possible subslot indexes, but now we are using the defined macros instead of magic numbers, making it easier to see that it is correct. Also this allows trivially adding VAMOS cbits cases to the existing switch() in a subsequent patch. Change-Id: I4c6ce2f4ca999c19a58909b9adb849a3b8b6ffc8 --- M src/osmo-bsc/bts_trx.c 1 file changed, 28 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/28/24428/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4c6ce2f4ca999c19a58909b9adb849a3b8b6ffc8 Gerrit-Change-Number: 24428 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:59 +0000 Subject: Change in osmo-bsc[master]: rsl_lchan_lookup(): add comment explaining ts_is_capable_of_pchan() In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24429 to look at the new patch set (#8). Change subject: rsl_lchan_lookup(): add comment explaining ts_is_capable_of_pchan() ...................................................................... rsl_lchan_lookup(): add comment explaining ts_is_capable_of_pchan() Change-Id: Ie3699db496cfb690ac9302ccd177cdd77dc57ebb --- M src/osmo-bsc/bts_trx.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/29/24429/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie3699db496cfb690ac9302ccd177cdd77dc57ebb Gerrit-Change-Number: 24429 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:59 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 to look at the new patch set (#9). Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans Add the Osmocom-specific extension to indicate VAMOS shadow lchans in RSL, in lchan lookup and RSL message transmission. Note that RR messages containing cbits (Assignment Command, Handover Command, ...) must *not* send Osmocom specific cbits to the MS. Only the RSL messages directed to the BTS send Osmocom specific bits. Related: SYS#5315 OS#4940 Depends: If33c1695922d110c0d2c60d5c0136caf2587194e (libosmocore) Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lcs_loc_req.c M tests/handover/handover_test.c 7 files changed, 61 insertions(+), 41 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/30/24430/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:59 +0000 Subject: Change in osmo-bsc[master]: VTY: 'show lchan': show that lchan is in VAMOS mode In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24379 to look at the new patch set (#16). Change subject: VTY: 'show lchan': show that lchan is in VAMOS mode ...................................................................... VTY: 'show lchan': show that lchan is in VAMOS mode Related: SYS#5315 OS#4940 Change-Id: I9f38712f941d60531526cc3395875655455909d9 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/79/24379/16 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9f38712f941d60531526cc3395875655455909d9 Gerrit-Change-Number: 24379 Gerrit-PatchSet: 16 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:59 +0000 Subject: Change in osmo-bsc[master]: VTY: add 'vamos-subslot' to activate a secondary lchan In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24380 to look at the new patch set (#16). Change subject: VTY: add 'vamos-subslot' to activate a secondary lchan ...................................................................... VTY: add 'vamos-subslot' to activate a secondary lchan Related: SYS#5315 OS#4940 Change-Id: If44b6bdb78046502eb0b66529ae190a955d9978c --- M src/osmo-bsc/bsc_vty.c M tests/osmo-bsc.vty 2 files changed, 27 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/80/24380/16 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If44b6bdb78046502eb0b66529ae190a955d9978c Gerrit-Change-Number: 24380 Gerrit-PatchSet: 16 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:59 +0000 Subject: Change in osmo-bsc[master]: VTY: add lchan re-assignment command In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 to look at the new patch set (#18). Change subject: VTY: add lchan re-assignment command ...................................................................... VTY: add lchan re-assignment command Add VTY command to trigger an intra-cell re-assignment, also allowing to re-assign to a secondary VAMOS lchan. Related: SYS#5315 OS#4940 Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M tests/osmo-bsc.vty 4 files changed, 128 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/81/24381/18 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If006f5caaf83b07675f57e5665cfa79328da55e6 Gerrit-Change-Number: 24381 Gerrit-PatchSet: 18 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:59 +0000 Subject: Change in osmo-bsc[master]: log: assignment_fsm: drop newline from assignment_fail In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24382 to look at the new patch set (#18). Change subject: log: assignment_fsm: drop newline from assignment_fail ...................................................................... log: assignment_fsm: drop newline from assignment_fail Drop terminating newline from an assignment_fail() call which causes an erratic line feed in logging. Change-Id: Ib56e1f6a45c7e2c235f8ef0c8dea7151481677ab --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/82/24382/18 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib56e1f6a45c7e2c235f8ef0c8dea7151481677ab Gerrit-Change-Number: 24382 Gerrit-PatchSet: 18 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:59 +0000 Subject: Change in osmo-bsc[master]: log: assignment_fsm: tweak err msg for incompatible chan In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24383 to look at the new patch set (#18). Change subject: log: assignment_fsm: tweak err msg for incompatible chan ...................................................................... log: assignment_fsm: tweak err msg for incompatible chan Related: SYS#5315 OS#4940 Change-Id: Ifd8790923d54a27061708ff8077d509238b9c7dd --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/83/24383/18 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifd8790923d54a27061708ff8077d509238b9c7dd Gerrit-Change-Number: 24383 Gerrit-PatchSet: 18 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:59 +0000 Subject: Change in osmo-bsc[master]: clarify bts_chan_load In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24384 to look at the new patch set (#18). Change subject: clarify bts_chan_load ...................................................................... clarify bts_chan_load Change-Id: I9bd80a08472018e69360ac5739979c7056d4f063 --- M src/osmo-bsc/chan_alloc.c 1 file changed, 6 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/84/24384/18 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9bd80a08472018e69360ac5739979c7056d4f063 Gerrit-Change-Number: 24384 Gerrit-PatchSet: 18 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:59 +0000 Subject: Change in osmo-bsc[master]: get_any_lchan(): reduce minor code dup In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24385 to look at the new patch set (#18). Change subject: get_any_lchan(): reduce minor code dup ...................................................................... get_any_lchan(): reduce minor code dup Change-Id: I304a7333adc265e156f04b42a10bac6912f58ad2 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 4 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/85/24385/18 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I304a7333adc265e156f04b42a10bac6912f58ad2 Gerrit-Change-Number: 24385 Gerrit-PatchSet: 18 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:59 +0000 Subject: Change in osmo-bsc[master]: RSL: set default TEI according to TRX number In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24395 to look at the new patch set (#14). Change subject: RSL: set default TEI according to TRX number ...................................................................... RSL: set default TEI according to TRX number Change-Id: I3c500f7a5afc9143d4ea7102ab96e52aeb67b4b6 --- M src/osmo-bsc/bts_trx.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/95/24395/14 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3c500f7a5afc9143d4ea7102ab96e52aeb67b4b6 Gerrit-Change-Number: 24395 Gerrit-PatchSet: 14 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:59 +0000 Subject: Change in osmo-bsc[master]: cosmetic loop simplification in gsm48_multirate_config() In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24394 to look at the new patch set (#14). Change subject: cosmetic loop simplification in gsm48_multirate_config() ...................................................................... cosmetic loop simplification in gsm48_multirate_config() Change-Id: I52424ad6a0bf499fe040cf0a1de00e636a0a40fe --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/94/24394/14 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I52424ad6a0bf499fe040cf0a1de00e636a0a40fe Gerrit-Change-Number: 24394 Gerrit-PatchSet: 14 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 05:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 05:39:59 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: lchan_fail() strings should not have a terminating newline In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24460 to look at the new patch set (#8). Change subject: lchan_fsm: lchan_fail() strings should not have a terminating newline ...................................................................... lchan_fsm: lchan_fail() strings should not have a terminating newline Change-Id: I063fd5598add75c39338d90798189c10a0714094 --- M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c 2 files changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/60/24460/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I063fd5598add75c39338d90798189c10a0714094 Gerrit-Change-Number: 24460 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 06:49:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 06:49:34 +0000 Subject: Change in pysim[master]: construct: Recursive normalization of construct parse result In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24452 to look at the new patch set (#4). Change subject: construct: Recursive normalization of construct parse result ...................................................................... construct: Recursive normalization of construct parse result If we want to use construct parse results to generate JSON serializable dicts, we need to * apply the filter_dict() operation recursively, and * simplify the construct Container and ListContainer classes to a simple dict and/or list. We introduce a pySim.construct.parse_construct() helper which is subsequently used from all pySim.filesystem caller sites. Change-Id: I319414eb69808ef65895293832bb30519f45949d --- M pySim/construct.py M pySim/filesystem.py 2 files changed, 36 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/52/24452/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I319414eb69808ef65895293832bb30519f45949d Gerrit-Change-Number: 24452 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 06:49:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 06:49:34 +0000 Subject: Change in pysim[master]: utils: Make filter_dict() transparently pass non-dict In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24453 to look at the new patch set (#4). Change subject: utils: Make filter_dict() transparently pass non-dict ...................................................................... utils: Make filter_dict() transparently pass non-dict Change-Id: Ia1802101a62e21f1ce894d80728f939bf3da5a39 --- M pySim/construct.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/53/24453/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia1802101a62e21f1ce894d80728f939bf3da5a39 Gerrit-Change-Number: 24453 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 06:49:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 06:49:34 +0000 Subject: Change in pysim[master]: filesystem: Introduce support for TLV parser In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24454 to look at the new patch set (#4). Change subject: filesystem: Introduce support for TLV parser ...................................................................... filesystem: Introduce support for TLV parser This adds an easy way for files to make use of the pySim.tlv parser. All a file has to do is to specify a _tlv member which points to either a TLV_IE or a TLV_IE_Collection instance. Change-Id: I59f456b4223ec88081e91cee168b654c69bcb5f4 --- M pySim/filesystem.py M pySim/tlv.py 2 files changed, 40 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/54/24454/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I59f456b4223ec88081e91cee168b654c69bcb5f4 Gerrit-Change-Number: 24454 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 06:49:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 06:49:34 +0000 Subject: Change in pysim[master]: ts_31_102: Start using pySim.tlv to implement more DF.5GS files In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24455 to look at the new patch set (#4). Change subject: ts_31_102: Start using pySim.tlv to implement more DF.5GS files ...................................................................... ts_31_102: Start using pySim.tlv to implement more DF.5GS files Change-Id: I8ef2d8c24530d13929282e1a1d2138d319b894c6 --- M pySim/ts_31_102.py 1 file changed, 76 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/55/24455/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8ef2d8c24530d13929282e1a1d2138d319b894c6 Gerrit-Change-Number: 24455 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 06:49:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 06:49:34 +0000 Subject: Change in pysim[master]: pySim/commands: Add envelope() method for ENVELOPE command In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24463 to look at the new patch set (#3). Change subject: pySim/commands: Add envelope() method for ENVELOPE command ...................................................................... pySim/commands: Add envelope() method for ENVELOPE command Change-Id: I2b5b6585ecbe00b54919b197428fe09a220757c6 --- M pySim/commands.py 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/63/24463/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2b5b6585ecbe00b54919b197428fe09a220757c6 Gerrit-Change-Number: 24463 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 06:54:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 06:54:43 +0000 Subject: Change in pysim[master]: ts_31_102: Start using pySim.tlv to implement more DF.5GS files In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/24455 to look at the new patch set (#5). Change subject: ts_31_102: Start using pySim.tlv to implement more DF.5GS files ...................................................................... ts_31_102: Start using pySim.tlv to implement more DF.5GS files Change-Id: I8ef2d8c24530d13929282e1a1d2138d319b894c6 --- M pySim/ts_31_102.py 1 file changed, 77 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/55/24455/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8ef2d8c24530d13929282e1a1d2138d319b894c6 Gerrit-Change-Number: 24455 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 08:11:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 08:11:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: add bsc/BSC_Tests_VAMOS.ttcn In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 ) Change subject: add bsc/BSC_Tests_VAMOS.ttcn ...................................................................... Patch Set 10: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24411 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: I2c504099163a30ea102cbd26d3615ca2e5ce1e64 Gerrit-Change-Number: 24411 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 08:11:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 08:12:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 08:12:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: allow ASP_RSL_UD on MSC_ConnHdlr RSL In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24412 ) Change subject: allow ASP_RSL_UD on MSC_ConnHdlr RSL ...................................................................... Patch Set 10: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24412 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: Icd04184ed87c359349d86c5e0893c2ce9de2f7f1 Gerrit-Change-Number: 24412 Gerrit-PatchSet: 10 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 08:12:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 08:35:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 08:35:41 +0000 Subject: Change in osmo-bsc[master]: drop unused func decl gsm_lchan_as_pchan2chan_nr() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24464 ) Change subject: drop unused func decl gsm_lchan_as_pchan2chan_nr() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1c14e72d4387767349723ec8948149841b45d85a Gerrit-Change-Number: 24464 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 08:35:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 08:39:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 08:39:49 +0000 Subject: Change in docker-playground[master]: add ttcn3-bsc-test-vamos In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24413 ) Change subject: add ttcn3-bsc-test-vamos ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2146388bf683cfba99cef5592b8b141c3a6eabb1 Gerrit-Change-Number: 24413 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 08:39:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 08:43:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 08:43:13 +0000 Subject: Change in osmo-bsc[master]: allow explixit TSC Set and TSC on chan activ / modif / assignment In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24369 ) Change subject: allow explixit TSC Set and TSC on chan activ / modif / assignment ...................................................................... Patch Set 11: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic665125255d7354f5499d10dda1dd866ab243d24 Gerrit-Change-Number: 24369 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 08:43:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 08:44:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 08:44:40 +0000 Subject: Change in osmo-bsc[master]: implement Channel Mode Modify to VAMOS mode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24374 ) Change subject: implement Channel Mode Modify to VAMOS mode ...................................................................... Patch Set 12: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibf53f4797d7491b17a33946fd7d920f038362b4c Gerrit-Change-Number: 24374 Gerrit-PatchSet: 12 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 31 May 2021 08:44:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 08:49:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 08:49:10 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24458 ) Change subject: lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icc9cc7481b3984fdca34eef49ea91ad3388c06fe Gerrit-Change-Number: 24458 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 08:49:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 08:50:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 08:50:42 +0000 Subject: Change in osmo-bsc[master]: ensure chan_mode comparisons in non-VAMOS mode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24459 ) Change subject: ensure chan_mode comparisons in non-VAMOS mode ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I791e7966b1f8eaa3299a8a46abeb313cf5136e0b Gerrit-Change-Number: 24459 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 08:50:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 08:52:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 08:52:59 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: introduce lchan.modify.ch_mode_rate to allow tweaking In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24465 ) Change subject: lchan_fsm: introduce lchan.modify.ch_mode_rate to allow tweaking ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8a3daac0287f15a59d3688388bb13e55facb2cea Gerrit-Change-Number: 24465 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 08:52:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 08:57:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 08:57:25 +0000 Subject: Change in osmo-bsc[master]: implement CHANnel ACTIVate to VAMOS mode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24375 ) Change subject: implement CHANnel ACTIVate to VAMOS mode ...................................................................... Patch Set 13: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If3ac584e4223ef7656c7fedc3bf11df87e4309ec Gerrit-Change-Number: 24375 Gerrit-PatchSet: 13 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 08:57:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 08:58:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 08:58:25 +0000 Subject: Change in osmo-bsc[master]: add VAMOS secondary lchans to timeslot struct In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24377 ) Change subject: add VAMOS secondary lchans to timeslot struct ...................................................................... Patch Set 14: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I928af99498bba488d317693f3144d4fccbbe9af3 Gerrit-Change-Number: 24377 Gerrit-PatchSet: 14 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 08:58:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 09:07:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 09:07:17 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: lchan_fail() strings should not have a terminating newline In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24460 ) Change subject: lchan_fsm: lchan_fail() strings should not have a terminating newline ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I063fd5598add75c39338d90798189c10a0714094 Gerrit-Change-Number: 24460 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 09:07:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 09:07:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 09:07:31 +0000 Subject: Change in osmo-bsc[master]: update the lchan name to always reflect VAMOS shadowness In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24461 ) Change subject: update the lchan name to always reflect VAMOS shadowness ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c2bae3b895a91f1b99b4147ecc0e3009cb7439a Gerrit-Change-Number: 24461 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 09:07:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 09:08:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 09:08:17 +0000 Subject: Change in osmo-bsc[master]: add missing AMR config for RTP activation after mode modify In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24466 ) Change subject: add missing AMR config for RTP activation after mode modify ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I842fe7a14a91d1ec123cb4a3f52afe34456c03e3 Gerrit-Change-Number: 24466 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 09:08:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 09:59:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 09:59:21 +0000 Subject: Change in osmo-bsc[master]: eliminate lchan->rsl_cmode In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24354 ) Change subject: eliminate lchan->rsl_cmode ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1c167b22bb6638a929488d093bde0f1a5fb227ad Gerrit-Change-Number: 24354 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 09:59:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 10:00:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 10:00:56 +0000 Subject: Change in osmo-bsc[master]: allow explixit TSC Set and TSC on chan activ / modif / assignment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24369 ) Change subject: allow explixit TSC Set and TSC on chan activ / modif / assignment ...................................................................... Patch Set 11: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic665125255d7354f5499d10dda1dd866ab243d24 Gerrit-Change-Number: 24369 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 10:00:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 10:01:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 10:01:46 +0000 Subject: Change in osmo-bsc[master]: ensure chan_mode comparisons in non-VAMOS mode In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24459 ) Change subject: ensure chan_mode comparisons in non-VAMOS mode ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I791e7966b1f8eaa3299a8a46abeb313cf5136e0b Gerrit-Change-Number: 24459 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 10:01:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 10:02:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 10:02:04 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: introduce lchan.modify.ch_mode_rate to allow tweaking In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24465 ) Change subject: lchan_fsm: introduce lchan.modify.ch_mode_rate to allow tweaking ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8a3daac0287f15a59d3688388bb13e55facb2cea Gerrit-Change-Number: 24465 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 10:02:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 10:08:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 10:08:05 +0000 Subject: Change in osmo-bsc[master]: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24430 ) Change subject: RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans ...................................................................... Patch Set 9: (1 comment) Please think about inbound message parsing in context of what I wrote below in the example of lchan lookup by chan_nr. https://gerrit.osmocom.org/c/osmo-bsc/+/24430/9/src/osmo-bsc/bts_trx.c File src/osmo-bsc/bts_trx.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24430/9/src/osmo-bsc/bts_trx.c at 165 PS9, Line 165: case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs: I don't see anything that ensures those new osmocom-specific cbits are only used if the bts model is of type osmo-bts and has advertised VAMOS capability. I think your statement may be true for outbound messages that the BSC generates, but this kind of code change to generic/common code that is not guarded by a certain BTS model / feature flag is what I'm worried about. ASsuming some other BTS model/vendor has a different use of those cbits, we are no longer running into the "return NULL" but we're going to compute an index into the lchan array on something we don't know what it might be. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I957eff0d2c33ec795eda75a4bff21965b0179f73 Gerrit-Change-Number: 24430 Gerrit-PatchSet: 9 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 31 May 2021 10:08:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 10:08:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 10:08:51 +0000 Subject: Change in pysim[master]: utils: Add bertlv_encode_tag() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24450 ) Change subject: utils: Add bertlv_encode_tag() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4183546bed9d6232ddcefad764f4e67afcf8b2ed Gerrit-Change-Number: 24450 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 10:08:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 10:08:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 10:08:53 +0000 Subject: Change in pysim[master]: utils: Add 'raw' version of TLV tag decoders In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24449 ) Change subject: utils: Add 'raw' version of TLV tag decoders ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib50946bfb3b3ecd7942c423ac0f98b6c07649224 Gerrit-Change-Number: 24449 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 10:08:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 10:08:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 10:08:57 +0000 Subject: Change in pysim[master]: utils: COMPREHENSION-TLV support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/24448 ) Change subject: utils: COMPREHENSION-TLV support ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8d969382b73fa152ee09c456fa4aee428fb36285 Gerrit-Change-Number: 24448 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 May 2021 10:08:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 10:09:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 10:09:01 +0000 Subject: Change in pysim[master]: utils: COMPREHENSION-TLV support In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24448 ) Change subject: utils: COMPREHENSION-TLV support ...................................................................... utils: COMPREHENSION-TLV support Change-Id: I8d969382b73fa152ee09c456fa4aee428fb36285 --- M pySim/utils.py M tests/test_utils.py 2 files changed, 66 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pySim/utils.py b/pySim/utils.py index 3d96580..d96d05a 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -90,6 +90,50 @@ return (n + 1)//2 ######################################################################### +# poor man's COMPREHENSION-TLV decoder. +######################################################################### + +def comprehensiontlv_parse_tag(binary:bytes) -> Tuple[dict, bytes]: + """Parse a single Tag according to ETSI TS 101 220 Section 7.1.1""" + if binary[0] in [0x00, 0x80, 0xff]: + raise ValueError("Found illegal value 0x%02x in %s" % (binary[0], binary)) + if binary[0] == 0x7f: + # three-byte tag + tag = (binary[1] & 0x7f) << 8 + tag |= binary[2] + compr = True if binary[1] & 0x80 else False + return ({'comprehension': compr, 'tag': tag}, binary[3:]) + else: + # single byte tag + tag = binary[0] & 0x7f + compr = True if binary[0] & 0x80 else False + return ({'comprehension': compr, 'tag': tag}, binary[1:]) + +def comprehensiontlv_encode_tag(tag) -> bytes: + """Encode a single Tag according to ETSI TS 101 220 Section 7.1.1""" + # permit caller to specify tag also as integer value + if isinstance(tag, int): + compr = True if tag < 0xff and tag & 0x80 else False + tag = {'tag': tag, 'comprehension': compr} + compr = tag.get('comprehension', False) + if tag['tag'] in [0x00, 0x80, 0xff] or tag['tag'] > 0xff: + # 3-byte format + byte3 = tag['tag'] & 0xff; + byte2 = (tag['tag'] >> 8) & 0x7f + if compr: + byte2 |= 0x80 + return b'\x7f' + byte2.to_bytes(1, 'big') + byte3.to_bytes(1, 'big') + else: + # 1-byte format + ret = tag['tag'] + if compr: + ret |= 0x80 + return ret.to_bytes(1, 'big') + +# length value coding is equal to BER-TLV + + +######################################################################### # poor man's BER-TLV decoder. To be a more sophisticated OO library later ######################################################################### diff --git a/tests/test_utils.py b/tests/test_utils.py index 17a9300..ed22eff 100755 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -179,6 +179,28 @@ res = utils.bertlv_parse_one(b'\x81\x01\x01'); self.assertEqual(res, ({'tag':1, 'constructed':False, 'class':2}, 1, b'\x01', b'')) +class TestComprTlv(unittest.TestCase): + def test_ComprTlvTagDec(self): + res = utils.comprehensiontlv_parse_tag(b'\x12\x23') + self.assertEqual(res, ({'tag': 0x12, 'comprehension': False}, b'\x23')) + res = utils.comprehensiontlv_parse_tag(b'\x92') + self.assertEqual(res, ({'tag': 0x12, 'comprehension': True}, b'')) + res = utils.comprehensiontlv_parse_tag(b'\x7f\x12\x34') + self.assertEqual(res, ({'tag': 0x1234, 'comprehension': False}, b'')) + res = utils.comprehensiontlv_parse_tag(b'\x7f\x82\x34\x56') + self.assertEqual(res, ({'tag': 0x234, 'comprehension': True}, b'\x56')) + + def test_ComprTlvTagEnc(self): + res = utils.comprehensiontlv_encode_tag(0x12) + self.assertEqual(res, b'\x12') + res = utils.comprehensiontlv_encode_tag({'tag': 0x12}) + self.assertEqual(res, b'\x12') + res = utils.comprehensiontlv_encode_tag({'tag': 0x12, 'comprehension':True}) + self.assertEqual(res, b'\x92') + res = utils.comprehensiontlv_encode_tag(0x1234) + self.assertEqual(res, b'\x7f\x12\x34') + res = utils.comprehensiontlv_encode_tag({'tag': 0x1234, 'comprehension':True}) + self.assertEqual(res, b'\x7f\x92\x34') if __name__ == "__main__": unittest.main() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8d969382b73fa152ee09c456fa4aee428fb36285 Gerrit-Change-Number: 24448 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 10:09:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 10:09:02 +0000 Subject: Change in pysim[master]: utils: Add 'raw' version of TLV tag decoders In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24449 ) Change subject: utils: Add 'raw' version of TLV tag decoders ...................................................................... utils: Add 'raw' version of TLV tag decoders The existing {comprehension,ber}tlv_parse_tag() functions are decoding the tag to a high level of detail. However, all the 3GPP specs seem to deal with the 'raw' version, i.e something like 0xD1 as a single-byte tag with the class + constructed fields already shifted next to the actual tag value. Let's accommodate that with new *_parse_tag_raw() functions. Change-Id: Ib50946bfb3b3ecd7942c423ac0f98b6c07649224 --- M pySim/utils.py 1 file changed, 52 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/utils.py b/pySim/utils.py index d96d05a..74655d4 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -93,6 +93,21 @@ # poor man's COMPREHENSION-TLV decoder. ######################################################################### +def comprehensiontlv_parse_tag_raw(binary:bytes) -> Tuple[int, bytes]: + """Parse a single Tag according to ETSI TS 101 220 Section 7.1.1""" + if binary[0] in [0x00, 0x80, 0xff]: + raise ValueError("Found illegal value 0x%02x in %s" % (binary[0], binary)) + if binary[0] == 0x7f: + # three-byte tag + tag = binary[0] << 16 | binary[1] << 8 | binary[2] + return (tag, binary[3:]) + elif binary[0] == 0xff: + return None, binary + else: + # single byte tag + tag = binary[0] + return (tag, binary[1:]) + def comprehensiontlv_parse_tag(binary:bytes) -> Tuple[dict, bytes]: """Parse a single Tag according to ETSI TS 101 220 Section 7.1.1""" if binary[0] in [0x00, 0x80, 0xff]: @@ -132,11 +147,48 @@ # length value coding is equal to BER-TLV +def comprehensiontlv_parse_one(binary:bytes) -> (dict, int, bytes, bytes): + """Parse a single TLV IE at the start of the given binary data. + Args: + binary : binary input data of BER-TLV length field + Returns: + Tuple of (tag:dict, len:int, remainder:bytes) + """ + (tagdict, remainder) = comprehensiontlv_parse_tag(binary) + (length, remainder) = bertlv_parse_len(remainder) + value = remainder[:length] + remainder = remainder[length:] + return (tagdict, length, value, remainder) + + ######################################################################### # poor man's BER-TLV decoder. To be a more sophisticated OO library later ######################################################################### +def bertlv_parse_tag_raw(binary:bytes) -> Tuple[int, bytes]: + """Get a single raw Tag from start of input according to ITU-T X.690 8.1.2 + Args: + binary : binary input data of BER-TLV length field + Returns: + Tuple of (tag:int, remainder:bytes) + """ + if binary[0] == 0xff: + return None, binary + tag = binary[0] & 0x1f + if tag <= 30: + return binary[0], binary[1:] + else: # multi-byte tag + tag = binary[0] + i = 1 + last = False + while not last: + last = False if binary[i] & 0x80 else True + tag <<= 8 + tag |= binary[i] + i += 1 + return tag, binary[i:] + def bertlv_parse_tag(binary:bytes) -> Tuple[dict, bytes]: """Parse a single Tag value according to ITU-T X.690 8.1.2 Args: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib50946bfb3b3ecd7942c423ac0f98b6c07649224 Gerrit-Change-Number: 24449 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 10:09:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 10:09:03 +0000 Subject: Change in pysim[master]: utils: Add bertlv_encode_tag() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24450 ) Change subject: utils: Add bertlv_encode_tag() ...................................................................... utils: Add bertlv_encode_tag() We so far had decoders for BER-TLV tags, but no encoder yet. Change-Id: I4183546bed9d6232ddcefad764f4e67afcf8b2ed --- M pySim/utils.py 1 file changed, 45 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/utils.py b/pySim/utils.py index 74655d4..777638c 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -212,6 +212,51 @@ i += 1 return ({'class':cls, 'constructed':constructed, 'tag':tag}, binary[i:]) +def bertlv_encode_tag(t) -> bytes: + """Encode a single Tag value according to ITU-T X.690 8.1.2 + """ + def get_top7_bits(inp:int) -> Tuple[int, int]: + """Get top 7 bits of integer. Returns those 7 bits as integer and the remaining LSBs.""" + remain_bits = inp.bit_length() + if remain_bits >= 7: + bitcnt = 7 + else: + bitcnt = remain_bits + outp = inp >> (remain_bits - bitcnt) + remainder = inp & ~ (inp << (remain_bits - bitcnt)) + return outp, remainder + + if isinstance(t, int): + # FIXME: multiple byte tags + tag = t & 0x1f + constructed = True if t & 0x20 else False + cls = t >> 6 + else: + tag = t['tag'] + constructed = t['constructed'] + cls = t['class'] + if tag <= 30: + t = tag & 0x1f + if constructed: + t |= 0x20 + t |= (cls & 3) << 6 + return bytes([t]) + else: # multi-byte tag + t = 0x1f; + if constructed: + t |= 0x20 + t |= (cls & 3) << 6 + tag_bytes = bytes([t]) + remain = tag + while True: + t, remain = get_top7_bits(remain) + if remain: + t |= 0x80 + tag_bytes += bytes([t]) + if not remain: + break + return tag_bytes + def bertlv_parse_len(binary:bytes) -> Tuple[int, bytes]: """Parse a single Length value according to ITU-T X.690 8.1.3; only the definite form is supported here. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4183546bed9d6232ddcefad764f4e67afcf8b2ed Gerrit-Change-Number: 24450 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 10:09:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 10:09:07 +0000 Subject: Change in pysim[master]: fixup tlv In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/24462 ) Change subject: fixup tlv ...................................................................... Abandoned accident -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I48be0101b542f9c53e1c4858b9ab153ab60aa22d Gerrit-Change-Number: 24462 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 11:43:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 11:43:41 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Allow setting group name and use it at report time References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24467 ) Change subject: stat,rate_ctr: Allow setting group name and use it at report time ...................................................................... stat,rate_ctr: Allow setting group name and use it at report time This patch adds a new field "name" to the rate_ctr and osmo_stat_item_group structs, together with an API to set it. This new field allows for easy identification of specific group instances when several of them exists, rather than using a sometimes random/increasing index value. If set, this name (string) is used instead of the index by the stats reporter. The name, if set, is also printed during "show stats" VTY commands. It's up to the user or application to set up unique or meaningful names to fullfill one's needs. WARNING: this commit breaks ABI and possibly creates unexpected behavior when run with non-rebuilt apps which use the modified structs directly to get the coutners, or if use the static inline API rate_ctr_inc2(). Existing users of these structs should migrate to use new APIs introduced in follow-up commits instead of accessing the field directly. Related: SYS#5456 Change-Id: I0dc510783dd9ae8436dae8005a7b3330e80d36f3 --- M TODO-RELEASE M include/osmocom/core/rate_ctr.h M include/osmocom/core/stat_item.h M src/rate_ctr.c M src/stat_item.c M src/stats_statsd.c M src/vty/utils.c 7 files changed, 67 insertions(+), 35 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/67/24467/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index e57ffab..21154b4 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -12,3 +12,4 @@ libosmosim osim_card_hdl ABI + API breakage due to new struct members libosmocore osmo_tdef_fsm_inst_state_chg change default_timeout arg from unsigned long to long type (API breakage, not ABI) libosmovty vty_read_config_filep New API +libosmocore struct rate_ctr_group, osmo_stat_item_group_desc ABI breakage due to new struct members diff --git a/include/osmocom/core/rate_ctr.h b/include/osmocom/core/rate_ctr.h index 1669ce4..87895a3 100644 --- a/include/osmocom/core/rate_ctr.h +++ b/include/osmocom/core/rate_ctr.h @@ -61,6 +61,8 @@ const struct rate_ctr_group_desc *desc; /*! The index of this ctr_group within its class */ unsigned int idx; + /*! Optional string-based identifier to be used instead of index at report time */ + char *name; /*! Actual counter structures below */ struct rate_ctr ctr[0]; }; @@ -73,6 +75,7 @@ { grp->idx = idx; } +void rate_ctr_group_set_name(struct rate_ctr_group *grp, const char *name); void rate_ctr_group_free(struct rate_ctr_group *grp); diff --git a/include/osmocom/core/stat_item.h b/include/osmocom/core/stat_item.h index 29e35ef..cccb15a 100644 --- a/include/osmocom/core/stat_item.h +++ b/include/osmocom/core/stat_item.h @@ -65,6 +65,8 @@ const struct osmo_stat_item_group_desc *desc; /*! The index of this value group within its class */ unsigned int idx; + /*! Optional string-based identifier to be used instead of index at report time */ + char *name; /*! Actual counter structures below */ struct osmo_stat_item *items[0]; }; @@ -79,6 +81,7 @@ { grp->idx = idx; } +void osmo_stat_item_group_set_name(struct osmo_stat_item_group *statg, const char *name); void osmo_stat_item_group_free(struct osmo_stat_item_group *statg); diff --git a/src/rate_ctr.c b/src/rate_ctr.c index 9043a2c..3384774 100644 --- a/src/rate_ctr.c +++ b/src/rate_ctr.c @@ -263,6 +263,16 @@ talloc_free(grp); } +/*! Set a name for the group of counters be used instead of index value + at report time. + * \param[in] grp Rate counter group + * \param[in] name Name identifier to assign to the rate counter group + */ +void rate_ctr_group_set_name(struct rate_ctr_group *grp, const char *name) +{ + osmo_talloc_replace_string(grp, &grp->name, name); +} + /*! Add a number to the counter */ void rate_ctr_add(struct rate_ctr *ctr, int inc) { diff --git a/src/stat_item.c b/src/stat_item.c index 40374a7..2a0eb23 100644 --- a/src/stat_item.c +++ b/src/stat_item.c @@ -167,6 +167,16 @@ talloc_free(grp); } +/*! Set a name for the statistics item group to be used instead of index value + at report time. + * \param[in] statg Statistics item group + * \param[in] name Name identifier to assign to the statistics item group + */ +void osmo_stat_item_group_set_name(struct osmo_stat_item_group *statg, const char *name) +{ + osmo_talloc_replace_string(statg, &statg->name, name); +} + /*! Increase the stat_item to the given value. * This function adds a new value for the given stat_item at the end of * the FIFO. diff --git a/src/stats_statsd.c b/src/stats_statsd.c index 99764e6..1acfce8 100644 --- a/src/stats_statsd.c +++ b/src/stats_statsd.c @@ -89,7 +89,7 @@ } static int osmo_stats_reporter_statsd_send(struct osmo_stats_reporter *srep, - const char *name1, unsigned int index1, const char *name2, int64_t value, + const char *name1, const char *index1, const char *name2, int64_t value, const char *unit) { char *buf; @@ -101,13 +101,13 @@ if (prefix) { if (name1) - fmt = "%1$s.%2$s.%6$u.%3$s:%4$" PRId64 "|%5$s"; + fmt = "%1$s.%2$s.%6$s.%3$s:%4$" PRId64 "|%5$s"; else fmt = "%1$s.%2$0.0s%3$s:%4$" PRId64 "|%5$s"; } else { prefix = ""; if (name1) - fmt = "%1$s%2$s.%6$u.%3$s:%4$" PRId64 "|%5$s"; + fmt = "%1$s%2$s.%6$s.%3$s:%4$" PRId64 "|%5$s"; else fmt = "%1$s%2$0.0s%3$s:%4$" PRId64 "|%5$s"; } @@ -162,32 +162,42 @@ const struct rate_ctr_desc *desc, int64_t value, int64_t delta) { - if (ctrg) - return osmo_stats_reporter_statsd_send(srep, - ctrg->desc->group_name_prefix, - ctrg->idx, - desc->name, delta, "c"); - else - return osmo_stats_reporter_statsd_send(srep, - NULL, 0, - desc->name, delta, "c"); + char buf_idx[64]; + const char *idx_name = buf_idx; + const char *prefix; + + if (ctrg) { + prefix = ctrg->desc->group_name_prefix; + if (ctrg->name) + idx_name = ctrg->name; + else + snprintf(buf_idx, sizeof(buf_idx), "%u", ctrg->idx); + } else { + prefix = NULL; + buf_idx[0] = '0'; + buf_idx[1] = '\n'; + } + return osmo_stats_reporter_statsd_send(srep, prefix, idx_name, desc->name, delta, "c"); } static int osmo_stats_reporter_statsd_send_item(struct osmo_stats_reporter *srep, const struct osmo_stat_item_group *statg, const struct osmo_stat_item_desc *desc, int64_t value) { - if (value < 0) { - return osmo_stats_reporter_statsd_send(srep, - statg->desc->group_name_prefix, - statg->idx, - desc->name, 0, "g"); - } else { - return osmo_stats_reporter_statsd_send(srep, - statg->desc->group_name_prefix, - statg->idx, - desc->name, value, "g"); + char buf_idx[64]; + char *idx_name; + if (statg->name) + idx_name = statg->name; + else { + snprintf(buf_idx, sizeof(buf_idx), "%u", statg->idx); + idx_name = buf_idx; } + + if (value < 0) + value = 0; + + return osmo_stats_reporter_statsd_send(srep, statg->desc->group_name_prefix, + idx_name, desc->name, value, "g"); } #endif /* !EMBEDDED */ diff --git a/src/vty/utils.c b/src/vty/utils.c index 0358d9b..1137f2b 100644 --- a/src/vty/utils.c +++ b/src/vty/utils.c @@ -225,12 +225,10 @@ if (ctrg->desc->class_id > vctx->max_level) return 0; - if (ctrg->idx) - vty_out(vty, "%s%s (%d):%s", vctx->prefix, - ctrg->desc->group_description, ctrg->idx, VTY_NEWLINE); - else - vty_out(vty, "%s%s:%s", vctx->prefix, - ctrg->desc->group_description, VTY_NEWLINE); + vty_out(vty, "%s%s (%d)", vctx->prefix, ctrg->desc->group_description, ctrg->idx); + if (ctrg->name) + vty_out(vty, "('%s')", ctrg->name); + vty_out(vty, ":%s", VTY_NEWLINE); rate_ctr_for_each_counter(ctrg, rate_ctr_handler, vctx); @@ -284,13 +282,10 @@ if (statg->desc->class_id > vctx->max_level) return 0; - if (statg->idx) - vty_out(vty, "%s%s (%d):%s", vctx->prefix, - statg->desc->group_description, statg->idx, - VTY_NEWLINE); - else - vty_out(vty, "%s%s:%s", vctx->prefix, - statg->desc->group_description, VTY_NEWLINE); + vty_out(vty, "%s%s (%d)", vctx->prefix, statg->desc->group_description, statg->idx); + if (statg->name) + vty_out(vty, "('%s')", statg->name); + vty_out(vty, ":%s", VTY_NEWLINE); osmo_stat_item_for_each_item(statg, osmo_stat_item_handler, vctx); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0dc510783dd9ae8436dae8005a7b3330e80d36f3 Gerrit-Change-Number: 24467 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 11:43:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 11:43:42 +0000 Subject: Change in libosmocore[master]: ns2: Use NSVC bufid in stats report References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24468 ) Change subject: ns2: Use NSVC bufid in stats report ...................................................................... ns2: Use NSVC bufid in stats report Use the new stats API to set a meaningful name for its stats group too, so that they are easily to identify when reported. Example on VTY "show stats": """ NSVC Peer Statistics (0)('UDP-NSE01800-NSVC01800'): ALIVE response time : 0 ms NS Bind Statistics: Transmit backlog length: 0 packets """ Example reporting to statsd: """ my-stats-reporter-prefix.ns.nsvc.UDP-NSE01800-NSVC01800.alive.delay:0|g """ Related: SYS#5456 Change-Id: I4c696c615ba3416f8524d0797ce06c0ecd3a18f2 --- M src/gb/gprs_ns2.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/68/24468/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 1148d6f..2c490b4 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -606,6 +606,8 @@ bind->nsi->nsvc_rate_ctr_idx++; + osmo_stat_item_group_set_name(nsvc->statg, id); + llist_add(&nsvc->list, &nse->nsvc); llist_add(&nsvc->blist, &bind->nsvc); ns2_nse_update_mtu(nse); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4c696c615ba3416f8524d0797ce06c0ecd3a18f2 Gerrit-Change-Number: 24468 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 11:43:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 11:43:42 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Introduce new API to get counter at given index References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24469 ) Change subject: stat,rate_ctr: Introduce new API to get counter at given index ...................................................................... stat,rate_ctr: Introduce new API to get counter at given index Having this API and forcing apps to use it will allow easily adding new members to the group structure without having so much impact in users of this struct. Related: SYS#5456 Change-Id: Iebbf401f11e36645f8964d389460918eb9e0910e --- M include/osmocom/core/rate_ctr.h M include/osmocom/core/stat_item.h M src/rate_ctr.c M src/stat_item.c 4 files changed, 24 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/69/24469/1 diff --git a/include/osmocom/core/rate_ctr.h b/include/osmocom/core/rate_ctr.h index 87895a3..0aaeacf 100644 --- a/include/osmocom/core/rate_ctr.h +++ b/include/osmocom/core/rate_ctr.h @@ -63,7 +63,7 @@ unsigned int idx; /*! Optional string-based identifier to be used instead of index at report time */ char *name; - /*! Actual counter structures below */ + /*! Actual counter structures below. Don't access it directly, use APIs below! */ struct rate_ctr ctr[0]; }; @@ -76,6 +76,7 @@ grp->idx = idx; } void rate_ctr_group_set_name(struct rate_ctr_group *grp, const char *name); +struct rate_ctr *rate_ctr_group_get_ctr(struct rate_ctr_group *grp, unsigned int idx); void rate_ctr_group_free(struct rate_ctr_group *grp); @@ -96,7 +97,7 @@ * \param idx index into \a ctrg counter group */ static inline void rate_ctr_inc2(struct rate_ctr_group *ctrg, unsigned int idx) { - rate_ctr_inc(&ctrg->ctr[idx]); + rate_ctr_inc(rate_ctr_group_get_ctr(ctrg, idx)); } diff --git a/include/osmocom/core/stat_item.h b/include/osmocom/core/stat_item.h index cccb15a..0d8000c 100644 --- a/include/osmocom/core/stat_item.h +++ b/include/osmocom/core/stat_item.h @@ -82,7 +82,7 @@ grp->idx = idx; } void osmo_stat_item_group_set_name(struct osmo_stat_item_group *statg, const char *name); - +struct osmo_stat_item *osmo_stat_item_group_get_item(struct osmo_stat_item_group *grp, unsigned int idx); void osmo_stat_item_group_free(struct osmo_stat_item_group *statg); void osmo_stat_item_inc(struct osmo_stat_item *item, int32_t value); diff --git a/src/rate_ctr.c b/src/rate_ctr.c index 3384774..6e7d4be 100644 --- a/src/rate_ctr.c +++ b/src/rate_ctr.c @@ -273,6 +273,16 @@ osmo_talloc_replace_string(grp, &grp->name, name); } +/*! Get rate counter from group, identified by index idx + * \param[in] grp Rate counter group + * \param[in] idx Index of the counter to retrieve + * \returns rate counter requested + */ +struct rate_ctr *rate_ctr_group_get_ctr(struct rate_ctr_group *grp, unsigned int idx) +{ + return &grp->ctr[idx]; +} + /*! Add a number to the counter */ void rate_ctr_add(struct rate_ctr *ctr, int inc) { diff --git a/src/stat_item.c b/src/stat_item.c index 2a0eb23..c471c1a 100644 --- a/src/stat_item.c +++ b/src/stat_item.c @@ -177,6 +177,16 @@ osmo_talloc_replace_string(statg, &statg->name, name); } +/*! Get statistics item from group, identified by index idx + * \param[in] grp Rate counter group + * \param[in] idx Index of the counter to retrieve + * \returns rate counter requested + */ +struct osmo_stat_item *osmo_stat_item_group_get_item(struct osmo_stat_item_group *grp, unsigned int idx) +{ + return grp->items[idx]; +} + /*! Increase the stat_item to the given value. * This function adds a new value for the given stat_item at the end of * the FIFO. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iebbf401f11e36645f8964d389460918eb9e0910e Gerrit-Change-Number: 24469 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 12:06:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 May 2021 12:06:59 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Introduce new API to get counter at given index In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24469 ) Change subject: stat,rate_ctr: Introduce new API to get counter at given index ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iebbf401f11e36645f8964d389460918eb9e0910e Gerrit-Change-Number: 24469 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 31 May 2021 12:06:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 12:07:35 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 May 2021 12:07:35 +0000 Subject: Change in libosmocore[master]: ns2: Use NSVC bufid in stats report In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24468 ) Change subject: ns2: Use NSVC bufid in stats report ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4c696c615ba3416f8524d0797ce06c0ecd3a18f2 Gerrit-Change-Number: 24468 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 31 May 2021 12:07:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 12:13:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 May 2021 12:13:01 +0000 Subject: Change in libosmocore[master]: stat, rate_ctr: Allow setting group name and use it at report time In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24467 ) Change subject: stat,rate_ctr: Allow setting group name and use it at report time ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0dc510783dd9ae8436dae8005a7b3330e80d36f3 Gerrit-Change-Number: 24467 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 31 May 2021 12:13:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 14:18:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 14:18:22 +0000 Subject: Change in osmo-bts[master]: pcuif: Set missing bsic field during Tx of info_ind References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24470 ) Change subject: pcuif: Set missing bsic field during Tx of info_ind ...................................................................... pcuif: Set missing bsic field during Tx of info_ind Change-Id: I5c0194644083f04799174464445ec21dae82f368 --- M src/common/pcu_sock.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/70/24470/1 diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 2d44e02..91ad90f 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -266,6 +266,7 @@ if (pcu_direct) info_ind->flags |= PCU_IF_FLAG_SYSMO; + info_ind->bsic = bts->bsic; /* RAI */ info_ind->mcc = net->plmn.mcc; info_ind->mnc = net->plmn.mnc; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5c0194644083f04799174464445ec21dae82f368 Gerrit-Change-Number: 24470 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 14:42:07 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 31 May 2021 14:42:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... Patch Set 2: > Patch Set 2: > > > Patch Set 2: > > > > isn't it possible to pass a port reference (rather than a component reference) around? if that is possible, the consumer could pass a port reference to the provider, and the provider wouldn't have to know anything about the type of the consumer component type and whether it uses a port array, an index, etc. > > We do pass a port reference in BSC_Tests.ttcn, check f_logp() or f_vty_msc_allow_attach(). thanks! I'll try it out -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 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: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 31 May 2021 14:42:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 15:08:20 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 15:08:20 +0000 Subject: Change in osmo-bsc[master]: handover: apply meas report BS Power to RXLEV, fix ho oscillation In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24425 ) Change subject: handover: apply meas report BS Power to RXLEV, fix ho oscillation ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24425/3/src/osmo-bsc/meas_rep.c File src/osmo-bsc/meas_rep.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24425/3/src/osmo-bsc/meas_rep.c at 36 PS3, Line 36: rxlev is coded in dB > Strictly speaking, this is not correct: [?] but rxlev is in dB steps ... ? what should it say instead?? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifcf59964b5e2d550d79e4ba14d90962808f79dae Gerrit-Change-Number: 24425 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 31 May 2021 15:08:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 15:14:57 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 May 2021 15:14:57 +0000 Subject: Change in osmo-bsc[master]: handover: apply meas report BS Power to RXLEV, fix ho oscillation In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24425 ) Change subject: handover: apply meas report BS Power to RXLEV, fix ho oscillation ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24425/5/src/osmo-bsc/meas_rep.c File src/osmo-bsc/meas_rep.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24425/5/src/osmo-bsc/meas_rep.c at 37 PS5, Line 37: return rep->dl.full.rx_lev + (rep->bs_power * 2); > We could rename the enum values to MEAS_REP_DL_RXLEV_AND_BS_POWER_FULL actually can't, for some strange reason this enum value is defined in libosmocore and kind of cast in stone... I do get the point of your feedback, just it makes no sense to use the raw rxlev value that is not bs-power adjusted anywhere. So it seems most appropriate to imply the BS power everywhere. Consider the rxlev averaging window: Each measurement report may send a different BS Power value. when averaging the rxlev values across the window, we need each one adjusted by its individual BS Power. Otherwise we get a complete random result without any meaning. Same when comparing cells' rxlev values: the numbers are not comparable when ignoring the BS power. So we want the BS power adjusted into the rxlev value as implicitly as possible. Just a bummer that we can't easily rename the enum value to its more concise meaning. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifcf59964b5e2d550d79e4ba14d90962808f79dae Gerrit-Change-Number: 24425 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 31 May 2021 15:14:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 16:06:49 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 May 2021 16:06:49 +0000 Subject: Change in osmo-bts[master]: pcuif: Set missing bsic field during Tx of info_ind In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24470 ) Change subject: pcuif: Set missing bsic field during Tx of info_ind ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5c0194644083f04799174464445ec21dae82f368 Gerrit-Change-Number: 24470 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 31 May 2021 16:06:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 16:25:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 May 2021 16:25:45 +0000 Subject: Change in osmo-bts[master]: pcuif: Set missing bsic field during Tx of info_ind In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24470 ) Change subject: pcuif: Set missing bsic field during Tx of info_ind ...................................................................... pcuif: Set missing bsic field during Tx of info_ind Change-Id: I5c0194644083f04799174464445ec21dae82f368 --- M src/common/pcu_sock.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 2d44e02..91ad90f 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -266,6 +266,7 @@ if (pcu_direct) info_ind->flags |= PCU_IF_FLAG_SYSMO; + info_ind->bsic = bts->bsic; /* RAI */ info_ind->mcc = net->plmn.mcc; info_ind->mnc = net->plmn.mnc; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5c0194644083f04799174464445ec21dae82f368 Gerrit-Change-Number: 24470 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 17:22:53 2021 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Mon, 31 May 2021 17:22:53 +0000 Subject: Change in osmo-e1-hardware[master]: gateware: Update submodules References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/24471 ) Change subject: gateware: Update submodules ...................................................................... gateware: Update submodules Not much change in e1, just a typo fix that just triggered a warning. In usb the only relevant change is a fix in the stack code that caused GET_INTERFACE to fail for interfaces without alt-settings Signed-off-by: Sylvain Munaut Change-Id: Idfe712f7a2173e5c5f9552f35136f1d732098139 --- M gateware/cores/no2e1 M gateware/cores/no2usb 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-e1-hardware refs/changes/71/24471/1 diff --git a/gateware/cores/no2e1 b/gateware/cores/no2e1 index e8fd4c5..074f293 160000 --- a/gateware/cores/no2e1 +++ b/gateware/cores/no2e1 @@ -1 +1 @@ -Subproject commit e8fd4c56e862a3d3809c5a881829f5e3e96344db +Subproject commit 074f293d350a1698de16bf942fb2f5f2d61857cc diff --git a/gateware/cores/no2usb b/gateware/cores/no2usb index 620047a..0e940d4 160000 --- a/gateware/cores/no2usb +++ b/gateware/cores/no2usb @@ -1 +1 @@ -Subproject commit 620047a69f744d861d423d91d048b047302f6250 +Subproject commit 0e940d4da592cd27c351de2a4c5639f391d86b4d -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/24471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: Idfe712f7a2173e5c5f9552f35136f1d732098139 Gerrit-Change-Number: 24471 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 17:22:53 2021 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Mon, 31 May 2021 17:22:53 +0000 Subject: Change in osmo-e1-hardware[master]: fw/icE1usb: Adapt the CDC descriptors to new structure from no2usb References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/24472 ) Change subject: fw/icE1usb: Adapt the CDC descriptors to new structure from no2usb ...................................................................... fw/icE1usb: Adapt the CDC descriptors to new structure from no2usb Those are actually disabled right now, but since the submodule got updated and the protocol struct/defines changed, this updates them anyway so you can uncommend/enable them without causing a build failure Signed-off-by: Sylvain Munaut Change-Id: I1895702eac9c6c392f24327b12f9ba3651e3249a --- M firmware/ice40-riscv/icE1usb/usb_desc_app.c 1 file changed, 22 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-e1-hardware refs/changes/72/24472/1 diff --git a/firmware/ice40-riscv/icE1usb/usb_desc_app.c b/firmware/ice40-riscv/icE1usb/usb_desc_app.c index 153d70e..544ac23 100644 --- a/firmware/ice40-riscv/icE1usb/usb_desc_app.c +++ b/firmware/ice40-riscv/icE1usb/usb_desc_app.c @@ -6,6 +6,7 @@ */ #include +#include #include #include @@ -13,6 +14,8 @@ #define num_elem(a) (sizeof(a) / sizeof(a[0])) +usb_cdc_union_desc_def(1); + static const struct { /* Configuration */ struct usb_conf_desc conf; @@ -43,10 +46,9 @@ #if 0 struct { struct usb_intf_desc intf_ctl; - struct usb_cs_intf_hdr_desc cs_intf_hdr; - struct usb_cs_intf_acm_desc cs_intf_acm; - struct usb_cs_intf_union_desc cs_intf_union; - uint8_t cs_intf_union_slave; + struct usb_cdc_hdr_desc cdc_hdr; + struct usb_cdc_acm_desc cdc_acm; + struct usb_cdc_union_desc__1 cdc_union; struct usb_ep_desc ep_ctl; struct usb_intf_desc intf_data; struct usb_ep_desc ep_data_out; @@ -174,30 +176,30 @@ .bInterfaceNumber = 1, .bAlternateSetting = 0, .bNumEndpoints = 1, - .bInterfaceClass = 0x02, - .bInterfaceSubClass = 0x02, + .bInterfaceClass = USB_CLS_CDC_CONTROL, + .bInterfaceSubClass = USB_CDC_SCLS_ACM, .bInterfaceProtocol = 0x00, .iInterface = 6, }, - .cs_intf_hdr = { - .bLength = sizeof(struct usb_cs_intf_hdr_desc), - .bDescriptorType = USB_DT_CS_INTF, - .bDescriptorsubtype = 0x00, + .cdc_hdr = { + .bLength = sizeof(struct usb_cdc_hdr_desc), + .bDescriptorType = USB_CS_DT_INTF, + .bDescriptorsubtype = USB_CDC_DST_HEADER, .bcdCDC = 0x0110, }, - .cs_intf_acm = { - .bLength = sizeof(struct usb_cs_intf_acm_desc), - .bDescriptorType = USB_DT_CS_INTF, - .bDescriptorsubtype = 0x02, + .cdc_acm = { + .bLength = sizeof(struct usb_cdc_acm_desc), + .bDescriptorType = USB_CS_DT_INTF, + .bDescriptorsubtype = USB_CDC_DST_ACM, .bmCapabilities = 0x02, }, - .cs_intf_union = { - .bLength = sizeof(struct usb_cs_intf_union_desc) + 1, - .bDescriptorType = USB_DT_CS_INTF, - .bDescriptorsubtype = 0x06, + .cdc_union = { + .bLength = sizeof(struct usb_cdc_union_desc) + 1, + .bDescriptorType = USB_CS_DT_INTF, + .bDescriptorsubtype = USB_CDC_DST_UNION, .bMasterInterface = 1, + .bSlaveInterface = { 2 }, }, - .cs_intf_union_slave = 2, .ep_ctl = { .bLength = sizeof(struct usb_ep_desc), .bDescriptorType = USB_DT_EP, @@ -212,7 +214,7 @@ .bInterfaceNumber = 2, .bAlternateSetting = 0, .bNumEndpoints = 2, - .bInterfaceClass = 0x0a, + .bInterfaceClass = USB_CLS_CDC_DATA, .bInterfaceSubClass = 0x00, .bInterfaceProtocol = 0x00, .iInterface = 7, -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/24472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: I1895702eac9c6c392f24327b12f9ba3651e3249a Gerrit-Change-Number: 24472 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 17:22:54 2021 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Mon, 31 May 2021 17:22:54 +0000 Subject: Change in osmo-e1-hardware[master]: fw/ice40-riscv: Remove usb_ep_boot manual declaration References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/24473 ) Change subject: fw/ice40-riscv: Remove usb_ep_boot manual declaration ...................................................................... fw/ice40-riscv: Remove usb_ep_boot manual declaration It's now properly declared in the stack header Signed-off-by: Sylvain Munaut Change-Id: Id2fd50c04a8d8781ad8b94e12ba9f469777482d1 --- M firmware/ice40-riscv/e1-tracer/usb_e1.c M firmware/ice40-riscv/icE1usb/usb_e1.c 2 files changed, 0 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-e1-hardware refs/changes/73/24473/1 diff --git a/firmware/ice40-riscv/e1-tracer/usb_e1.c b/firmware/ice40-riscv/e1-tracer/usb_e1.c index 421305b..3c577a4 100644 --- a/firmware/ice40-riscv/e1-tracer/usb_e1.c +++ b/firmware/ice40-riscv/e1-tracer/usb_e1.c @@ -28,9 +28,6 @@ uint8_t e1_get_pending_flags(int chan); /* ---- */ -bool -usb_ep_boot(const struct usb_intf_desc *intf, uint8_t ep_addr, bool dual_bd); - void usb_e1_run(void) diff --git a/firmware/ice40-riscv/icE1usb/usb_e1.c b/firmware/ice40-riscv/icE1usb/usb_e1.c index 11402c6..e180fec 100644 --- a/firmware/ice40-riscv/icE1usb/usb_e1.c +++ b/firmware/ice40-riscv/icE1usb/usb_e1.c @@ -48,9 +48,6 @@ unsigned int e1_rx_level(void); /* ---- */ -bool -usb_ep_boot(const struct usb_intf_desc *intf, uint8_t ep_addr, bool dual_bd); - static void _usb_fill_feedback_ep(void) { -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/24473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: Id2fd50c04a8d8781ad8b94e12ba9f469777482d1 Gerrit-Change-Number: 24473 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 17:42:29 2021 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Mon, 31 May 2021 17:42:29 +0000 Subject: Change in osmo-e1-hardware[master]: gateware: Update submodules In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/24471 ) Change subject: gateware: Update submodules ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/24471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: Idfe712f7a2173e5c5f9552f35136f1d732098139 Gerrit-Change-Number: 24471 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-Comment-Date: Mon, 31 May 2021 17:42:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 17:42:34 2021 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Mon, 31 May 2021 17:42:34 +0000 Subject: Change in osmo-e1-hardware[master]: gateware: Update submodules In-Reply-To: References: Message-ID: tnt has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/24471 ) Change subject: gateware: Update submodules ...................................................................... gateware: Update submodules Not much change in e1, just a typo fix that just triggered a warning. In usb the only relevant change is a fix in the stack code that caused GET_INTERFACE to fail for interfaces without alt-settings Signed-off-by: Sylvain Munaut Change-Id: Idfe712f7a2173e5c5f9552f35136f1d732098139 --- M gateware/cores/no2e1 M gateware/cores/no2usb 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified tnt: Looks good to me, approved diff --git a/gateware/cores/no2e1 b/gateware/cores/no2e1 index e8fd4c5..074f293 160000 --- a/gateware/cores/no2e1 +++ b/gateware/cores/no2e1 @@ -1 +1 @@ -Subproject commit e8fd4c56e862a3d3809c5a881829f5e3e96344db +Subproject commit 074f293d350a1698de16bf942fb2f5f2d61857cc diff --git a/gateware/cores/no2usb b/gateware/cores/no2usb index 620047a..0e940d4 160000 --- a/gateware/cores/no2usb +++ b/gateware/cores/no2usb @@ -1 +1 @@ -Subproject commit 620047a69f744d861d423d91d048b047302f6250 +Subproject commit 0e940d4da592cd27c351de2a4c5639f391d86b4d -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/24471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: Idfe712f7a2173e5c5f9552f35136f1d732098139 Gerrit-Change-Number: 24471 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 17:42:44 2021 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Mon, 31 May 2021 17:42:44 +0000 Subject: Change in osmo-e1-hardware[master]: fw/icE1usb: Adapt the CDC descriptors to new structure from no2usb In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/24472 ) Change subject: fw/icE1usb: Adapt the CDC descriptors to new structure from no2usb ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/24472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: I1895702eac9c6c392f24327b12f9ba3651e3249a Gerrit-Change-Number: 24472 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-Comment-Date: Mon, 31 May 2021 17:42:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 17:42:49 2021 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Mon, 31 May 2021 17:42:49 +0000 Subject: Change in osmo-e1-hardware[master]: fw/icE1usb: Adapt the CDC descriptors to new structure from no2usb In-Reply-To: References: Message-ID: tnt has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/24472 ) Change subject: fw/icE1usb: Adapt the CDC descriptors to new structure from no2usb ...................................................................... fw/icE1usb: Adapt the CDC descriptors to new structure from no2usb Those are actually disabled right now, but since the submodule got updated and the protocol struct/defines changed, this updates them anyway so you can uncommend/enable them without causing a build failure Signed-off-by: Sylvain Munaut Change-Id: I1895702eac9c6c392f24327b12f9ba3651e3249a --- M firmware/ice40-riscv/icE1usb/usb_desc_app.c 1 file changed, 22 insertions(+), 20 deletions(-) Approvals: Jenkins Builder: Verified tnt: Looks good to me, approved diff --git a/firmware/ice40-riscv/icE1usb/usb_desc_app.c b/firmware/ice40-riscv/icE1usb/usb_desc_app.c index 153d70e..544ac23 100644 --- a/firmware/ice40-riscv/icE1usb/usb_desc_app.c +++ b/firmware/ice40-riscv/icE1usb/usb_desc_app.c @@ -6,6 +6,7 @@ */ #include +#include #include #include @@ -13,6 +14,8 @@ #define num_elem(a) (sizeof(a) / sizeof(a[0])) +usb_cdc_union_desc_def(1); + static const struct { /* Configuration */ struct usb_conf_desc conf; @@ -43,10 +46,9 @@ #if 0 struct { struct usb_intf_desc intf_ctl; - struct usb_cs_intf_hdr_desc cs_intf_hdr; - struct usb_cs_intf_acm_desc cs_intf_acm; - struct usb_cs_intf_union_desc cs_intf_union; - uint8_t cs_intf_union_slave; + struct usb_cdc_hdr_desc cdc_hdr; + struct usb_cdc_acm_desc cdc_acm; + struct usb_cdc_union_desc__1 cdc_union; struct usb_ep_desc ep_ctl; struct usb_intf_desc intf_data; struct usb_ep_desc ep_data_out; @@ -174,30 +176,30 @@ .bInterfaceNumber = 1, .bAlternateSetting = 0, .bNumEndpoints = 1, - .bInterfaceClass = 0x02, - .bInterfaceSubClass = 0x02, + .bInterfaceClass = USB_CLS_CDC_CONTROL, + .bInterfaceSubClass = USB_CDC_SCLS_ACM, .bInterfaceProtocol = 0x00, .iInterface = 6, }, - .cs_intf_hdr = { - .bLength = sizeof(struct usb_cs_intf_hdr_desc), - .bDescriptorType = USB_DT_CS_INTF, - .bDescriptorsubtype = 0x00, + .cdc_hdr = { + .bLength = sizeof(struct usb_cdc_hdr_desc), + .bDescriptorType = USB_CS_DT_INTF, + .bDescriptorsubtype = USB_CDC_DST_HEADER, .bcdCDC = 0x0110, }, - .cs_intf_acm = { - .bLength = sizeof(struct usb_cs_intf_acm_desc), - .bDescriptorType = USB_DT_CS_INTF, - .bDescriptorsubtype = 0x02, + .cdc_acm = { + .bLength = sizeof(struct usb_cdc_acm_desc), + .bDescriptorType = USB_CS_DT_INTF, + .bDescriptorsubtype = USB_CDC_DST_ACM, .bmCapabilities = 0x02, }, - .cs_intf_union = { - .bLength = sizeof(struct usb_cs_intf_union_desc) + 1, - .bDescriptorType = USB_DT_CS_INTF, - .bDescriptorsubtype = 0x06, + .cdc_union = { + .bLength = sizeof(struct usb_cdc_union_desc) + 1, + .bDescriptorType = USB_CS_DT_INTF, + .bDescriptorsubtype = USB_CDC_DST_UNION, .bMasterInterface = 1, + .bSlaveInterface = { 2 }, }, - .cs_intf_union_slave = 2, .ep_ctl = { .bLength = sizeof(struct usb_ep_desc), .bDescriptorType = USB_DT_EP, @@ -212,7 +214,7 @@ .bInterfaceNumber = 2, .bAlternateSetting = 0, .bNumEndpoints = 2, - .bInterfaceClass = 0x0a, + .bInterfaceClass = USB_CLS_CDC_DATA, .bInterfaceSubClass = 0x00, .bInterfaceProtocol = 0x00, .iInterface = 7, -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/24472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: I1895702eac9c6c392f24327b12f9ba3651e3249a Gerrit-Change-Number: 24472 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 17:42:55 2021 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Mon, 31 May 2021 17:42:55 +0000 Subject: Change in osmo-e1-hardware[master]: fw/ice40-riscv: Remove usb_ep_boot manual declaration In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/24473 ) Change subject: fw/ice40-riscv: Remove usb_ep_boot manual declaration ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/24473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: Id2fd50c04a8d8781ad8b94e12ba9f469777482d1 Gerrit-Change-Number: 24473 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-Comment-Date: Mon, 31 May 2021 17:42:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 17:43:00 2021 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Mon, 31 May 2021 17:43:00 +0000 Subject: Change in osmo-e1-hardware[master]: fw/ice40-riscv: Remove usb_ep_boot manual declaration In-Reply-To: References: Message-ID: tnt has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/24473 ) Change subject: fw/ice40-riscv: Remove usb_ep_boot manual declaration ...................................................................... fw/ice40-riscv: Remove usb_ep_boot manual declaration It's now properly declared in the stack header Signed-off-by: Sylvain Munaut Change-Id: Id2fd50c04a8d8781ad8b94e12ba9f469777482d1 --- M firmware/ice40-riscv/e1-tracer/usb_e1.c M firmware/ice40-riscv/icE1usb/usb_e1.c 2 files changed, 0 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified tnt: Looks good to me, approved diff --git a/firmware/ice40-riscv/e1-tracer/usb_e1.c b/firmware/ice40-riscv/e1-tracer/usb_e1.c index 421305b..3c577a4 100644 --- a/firmware/ice40-riscv/e1-tracer/usb_e1.c +++ b/firmware/ice40-riscv/e1-tracer/usb_e1.c @@ -28,9 +28,6 @@ uint8_t e1_get_pending_flags(int chan); /* ---- */ -bool -usb_ep_boot(const struct usb_intf_desc *intf, uint8_t ep_addr, bool dual_bd); - void usb_e1_run(void) diff --git a/firmware/ice40-riscv/icE1usb/usb_e1.c b/firmware/ice40-riscv/icE1usb/usb_e1.c index 11402c6..e180fec 100644 --- a/firmware/ice40-riscv/icE1usb/usb_e1.c +++ b/firmware/ice40-riscv/icE1usb/usb_e1.c @@ -48,9 +48,6 @@ unsigned int e1_rx_level(void); /* ---- */ -bool -usb_ep_boot(const struct usb_intf_desc *intf, uint8_t ep_addr, bool dual_bd); - static void _usb_fill_feedback_ep(void) { -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/24473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: Id2fd50c04a8d8781ad8b94e12ba9f469777482d1 Gerrit-Change-Number: 24473 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 19:06:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 May 2021 19:06:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... Patch Set 2: > > We do pass a port reference in BSC_Tests.ttcn, check f_logp() or f_vty_msc_allow_attach(). > > thanks! I'll try it out Passing port references a s function parameters works. I think the potential difficulty will arise when passing a port reference through a procedure port into another component (e.g. to register it). I am almost convinced that won't work. If I remmber correctly, only the component references can be passed, as those are really just some kind of "process id" :/ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 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: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 31 May 2021 19:06:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 31 20:08:01 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 31 May 2021 20:08:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 ) Change subject: RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface ...................................................................... Patch Set 2: > Patch Set 2: > > > Patch Set 2: > > > > > Patch Set 2: > > > > > > isn't it possible to pass a port reference (rather than a component reference) around? if that is possible, the consumer could pass a port reference to the provider, and the provider wouldn't have to know anything about the type of the consumer component type and whether it uses a port array, an index, etc. > > > > We do pass a port reference in BSC_Tests.ttcn, check f_logp() or f_vty_msc_allow_attach(). > > thanks! I'll try it out It didn't worked out that way because ports can't be put into record, but into functions. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24401 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: Iafd9310e04066958914201da0cbdcd563bd5c976 Gerrit-Change-Number: 24401 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 31 May 2021 20:08:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: